GameMode
public OnPlayerRequestClass(playerid, classid)
{
if(IsPlayerNPC(playerid)) return SpawnPlayer(playerid);
return 0;
}
public OnGameModeInit()
{
ConnectNPC(\"Egy_NPC\",\"NPC_File\");
ConnectNPC(\"Ketto_NPC\",\"NPC_File\");
ConnectNPC(\"busz_sofor1\",\"npc_busz1\");
}
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid))
{
if(!strcmp(GetName(playerid),\"Ketto_NPC\",true))
{
TogglePlayerControllable(playerid, false);
SetPlayerPos(playerid,616.7880,-1516.9670,14.9981);
SetPlayerFacingAngle(playerid, 269.8193);
SetPlayerSkin(playerid,71);
}
if(!strcmp(GetName(playerid),\"Egy_NPC\",true))
{
TogglePlayerControllable(playerid, false);
SetPlayerPos(playerid,359.7139,173.5935,1008.3893);
SetPlayerFacingAngle(playerid, 266.9133);
SetPlayerSkin(playerid,141);
}
if(!strcmp(GetName(playerid),\"busz_sofor1\",true))
{ SetPlayerSkin(playerid, 255); PutPlayerInVehicle(playerid, busz[0], 0); }
}
return 1;
}
Ez meg a npcmodes
Buszsofõré
#include <a_npc>
#define rec \"npc_busz1\"
#define onfoot 1
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(onfoot, rec);
public OnNPCSpawn()
{
SetMyPos(453.9198,-1503.9399,30.9613);
StartRecordingPlayback(onfoot, rec);
}
NPCFile - álló NPCk esetében
#define RECORDING \"NPC_RecFile\"
#define RECORDING_TYPE 2
#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCExitVehicle() StopRecordingPlayback();
//========================= SZükséges Stock-ok=====================
stock egyezik(string1[], string2[], bool:betumeretmindegy = true)
{
return !strcmp(string1, string2, betumeretmindegy);
}
stock PlayerNameEx(playerid)
{
new nev[MAX_PLAYER_NAME];
GetPlayerName(playerid, nev, sizeof(nev));
return nev;
}
Ez menjen az npcmodes mappába
#define RECORDING_TYPE 1// JÁRMÛ
#define RECORDING \"npc_busz1\"
#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCExitVehicle() StopRecordingPlayback();
new bool:Debug=true;
//========================= SZükséges Stock-ok=====================
stock egyezik(string1[], string2[], bool:betumeretmindegy = true)
{
return !strcmp(string1, string2, betumeretmindegy);
}
stock PlayerNameEx(playerid)
{
new nev[MAX_PLAYER_NAME];
GetPlayerName(playerid, nev, sizeof(nev));
return nev;
}
public OnClientMessage(color, text[])
{
if(egyezik(text,\"szünet\") || egyezik(text,\"szunet\"))
{
PauseRecordingPlayback();
if(Debug)
printf(\"NPC: %s - Szüneteltetve\",RECORDING);
}
else if(egyezik(text,\"folytat\"))
{
ResumeRecordingPlayback();
if(Debug)
printf(\"NPC: %s - Folytatva\",RECORDING);
}
}
Ez meg a gamemodeba/fs-be
new busz[99];
public OnPlayerRequestClass(playerid, classid)
{
if(IsPlayerNPC(playerid)) return SpawnPlayer(playerid);
return 0;
}
public OnGameModeInit()
{
ConnectNPC(\"Egy_NPC\",\"gyalogosanfelvettnpc1\");
ConnectNPC(\"Ketto_NPC\",\"gyalogosanfelvettnpc2\");
ConnectNPC(\"busz_sofor1\",\"npc_busz1\");
busz[0] = CreateVehicle (437,2860.7429,-1951.4650,10.9381,365.9308,1,1,0);
}
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid))
{
if(!strcmp(GetName(playerid),\"Ketto_NPC\",true))
{
SetPlayerPos(playerid,616.7880,-1516.9670,14.9981);
SetPlayerFacingAngle(playerid, 269.8193);
SetPlayerSkin(playerid,71);
}
if(!strcmp(GetName(playerid),\"Egy_NPC\",true))
{
SetPlayerPos(playerid,359.7139,173.5935,1008.3893);
SetPlayerFacingAngle(playerid, 266.9133);
SetPlayerSkin(playerid,141);
}
if(!strcmp(GetName(playerid),\"busz_sofor1\",true))
{ SetPlayerSkin(playerid, 255); PutPlayerInVehicle(playerid, busz[0], 0); }
}
return 1;
}
Az álló NPC-t is fel kell venni Vedd fel hogy egyhelyben áll .D