Problem mit /a(dminchat

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 Morgen,
    ich habe ein größeres Problem mit meinem Adminchat


    Der Befehl:
    ocmd:a(playerid,params[]){
    new text[96],textconent[128],rang;
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,0xD30000FF,"Benutzung: (/a)dminchat [text].");
    if(!IsPlayerAnAdmin(playerid,1)){
    format(textconent,sizeof(textconent),"(a)dmin Report von %s [ID: %d] - Nachricht: %s",SpielerName(playerid),playerid,text);
    }else{
    format(textconent,sizeof(textconent),"%s %s: %s",rang,SpielerName(playerid),text);
    }
    SendClientMessage(playerid,0xD30000FF,textconent);
    SendAdminChat(textconent,playerid);
    return 1;
    }


    Das Problem ist, sobald ich mich Admin mache, und "/a test" mache, das dann dort steht "(a)dmin Report von [Name] [ID: 0]: test", obwohl dort eig. stehen sollte "[Adminrang][Name]: test"


    Meine PVar des Adminlevels
    GetPVarInt(playerid,"Adminlevel")


    Und hier noch mein stock SendAdminChat
    stock SendAdminChat(string[],playerid){
    for(new i = 0;i < MAX_PLAYERS; i++){
    if(!IsPlayerAnAdmin(playerid,1) && i != playerid){
    SendClientMessage(i,0xB0AFB0FF,string);
    }
    }
    return 1;
    }


    Bitte um Hilfe,
    Mit freundlichen Grüßen
    AndyWalker


  • sowas liegt eindeutig an deiner if Abfrage
    if(!IsPlayerAnAdmin(playerid,1)){


    du prüfst hier bestimmt hab ob der Spieler das Adminlevel 1 hat zuzüglich dem ! Operator alles außer dem Adminlevel 1
    dies bedeutet wenn du das Adminlevel 2 hast wird automatisch der erste string formatiert.


    daher änder diese mal ab
    zu
    if(GetPVarInt(playerid,"Adminlevel") != 0)