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

THE CREWConectare

THE CREW


descriptionTUTORIAL : Creare NPC in vehicul EmptyTUTORIAL : Creare NPC in vehicul

more_horiz
Am facut un NPC in vehicul, mai bine zic intr-un autobuz si am mam gandit ca poate vreti si voi sa faceti si nu va descurcati happy

Pasul 1
Descarcati aces FS de aici (http://www.2shared.com/file/SjytR1GA/npc_record.html), 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(coordonate, etc...); //

si tot aici adaugam:
ConnectNPC("Mihai","nume");// nume find .amx din npcmodes iar Mihai 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,1 0.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;

EDIT: sa va asugurati ca in server.cfg aveti maxnpc 1 ( 1 find doar 1 bot pe server)
Daca intampinati probleme nu ezitati sa postati

Sursa : http://forum.sa-mp.com/archive/index.php/f-77.htm

descriptionTUTORIAL : Creare NPC in vehicul EmptyRe: TUTORIAL : Creare NPC in vehicul

more_horiz
Gj pentru efort . cheers
privacy_tip Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum
power_settings_newConectați-vă pentru a răspunde