Include RNCP | SpielerID von Bot herausbekommen ?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • 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;
    }


    Schau doch mal auf Inf-Reallife vorbei ! - Wir entwickeln einen großartigen GTA:Network Server

  • Es gibt auch noch eine alternative Funktion.


    GetPlayerIdFromName(SpielerName);


    stock GetPlayerIdFromName(playername[])
    {
    for(new i = 0; i <= MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(i, playername2, sizeof(playername2));
    if(strcmp(playername2, playername, true, strlen(playername)) == 0)
    {
    return i;
    }
    }
    }
    return INVALID_PLAYER_ID;
    }


    Vielleicht kann er dir irgendwann nochmal nützlich sein.