Kann mir vielleicht jemand erklären wie ich die ID eines erstellten RNPC herausbekomme ?
über die Funktion GetPlayerID steigt der Stock mittendrin aus.
stock LoadNPCs()
{
new string[128];
new npcdatei[128],npccounter[128],npcname[20],MAX_NPC,npcid;
format(npccounter,sizeof(npccounter),"/NPCs/BotCounter.txt");
MAX_NPC=dini_Int(npccounter,"Bots");
for(new i;i<MAX_NPC+1;i++)
{
format(npcname,sizeof(npcname),"Bot%d",i);
format(npcdatei,sizeof(npcdatei),"/NPCs/Bot%d.txt",i);
if(dini_Exists(npcdatei))
{
CreateRNPC(npcname);
npcid=GetPlayerID(npcname);
NPCInfo[npcid][nID]=npcid;
format(string,sizeof(string),"Bot mit ID: %d %d wurde erfolgreich geladen",npcid,NPCInfo[npcid][nID]);
SendClientMessageToAll(WEIß,string);
format(NPCInfo[npcid][nName],20,"%s",npcname);
NPCInfo[npcid][nSpawnX]=dini_Float(npcdatei,"PosX");
NPCInfo[npcid][nSpawnY]=dini_Float(npcdatei,"PosY");
NPCInfo[npcid][nSpawnZ]=dini_Float(npcdatei,"PosZ");
SetRNPCSkin(npcid, 79);
SetRNPCPos(npcid, NPCInfo[npcid][nSpawnX], NPCInfo[npcid][nSpawnY], NPCInfo[npcid][nSpawnZ]);
}
}
return 1;
}
GetPlayerID
stock GetPlayerID(const name[])
{
new psName[MAX_PLAYER_NAME];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) continue;
GetPlayerName(i, psName, MAX_PLAYER_NAME);
if(!strcmp(psName, name))
return i;
}
return INVALID_PLAYER_ID;
}