Creați npc (bot) - Lecții

Dacă nu adăugați această linie ea.
b) În aceeași linie server.cfg găsi:

și introduceți numărul maxim de bot, care va fi pe server. De asemenea, dacă nu aveți această linie adauga.

2. Asigurați-vă Înregistrare Botha
a) Du-te la server și tipul / conectare rcon **** (unde **** - parola)
Notă: Dacă nu cunoașteți parola Rkoni puteți căuta sau schimba-l în server.cfg. în linie:

b) loadfs scriere / rcon npc_record. (Acest lucru ne va deschide accesul la intrările NPC)

c) Când sunteți gata pentru a înregistra (vă în locul potrivit, la dreapta de transport / picior) și doriți să înceapă înregistrarea scrie:

/ Vrecord „File name“, în cazul în care înregistrarea va avea loc în mașină
/ Ofrecord „File name“, în cazul în care înregistrarea va avea loc pe jos.

d) Când doriți să terminați înregistrarea de scriere / stoprecord.

3.
Așa că am ajuns înregistrare bot. Acum trebuie să-l copiați într-un dosar NPCmodes -> Înregistrări. Pentru a face acest lucru, deschideți dosarul cu MoD și găsiți directorul numit ScriptFiles. Deschideți-l și găsiți fișierul „File name“ .rec (Numele pe care l-ați introdus la începutul înregistrării), copiați-l și lipiți-l în folderul NPCmodes -> Înregistrări.

4. Pentru a face bot acțiunea sa trebuie mai întâi de „defainit“ lor. Pentru aceasta, un nou dosar de hectare PWN și să înlocuiască întregul conținut al acestui:

#define ÎNREGISTRAREA „File name“ // numele specificat când începe înregistrarea
// #define RECORDING_TYPE 1 se înlocuiește cu 2 dacă înregistrarea a fost pe jos

#include
main ()<>
OnRecordingPlaybackEnd publică () StartRecordingPlayback (RECORDING_TYPE ÎNREGISTRAREA.);

#if RECORDING_TYPE == 1
OnNPCEnterVehicle publice StartRecordingPlayback (RECORDING_TYPE DE ÎNREGISTRARE.) (Seatid vehicleid.);
OnNPCExitVehicle publică () StopRecordingPlayback ();
#else
OnNPCSpawn publică () StartRecordingPlayback (RECORDING_TYPE ÎNREGISTRAREA.); .
# endif

și-l compilați în dosarul NPCmodes numit „Name Record“.

5. Deci, cea mai mare parte lucrării am realizat, avem acum nevoie doar pentru a face posibilă Konekt e NPC la serverul nostru. Pentru aceasta vom folosi FS ha (filterscripts).

a) să creeze un nou PWN și să înlocuiască întregul conținut al acestui:

#if definite FILTERSCRIPT

Noua mașină; // ts Numele care va sta NPC-ul

OnFilterScriptInit publice ()
ConnectNPC ( "Zameini pe Nick-ul NPC" "nume de înregistrare".); // Nick NPC-uri nu vor fi vizibile la server, dar va fi afișat în panourile Rkoni.
Car = CreateVehicle (..... Going masina pe care doriți să utilizați 0.0 0.0 5.0 0.0 culoare 1. Color 2 5000); // coordonează pedeapsa înregistrată - nu am nevoie
întoarce 1;
>

OnFilterScriptExit publice ()
imprimare ( „NPC-ul dezactivat cu succes„.);
întoarce 1;
>

publice OnPlayerSpawn (playerid)
if (IsPlayerNPC (playerid))
noi npcname # 91; MAX_PLAYER_NAME # 93 ;;
GetPlayerName (playerid npcname sizeof (npcname) ..);
if (strcmp (npcname "numele NPC dvs. - ați specificat înainte" !. adevărat).)
PutPlayerInVehicle (playerid Car 0 ..);
SetSpawnInfo (playerid 0. id NPC piele 0.0 0.0 0.0 0.0 0. 0. 0. 0. 0. 0 ......); // Spawn NPC
>
întoarce 1;
>
întoarce 1;
>

b) Compilați fișierele în filterscripts dosarul denumit „nume de înregistrare“.

Deschideți server.cfg. Găsiți linia:

și se adaugă la ea „numele de înregistrare“ (cu spațiu). Mulți vor întreba de ce „nume de înregistrare“. Acest lucru se datorează faptului că FS a fost compilat cu același nume ca „numele de intrare“ pentru usurinta si confort.

7. Porniți serverul. În panoul Rkoni ar trebui să scrie:

„Nick de NPC dvs.“ a aderat la serverul

II. Principalele probleme și soluțiile lor

Deci, barca se face. Dar există încă o mulțime de muncă. 3 motive principale pentru care barca nu poate merge la server, sau nu se poate desfășura activitățile sale sunt:

if (IsPlayerNPC (playerid)) întoarcere 1;

publice OnPlayerRequestClass (playerid. classid)
if (IsPlayerNPC (playerid)) întoarcere 1; // nota aici
în cazul în care (RegistrationStep # 91; playerid # 93; == 0 gPlayerLogged # 91; playerid # 93; ! = 1)
în cazul în care (gPlayerAccount # 91; playerid # 93; ! = 0)
noi loginmsg # 91; 512 + 1 # 93 ;;
noi loginname # 91; 64 # 93 ;;
noi playersip # 91; 256 # 93 ;;
//. continuare privat

2. Anti-Cheat pe FlyHack. Rectificat prin același lucru:

if (IsPlayerNPC (playerid)) întoarcere 1;

3. Sistemul de drepturi la mașină. Ne uităm pentru linia (Text care pompele atunci când stai într-o mașină fără licență) în modă și la început vom adăuga aceeași linie „nu se poate controla.“:

if (IsPlayerNPC (playerid)) întoarcere 1;