Fraktionsränge wie?

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
  • mit PlayerInfo zb pRank
    hier mel zb



    new PlayerInfo[MAX_PLAYERS][pInfo];
    enum pInfo
    {
    pRank
    };


    public OnPlayerConnect(playerid)
    {
    PlayerInfo[playerid][pRank] = 0;
    return 1;
    }


    if(strcmp(cmdtext,"/test",true) == 0)
    {
    if(PlayerInfo[playerid][pRank] == 1)
    {
    SendClientMessage(playerid,0xFFFFFFFF,"toll wa freust dich jetzt ? :D");
    }


    if(strcmp(cmd, "/giverank", true) == 0 || strcmp(cmd, "/giverang", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "NUTZUNG: /giverang [playerid] [Rang(1-6)]");
    return 1;
    }
    new para1;
    new level;
    para1 = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    level = strval(tmp);
    if(level > 12 || level < 0) { SendClientMessage(playerid, COLOR_GREY, " Ränge gehen nur von 1 bis 12!"); return 1; }
    if (PlayerInfo[playerid][pLeader] >= 1)
    {
    if(IsPlayerConnected(para1))
    {
    if(para1 != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[playerid][pLeader] == PlayerInfo[para1][pMember] && PlayerInfo[playerid][pAdmin] <= 4)
    {
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    PlayerInfo[para1][pRank] = level;
    format(string, sizeof(string), " Du wurdest von %s zum Rang %d gemacht",sendername,level);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), " Du hast %s Rang %d gegeben.",giveplayer,level);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    else if(PlayerInfo[playerid][pLeader] == PlayerInfo[para1][pLeader])
    {
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    PlayerInfo[para1][pRank] = level;
    format(string, sizeof(string), " Du wurdest von %s zum Rang %d gemacht",sendername,level);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), " Du hast %s Rang %d gegeben.",giveplayer,level);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    else if(PlayerInfo[playerid][pAdmin] >= 1337)
    {
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    PlayerInfo[para1][pRank] = level;
    format(string, sizeof(string), " Du wurdest von %s zum Rang %d gemacht",sendername,level);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), " Du hast %s Rang %d gegeben.",giveplayer,level);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist nicht der Leader des Spielers!");
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen(Nur Leader)!");
    }
    }
    return 1;
    }
    //fertig
    //wäre jetzt zb für gf aber naja selfmade und gf ist eh das gleiche von code her weiß auch net warum manch user damit solch probleme haben ^^

  • Moin.Also ich hab das folgender Maßen gemacht:


    Zuerst:

    #define PDRang1 "Praktikant"// LS und SF PD
    #define PDRang2 "Polizeimeisteranwärter"// LS und SF PD
    #define PDRang3 "Polizeikommissar "// LS und SF PD
    #define PDRang4 "Polizeioberkommissar "// LS und SF PD
    #define PDRang5 "Polizeihauptkommissar "// LS und SF PD
    #define PDRang6 "Polizeidirektor "// LS und SF PD
    #define PDRang7 "Leitender Polizeidirektor"// LS und SF PD

    Kannst du auch anpassen,habe aber für LSPD und SFPD die gleichen Ränge genommen


    Hier der /geberang Befehl:

    ocmd:geberang(playerid,params[])
    {
    if(isPlayerLeader(playerid,1)) // Musst du auch anpassen,hab mir dafür ein stock gebastelt :D
    {
    new pID, rank,rankup[64],rankdown[64];
    if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,ROT,"/rank [spieler] [rank]");
    new altrank = GetPVarInt(pID,"FRank");
    format(rankdown,sizeof(rankdown),"Du hast ein Rankdown erhalten, dein aktueller Rank ist %i.",rank);
    format(rankup,sizeof(rankup),"Du hast ein Rankup erhalten, dein aktueller Rank ist %i.",rank);
    if(altrank > rank){SendClientMessage(playerid,ROT,rankdown);}
    if(altrank < rank){SendClientMessage(playerid,BLAU,rankup);}
    SetPVarInt(pID,"FRank",rank);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Leader einer Fraktion.");
    }
    return 1;
    }


    Ich hoffe das konnte dir helfen.
    Mit freundlichen Grüßen,


    DruM

    Wissen gibt dir Macht, aber der Charakter verschafft dir Respekt und Anerkennung...
    Bruce Lee 1940 - 1973