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