Problem mit /aclear Befehl | Spieler (pID) hat keine Wanteds?

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 Leute,


    wenn ich jemand Gesuchten Clearen will, steht dort, dass der Spieler nicht gesucht wird...
    Anscheinend funktioniert das mit der pID nicht ganz :(



    Der Befehl:


    ocmd:aclear(playerid,params[])
    {
    new pID;
    if(isPlayerAnAdmin(playerid,2))
    {
    if(GetPVarInt(pID,"Wanted") > 0)
    {
    new string[128],sendername[MAX_PLAYER_NAME],name32[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(sscanf(params,"u",pID))return SCM(playerid,COLOR_FADE3,"/aclear [spieler]");
    GetPlayerName(pID,name32,sizeof(name32));
    format(string, sizeof(string), "Du hast die Strafakte von %s gelöscht!",name32);
    SCM(playerid,ROT, string);
    format(string, sizeof(string), "Admin %s hat deine Wanteds gelöscht!",sendername);
    SCM(pID,ROT, string);
    format(string,sizeof(string),"HQ: %s hat die Strafakte von %s gelöscht.",sendername,name32);
    StaatCast(string);
    SetPVarInt(pID,"Wanted",0);
    TextDrawHideForPlayer(pID,wanteddraw[pID]);
    TextDrawHideForPlayer(pID,wantedstern);
    return 1;
    }
    SCM(playerid,ROT,"Dieser Spieler wird nicht gesucht!");
    return 1;
    }
    SCM(playerid,RED,"Dir fehlen die benötigten Rechte!");
    return 1;
    }

  • Du musst sscanf vor der Abfrage anwenden.
    if(sscanf(params,"u",pID))return SCM(playerid,COLOR_FADE3,"/aclear [spieler]");
    if(GetPVarInt(pID,"Wanted") > 0)

  • Also erstens muss in Zeile 26 ein else hin


    Muss nicht, kann aber. Wenn er nicht Adminlevel 2 ist, wird der Code dort drin doch übersprungen, und die Nachricht unten wird sofort ausgegeben.

  • ´´´´´´´´´´´´´´

    Ich habe noch ein Problem :/


    Undzwar möchte ich, dass wenn man /members eingibt man die Ränge der Spieler sieht :/


    ocmd:members(playerid,params[])
    {
    new fID,string[128];
    fID=GetPVarInt(playerid,"Fraktion");
    SCM(playerid,gruen,"------ Fraktions-Mitglieder Online------");
    new rangtext[50];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPVarInt(playerid,"Fraktion") == 1)
    switch(GetPVarInt(playerid,"Rang"))
    {
    case 1:{rangtext="Deputy";}
    case 2:{rangtext="Inspector";}
    case 3:{rangtext="Detective";}
    case 4:{rangtext="Lieutenant";}
    case 5:{rangtext="Captain";}
    case 6:{rangtext="Chief";}
    }
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPVarInt(i,"Fraktion") == fID)
    {
    format(string,sizeof(string),"Name: %s | Rang: %s",SpielerName(i),rangtext(i));
    SCM(playerid,COLOR_YELLOW,string);
    }
    }
    }
    SCM(playerid,gruen,"--------------------------------------------");
    return 1;
    }


    Wenn ich jedoch /members eingebe, dann wird (auch wenn ich Rank 6 bin) mein Rankname duch den des anderen Spielers ersetzt...


    Wie mache ich das, dass mein Rang und der Rang des anderen Spielers angezeigt werden?

  • Hey,
    switch(GetPVarInt(playerid,"Rang"))
    {
    case 1:{rangtext="Deputy";}
    case 2:{rangtext="Inspector";}
    case 3:{rangtext="Detective";}
    case 4:{rangtext="Lieutenant";}
    case 5:{rangtext="Captain";}
    case 6:{rangtext="Chief";}
    }

    du hast hier case 0 ausgelassen.
    Versuchs mal so:

    switch(GetPVarInt(playerid,"Rang"))
    {
    case 0:{rangtext="Deputy";}
    case 1:{rangtext="Inspector";}
    case 2:{rangtext="Detective";}
    case 3:{rangtext="Lieutenant";}
    case 4:{rangtext="Captain";}
    case 5:{rangtext="Chief";}
    }


    Mit freundlichen Grüßen,
    MoD