Problem mit /a

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
  • Guten Abend,
    Ich habe ein Problem: bekomme diese Errors:

    Bei diesen Zeilen:


    Die betroffene Zeile ist:

    Code
    case 3:{Rank=ADMIN2;}


    Habe alles versucht aber finde den Fehler nicht. Bitte helft mir!
    LG,
    badnat :thumbup:

  • bei mir hat es auch nie mit switch funktioniert deswegen versuch es einmal so:


    ocmd:a(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
    new text[400];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,COLOR_YELLOW,"Verwendung: /a [Text]");
    new string[128];
    if(GetPVarInt(playerid,"admin")==1) { format(string, sizeof(string), "** (ADMINCHAT) Supporter %s: %s. **", SpielerName(playerid), text);}
    else if(GetPVarInt(playerid,"admin")==2) {format(string,sizeof(string),"**(ADMINCHAT) Moderator %s: %s.**",SpielerName(playerid),text);}
    else if(GetPVarInt(playerid,"admin")==3) {format(string,sizeof(string),"**(ADMINCHAT) 1337 Admin %s: %s.**",SpielerName(playerid),text);}
    else if(GetPVarInt(playerid,"admin")==4) {format(string,sizeof(string),"**(ADMINCHAT) 1338 Admin %s: %s.**",SpielerName(playerid),text);}
    else if(GetPVarInt(playerid,"admin")==5) {format(string,sizeof(string),"**(ADMINCHAT) 1339 Admin %s: %s.**",SpielerName(playerid),text);}
    print("-----");
    print(string);
    for(new i=0; i<GetMaxPlayers(); i++) { if(IsPlayerConnected(i)) { if(IsPlayerInFrakt(i,GetPVarInt(playerid,"Adminlevel"))) { SendClientMessage(i,ADMINBLAU,string); } } }
    return 1;
    }

  • hmm ich glaub dein Fehler ist das du iergendwas beim definieren der Ränge falsch gemacht hast. Ich habs dir jetz mal so mit switch gemacht:
    hier die defines oben:
    #define adminlevel1 "Moderator"
    #define adminlevel2 "Supporter"
    #define adminlevel3 "1337 Admin"
    #define adminlevel4 "1338 Admin"
    #define adminlevel5 "Serverleiter"


    und hier der Befehl selbst:


    ocmd:a(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,1))
    {
    new text[128], string[128],adminlevel[54];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,Weiß,"Benutzung: /a [Text]");
    switch(GetPVarInt(playerid,"Adminlevel"))
    {
    case 1:{adminlevel=adminlevel1;}
    case 2:{adminlevel=adminlevel2;}
    case 3:{adminlevel=adminlevel3;}
    case 4:{adminlevel=adminlevel4;}
    case 5:{adminlevel=adminlevel5;}
    }
    format(string,sizeof(string),"** %s %s: %s )) **",adminlevel,SpielerName(playerid),text);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsPlayerInFrakt(i,GetPVarInt(playerid,"Adminlevel"))) { SendClientMessage(i,ADMINBLAU,string); }
    }
    }
    }
    return 1;
    }


    so müsste es eigentlich funktionieren ;)


    MfG