[Ajuda] Sistema de convite -
yuryroque - 22.01.2012
Estava tentando fazer um sistema de "Convite" que faz o seguinte, Envia o convite em "Dialog" BlaBla Tal ORG/GG
(Aceitar - Recusar)...
Recusar --> Tudo certo
Aceitar --> As vezes o player nгo entra para ORG/GG, quando й aceito vai para seleзгo de SKIN da ORG/GG e ai entra o problema, a seleзгo de skin vai para o lнder que ofereceu o convite...
Enfim, Vou mandar os cуdigos aqui, se alguйm souber como resolver agradeзo imensamente
Код:
switch(dialogid)
{
case 180://Se a dialog for DConvite
{
if(!response)//se ele recusar
{
new pName[256];
GetPlayerName(playerid, pName, sizeof(pName));
new convite[260];
format(convite,sizeof(convite),"[Info] O jogador %s Rejeitou o convite.",pName);
SendTeamMessage(PlayerInfo[playerid][pMember],COLOR_RED,convite);
}
if(response)//se ele aceitar
{
new para1;
new str[256];
GetPlayerName(playerid, sendername, sizeof(sendername));
new pName[256];
new convite1[260];
new convite[260];
GetPlayerName(playerid, pName, sizeof(pName));
format(str, 256, "%s Aceitou seu convite.", sendername);
SendClientMessage(InviteOffer[playerid], COLOR_LIGHTBLUE, str);
SendClientMessage(GetPVarInt(playerid, "Lider"), COLOR_LIGHTBLUE, convite1);//avisa ao lнder
format(convite,sizeof(convite),"[Info] O jogador %s Aceitou o convite.",pName);
SendTeamMessage(PlayerInfo[playerid][pMember],COLOR_YELLOW,convite);
PlayerInfo[playerid][pMember] = GetPVarInt(playerid, "Lider");
PlayerInfo[playerid][pMember] = PlayerInfo[InviteOffer[playerid]][pLeader];
PlayerInfo[playerid][pRank] = 1;
SetPlayerHealth(playerid,999);
SendClientMessage(para1,COLOR_YELLOW,"|- Use 'proximo' para selecionar seu uniforme -|");
SendClientMessage(para1,COLOR_YELLOW,"|- Se vocк gostou do uniforme digite 'confirma' -|");
TogglePlayerControllable(para1, 0);
SelectChar[para1] = 255;
SelectCharID[para1] = PlayerInfo[para1][pMember];
SelectCharPlace[para1] = 1;
PlayerInfo[para1][pModel] = ChosenSkin[para1];
PlayerInfo[para1][pChar] = ChosenSkin[para1];
GetPVarInt(playerid, "Lider");
Invite[playerid] = 0;
Re: [Ajuda] Sistema de convite -
Don_Speed - 22.01.2012
pawn Код:
if(response)//se ele aceitar
{
new para1;
new str[256];
GetPlayerName(playerid, sendername, sizeof(sendername));
new pName[256];
new convite1[260];
new convite[260];
GetPlayerName(playerid, pName, sizeof(pName));
format(str, 256, "%s Aceitou seu convite.", sendername);
SendClientMessage(InviteOffer[playerid], COLOR_LIGHTBLUE, str);
SendClientMessage(GetPVarInt(playerid, "Lider"), COLOR_LIGHTBLUE, convite1);//avisa ao lнder
format(convite,sizeof(convite),"[Info] O jogador %s Aceitou o convite.",pName);
SendTeamMessage(PlayerInfo[playerid][pMember],COLOR_YELLOW,convite);
PlayerInfo[playerid][pMember];
PlayerInfo[playerid][pRank] = 1;
SetPlayerHealth(playerid,999);
SendClientMessage(para1,COLOR_YELLOW,"|- Use 'proximo' para selecionar seu uniforme -|");
SendClientMessage(para1,COLOR_YELLOW,"|- Se vocк gostou do uniforme digite 'confirma' -|");
TogglePlayerControllable(para1, 0);
SelectChar[para1] = 255;
SelectCharID[para1] = PlayerInfo[para1][pMember];
SelectCharPlace[para1] = 1;
PlayerInfo[para1][pModel] = ChosenSkin[para1];
PlayerInfo[para1][pChar] = ChosenSkin[para1];
Invite[playerid] = 0;
Re: [Ajuda] Sistema de convite -
yuryroque - 22.01.2012
Nгo deu certo, quando o player aceita o convite a seleзгo de skin vai para min... T.T
E deu um aviso na linha "PlayerInfo[playerid][pMember];" >expression has no effect<
Ajuda ai por favor
Essa й a primeira parte do sistema...
pawn Код:
if(strcmp(cmd, "/convidar", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USO: /convidar [playerid/Parte-do-Nick]");
return 1;
}
new para1;
new ftext[20];
para1 = ReturnUser(tmp);
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if (gTeam[para1]==TEAM_GREEN && PlayerInfo[para1][pMember] == 0 && PlayerInfo[para1][pFMember] == 255)
{
if(PlayerInfo[playerid][pLeader] == 1) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 2) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 3) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 4) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 5) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 6) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 7) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 8) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 9) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 10) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 11) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 12) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 13) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 14) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 15) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 16) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 17) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 18) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 19) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 20) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 21) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 22) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 23) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 24) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 25) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 26) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 27) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 28) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 29) { ftext = "**"; }
else if(PlayerInfo[playerid][pLeader] == 30) { ftext = "**"; }
else { return 1; }
new string[260];
new convite[260];
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(convite,sizeof(convite),"Vocк foi convidado para a organizaзгo %s",ftext);
printf("|Admin: %s convidou %s para entrar no grupo dos: '%s'|", sendername, giveplayer, ftext);
format(string, sizeof(string), "Vocк convidou %s para sua profissгo '%s'.", giveplayer,ftext);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
Invite[para1] = 1;
SetPVarInt(pLeader, "Lider", playerid);
InviteOffer[para1] = playerid;
InviteJob[para1] = PlayerInfo[playerid][pLeader];
ShowPlayerDialog(para1,180,DIALOG_STYLE_MSGBOX,"Convite",convite,"Aceitar","Recusar");
}
}//Nгo conectado
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Vocк nгo estб autorizado a ultilizar este comando !");
}
}
return 1;
}
Re: [Ajuda] Sistema de convite -
Shadoww5 - 22.01.2012
Vocк estб testando isso com quantos jogadores ? 2 ? Provavelmente, este bug acontecerб com o ID 0, visto que a variбvel
para1 foi criada, mas nгo teve seu valor atribuнdo a nenhum jogador.
Lembre-se, tambйm, que o jogador convidado й tido como
playerid, pois й ele quem aceita o convite na dialog, e o jogador que faz o convite й o
InviteOffer[playerid].
Re: [Ajuda] Sistema de convite -
yuryroque - 22.01.2012
Entгo como ficaria?
Devo retirar o "para1" da parte da seleзгo de skin? e substituir por "playerid"?
To meio confuso da para fazer para min
pawn Код:
if(response)//se ele aceitar
{
/*---------------------------
new para1;// Retirar esta?
---------------------------*/
new str[256];
GetPlayerName(playerid, sendername, sizeof(sendername));
new pName[256];
new convite1[260];
new convite[260];
GetPlayerName(playerid, pName, sizeof(pName));
format(str, 256, "%s Aceitou seu convite.", sendername);
SendClientMessage(InviteOffer[playerid], COLOR_LIGHTBLUE, str);
SendClientMessage(GetPVarInt(playerid, "Lider"), COLOR_LIGHTBLUE, convite1);//avisa ao lнder
format(convite,sizeof(convite),"[Info] O jogador %s Aceitou o convite.",pName);
SendTeamMessage(PlayerInfo[playerid][pMember],COLOR_YELLOW,convite);
PlayerInfo[playerid][pMember];
PlayerInfo[playerid][pRank] = 1;
SetPlayerHealth(playerid,999);
/*--------------------playerid nesta parte?--------------------
SendClientMessage(para1,COLOR_YELLOW,"|- Use 'proximo' para selecionar seu uniforme -|");
SendClientMessage(para1,COLOR_YELLOW,"|- Se vocк gostou do uniforme digite 'confirma' -|");
TogglePlayerControllable(para1, 0);
SelectChar[para1] = 255;
SelectCharID[para1] = PlayerInfo[para1][pMember];
SelectCharPlace[para1] = 1;
PlayerInfo[para1][pModel] = ChosenSkin[para1];
PlayerInfo[para1][pChar] = ChosenSkin[para1];
Invite[playerid] = 0;
--------------------Playerid nesta parte?--------------------*/
Re: [Ajuda] Sistema de convite -
Victor Cesaroni - 22.01.2012
pawn Код:
/**/switch(dialogid)
{
case 180://Se a dialog for DConvite
{
if(!response)//se ele recusar
{
new pName[256];
GetPlayerName(playerid, pName, sizeof(pName));
new convite[260];
format(convite,sizeof(convite),"[Info] O jogador %s Rejeitou o convite.",pName);
SendTeamMessage(PlayerInfo[playerid][pMember],COLOR_RED,convite);
}
if(response)//se ele aceitar
{
new str[256];
GetPlayerName(playerid, sendername, sizeof(sendername));
new pName[256];
new convite1[260];
new convite[260];
GetPlayerName(playerid, pName, sizeof(pName));
format(str, 256, "%s Aceitou seu convite.", sendername);
SendClientMessage(InviteOffer[playerid], COLOR_LIGHTBLUE, str);
SendClientMessage(GetPVarInt(playerid, "Lider"), COLOR_LIGHTBLUE, convite1);//avisa ao lнder
format(convite,sizeof(convite),"[Info] O jogador %s Aceitou o convite.",pName);
SendTeamMessage(PlayerInfo[playerid][pMember],COLOR_YELLOW,convite);
PlayerInfo[playerid][pMember] = GetPVarInt(playerid, "Lider");
PlayerInfo[playerid][pMember] = PlayerInfo[InviteOffer[playerid]][pLeader];
PlayerInfo[playerid][pRank] = 1;
SetPlayerHealth(playerid,999);
SendClientMessage(playerid,COLOR_YELLOW,"|- Use 'proximo' para selecionar seu uniforme -|");
SendClientMessage(playerid,COLOR_YELLOW,"|- Se vocк gostou do uniforme digite 'confirma' -|");
TogglePlayerControllable(playerid, 0);
SelectChar[playerid] = 255;
SelectCharID[playerid] = PlayerInfo[para1][pMember];
SelectCharPlace[playerid] = 1;
PlayerInfo[playerid][pModel] = ChosenSkin[playerid];
PlayerInfo[playerid][pChar] = ChosenSkin[playerid];
GetPVarInt(playerid, "Lider");
Invite[playerid] = 0;
Re: [Ajuda] Sistema de convite -
yuryroque - 23.01.2012
Й eu tinha isso e deu certo, vlw todos ae o/