Hey,
Ich wollte ein Invite System machen, das wenn man eine anfrage bekommt sich ein Dialog öffnen wo steht, Du wurdest in die Fraktion xxx Invite und unten Annehmen, Ablehen steht..
Weiß einer wie das geht..
if(strcmp("/invite", cmd, true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_BENUTZETEXT, "Benutze: /invite [SpielerName/ID]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(PlayerInfo[playerid][pLeader] != -1 || PlayerInfo[playerid][pMember] != -1 && PlayerInfo[playerid][pRank] >= 11)
{
if(IsPlayerConnected(giveplayerid) && gPlayerLogged[giveplayerid] == 1)
{
if(PlayerInfo[giveplayerid][pMember] == -1 && PlayerInfo[giveplayerid][pLeader] == -1)
{
if(IsPlayerNPC(giveplayerid))
{
SendClientMessage(playerid, COLOR_ERRORTEXT, " Dieser Spieler ist ein Bot !");
return 1;
}
if(PlayerInfo[giveplayerid][pConnectTime] < 10)
{
SendClientMessage(playerid, COLOR_ERRORTEXT, " Der Spieler muss mindestens 10 Spielstunden haben.");
return 1;
}
if(PlayerInfo[giveplayerid][pInviteSperre] > 0 || PlayerInfo[giveplayerid][pJob] != 0)
{
SendClientMessage(playerid, COLOR_ERRORTEXT, " Dieser Spieler hat noch eine(n) Invite-Sperre oder ein Job!");
return 1;
}
/*if(PlayerInfo[giveplayerid][pJob] > 0)
{
SendClientMessage(playerid, COLOR_ERRORTEXT, " Du kannst ihn nicht Einladen! Er hat noch einen Beruf, er muss ihn vorher kündigen !");
return 1;
}*/
new ftext[20];
new Team;
if(PlayerInfo[playerid][pLeader] != -1)
{
Team = PlayerInfo[playerid][pLeader];
}
else if(PlayerInfo[playerid][pMember] != -1)
{
Team = PlayerInfo[playerid][pMember];
}
if(Team == 1) { ftext = "LV-PD"; }
else if(Team == 2) { ftext = "Drift Access"; }
else if(Team == 3) { ftext = "Feuerwehr"; }
else if(Team == 4) { ftext = "Medic"; }
else if(Team == 5) { ftext = "La Cosa Nostra"; }
else if(Team == 6) { ftext = "Yakuza"; }
else if(Team == 7) { ftext = "FBI"; }
else if(Team == 8) { ftext = "Hitman Agency"; }
else if(Team == 9) { ftext = "News Reporter"; }
else if(Team == 10) { ftext = "Wheelman Agency"; }
else if(Team == 11) { ftext = "Fahrschule"; }
else if(Team == 12) { ftext = "Regierung"; }
else if(Team == 13) { ftext = "Ordnungsamt"; }
else if(Team == 14) { ftext = "LS-PD"; }
else if(Team == 15) { ftext = "Biker Boys"; }
else if(Team == 16) { ftext = "SF-PD"; }
else if(Team == 17) { ftext = "Camorra"; }
else if(Team == 18) { ftext = "V.L.Atztecas"; }
else if(Team == 19) { ftext = "Grove Street"; }
else if(Team == 20) { ftext = "Ballas"; }
else if(Team == 21) { ftext = "West Coast Customs"; }
else if(Team == 22) { ftext = "Triaden"; }
else if(Team == 23) { ftext = "Red Soldiers"; }
else if(Team == 24) { ftext = "L.S.Vagos"; }
else if(Team == 25) { ftext = "Guerilla"; }
else if(Team == 26) { ftext = "Cali Kartell"; }
else { return 1; }
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Du hast eine Einladung an %s gesendet.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s hat dir eine Einladung gesendet der Fraktion %s beizutreten", sendername, ftext);
ShowPlayerDialog(giveplayerid,DIALOG_INVITE,DIALOG_STYLE_MSGBOX,"Du wurdest in eine Fraktion eingeladen!",string,"Annehmen","Ablehnen");
InviteOffer[giveplayerid] = playerid;
InviteTeam[giveplayerid] = Team;
format(string,sizeof(string),"%s hat %s in %s invite.",sendername,giveplayer,Team);
EnterToLog("invite",string);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_ERRORTEXT, " Dieser Spieler ist in einer anderen Gang/Fraktion !");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_ERRORTEXT, " Dieser Spieler ist nicht Online oder noch nicht eingeloggt. !");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_ERRORTEXT, " Du bist kein Leader/Co-Leader !");
}
return 1;
}
Nicht der der invitet soll bekommt das dialog, sondern der der die invite aktion an die person schickt, auf gut Deutsch.
Ich invite jemanden ich bekomme das Dialog angezeigt
e/
Habs behoben, aber wenn ich Annehmen drücke werde ich nicht zugewiesen-