Forum profesionist despre scenariu de amanet

Lecție privind crearea de jucători artificiali (Bots, NPC)

Data de timp a zilei, dragi utilizatori de forum!
Când am căutat tema "Crearea unui NPC"
Aproape toate subiectele au fost despre cum să creați un NPC în mașină.
Și am decis să fac o lecție despre crearea unui NPC în afara mașinii.


Deci, hai să începem!
1. Mergeți la fișierul server.cfg, care se află în dosarul cu serverul.
Găsiți șirul

Acesta este numărul maxim de NPC-uri. În loc de "0" ne-am pus numărul nostru.
2. Porniți serverul și mergeți la el. Conectați-vă la Rcon admin / rcon login "Parola dvs." (Nu există ghilimele).
Apoi încărcați filtrul "npc_record". Pentru a face acest lucru, trebuie să scrieți comanda de chat "/ rcon loadfs npc_record" (fără citate)
3. Pentru a începe înregistrarea, scrieți comanda "/ ofrecord <имя файла>"Voi avea" / ofrecord Test "
Pentru a opri înregistrarea, scrieți comanda "/ stoprecord"
4. Opriți serverul și ieșiți din GTA.
Mergem în dosarul cu server / scriptfiles și găsim fișierul. Am acest "test.rec"
Transferați acest fișier: "Folder server / npcmodes / înregistrări"
5. Creați un nou fișier în Pawno. Curățăm și o lipim.

#define RECORDING "test" // Numele fișierului dvs. de scriere fără extensie
#define RECORDING_TYPE 2 // Înregistrați-vă pe jos
#include // Activați funcția includ_a a_npc.

public OnRecordingPlaybackEnd () StartRecordPlayback (RECORDING_TYPE, RECORDING); // Repetați acțiunile noastre
#if RECORDING_TYPE == 1 // Nu știu ce este)
public OnNPCSpawn () StartRecordPlayback (RECORDING_TYPE, RECORDING); // Creste NPC-ul
# endif

6. Salvați și compilați acest fișier cu numele "NPC" în directorul server / npcmodes
7. Deschideți modul cu Pawno și găsiți linia

Și am pus-o acolo

Notă: inserăm totul în același mod ca și mine.
În loc de Nicame, introducem porecla noastră.
8. Ei bine, asta e tot, rămâne doar să compilem modul.

în plus
1. Dacă aveți un sistem de înregistrare pe serverul dvs., atunci

public OnPlayerConnect (playerid)
public SetPlayerSpawn (playerid)
public OnPlayerSpawn (playerid)
public OnPlayerStateChange (playerid, newstate, oldstate)
public OnPlayerRequestClass (jucător, clasă)
public OnPlayerUpdate (playerid)

P.S. Dacă boții din mașină adaugă această linie în

public OnPlayerEnterVehicle (playerid, vehicleid, ispassenger)
public OnPlayerExitVehicle (playerid, vehicul)

2. Cum să setați NPC-ul unei piele specifică? [/ SIZE]
Pentru a instala skinul NPC în

Adăugați aceste linii

dacă (IsPlayerNPC (playerid)) // NPC Spawn
nou nume npc [24];
GetPlayerName (playerid, npc_name, sizeof (npc_name));
dacă (! strcmp (npc_name, "Richard_Melville", false)) // Nick NPC
SetPlayerSkin (playerid, 189); // Pielea dorită pentru NPC
retur 1;
>

3. Cum se face textul pe un NPC?
Pentru a face textul peste Npc este necesar să adăugați toate cele noi

În public OnGameModeInt

NPCtest = Create3DTextLabel ("Testul tau!", 0xFF0000AA, 30.0,40.0,50.0,40.0,0);

În public OnPlayerUpdate (playerid)

nou nume de utilizator n [MAX_PLAYER_NAME];
dacă (IsPlayerNPC (playerid))
dacă (! strcmp (npcname, "Nick NPC", adevărat))
Attach3DTextLabelToPlayer (npcbot, playerid, 0.0.0.0, 0.7);

Bots, npc_record, cum să creezi, să textezi peste bot, botul pielii

Adăugați-mă la Skype. TheMuffter