Problem beim /makeleader

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 liebe Breadfisher.
    Wie die Überschrift betont, habe ich ein Problem bei dem /makeleader Befehl den ich gerade schreibe.
    Ich möchte die Fraktionsnamen, die ich definiert habe, mit in dem String ausgeben, wo es gerade hackt.

    enum SpielerDaten
    {
    Name[MAX_PLAYER_NAME],
    Fraktion,
    Adminlevel,
    Banned,
    TimeBan
    };


    enum FraktionNamen
    {
    LSPD = 1,
    FBI = 2,
    Army = 3,
    FS = 4,
    OAmt = 5,
    Hitman = 6,
    Balla = 7,
    Grove = 8,
    Vagos = 9,
    LCN = 10,
    Yakuza = 11,
    Russia = 12,
    TGmbH = 13
    };


    new SpielerInfo[MAX_PLAYERS][SpielerDaten];
    new Fraktionen[MAX_PLAYERS][FraktionNamen];


    ocmd:makeleader(playerid,params[])
    {
    new pID, string[64], string2[64], fName;
    if(SpielerInfo[playerid][Adminlevel]<3) return SendClientMessage(playerid,Grey,"Du darfst diesen Befehl nicht nutzen!");
    if(sscanf(params,"ui",pID,fName)) return SendClientMessage(playerid,Grey,"Nutze: /makeleader [Spieler/ID][Fraktion]");
    if(fName<0||13>fName) return SendClientMessage(playerid,Grey,"Verwende die Fraktion ID's von 0-13!");
    {
    if(IsPlayerConnected(pID)) return SendClientMessage(playerid,Grey,"Dieser Spieler ist nicht Online.");
    {
    SpielerInfo[pID][Fraktion] = fName;
    format(string,sizeof(string),"AdmCmd: Spieler %s wurde Leader der Fraktion %s. Herzlichen Glückwunsch.",SpielerInfo[pID][Name],fName);
    SendClientMessageToAll(LightYellow,string);
    format(string2,sizeof(string2),"AdmCmd: Du wurdest von %s zum Leader der Fraktion %s befördert. Herzlichen Glückwunsch.",SpielerInfo[playerid][Name],fName);
    SendClientMessage(pID,LightYellow,string2);
    }
    }
    return 1;
    }

    Kann da mir jemand weiterhelfen?
    Würde mich echt freuen.


    MfG Kazuto

  • probiers so

    ocmd:makeleader(playerid,params[])
    {
    new pID, string[64], string2[64], fName;
    if(SpielerInfo[playerid][Adminlevel]<3) return SendClientMessage(playerid,Grey,"Du darfst diesen Befehl nicht nutzen!");
    if(sscanf(params,"ui",pID,fName)) return SendClientMessage(playerid,Grey,"Nutze: /makeleader [Spieler/ID][Fraktion]");
    if(fName<0||13>fName) return SendClientMessage(playerid,Grey,"Verwende die Fraktion ID's von 0-13!");
    {
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,Grey,"Dieser Spieler ist nicht Online.");
    {
    SpielerInfo[pID][Fraktion] = fName;
    format(string,sizeof(string),"AdmCmd: Spieler %s wurde Leader der Fraktion %s. Herzlichen Glückwunsch.",SpielerInfo[pID][Name],Fraktionen[playerid][fName]);
    SendClientMessageToAll(LightYellow,string);
    format(string2,sizeof(string2),"AdmCmd: Du wurdest von %s zum Leader der Fraktion %s befördert. Herzlichen Glückwunsch.",SpielerInfo[playerid][Name],Fraktionen[playerid][fName]);
    SendClientMessage(pID,LightYellow,string2);
    }
    }
    return 1;
    }

  • machs so mit nem stock

    stock frakname(playerid)
    {
    new fnames[50];
    if (SpielerInfo[pID][Fraktion] == 1) fnames = ("Frakname 2");
    if (SpielerInfo[pID][Fraktion] == 2) fnames = ("Frakname 3");
    return fnames;
    }



    ocmd:makeleader(playerid,params[])
    {
    new pID, string[64], string2[64], fName;
    if(SpielerInfo[playerid][Adminlevel]<3) return SendClientMessage(playerid,Grey,"Du darfst diesen Befehl nicht nutzen!");
    if(sscanf(params,"ui",pID,fName)) return SendClientMessage(playerid,Grey,"Nutze: /makeleader [Spieler/ID][Fraktion]");
    if(fName<0||13>fName) return SendClientMessage(playerid,Grey,"Verwende die Fraktion ID's von 0-13!");
    {
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,Grey,"Dieser Spieler ist nicht Online.");
    {
    SpielerInfo[pID][Fraktion] = fName;
    format(string,sizeof(string),"AdmCmd: Spieler %s wurde Leader der Fraktion %s. Herzlichen Glückwunsch.",SpielerInfo[pID][Name],frakname(pID));
    SendClientMessageToAll(LightYellow,string);
    format(string2,sizeof(string2),"AdmCmd: Du wurdest von %s zum Leader der Fraktion %s befördert. Herzlichen Glückwunsch.",SpielerInfo[playerid][Name],frakname(pID));
    SendClientMessage(pID,LightYellow,string2);
    }
    }
    return 1;
    }

  • Gibt keiner Errors wieder, hier der Code.

    ocmd:makeleader(playerid,params[])
    {
    new pID, string[64], string2[64], fName;
    if(SpielerInfo[playerid][Adminlevel]<3) return SendClientMessage(playerid,Grey,"Du darfst diesen Befehl nicht nutzen!");
    if(sscanf(params,"ui",pID,fName)) return SendClientMessage(playerid,Grey,"Nutze: /makeleader [Spieler/ID][Fraktion]");
    if(fName<0||13>fName) return SendClientMessage(playerid,Grey,"Verwende die Fraktion ID's von 0-13!");
    {
    if(IsPlayerConnected(pID)) return SendClientMessage(playerid,Grey,"Dieser Spieler ist nicht Online.");
    {
    if(fName==0)
    {
    SpielerInfo[pID][Fraktion] = fName;
    format(string,sizeof(string),"AdmCmd: Spieler %s wurde des Leaderpostens der Fraktion %s entlassen.",SpielerInfo[pID][Name],FrakName(pID));
    SendClientMessageToAll(LightYellow,string);
    format(string2,sizeof(string2),"AdmCmd: Du wurdest von %s des Leaderposten von deiner Fraktion entlassen.",SpielerInfo[playerid][Name]);
    SendClientMessage(pID,LightYellow,string2);
    }
    else
    {
    SpielerInfo[pID][Fraktion] = fName;
    format(string,sizeof(string),"AdmCmd: Spieler %s wurde Leader der Fraktion %s befördert. Herzlichen Glückwunsch.",SpielerInfo[pID][Name],FrakName(pID));
    SendClientMessageToAll(LightYellow,string);
    format(string2,sizeof(string2),"AdmCmd: Du wurdest von %s zum Leader der Fraktion %s befördert. Herzlichen Glückwunsch.",SpielerInfo[playerid][Name],FrakName(pID));
    SendClientMessage(pID,LightYellow,string2);
    }
    }
    }
    return 1;
    }

    Hoffe das klappt so, test Phase ist erst später ^^.
    Danke für deine hilfreichen Antworten.


    Gruß - Kazuto