OnPlayerConnect() gibt keine Verbidnungsnachrichten aus

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
  • Peace,


    hab irgendwas verbockt, was ich gerad länger versucht hab eigenständig zu fixen. Jetzt ist meine Birne durchgebrannt und ich frage euch!
    Also, sofern ein Spieler verbindet, soll eine allgemeine Nachricht an jeden Spieler gesendet werden, dass der Spieler den Server betreten hat.


    Für Teammitglieder soll halt zusätzlich die IP-Adresse des Spielers gezeigt werden.


    Hier mein Code; was hab ich falsch gemacht?
    Btw. hab jetzt nur das Wesentliche reingemacht, das davor sind paar Datenbankabfragen, RemoveBuilding und Variablen etc.

  • kommt gar keine nachricht ?
    edit: habs jetzt erst geschekt, du musst doch alle spieler auf den Server durchgehen ob sie admins sind nit die palyerid ob der spieler der connectet admin ist machs mal so



    public OnPlayerConnect(playerid)
    {
    if (IsPlayerNPC(playerid))
    return 1;
    new string[256], playerip[16];
    [...]


    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i))continue;
    if (SpielerInfo[i][sAdminrank] > 0) {
    GetPlayerIp(playerid, playerip, sizeof(playerip));
    format(string, sizeof(string), "%s (ID: %i, IP: %s) hat den Server betreten.", UserName(playerid), playerid, playerip);
    } else {
    format(string, sizeof(string), "%s (ID: %i) hat den Server betreten.", UserName(playerid), playerid);
    }
    SendClientMessage(i,dunkelgrün, string);
    }


    [...]
    return 1;
    }

    Einmal editiert, zuletzt von Mogly1 ()

  • kommt gar keine nachricht ?
    edit: habs jetzt erst geschekt, du musst doch alle spieler auf den Server durchgehen ob sie admins sind nit die palyerid ob der spieler der connectet admin ist machs mal so


    public OnPlayerConnect(playerid){ if (IsPlayerNPC(playerid)) return 1; new string[256], playerip[16]; [...]for(new i=0;i<MAX_PLAYERS;i++){ if(!IsPlayerConnected(i))continue; if (SpielerInfo[i][sAdminrank] > 0) { GetPlayerIp(playerid, playerip, sizeof(playerip)); format(string, sizeof(string), "%s (ID: %i, IP: %s) hat den Server betreten.", UserName(playerid), playerid, playerip); } else { format(string, sizeof(string), "%s (ID: %i) hat den Server betreten.", UserName(playerid), playerid); } SendClientMessage(i,dunkelgrün, string);} [...] return 1;}

    Nope, funkt nicht.


  • public OnPlayerConnect(playerid)
    {
    if(IsPlayerNPC(playerid)) return;

    new playerip[16], string[128];

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;

    if(playerid == i) continue;

    if(SpielerInfo[i][sAdminrank] > 0)
    {
    GetPlayerIp(playerid, playerip, sizeof(playerip));
    format(string, sizeof(string), "%s (ID: %i, IP: %s) hat den Server betreten.", UserName(playerid), playerid, playerip);
    }
    else
    {
    format(string, sizeof(string), "%s (ID: %i) hat den Server betreten.", UserName(playerid), playerid);
    }

    SendClientMessage(i, dunkelgrün, string);
    }

    return 1;
    }


    Wenn du alleine Testes, wirst du niemals die Adminmessage bekommen, da du dich noch nicht eingeloggt hast.
    Und du brauchst keine Benachrichtigung das du selber auf den Server kommst,a lso kannst du dich aus der Schleife rausnehmen.


    Teste es, bei mir klappt es. Gruß