<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.11/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.11/ http://www.mediawiki.org/xml/export-0.11.xsd" version="0.11" xml:lang="en">
  <siteinfo>
    <sitename>NPC for VCMP 0.4 Servers</sitename>
    <dbname>n3499663_wikidb</dbname>
    <base>https://npc-for-vcmp.sourceforge.io/wikiw/index.php/Main_Page</base>
    <generator>MediaWiki 1.38.5</generator>
    <case>first-letter</case>
    <namespaces>
      <namespace key="-2" case="first-letter">Media</namespace>
      <namespace key="-1" case="first-letter">Special</namespace>
      <namespace key="0" case="first-letter" />
      <namespace key="1" case="first-letter">Talk</namespace>
      <namespace key="2" case="first-letter">User</namespace>
      <namespace key="3" case="first-letter">User talk</namespace>
      <namespace key="4" case="first-letter">NPC for VCMP 0.4 Servers</namespace>
      <namespace key="5" case="first-letter">NPC for VCMP 0.4 Servers talk</namespace>
      <namespace key="6" case="first-letter">File</namespace>
      <namespace key="7" case="first-letter">File talk</namespace>
      <namespace key="8" case="first-letter">MediaWiki</namespace>
      <namespace key="9" case="first-letter">MediaWiki talk</namespace>
      <namespace key="10" case="first-letter">Template</namespace>
      <namespace key="11" case="first-letter">Template talk</namespace>
      <namespace key="12" case="first-letter">Help</namespace>
      <namespace key="13" case="first-letter">Help talk</namespace>
      <namespace key="14" case="first-letter">Category</namespace>
      <namespace key="15" case="first-letter">Category talk</namespace>
    </namespaces>
  </siteinfo>
  <page>
    <title>Main Page</title>
    <ns>0</ns>
    <id>1</id>
    <revision>
      <id>957447</id>
      <parentid>957446</parentid>
      <timestamp>2025-01-13T09:10:35Z</timestamp>
      <contributor>
        <username>Habi</username>
        <id>2</id>
      </contributor>
      <comment>Undo revision 12479 by [[Special:Contributions/FelicaJarman363|FelicaJarman363]] ([[User talk:FelicaJarman363|talk]])</comment>
      <origin>957447</origin>
      <model>wikitext</model>
      <format>text/x-wiki</format>
      <text bytes="6322" sha1="dsxu2roq5nkp6i2q1gbi64zsf185qyu" xml:space="preserve">__NOEDITSECTION__ __NOTOC__
&lt;big&gt;
== Introduction ==
NPCs (Non Player Characters) or bots can be created in vcmp server. They can be created at ammunition stores, toolshop or mall. They can chat with players, send command to server. They can be used to play a previous recording like driving a car around an area repeatedly. Like normal players, they use server slot.
Their intelligence can be scripted in separate squirrel scripts. These scripts with 'artificial intelligence' of NPC reside in '''npcscripts''' directory. 

Each NPC run in its own process. The NPC scripts have functions as well as callbacks. 

Since v1.5, adding an npc is simple as a call to [[ConnectNPC]] and if you do not want to give npc any artificial intelligence, the script parameter can be omitted. 
{| style=height:1em
|scope="col" style="width: 300px; text-align:left; vertical-align: top;"| 
== NPC script callbacks ==
|scope="col" style="width: 630px;vertical-align: top;" |  
== NPC script functions == 
|scope="col" style="width: 300px;vertical-align: top;" | 
==ServerData ==
|-style="vertical-align: top;"
| 
* [[OnNPCScriptLoad]]
* [[OnNPCScriptUnload]]
* [[OnNPCConnect]]
* [[OnNPCDisconnect]]
* [[OnNPCSpawn]]
* [[OnNPCEnterVehicle]]
* [[OnNPCExitVehicle]]
* [[OnClientMessage]]
* [[OnPlayerDeath]]
* [[OnPlayerText]]
* [[OnPlayerStreamIn]]
* [[OnPlayerStreamOut]]
* [[OnVehicleStreamIn]]
* [[OnVehicleStreamOut]]
* [[OnRecordingPlaybackEnd]]        
* [[OnPlayerUpdate]]
* [[OnSniperRifleFired]]
* [[OnConsoleInput]]
* [[OnServerData]]
* [[OnExplosion]]
* [[OnProjectileFired]]
* [[OnNPCClassSelect]] 
* [[OnServerShareTick]]
*[[OnTimeWeatherSync]]
==Constants==
* [[Bodypart| BodyParts]]
* [[field| LocalValue fields]]
* [[Keys|Game Keys]]
* [[Player_States|Player States]]
* [[Play_Flags|Play Flags]]
== Classes ==
*[[Vector]]
*[[Quaternion]]
== Player functions ==
*[[GetPlayerState]]
*[[GetPlayerPos]]
*[[GetPlayerVehicleID]]
*[[GetPlayerArmedWeapon]]
*[[GetPlayerHealth]]
*[[GetPlayerArmour]]
*[[GetPlayerKeys]]
*[[GetPlayerFacingAngle]]
*[[IsPlayerInRangeOfPoint]]
*[[GetPlayerName]]
*[[IsPlayerConnected]] 
* [[GetPlayerSkin]] 
* [[GetPlayerTeam]] 
* [[GetPlayerSlotWeapon]] 
* [[GetPlayerSlotAmmo]] 
*[[GetPlayerSpeed]]
*[[GetPlayerAction]] 
* [[WhereIsPlayer]] 
== Modules ==
* [[LibRPC]]
* [[LibAction]]
* [[npcmodule]] (to be renamed)
* [[z-finder]] 
== v1.8 ==
* [[Suicide]]
* [[SetMyHealth]]
* [[GetMyHealth]]
* [[LookAtPos]]
* [[LookAtPlayer]]
* [[GetMyClass]]
* [[RequestClassAbs]]
* [[AmISpawned]]
* [[GetMySkin]]
* [[GetMyTeam]]
* [[GetMyArmour]]
* [[SendPrivMsg]]
* [[SetConfig]]
* [[GetPlayerColor]]
* [[GetMyColor]]
* [[IsPlaybackRunning]]
* [[IsPlaybackPaused]]
* [[InPoly]]
 || 
* [[StartRecordingPlayback]]
* [[StopRecordingPlayback]]
* [[PauseRecordingPlayback]]
* [[ResumeRecordingPlayback]]
* [[SendChat]]
* [[SendCommand]]
* [[GetMyPos]]
* [[SetMyPos]]
* [[GetMyFacingAngle]]
* [[SetMyFacingAngle]]
* [[GetDistanceFromMeToPoint]]
* [[IsVehicleStreamedIn]]
* [[IsPlayerStreamedIn]]
* [[SelectWeapon]] (v1.6 b4p2)
* [[GetAvailableWeapons]]
* [[GetAmmoOfMyWeapon]]
* [[SetTimer]]
* [[SetTimerEx]] 
* [[KillTimer]]
* [[GetMyName]] 
* [[GetMyID]] 
* [[QuitServer]]
* [[RequestClass]]
* [[ReqeustClassAbs]]
* [[RequestSpawn]]
* [[GetTickCount]]
* [[GetClosestPlayer]]
* [[GetSlotFromWeaponId]] 
* [[FaceNPCToPlayer]]
==Advanced functions==
* [[SendOnFootSyncData]]
* [[SendOnFootSyncDataEx]]
* [[SendOnFootSyncDataLV]]
* [[SendInCarSyncData]]
* [[SendInCarSyncDataEx]]
* [[SendInCarSyncDataLV]]
* [[SendPassengerSyncData]]
* [[FireSniperRifle]]
* [[FireSniperRifleEx]]
* [[FireProjectile]]
* [[SendShotInfo]]
* [[SendDeathInfo]]
* [[GetLocalValue]]
* [[SetLocalValue]]
== Functions used only in server scripts==
* [[ConnectNPC]]
* [[ConnectNPCEx]]
* [[IsPlayerNPC]]
* [[ShowNPCConsole]]
* [[StartRecordingPlayerData]]
* [[StopRecordingPlayerData]]
* [[RFC]]
* [[F]]
* [[Examples]] (Remote calls)
* [[StartRecordingAllPlayerData]] (v1.8)
* [[StopRecordingAllPlayerData]]
* [[PutServerInRecordingMode]]
* [[StopServerInRecordingMode]]
* [[IsPlayerRecording]]
* [[IsServerInRecordingMode]]
* [[ConnectMultipleNpcs]]
* [[StopConnectingMultipleNpcs]]
* [[Server.cfg|server.cfg values]]
==Tools==
* [[recupdate]]
* [[recEdit]]
==0.4.7.1==
* [[FireBullet]]
* [[OnBulletFired]]
==Store==
* [[GetStoreLocation]]
* [[IsStoreDownloading]]
* [[OnStoreDownloadComplete]]
* [[GetStoreURL]]
||
* [[SendServerData]]
* [[ReadInt]]
* [[ReadByte]]
* [[ReadFloat]]
* [[ReadString]]
* [[WriteInt]]
*[[WriteByte]]
*[[WriteFloat]]
*[[WriteString]]
==Pickup==
*[[ClaimPickup]]
*[[IsPickupStreamedIn]]
*[[GetPickupModel]]
*[[GetPickupAlpha]]
*[[GetPickupQuantity]]
*[[GetPickupPos]]
*[[GetPickupCount]]
*[[OnPickupStreamIn]]
*[[OnPickupDestroyed]]
*[[OnPickupUpdate]]
==Checkpoint==
*[[OnCheckpointStreamIn]]
*[[OnCheckpointDestroyed]]
*[[OnCheckpointUpdate]]
*[[IsCheckpointStreamedIn]]
*[[GetCheckpointRadius]]
*[[GetCheckpointPos]]
*[[GetCheckpointColor]]
*[[IsCheckpointSphere]]
*[[ClaimEnterCheckpoint]]
*[[ClaimExitCheckpoint]]
*[[GetCheckpointCount]]
==Vehicle==
*[[EnterVehicle]]
*[[GetVehicleDriver]]
*[[GetVehicleModel]]
*[[GetVehicleTurretRot]]
*[[GetVehicleRotation]]
*[[GetVehiclePos]]
*[[GetVehicleSpeed]]
*[[GetVehicleHealth]]
*[[GetVehicleDamage]]
*[[ExitVehicle]] 
*[[ExitVehicleEx]] 
==Objects==
*[[OnObjectStreamIn]]
*[[OnObjectDestroyed]]
*[[OnObjectUpdate]]
*[[IsObjectStreamedIn]]
*[[GetObjectModel]]
*[[GetObjectPos]]
*[[GetObjectRotation]]
*[[GetObjectAlpha]]
*[[IsObjectTouchReportEnabled]]
*[[IsObjectShotReportEnabled]]
*[[ClaimObjectTouch]]
*[[ClaimObjectShot]]
*[[GetObjectCount]]
== More ==
*[[NPC Installation]]
* [[Squirrel Standard Library Functions]]
* [[NPCHide]]
* [[Command-line usage]]
* [[Attack Script]] (v1.5)
* [[walking_man|Walking cop script]]
==Coming Soon==
*[[GetScoreBoard]]
|}
&lt;/big&gt;
&lt;poem style="border: 2px solid #d6d2c5; background-color: #19f4e6; "&gt;
'''04 February 2023: Hiding/Changing name of NPC In-Game New Plugin. [[NPCHide|see]]
&lt;/poem&gt;
&lt;Poem style="border: 2px solid #4682B4; background-color: #FFE4B5; "&gt;
03 October 2024: NPC v1.8 Beta 3 is released. [[V1_8_beta3_release_notes|click here]]
&lt;/poem&gt;
&lt;Poem style="border: 2px solid #4682B4; background-color: #FFE4B5; "&gt;
'''25 October 2024: NPC v1.8 Beta 4'''. ('''new''') [[V1_8_beta4_release_notes|'''click here''']]
&lt;/poem&gt;</text>
      <sha1>dsxu2roq5nkp6i2q1gbi64zsf185qyu</sha1>
    </revision>
  </page>
</mediawiki>
