Doriți să reacționați la acest mesaj? Creați un cont în câteva clickuri sau conectați-vă pentru a continua.

Nu sunteti conectat. Conectați-vă sau înregistrați-vă

Vezi subiectul anterior Vezi subiectul urmator In jos  Mesaj [Pagina 1 din 1]

#1Kame 

[Tutorial] Cum creezi un NPC EmptySam Mar 19, 2016 8:05 pm

Kame

Pasul 1
Descarcati aces FS de aici:
, si bagati in filterscript editati server.cfg si la linia cu filterscripts adaugati npc_record.

Pasul 2

Deschidem server, intram in joc si tastam /rcon login ( rcon din server.cfg), dupa tastam /vrecord {nume} intr-un vehicul ca sa facem inregistrarea. Dupa ce am facut inregistrarea tastam /stoprecord.

Pasul 3

Mergem in scriptfiles si avem nume.rec (nume insemnand ce ati scris voi la /vrecord {nume}) si il mutam in folderul cu npcmodes -> recordings.

Pasul 4
Deschidem pawno, facem un nou script si adaugam in el:
#define RECORDING "nume" //numele inregistratii
#define RECORDING_TYPE 1 //1 npc fiind in vehicul

#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCExitVehicle() StopRecordingPlayback();
Salvam si compilam.


Pasul 5
Mergem in gamemode si salvam vehiculul si ii facem conexiunea !
Definim global:
new buscar1;
la public OnPlayerSpawn adaugam:
if(IsPlayerNPC(playerid))
{
new npcname[MAX_PLAYER_NAME]; GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "Mihai", true))// Mihai find numele botului
{
PutPlayerInVehicle(playerid, buscar1, 0);// pune botul in vehicul
SetPlayerSkin(playerid, 253);// skinul botuui
SetPlayerColor(playerid,COLOR_WHITE);// culoare lui
PlayerInfo[playerid][pCarLic] = 1;// in caz ca vreti sa adaugati pe RP mai recomandat este sa ii dati licenta
return 1;
}
}
Bagam vehiculul la public OnGameModeInit():
buscar1 = AddStaticVehicle(coordonatele !, etc...); //
si tot aici adaugam:
ConnectNPC("Sharky","nume");// nume find .amx din npcmodes iar Sharky numele botului

Mergem la public OnPlayerRequestClass si adaugam:
if(IsPlayerNPC(playerid))
{
new playername[64];
GetPlayerName(playerid,playername,64);

if(!strcmp(playername,"Mihai",true)) { // Mihai fiind numele botului
SetPlayerColor(playerid,COLOR_WHITE); // culoare lui
SetSpawnInfo(playerid,69,236,1462.0745,2630.8787,10.8203,0.0,-1,-1,-1,-1,-1,-1);
}
return 1;
}
Mergem la public OnPlayerConnect(playerid)
if(IsPlayerNPC(playerid)) {
new ip_addr_npc[64+1];
new ip_addr_server[64+1];
GetServerVarAsString("bind",ip_addr_server,64);
GetPlayerIp(playerid,ip_addr_npc,64);

if(!strlen(ip_addr_server)) {
ip_addr_server = "127.0.0.1";
}

if(strcmp(ip_addr_npc,ip_addr_server,true) != 0) {
printf("NPC: Got a remote NPC connecting from %s and I'm kicking it.",ip_addr_npc);
Kick(playerid);
return 0;
}
printf("NPC: Connection from %s is allowed.",ip_addr_npc);
}
Si mai avem de adaugat la public OnPlayerDisconnect
if(IsPlayerNPC(playerid))
return 1;
IMPORTANT: Sa v-a asugurati ca in server.cfg aveti maxnpc 1 ( 1 find doar 1 bot pe server).

https://c4strike.forumattivo.it

Vezi subiectul anterior Vezi subiectul urmator Sus  Mesaj [Pagina 1 din 1]

Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum