Leader System 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
  • wie mache ich ein leader System aslo ich habe ein Regi System asu GF
    das mit PlayerInfo[playerid][pLeader] ist ja eig alles kal aber weiter weiss ich net zb mir fehlen die cmd /invite /outvite /makeleader kann mir bitte einer helfen
    mfg igel

  • Jo halt dann abfragen ob er Leader ist oder nicht


    Guck doch wie die es in GF gemacht haben und versuch es nachzuahmen

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • beim GF is es so:


    Makeleader:
    if(strcmp(cmd, "/makeleader", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /makeleader [spielerid/teildesnamens] [Nummer(1-25)]");
    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, "Die Nummer darf nicht unter 0 und über 12 sein!"); return 1; }
    if (PlayerInfo[playerid][pAdmin] >= 1337)
    {
    if(IsPlayerConnected(para1))
    {
    if(para1 != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[para1][pMember] > 0 || PlayerInfo[para1][pFMember] < 255)
    {
    SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist in einer Organisation / Familie!");
    return 1;
    }
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    PlayerInfo[para1][pLeader] = level;
    format(string, sizeof(string), "Du wurdest von %s zum Leader gemacht.", sendername);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "Du hast %s zum Leader Level %d gemacht.", giveplayer,level);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    if(level == 0) { PlayerInfo[para1][pChar] = 0; }
    else if(level == 1) { PlayerInfo[para1][pChar] = 283; } //LSPD Cop
    else if(level == 2) { PlayerInfo[para1][pChar] = 286; } //FBI/ATF
    else if(level == 3) { PlayerInfo[para1][pChar] = 287; } //National Guard
    else if(level == 4) { PlayerInfo[para1][pChar] = 275; } //Fire/Ambulance
    else if(level == 5) { PlayerInfo[para1][pChar] = 113; } //La Cosa Nostra
    else if(level == 6) { PlayerInfo[para1][pChar] = 120; } //Yuzuki
    else if(level == 7) { PlayerInfo[para1][pChar] = 147; } //Mayor
    else if(level == 8) { PlayerInfo[para1][pChar] = 294; } //Hitmans
    else if(level == 9) { PlayerInfo[para1][pChar] = 188; } //News Reporters
    else if(level == 10) { PlayerInfo[para1][pChar] = 189; } //Taxi Cab Company
    else if(level == 11) { PlayerInfo[para1][pChar] = 171; } //Driving/Flying School
    else if(level == 12) { PlayerInfo[para1][pChar] = 270; } //Groove Street
    gTeam[para1] = 12;
    PlayerInfo[para1][pTeam] = 12;
    SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
    }
    }//not connected
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen!");
    }
    }
    return 1;
    }



    Invite:


    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];
    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][pJob] > 0)
    {
    SendClientMessage(playerid, COLOR_GREY, "Spieler kann nicht eingeladen werden, weil er einen Job hat!");
    return 1;
    }
    if(PlayerInfo[playerid][pLeader] == 1) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "LS-PD"; ChosenSkin[para1] = 280; SetPlayerSkin(para1, 280); }
    else if(PlayerInfo[playerid][pLeader] == 2) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "FBI"; ChosenSkin[para1] = 286; SetPlayerSkin(para1, 286); }
    else if(PlayerInfo[playerid][pLeader] == 3) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "Bundeswehr"; ChosenSkin[para1] = 287; SetPlayerSkin(para1, 287); }
    else if(PlayerInfo[playerid][pLeader] == 4) { PlayerInfo[para1][pTeam] = 1; gTeam[para1] = 1; ftext = "Sanitäter"; ChosenSkin[para1] = 276; SetPlayerSkin(para1, 276); }
    else if(PlayerInfo[playerid][pLeader] == 5) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "La Cosa Nostra"; ChosenSkin[para1] = 258; SetPlayerSkin(para1, 120); }
    else if(PlayerInfo[playerid][pLeader] == 6) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Yakuza"; ChosenSkin[para1] = 120; SetPlayerSkin(para1, 258); }
    else if(PlayerInfo[playerid][pLeader] == 7) { return 1; }
    else if(PlayerInfo[playerid][pLeader] == 8) { PlayerInfo[para1][pTeam] = 10; gTeam[para1] = 12; ftext = "Hitman Agentur"; ChosenSkin[para1] = 127; SetPlayerSkin(para1, 127); }
    else if(PlayerInfo[playerid][pLeader] == 9) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "CNN Studio"; ChosenSkin[para1] = 148; SetPlayerSkin(para1, 148); }
    else if(PlayerInfo[playerid][pLeader] == 10) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "Taxiunternehmen"; ChosenSkin[para1] = 255; SetPlayerSkin(para1, 255); }
    else if(PlayerInfo[playerid][pLeader] == 11) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "Fahrlehrer"; ChosenSkin[para1] = 59; SetPlayerSkin(para1, 59); }
    else if(PlayerInfo[playerid][pLeader] == 12) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Grove Street"; ChosenSkin[para1] = 270; SetPlayerSkin(para1, 270); }



    else { return 1; }
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    PlayerInfo[para1][pMember] = PlayerInfo[playerid][pLeader];
    PlayerInfo[para1][pRank] = 1;
    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);
    new rand = random(sizeof(gInviteSpawns));
    SetPlayerPos(para1, gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); // Warp the player
    SetPlayerFacingAngle(para1, gInviteSpawns[rand][3]);
    SetPlayerCameraPos(para1,gInviteSpawns[rand][0] + 3, gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
    SetPlayerCameraLookAt(para1,gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
    TogglePlayerControllable(para1, 0);
    SelectChar[para1] = 255;
    SelectCharID[para1] = PlayerInfo[para1][pMember];
    SelectCharPlace[para1] = 1;
    PlayerInfo[para1][pModel] = ChosenSkin[para1];
    PlayerInfo[para1][pChar] = ChosenSkin[para1];
    SendClientMessage(para1, COLOR_LIGHTRED, "* Verwende 'next' um deinen Charakter zu wählen.");
    SendClientMessage(para1, COLOR_LIGHTRED, "* Wenn du den Charakter gefunden hast, den du benutzen willst, tippe 'done'.");
    }
    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;
    }


    uninvite:


    if(strcmp(cmd, "/uninvite", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /uninvite [spielerid/teildesnamens]");
    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)
    {
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    printf("AdmCmd: %s has uninvited %s.", sendername, giveplayer);
    format(string, sizeof(string), "* Du wurdest von deiner Familie / Polizeiposition von %s gekickt.", sendername);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    SendClientMessage(para1, COLOR_LIGHTBLUE, "* Du bist wieder ein Zivilist.");
    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 von seiner Familie/Polizeiposition gekickt.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    }
    }//not connected
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen (nur für Leader)!");
    }
    }
    return 1;
    }


    so als kleine Hilfe zum "Nacharmen" :D :D :D :D

    since 2009.

  • wenn du das non GF + IsPlayerAdmin machen würdest, dann würd ich dich knuddeln und 'n keks in die hand drücken :D:D

  • aber ich meine ... warte benutzt GF auch gteam?

  • sieshte? das meinte ich lol.
    man weiß net ob errors raus kommen.
    deswegen lass ich es, bis es klappt.