10.09.2014, 08:20
Hola, he grabado dos nlcs y he puesto todo en el sv, pero a la hora de abrir el server los npc se desconectan
#define MAX_NPCS 10
public OnPlayerRequestClass(playerid, classid)
{
if(IsPlayerNPC(playerid)) return 1;
if(gPlayerLogged[playerid] == 1)
{
SpawnPlayer(playerid);
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid))
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
RequestNPCLoad(playerid,npcname);
return 1;
}
public OnPlayerConnect(playerid)
{
if(IsPlayerNPC(playerid)) return 1;
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(IsPlayerNPC(playerid))
{
return 1;
}
public OnGameModeInit()
{
RequestNPCJoin();
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(IsPlayerNPC(playerid)) return 1;
function RequestNPCLoad(playerid,npcname[])
{
if(IsPlayerNPC(playerid))
{
if(!strcmp(npcname, "Agente_Clarens", true))
{
SetPlayerVirtualWorld(playerid, 0);
SetPlayerSkin(playerid, 281);
return 1;
}
if(!strcmp(npcname, "Vigilante_Mark", true))
{
SetPlayerVirtualWorld(playerid, 0);
SetPlayerSkin(playerid, 71);
return 1;
}
}
return 1;
}
function RequestNPCJoin()
{
ConnectNPC("Agente_Clarens","U9_Guard");
ConnectNPC("Vigilante_Mark","U8_Medic");
}
function GetClosestNPC(playerid,Float:range)
{
new x,Float:dis2,player;
player = -1;
if(IsPlayerNPC(playerid))
{
return player;
}
for (x=0;x<MAX_PLAYERS;x++)
{
if(IsPlayerConnected(x))
{
if(IsPlayerNPC(x))
{
if(x != playerid)
{
dis2 = GetDistanceBetweenPlayers(x,playerid);
if(dis2 < range && dis2 != -1.00)
{
range = dis2;
player = x;
}
}
}
}
}
return player;
}
if(IsPlayerNPC(playerid)) return 1;
if(IsPlayerNPC(playerid)) return SpawnPlayer(playerid);
stock RequestNPCLoad(npcid, const npcname[])
{
SetPlayerSkin(npcid, (!strcmp(npcname, "Agente_Clarens", true)) ? (281) : (71));
}
// Si lo quieres con macro:
#define RequestNPCLoad(%1,%2) SetPlayerSkin(%1, (!strcmp(%2, "Agente_Clarens", true)) ? (281) : (71))