22.11.2014, 21:17
Im trying to make /invite in dialog like when i invite some guy and he will see an dialog if he accept he will be invited to the faction if he decline he will be not invited, but here i got problems now when i invite some guy if he click accept i recive someone other is invited like there other guy in the server he will be shown that he accepted the request also if he choose denied he will be still invited to the faction, can someone help me to fix this problem?
So here its the old CMD:
Here its what im trying to make:
Here its the DIALOG:
So here its the old CMD:
pawn Код:
CMD:inviteX(playerid, params[])
{
new playerb, string[128];
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Mora da bides najaven za da ja koristis ovaa komanda.");
if(!PlayerInfo[playerid][pFacLeader]) return SendClientMessage(playerid, COLOR_GREY, "Ti ne si lider na org.");
if(sscanf(params, "u", playerb)) return SendClientMessage(playerid, COLOR_WHITE, "[INFO]: /invite [playerid]");
if(!IsPlayerLoggedIn(playerb)) return SendClientMessage(playerid, COLOR_GREY, "Invalid player id.");
if(PlayerInfo[playerb][pFac]) return SendClientMessage(playerid, COLOR_GREY, "Igrac e vekje vo org.");
if(playerid == playerb) return SendClientMessage(playerid, COLOR_GREY, "Ti nemozes da invite sam sebe.");
if(PlayerInfo[playerb][pFam]) return SendClientMessage(playerid, COLOR_GREY, "Igrac e vekje vo familija.");
// Inviting
Invited[playerb] = 1;
Inviter[playerb] = playerid;
Faction[playerb] = PlayerInfo[playerid][pFac];
format(string, sizeof(string), " Ti mu ponudi na %s da stane del od {33AA33}%s {33CCFF}organizacija.", RPN(playerb), RPFNEx(playerid));
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), " %s te povika tebe da vlezes vo {33AA33}%s {33CCFF}organizacija. (/accept org) (/cancel org)", RPN(playerid), RPFNEx(playerid));
SendClientMessage(playerb, COLOR_LIGHTBLUE, string);
return 1;
}
Here its what im trying to make:
pawn Код:
CMD:invite(playerid,params[])
{
new playerb;
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Mora da bides najaven za da ja koristis ovaa komanda.");
if(!PlayerInfo[playerid][pFacLeader]) return SendClientMessage(playerid, COLOR_GREY, "Ti ne si lider na org.");
if(sscanf(params, "u", playerb)) return SendClientMessage(playerid, COLOR_WHITE, "[INFO]: /invite [playerid]");
if(!IsPlayerLoggedIn(playerb)) return SendClientMessage(playerid, COLOR_GREY, "Invalid player id.");
if(PlayerInfo[playerb][pFac]) return SendClientMessage(playerid, COLOR_GREY, "Igrac e vekje vo org.");
if(playerid == playerb) return SendClientMessage(playerid, COLOR_GREY, "Ti nemozes da invite sam sebe.");
if(PlayerInfo[playerb][pFam]) return SendClientMessage(playerid, COLOR_GREY, "Igrac e vekje vo familija.");
new str[512];
new ime[MAX_PLAYER_NAME];
GetPlayerName(playerid, ime, sizeof(ime));
format(str,512,"Jas %s te pokanuvam da bides moj clen \n-Dokolku prifakjate pritisnete 'Prifakjam' \n-Dokolku odbivate pritisnete 'Odbivam'\nDokolku se predomislis javi mi se : %d ",ime,PlayerInfo[playerid][pNumber]);
ShowPlayerDialog(playerb, DIALOG_INVITE,DIALOG_STYLE_MSGBOX,"Pokana za Vo Organizacija",str,"Prifakjam","Odbivam");
Invited[playerb] = 1;
Inviter[playerb] = playerid;
Faction[playerb] = PlayerInfo[playerid][pFac];
new igrac[MAX_PLAYER_NAME];
GetPlayerName(playerb, igrac, sizeof(igrac));
format(str,128,"Go povikavte Igracot za %s vo vasata Organizacija!",igrac);
SendClientMessage(playerid,COLOR_WHITE,str);
format(str, 128, "%s go povika igracot %s vo negovata Organizacijaa",ime, igrac);
ProxDetector(30.0, playerid, str, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
Here its the DIALOG:
pawn Код:
if(dialogid == DIALOG_INVITE)
{
if(!response)
{
SendClientMessage(playerid,COLOR_GRAD1,"Ja Odbivte Pokanata!");
}
if(response)
{
if(Invited[playerid] == 0) return SendClientMessage(playerid, COLOR_GREY, "Ti ne dobi ponuda za vlez vo organizacija.");
{
new playerb;
new inv = Inviter[playerb];
new idx = Faction[playerid];
PlayerInfo[playerid][pFac] = Faction[playerid];
PlayerInfo[playerid][pFacRank] = 0;
FacInfo[idx][facMembers] ++;
PlayerInfo[playerid][pFacLeader] = 0;
PlayerInfo[playerid][pFacDiv] = 0;
PlayerInfo[playerid][pFacDivLeader] = 0;
new str[128];
format(str,128,"* %s ja prifati vasata pokana za clenstvo!", RPN(playerb));
SendClientMessage(inv,COLOR_WHITE,str);
new sendername[MAX_PLAYER_NAME+1];
GetPlayerName(playerid, sendername, sizeof(sendername));
new string[512];
format(str,128,"*Prifativte za da vlezete kaj %s !",sendername);
format(str, sizeof(string), "*%s Ja Prifati Pokanata za Clenstvo vo Organizacija.", sendername);
SendClientMessage(playerid,COLOR_WHITE,str);
SendClientMessage(playerid,COLOR_WHITE,string);
Invited[playerid] = 0;
Faction[playerid] = 0;
Inviter[playerb] = playerid;
}
}
}