Bots connecten und leften wieder

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
  • Das steht in meinem Server_Log:
    [22:45:36] [npc:join] BANK1 has joined the server (1:127.0.0.1)
    [22:45:36] [npc:join] BANK2 has joined the server (2:127.0.0.1)
    [22:45:36] [npc:join] BANK3 has joined the server (3:127.0.0.1)
    [22:45:36] [npc:join] BANK4 has joined the server (4:127.0.0.1)
    [22:45:36] [npc:join] BANK5 has joined the server (5:127.0.0.1)
    [22:45:36] [npc:join] bankbody1 has joined the server (6:127.0.0.1)
    [22:45:36] Incoming connection: 127.0.0.1:58713
    [22:45:36] [npc:part] BANK2 has left the server (2:2)
    [22:45:36] [npc:part] BANK1 has left the server (1:2)
    [22:45:36] [npc:part] BANK3 has left the server (3:2)
    [22:45:36] [npc:part] BANK4 has left the server (4:2)
    [22:45:36] [npc:part] BANK5 has left the server (5:2)
    [22:45:36] [npc:part] bankbody1 has left the server (6:2)
    [22:45:36] [npc:join] bankbody2 has joined the server (0:127.0.0.1)
    [22:45:37] [npc:part] bankbody2 has left the server (0:2)


    Script:

    //OnGameModeInit
    ConnectNPC("SH","SH");
    ConnectNPC("BANK1","BANK1");
    ConnectNPC("BANK2","BANK2");
    ConnectNPC("BANK3","BANK3");
    ConnectNPC("BANK4","BANK4");
    ConnectNPC("BANK5","BANK5");
    ConnectNPC("bankbody1","bankbody1");
    ConnectNPC("bankbody2","bankbody2");
    //OnPlayerConnect:
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BANK1", true))
    {
    Eingeloggt[playerid]=1;//Der Bot ist gleich eingeloggt (Anpassen!)
    }
    }
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BANK2", true))
    {
    Eingeloggt[playerid]=1;//Der Bot ist gleich eingeloggt (Anpassen!)
    }
    }
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BANK3", true))
    {
    Eingeloggt[playerid]=1;//Der Bot ist gleich eingeloggt (Anpassen!)
    }
    }
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BANK4", true))
    {
    Eingeloggt[playerid]=1;//Der Bot ist gleich eingeloggt (Anpassen!)
    }
    }
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BANK5", true))
    {
    Eingeloggt[playerid]=1;//Der Bot ist gleich eingeloggt (Anpassen!)
    }
    }
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "bankbody1", true))
    {
    Eingeloggt[playerid]=1;//Der Bot ist gleich eingeloggt (Anpassen!)
    }
    }
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "bankbody2", true))
    {
    Eingeloggt[playerid]=1;//Der Bot ist gleich eingeloggt (Anpassen!)
    }
    }


    //OnPlayerSpawn:
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BANK1", true))
    {
    SetPlayerSkin(playerid,187);
    }
    }
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BANK2", true))
    {
    SetPlayerSkin(playerid,17);
    }
    }
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BANK3", true))
    {
    SetPlayerSkin(playerid,76);
    }
    }
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BANK4", true))
    {
    SetPlayerSkin(playerid,141);
    }
    }
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BANK5", true))
    {
    SetPlayerSkin(playerid,150);
    }
    }
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "bankbody1", true))
    {
    SetPlayerSkin(playerid,163);
    }
    }
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "bankbody2", true))
    {
    SetPlayerSkin(playerid,164);
    }
    }


    Woran liegt das vllt.?

  • Hast du maxnpc in server.cfg hochgestellt?


    Außerdem enthält dein Skript viele unnötige Zeilen die du sparen kannst. Du brauchst nicht jedesmal prüfen ob der playerid ein NPC ist.
    OnPlayerConnect kannst du auch so machen.
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BANK1", true) || !strcmp(botname, "BANK2", true) || !strcmp(botname, "BANK3", true) || !strcmp(botname, "BANK4", true) || !strcmp(botname, "BANK5", true) || !strcmp(botname, "bankbody1", true) || !strcmp(botname, "bankbody2", true))
    {
    Eingeloggt[playerid]=1;
    }
    }
    oder die Namen in einem Array speichern und von dort mit for-Schleife auslesen.
    new BotName[][MAX_PLAYER_NAME] = {
    "botname",
    "etc",
    ...
    };


    if(IsPlayerNPC(playerid)) {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    for(new i = 0; i < sizeof(BotName); i++) {
    if(!strcmp(BotName[i], botname, true)) {
    Eingeloggt[playerid] = true;
    }
    }
    }
    Gleiche bei OnPlayerSpawn.

    "Everybody in this country should learn to program a computer, because it teaches you how to think."
    Steve Jobs

    Einmal editiert, zuletzt von ucar ()

  • J0a9:
    Du musst den Bots nicht extra eine Spielerdatei erstellen. Du musst bei der Abfrage, ob der Spieler registriert oder nicht registriert ist abfragen, ob der Spieler ein Bot ist.
    Wenn das so ist, lässt du ihn einfach so durch gehen (spawnen).
    Fertig :)