13.01.2013, 17:14
pawn Код:
CMD:convidar(playerid, params[])
{
new convidado, name[MAX_PLAYER_NAME], OrgName[30], strin[220], str[128];
if(sscanf(params, "i", convidado))
return Mensagem(playerid, MENSAGEM_USO, "/Convidar <ID/Nick>");
printf("convidado = %d, playerorg = %d", convidado, GetPlayerOrg(playerid));
if(PlayerOrg[playerid][pOrgID] == 0) return Mensagem(playerid, MENSAGEM_ERRO, "VocГЄ precisa ser lнder ou sub lнder de alguma organizaзгo para usar este comando.");
if(PlayerOrg[playerid][pRank] < 4) return Mensagem(playerid, MENSAGEM_ERRO, "VocГЄ precisa ser sub/lнder para usar este comando.");
if(PlayerOrg[convidado][pOrgID] != 0) return Mensagem(playerid, MENSAGEM_ERRO, "O jogador jб possui uma organizaзгo.");
GetPlayerName(playerid, name, sizeof(name));
format(OrgName, 30, "%s", GetPlayerOrgName(playerid));
new diretorio[45];
format(diretorio, sizeof(diretorio), "/BLS/ORG/%s.ini", OrgName);
for(new i = 0; i <= 20; i ++)
{
new buffer[25],line[12];
format(line, 12, "membro%d", i);
DOF2_GetString(diretorio, line, buffer);
if(!strcmp(buffer, "Ninguйm")) break;
printf("%s", i);
if(i == 20) return Mensagem(playerid, MENSAGEM_ERRO, "Nгo existem vagas para a organizaзгo. VocГЄ pode limpar uma vaga usando /demitir [nome]");
}
/*new line[12];
format(line, 12, "membro%d", vaga);
DOF2_SetString(diretorio, line, GetName(senderid));*/
// 133a30a30a24r217
format(strin, sizeof(strin), "{FFFFFF}Olб, %s,\nVocГЄ recebeu um convite de %s para entrar na organizaзгo %s.\n\n\nPara entrar na organizaзгo %s pressione \"Sim\".", GetName(convidado), GetName(playerid), OrgName, OrgName);
ShowPlayerDialog(convidado, DIALOG_CONVITE_ORG, DIALOG_STYLE_MSGBOX, "{FFFFFF}B{1E90FF}L{FFFFFF}S - Novo convite", strin, "Sim", "Nгo");
PlayerOrg[convidado][OrgPretendente] = GetPlayerOrg(playerid);
printf("e%d", PlayerOrg[convidado][OrgPretendente]);
printf("e%d", Player[playerid][pOrgID]);
format(str, 128, "{1E90FF}[BLS]: {FFFFFF}VocГЄ convidou %s para a organizaзгo %s.", GetName(convidado));
SendClientMessage(playerid, -1, str);
return true;
}
O primeiro print printa o player destino organizaзгo que o player vai ser convidado para entrar.
Logo mais a frente eu vou setar a variavel PlayerOrg[][OrgPretendente] para a organizaзгo que o player vai ser convidado a entrar.
Sу que eu uso a mesma funзгo que usei no topo do gamemode para pegar a merda da organizaзгo que o player vai entrar e da certo, sу que se eu tento usar no final da funзгo da erro. WTF?
pawn Код:
// Inicio da funзгo - funciona perfeitamente
printf("convidado = %d, playerorg = %d", convidado, GetPlayerOrg(playerid));
// Final da funзaх
printf("e%d", PlayerOrg[convidado][OrgPretendente]);
printf("e%d", Player[playerid][pOrgID]); // Equivalente ao GetPlayerOrg
![](http://i.imgur.com/J2shC.png)