Überprüfen, ob Spieler mit bestimmten Namen online ist

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
  • Hey,
    ich stehe gerade irgendwie aufm Schlauch.. Ich möchte in einem CMD Abfragen, ob ein Spieler (Nur der Name ist gegeben) online ist.
    Bisher hab ich den fehler, dass wenn ich frage, ob zB. Joe online ist und jemand on ist der "Joe" in seinem Namen hat (zB. Joe.Nachname) dann wird angezeigt, dass Joe online wär..
    So hab ich es nämlich bisher gemacht:
    if(IsPlayerConnected(ReturnUser(name))) return SendClientMessage(playerid,COLOR_GREY,"Der Spieler ist eingeloggt! Nutze: /ban [playerid/name] [grund]");
    Aber so ist es ja falsch :S


    Hoffe mir kann jemand helfen

  • stock IsPlayerNameOnline(PlayerName[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(i,pName,sizeof(pName]));
    if(!strcmp(pName, PlayerName, true)) return 1;
    }
    return 0;
    }


    Und nun einfach verwenden:
    if(IsPlayerNameOnline(playerName[])) //code

  • SSCANF <3


    if(sscanf(params,"u",name))return SendClientMessage(playerid,COLOR_GREY,"Dieser Spieler ist eingeloggt!");


    das U bei SSCANF steht für User (Name oder ID)


  • Danke, funktioniert genauso, wie ich es vor hatte :)