/admins Befehl geht nicht

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


    Also wenn ich /admins eingebe, stehe ich selber als Full Admin nicht da!


    if(strcmp(cmdtext,"/admins", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    SendClientMessage(playerid,GELB,"------------------------Admins------------------------");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(!isPlayerAnAdmin(i,1))
    {
    new string[128];
    new adminname[30];
    switch(GetPVarInt(playerid,"Adminlevel"))
    {
    case 0:{adminname="Nein";}
    case 1:{adminname="{00FF5A}Supporter";}
    case 2:{adminname="{572B54}Moderator";}
    case 3:{adminname="{858BBB}Super Moderator";}
    case 4:{adminname="{0000FF}Admin";}
    case 5:{adminname="{FF0000}Fulladmin";}
    }
    format(string, 256, "{FF6E00}%s {FFFFFF}%s",adminname,PlayerName(i));
    SendClientMessage(playerid,0x00FF00FF,string);
    }
    }
    }
    }
    return 1;
    }

  • Und du hast auch den Stock drin
    stock PlayerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    //edit facepalm an mich hab das ! da nicht gesehen das hätte uns eine menge ärger erspart egal ist ja jetzt geklärt.






    2 Mal editiert, zuletzt von Xx_@ndy_xX ()

  • hier bitte


    if(!strcmp(cmdtext,"/admins", true)){
    SendClientMessage(playerid,GELB,"------------------------Admins------------------------");
    new i, string[64], adminname[30];
    for(; i < MAX_PLAYERS; ++i){
    if(GetPVarInt(i,"Adminlevel") == 0)continue;
    switch(GetPVarInt(i,"Adminlevel")){
    case 1:adminname="{00FF5A}Supporter";
    case 2:adminname="{572B54}Moderator";
    case 3:adminname="{858BBB}Super Moderator";
    case 4:adminname="{0000FF}Admin";
    case 5:adminname="{FF0000}Fulladmin";
    }
    format(string, 64, "%s {FFFFFF}%s",adminname,PlayerName(i));
    SendClientMessage(playerid,0x00FF00FF,string);
    }
    return 1;
    }


    zu bedeutet ! = alles außer und es wird generel von dem wert 1 ausgegangen
    daher bedeutet dies
    if(!isPlayerAnAdmin(i,1)) alles außer eins dabei ist die eins auf den rückgabe wert bezogen


    //edit


    zu dem abzufragen bei der eingabe ob der spieler online ist macht keinen sinn . Wenn der spieler nicht online ist kann er keine commands eingegeben
    dies macht doch sinn.


    Im großen und ganzen gillt dies auch für die for-schleife das eine abfrage schon reicht


  • Ah dankeschön. Und vorallem danke für die Erklärung.


  • Ah dankeschön. Und vorallem danke für die Erklärung.


    Dennoch ist hier ein kleiner operator falsch gesetzt ich habs oben nochmal verbessert es muss gleich sein also gleich null ==
    nicht alles außer 0 != das continue wird dazu benutzt sofort den momentanen wert zu überspringen also von 2 direkt dann gleich von vorne mit 3

  • Stimmt! Tatsache. Naja ich bin noch ziehmlich am Anfang und freue mich über jede Hilfe und vorallem über die Erklärung des Problems. Aber ich habe z. B. wieder so einen Fall wo ich ums verrecken den Fehler nicht finde.



    if(strcmp("/stats",cmdtext,true, 10) == 0)
    {
    new string[128];
    format(string,sizeof(string),"Name:%s\nLevel:%d\nMoney:%d\nPing:%d\nAdminlevel:%d",PlayerName,GetPlayerScore(playerid),GetPlayerMoney(playerid),GetPlayerPing(playerid),GetPVarInt(playerid,"Adminlevel"));
    ShowPlayerDialog(playerid,STATS,DIALOG_STYLE_MSGBOX,"Deine Statistik",string,"OK","");
    return 1;
    }


    Fehlercode:
    C:\Users\Jonas\Documents\SAMP-Server\gamemodes\MeinServer.pwn(879) : error 076: syntax error in the expression, or invalid function call


  • Schau halt mal in den oberen code rein was du dort gemacht hast was beim unteren fehlt


    Tipp: Es fehlt aufjedenfall was
    format(string,sizeof(string),"Name:%s\nLevel:%d\nMoney:%d\nPing:%d\nAdminlevel:%d",...........
    ich bezieh mich hier jetzt eher auf die .... das du das darauf folgende anschaust was die platzhalter in deinem string einnehmen an werte