Abfragen ob Spielername gleich ist wie definierter Name

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

Aus gegebenem Anlass: Sichert eure Backupcodes wenn ihr die Zwei-Faktor-Authentifizierung aktiviert habt!

Infos dazu findet ihr nochmal hier

  • Moin Leute,

    ich würde gerne bei einem befehl abfragen oder spieler name der gleiche wie in einem define ist um dann wenn der name gleich ist einen Adminrang zu setzen,

    ich stehe irgendwie ein bisschen auf dem Schlauch.


    Danke

  • Beitrag von Kamisama ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: nvm ().
  • Danke erstmal allerdings setzt in meinem Code er das Adminlevel trozdem obwohl der name nicht übereinstimmt

    Code
    1. ocmd:getadmin(playerid)
    2. {
    3. new name[MAX_PLAYER_NAME];
    4. GetPlayerName(playerid,name,sizeof(name));
    5. if(!strcmp(OWNER,name,true, strlen(OWNER))) return SendClientMessage(playerid,COLOR_RED,"Was glaubst du wer du bist!");
    6. sInfo[playerid][arang] = 1337;
    7. SendClientMessage(playerid,COLOR_RED,"Hey Flex dein Adminrang wurde natürlich gesetzt");
    8. return 1;
    9. }

    • Hilfreich

    allerdings setzt in meinem Code er das Adminlevel trozdem obwohl der name nicht übereinstimmt

    Das liegt daran, dass wenn beide Strings übereinstimmen (also die ausgabe von strcmp 0 ist), du die Nachricht "Was glaubst du wer du bist" sendest.

    Es reicht nun also das ganze zu invertieren, also das ! vorne weg und hinten ran != 0



    //EDIT
    Hier dazu mal die Zeile, da die Nachricht etwas unübersichtlich ist

    Code
    1. // Wenn die Strings nicht übereinstimmen, also Rückgabe von strcmp nicht 0 ist, dann sende Fehlermessage
    2. if(strcmp(OWNER, name, true, strlen(OWNER)) != 0) return SendClientMessage(playerid,COLOR_RED,"Was glaubst du wer du bist!");
  • hier