Rank 5 soll | /invite | /uninvite | /giverank machen können

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
  • Guten Tag.


    Ich wollte das man wenn man von einem Admin mit /makeleader Leader gemacht worden ist und der Leader jemanden mit /invite in die Fraktion einladet und der Leader dem User mit /giverank Rank 5 gibt und der Member dann automatisch | /invite | /uninvite und /giverank nutzen kann.


    Mein /invite,/uninvite & /giverank System


    /invite:

    if(strcmp(cmd, "/invite", true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /invite [playerid/Name]");
    return 1;
    }
    new leader = PlayerInfo[playerid][pLeader];
    new para1 = ReturnUser(tmp);
    if (PlayerInfo[playerid][pLeader] >= 1)
    {
    if(IsPlayerConnected(para1))
    {
    if(para1 != INVALID_PLAYER_ID)
    {
    if (gTeam[para1]==TEAM_GREEN && PlayerInfo[para1][pMember] == 0 && PlayerInfo[para1][pFMember] == 255)
    {
    if (PlayerInfo[para1][pLevel] < 3)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Der Spieler braucht mindestens Level 3 um Invitet zu werden !");
    return 1;
    }
    if(PlayerInfo[para1][pFrakSperre] == 0)
    {
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    printf("AdminSystem: %s hat %s in die Fraktion %s eingeladen.", sendername, giveplayer,Fracs[leader-1]);
    format(string, sizeof(string), " Du wurdest in die Fraktion %s von Leader %s eingeladen.",Fracs[leader-1], sendername);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    SendClientMessage(para1, COLOR_GRAD2, " Wenn du die Einladung annehmen willst, tippe /einladung annehmen");
    //SendClientMessage(para1, COLOR_GRAD2, " Um die Einladung abzulehnen: /einladung ablehnen");
    format(string, sizeof(string), " Du hast %s in die Fraktion %s eingeladen.", giveplayer,Fracs[leader-1]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    SendClientMessage(playerid, COLOR_GRAD2, " Warte, bis der Spieler die Einladung angenommen/abgelehnt hat.");
    new iyear, imonth,iday;
    getdate(iyear, imonth, iday);
    format(string, sizeof(string), "%s[Level:%d] wurde von %s in die Fraktion %s eingeladen (%d-%d-%d)", giveplayer,PlayerInfo[para1][pLevel],sendername,Fracs[leader-1],imonth,iday,iyear);
    MemberLog(string);
    Eingeladen[para1] = leader;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "* Dieser Spieler hat eine Fraktionssperre!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der ausgewählte Spieler, ist bereits in einer Fraktion/Familie.");
    return 1;
    }
    }
    }//not connected
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Nur Der Leader kann Members aufnehmen!");
    }
    return 1;
    }


    /uninvite:

    if(strcmp(cmd, "/uninvite", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "BENUTZUNG: /uninvite [Spieler ID / Name]");
    return 1;
    }
    new para1;
    para1 = ReturnUser(tmp);
    if (PlayerInfo[playerid][pLeader] >= 1)
    {
    if(IsPlayerConnected(para1))
    {
    if(para1 != INVALID_PLAYER_ID)
    {
    if (PlayerInfo[para1][pMember] > 0 && PlayerInfo[para1][pMember] == PlayerInfo[playerid][pLeader])
    {
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    printf("AdminSystem: %s hat %s rausgeschmissen.", sendername, giveplayer);
    format(string, sizeof(string), "* Du wurdest aus deiner Fraktion %s vom Leader %s gekickt.",Fracs[PlayerInfo[para1][pMember]-1],sendername);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    SendClientMessage(para1, COLOR_LIGHTBLUE, "* Du bist nun wieder ein Zivilist.");
    SendClientMessage(para1, COLOR_LIGHTBLUE, "* Dein Gehalt wurde wieder auf 0$ gesetzt.");
    PlayerInfo[para1][pGehalt] = 0;
    gTeam[para1] = 3;
    PlayerInfo[para1][pTeam] = 3;
    PlayerInfo[para1][pMember] = 0;
    PlayerInfo[para1][pRank] = 0;
    PlayerInfo[para1][pChar] = 0;
    new rand = random(sizeof(CIV));
    SetSpawnInfo(para1, gTeam[para1], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
    PlayerInfo[para1][pModel] = CIV[rand];
    MedicBill[para1] = 0;
    SpawnPlayer(para1);
    format(string, sizeof(string), " Du hast %s aus der Fraktion gekickt.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du kannst nur die Member deiner Fraktion uninviten!");
    }
    }
    }//not connected
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Nur der Leader kann diesen Befehl nutzen!");
    }
    }
    return 1;
    }


    /giverank:

    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 > 13 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "Ränge gehen nur von 1 bis 13!"); 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;
    }


    Es wehre Nice wenn mir jemand einen Code schicken könnte und sagen könnte wie es geht weil wollte es endlich mal Selber versuchen ^^


    MfG:
    Triaden

  • 5 Errors:

    C:\Users\triaden\Desktop\German-Reality\gamemodes\German-Reality.pwn(30239) : error 017: undefined symbol "para1"
    C:\Users\triaden\Desktop\German-Reality\gamemodes\German-Reality.pwn(30265) : error 029: invalid expression, assumed zero
    C:\Users\triaden\Desktop\German-Reality\gamemodes\German-Reality.pwn(38621) : warning 213: tag mismatch
    C:\Users\triaden\Desktop\German-Reality\gamemodes\German-Reality.pwn(38666) : error 029: invalid expression, assumed zero
    C:\Users\triaden\Desktop\German-Reality\gamemodes\German-Reality.pwn(38797) : warning 213: tag mismatch
    C:\Users\triaden\Desktop\German-Reality\gamemodes\German-Reality.pwn(38833) : error 029: invalid expression, assumed zero
    C:\Users\triaden\Desktop\German-Reality\gamemodes\German-Reality.pwn(39367) : warning 213: tag mismatch
    C:\Users\triaden\Desktop\German-Reality\gamemodes\German-Reality.pwn(39410) : error 029: invalid expression, assumed zero
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.


    habe es auf einem anderem Script probiert der auf einem anderem Forum veröffentlich wurde.


    kam das


    Wie ich es eingefügt habe:

    if(strcmp(cmd, "/invite", true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /invite [playerid/Name]");
    return 1;
    }
    new leader = PlayerInfo[playerid][pLeader];
    new para1 = ReturnUser(tmp);
    if (PlayerInfo[playerid][pLeader] >= 1)
    if(!PlayerInfo[para1][pRank] >= 5){ SendClientMessage(playerid, COLOR_GREY, "Du musst mindestens Rang 5 sein!"); return 1; }
    {


    Bitte so schnell wie möglich melden

  • Bin mir nicht sicher aber, wie heißt die Rank funktion bei dir btw variable.


    versuchs mal so

    Code
    if(!PlayerInfo[playerid][pRank] >= 5){ SendClientMessage(playerid, COLOR_GREY, "Du musst mindestens Rang 5 sein!"); return 1; }

  • C:\Users\triaden\Desktop\German-Reality\gamemodes\German-Reality.pwn(38628) : warning 213: tag mismatch
    C:\Users\triaden\Desktop\German-Reality\gamemodes\German-Reality.pwn(38673) : error 029: invalid expression, assumed zero
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • 1Error:

    C:\Users\triaden\Desktop\German-Reality\gamemodes\German-Reality.pwn(38833) : error 029: invalid expression, assumed zero
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Zeile 38833:
    else


    Ganzer Script von 38833:

    if(strcmp(cmd, "/uninvite", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "BENUTZUNG: /uninvite [Spieler ID / Name]");
    return 1;
    }
    new para1;
    para1 = ReturnUser(tmp);
    if (PlayerInfo[playerid][pLeader] >= 1)
    {
    if(IsPlayerConnected(para1))
    {
    if(para1 != INVALID_PLAYER_ID)
    {
    if (PlayerInfo[para1][pMember] > 0 && PlayerInfo[para1][pMember] == PlayerInfo[playerid][pLeader])
    if(PlayerInfo[para1][pRank] >= 5){ SendClientMessage(playerid, COLOR_GREY, "Du musst mindestens Rang 5 sein!"); return 1; }
    {
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    printf("AdminSystem: %s hat %s rausgeschmissen.", sendername, giveplayer);
    format(string, sizeof(string), "* Du wurdest aus deiner Fraktion %s vom Leader %s gekickt.",Fracs[PlayerInfo[para1][pMember]-1],sendername);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    SendClientMessage(para1, COLOR_LIGHTBLUE, "* Du bist nun wieder ein Zivilist.");
    SendClientMessage(para1, COLOR_LIGHTBLUE, "* Dein Gehalt wurde wieder auf 0$ gesetzt.");
    PlayerInfo[para1][pGehalt] = 0;
    gTeam[para1] = 3;
    PlayerInfo[para1][pTeam] = 3;
    PlayerInfo[para1][pMember] = 0;
    PlayerInfo[para1][pRank] = 0;
    PlayerInfo[para1][pChar] = 0;
    new rand = random(sizeof(CIV));
    SetSpawnInfo(para1, gTeam[para1], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
    PlayerInfo[para1][pModel] = CIV[rand];
    MedicBill[para1] = 0;
    SpawnPlayer(para1);
    format(string, sizeof(string), " Du hast %s aus der Fraktion gekickt.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du kannst nur die Member deiner Fraktion uninviten!");
    }
    }
    }//not connected
    }
    [color=#FF0000][/color][b][color=#FF0000] else[/color][/b]
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Nur der Leader kann diesen Befehl nutzen!");
    }
    }
    return 1;
    }

  • Sollte so funktionieren, der Spieler kann nun als Leader und mit Rang 5 Spieler uninviten.
    Da ich nicht genug Zeit habe, habe ich nur /uninvite bearbeitet.