Freggel braucht mal wieder Hilfe. Dieses mal /giverank -.-'

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

  • dcmd_giverank(playerid,params[])
    {
    if(PlayerInfo[playerid][Rank] < 7)
    {
    return SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Leader!");
    }
    new pID;
    if(sscanf(params,"ui",pID, Rank))
    {
    return SendClientMessage(playerid,COLOR_GRAD2,"Benutze: /giverank [ID] [Rank]");
    }
    if(!PlayerInfo[playerid][Leader] == !PlayerInfo[pID][Leader])
    {
    return SendClientMessage(playerid,COLOR_GRAD2,"Dieser Spieler ist nicht in deiner Fraktion.");
    }
    PlayerInfo[pID][Rank] = Rank;
    new name[MAX_PLAYER_NAME], string[256];
    GetPlayerName(pID, name, sizeof(name));
    format(string,sizeof string,"Du hast %s den Rank %d gegeben",name,Rank);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    format(string,sizeof string,"Du hast den Rank %d von deinem Leader bekommen",Rank);
    return 1;
    }


    Habe es nun Error/Warnings los. Kann mir einer sagen wie die Abfrage lauten muss, damit man keinen Rank an Rank 7er User gibt und das der zu gebende Rank nichts anders ist als 1 ,2, 3, 4, 5 und 6

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)

    Einmal editiert, zuletzt von Freggel ()

  • Habe es nun so:



    dcmd_giverank(playerid,params[])
    {
    if(PlayerInfo[playerid][Rank] < 7)
    {
    return SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Leader!");
    }
    new pID;
    if(sscanf(params,"ui",pID, Rank))
    {
    return SendClientMessage(playerid,COLOR_GRAD2,"Benutze: /giverank [ID] [Rank]");
    }
    if(PlayerInfo[playerid][Leader] == PlayerInfo[pID][Leader])
    {
    PlayerInfo[pID][Rank] = Rank;
    new name[MAX_PLAYER_NAME], string[256];
    GetPlayerName(pID, name, sizeof(name));
    format(string,sizeof string,"Du hast %s den Rank %d gegeben",name,Rank);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    format(string,sizeof string,"Du hast den Rank %d von deinem Leader bekommen",Rank);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Dieser Spieler ist nicht in deiner Fraktion.");
    return 1;
    }
    }


    Dazu gibts keine Errors oder Warnings. Das Problem ist man bekommen egal was ich eintippe rank 9 o.O. Zudem würde ich es gerne so machen das man keinem Spieler in der Fraktion der den Rank 7 hat einen Rank geben kann. Und das es nur Ränge zwischen 1-6 zu vergeben gibt.

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)

  • Fehler gefunden. Rank war schon definiert und konnte scheinbar nicht für die 2te Zahl im CMD verwendet werden. Habe es so gemacht und es klappt:



    dcmd_giverank(playerid,params[])
    {
    if(PlayerInfo[playerid][Rank] < 7)
    {
    return SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Leader!");
    }
    new pID, mop;
    if(sscanf(params,"ui",pID, mop))
    {
    return SendClientMessage(playerid,COLOR_GRAD2,"Benutze: /giverank [ID] [Rank]");
    }
    if(mop<0||mop>7)
    {
    return SendClientMessage(playerid,COLOR_GRAD2,"Bitte gültigen Rank angeben.");
    }
    if(PlayerInfo[playerid][Leader] == PlayerInfo[pID][Leader])
    {
    PlayerInfo[pID][Rank] = mop;
    new name[MAX_PLAYER_NAME], string[256];
    GetPlayerName(pID, name, sizeof(name));
    format(string,sizeof string,"Du hast %s den Rank %d gegeben",name,mop);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    format(string,sizeof string,"Du hast den Rank %d von deinem Leader bekommen",mop);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Dieser Spieler ist nicht in deiner Fraktion.");
    return 1;
    }
    }


    danke trotzdem

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)