16/04/2023 21:11
Oi pessoal, boa noite! Tudo bem?
Recentemente fiz um comando para localizar jogadores próximos, através de dialog. Estou com problema em definir uma variável para o segundo jogador próximo, e como é em dialog, não encontrei algo semelhante ao método padrão (sscanf).
Com isso, ao usar o comando, o valor sempre é 0, no caso apresentado ao ID 0. Após isso, tentei utilizar com um loop, porém, quando efetuo a ação o loop também pega o meu ID e conta como proximidade
Recentemente fiz um comando para localizar jogadores próximos, através de dialog. Estou com problema em definir uma variável para o segundo jogador próximo, e como é em dialog, não encontrei algo semelhante ao método padrão (sscanf).
Com isso, ao usar o comando, o valor sempre é 0, no caso apresentado ao ID 0. Após isso, tentei utilizar com um loop, porém, quando efetuo a ação o loop também pega o meu ID e conta como proximidade
Código PHP:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
new str[15];
format(str, sizeof(str), "dinheiro: \t\t %i", PPL[playerid][moneyAtPPL]);
ShowPlayerDialog(playerid, trade_money, DIALOG_STYLE_LIST, "dinheiro", str, "Enviar", "Fechar");
return 1;
}
OnDialogResponse(...)
{
if(dialogid == 613)
{
new str[140];
if(response)
{
if(listitem == 0)
{
for(new i; i < MAX_PLAYERS; ++i)
{
if(GetDistanceBetweenPlayers(playerid, i) <= 3)
{
format(str, sizeof(str), "Quanto deseja enviar para %s?", nomep(i));
ShowPlayerDialog(playerid, 630, DIALOG_STYLE_INPUT, "dinheiro", str, "Enviar", "Cancelar");
}
else
{
SendClientMessage(playerid, -1, "Ninguem por perto.");
}
}
}
}
if(dialogid == 630)
{
if(response)
{
new str[120];
{
for(new i; i < MAX_PLAYERS; ++i)
{
if(moneyreturn(playerid) < strval(inputtext)) return SendClientMessage(playerid, -1, "voce não possui essa quantia");
if(GetDistanceBetweenPlayers(playerid, i) <= 3))
{
moneyAtPPL(i, strval(inputtext));
moneyAtPPL(playerid, - strval(inputtext));
format(str, sizeof(str), "%i enviado para %s.", strval(inputtext), nomep(i));
SendClientMessage(playerid, -1, str);
}
}
else
{
SendClientMessage(playerid, -1, "ninguem por perto.");
}
}
}
}
Alguém poderia me ajudar?