fraktionen scripten

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
  • als erstes speicherst du in deinen Spieler_daten also bei
    Enum Playerinfo oder wie du das hast


    enum spieler_daten
    {
    team,
    leader,
    }
    dann definirst du das ganze
    #define TEAM_POLIZEI 1 //polizei


    Bei OnPlayerSpawn
    public OnPlayerSpawn(playerid)
    {


    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    SetPlayerSkin(playerid, dini_Int(accFormat,"skin"));


    if(Spieler[playerid][team] == 1 //team polizei
    {
    SetPlayerPos(playerid, 199.4538,168.0576,1003.0234 );
    SetPlayerInterior(playerid, 3);
    }
    Da wo das team spawnen soll
    dann denn /makeleader cmd
    if(!strcmp(strget(cmdtext,0),"/makeleader"))
    {
    if(Spieler[playerid][Admin] >= 4 )
    {
    if(!strlen(strget(cmdtext,1)))
    return
    SendClientMessage(playerid,COLOR_GREY,"Benutze: /makeleader [ID] [FraktionsID]");
    //new string[128];
    new id3 = strval(strget(cmdtext,1));
    new admin3[MAX_PLAYER_NAME];
    new gang = strval(strget(cmdtext,2));
    GetPlayerName(id3,admin3,sizeof(admin3));
    format(string, sizeof(string), "*** Du wurdest von Admin %s zum Leader der Fraktionsnummer %d gemacht.", admin3, gang);
    SendClientMessage(id3, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "*** Du hast %s zum Leader der Fraktionsnummer %d gemacht.", id3, gang);
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    if(gang==1) { SetPlayerSkin(id3,280);Spieler[playerid][leader]= 1; }


    Spieler[id3][leader] = gang;
    Spieler[id3][team] = gang;


    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTRED,"Du darfst diesen Befehl nicht benutzen !");
    }
    return 1;
    }


    dann /invite cmd vorsicht meiner ist buggy
    der ist nur als Bsp.
    if(strcmp(cmd, "/invite", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /invite [spielerid/teildesnamens]");
    return 1;
    }
    new para1;
    new ftext[20];
    new gang;
    new inviteihn;
    new giveplayer[MAX_PLAYER_NAME];
    new sendername[MAX_PLAYER_NAME];
    para1 = ReturnUser(tmp);
    if (Spieler[playerid][leader] >= 1)
    {
    if(IsPlayerConnected(para1))
    {
    if(para1 != INVALID_PLAYER_ID)
    {
    if(Spieler[para1][leader] != 0 || Spieler[para1][team] != 0)
    {
    SendClientMessage(playerid, COLOR_GRAD3, "Der Spieler ist in einer Fraktion, und kann daher nicht eingeladen werden!");
    return 1;
    }
    if(gang==2) { SetPlayerSkin(inviteihn,280);Spieler[playerid][team] = 1; }
    else { return 1; }
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    Spieler[para1][team] = Spieler[playerid][leader];
    printf("AdmCmd: %s hat %s eingeladen um %s beizutreten.", sendername, giveplayer, ftext);
    format(string, sizeof(string), "Du bist %s beigetreten, du wurdest vom Leader %s eingeladen", ftext, sendername);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "Du hast %s eingeladen %s beizutreten.", giveplayer,ftext);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    SetPlayerInterior(para1,0);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler wird gesucht / ist schon in einem Team / ist schon ein Familienmitglied.");
    return 1;
    }
    }//not connected
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen (nur für Leader)!");
    }
    }
    return 1;
    }


    Und schon hast du eine frakiton

  • Variante 1:

    enum player
    {
    ADMIN,
    };


    new PlayerInfo[MAX_PLAYERS][player];
    //
    PlayerInfo[playerid][ADMIN] = 1;

    Variante 2:



    if(IsPlayerAdmin(playerid))


    // Must dich dafür mit /rcon login (pass) anmelden