public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
ShowPlayerDialog(playerid,9999,DIALOG_STYLE_INPUT,"MP","Digite seu texto abaixo.","Ok","Fechar");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 9999)
{
if(response >= 1)
{
new string[250],id;
format(string,sizeof(string),"%s diz: %s",PlayerName(playerid),string);
SendClientMessage(id,VERDE,string);
return 1;
}
}
return 1;
}
new texto = strval(inputtext)
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
ShowPlayerDialog(playerid,9999,DIALOG_STYLE_INPUT,"MP","Digite seu texto abaixo.","Ok","Fechar");
SetPVarInt(playerid, "ID", clickedplayerid);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 9999)
{
new string[128];
format(string,sizeof(string),"%s diz: %s",PlayerName(playerid),strlen(inputtext));
SendClientMessage(GetPVarInt(playerid, "ID"),VERDE,string);
return 1;
}
return 1;
}
new Caroly[MAX_PLAYERS];
Caroly[playerid] = clickedplayerid;
ShowPlayerDialog(playerid,9999,DIALOG_STYLE_INPUT,"MP","Digite seu texto abaixo.","Ok","Fechar");
if(dialogid == 9999)
{
if(response)
{
new string[250];
format(string,sizeof(string),"%s diz: %s",PlayerName(playerid),string);
SendClientMessage(Caroly[playerid],VERDE,string);
return 1;
}
}
Ps: o seu ricop darб erro, porque mandarб a mensagem para o id 0,
porque ele primeiro mostra o dialog e depois define a PVar 'ID' para o id clicado. melhor mйtedo: no topo: pawn Код:
pawn Код:
no OnDialogResponse: pawn Код:
|
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
new idString[20];
ShowPlayerDialog(playerid,9999,DIALOG_STYLE_INPUT,"MP","Digite seu texto abaixo.","Ok","Fechar");
SetPVarInt(playerid, "ID", clickedplayerid);
format(idString, sizeof(idString), "ID ESCOLHIDO %i", GetPVarInt(playerid, "ID"));
SendClientMessage(playerid, -1, idString);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 9999)
{
new string[128];
format(string,sizeof(string),"%s diz: %s",PlayerName(playerid),strlen(inputtext));
SendClientMessage(GetPVarInt(playerid, "ID"),VERDE,string);
return 1;
}
return 1;
}
Tenho a absoluta certeza que nгo hб problemas, em vista que os dois executarгo na mesma hora.
Penso eu que й a mesma coisa que um sendclientmessage em baixo do show, irб executar. Mais para testes: pawn Код:
|
fui testar os 2,nenhum funciona
o da carol nгo aparece o texto, sу fica Leo: o do ricop diz o proprio nome na mp: Leo: Leo '-' o que pode ser? |
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case 9999:
{
if(response)
{
new
Str[128],
iddocara = GetPVarInt(playerid, "ID")
;
format(Str, sizeof(Str), "%s diz: %s", PlayerName(playerid), inputtext);
SendClientMessage(iddocara, VERDE, Str);
return 1;
}
else
return 0;
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_INPUT, "MP", "Digite seu texto abaixo.", "Ok", "Fechar");
SetPVarInt(playerid, "ID", clickedplayerid);
return 1;
}
new
Caroly[MAX_PLAYERS char]
;
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
Caroly{playerid} = clickedplayerid;
ShowPlayerDialog(playerid,9999,DIALOG_STYLE_INPUT,"MP","Digite seu texto abaixo.","Ok","Fechar");
return true;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 9999) {
if(response) {
new string[128];
GetPlayerName(playerid, string, 24);
format(string, 128, "%s diz: %s", string, inputtext);
SendClientMessage(Caroly{playerid},0xFFFFFFFF, string);
return true;
}
}
return 1;
}
Claro que utiliza response, afinal alocam o valor de qual foi o botгo pressionado pelo jogador no dialog.
|