Fehler im /makeleader Befehl

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
  • Ich bräuchte nochmal Hilfe zum /makeleader-Befehl.
    Wenn ich "/makeleader 0 0" eingebe (Also mich zum Zivi mache) ist alles ok. Wenn ich dann aber
    "/makeleader 0 1" (Regierung) eingeben steht da das ich mich Zivilist gemacht hab. Wenn ich nochmal eingebe "/makeleader 0 1" dann steht da ich bin Regierung.


    ocmd:makeleader(playerid,params[])
    {
    new pID,fID;
    new string[128];
    new fraktname[128];
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    **FRAKTIONSDEFINES**
    }
    if(!IsPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,ROT,"Dein Adminrang ist zu niedrig!");
    if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,ROT,"/makeleader [ID] [Fraktions ID] (/fraks)");
    if(fID<0||fID>11)return SendClientMessage(playerid,ROT,"Bitte gültige Fraktion angeben (0-11).");
    SetPVarInt(pID,"Fraktion",fID);
    SetPVarInt(pID,"Leader",1);
    SpielerSpeichern(pID);
    format(string,sizeof(string),"Du hast %s Leader der Fraktion %s gemacht",SpielerName(pID),fraktname);
    SendClientMessage(playerid,HBLAU,string);
    format(string,sizeof(string),"%s hat dich Leader der Fraktion %s gemacht",SpielerName(playerid),fraktname);
    SendClientMessage(playerid,HBLAU,string);
    format(string,sizeof(string),"AdmCmd: %s hat %s Leader der Fraktion %s gemacht",SpielerName(playerid),SpielerName(pID),fraktname);
    SendClientMessageToAll(ADMROT,string);
    return 1;
    }


    Der Fehler kommt aber auch erst seit gerade eben. Vorher hat alles super funktioniert. Ich habe nichts an dem Befehl oder den Fraktionsdefines geändert.

  • Bei IsPlayer Admin muss aufjedenfall das ! weg. xD


    Muss auf jedenfall nicht weg, da die Abfrage richtig ist!


    Zu deinen Problem war das der fehler:
    ocmd:makeleader(playerid,params[])
    {
    new pID,fID;
    new string[128];
    new fraktname[128];
    if(!IsPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,ROT,"Dein Adminrang ist zu niedrig!");
    if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,ROT,"/makeleader [ID] [Fraktions ID] (/fraks)");
    if(fID<0||fID>11)return SendClientMessage(playerid,ROT,"Bitte gültige Fraktion angeben (0-11).");
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    **FRAKTIONSDEFINES**
    }
    SetPVarInt(pID,"Fraktion",fID);
    SetPVarInt(pID,"Leader",1);
    SpielerSpeichern(pID);
    format(string,sizeof(string),"Du hast %s Leader der Fraktion %s gemacht",SpielerName(pID),fraktname);
    SendClientMessage(playerid,HBLAU,string);
    format(string,sizeof(string),"%s hat dich Leader der Fraktion %s gemacht",SpielerName(playerid),fraktname);
    SendClientMessage(playerid,HBLAU,string);
    format(string,sizeof(string),"AdmCmd: %s hat %s Leader der Fraktion %s gemacht",SpielerName(playerid),SpielerName(pID),fraktname);
    SendClientMessageToAll(ADMROT,string);
    return 1;
    }
    Fällt er dir auf?

    All in all it's just another brick in the wall

  • Auch Fehlerhaft xD


    So ist es richtig
    ocmd:makeleader(playerid,params[])
    {
    new pID,fID;
    new string[128];
    new fraktname[128];
    if(!IsPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,ROT,"Dein Adminrang ist zu niedrig!");
    if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,ROT,"/makeleader [ID] [Fraktions ID] (/fraks)");
    if(fID<0||fID>11)return SendClientMessage(playerid,ROT,"Bitte gültige Fraktion angeben (0-11).");
    SetPVarInt(pID,"Fraktion",fID);
    SetPVarInt(pID,"Leader",1);
    switch(GetPVarInt(pID,"Fraktion"))
    {
    **FRAKTIONSDEFINES**
    }
    SpielerSpeichern(pID);
    format(string,sizeof(string),"Du hast %s Leader der Fraktion %s gemacht",SpielerName(pID),fraktname);
    SendClientMessage(playerid,HBLAU,string);
    format(string,sizeof(string),"%s hat dich Leader der Fraktion %s gemacht",SpielerName(playerid),fraktname);
    SendClientMessage(playerid,HBLAU,string);
    format(string,sizeof(string),"AdmCmd: %s hat %s Leader der Fraktion %s gemacht",SpielerName(playerid),SpielerName(pID),fraktname);
    SendClientMessageToAll(ADMROT,string);
    return 1;
    }

    All in all it's just another brick in the wall