01/05/2022 17:12
(30/04/2022 19:26)Carlos Victor Escreveu:Código PHP:public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == dialogid)
{
if(response)
{
if(!strlen(inputtext))
return ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_INPUT, "Titulo", "ERRO: Voce deve digitar algo.\n\nDigite o nome do jogador abaixo", "Confirmar", "Cancelar");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && i != INVALID_PLAYER_ID)
{
if(!strcmp(GetPlayerNameEx(i), inputtext, true))
{
SendClientMessage(playerid, -1, "Jogador conectado.");
return 1;
}
else
{
SendClientMessage(playerid, -1, "Jogador nao conectado.");
return 1;
}
}
}
}
}
return 1;
}
CMD:test(playerid)
{
ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_INPUT, "Titulo", "Digite o nome do jogador abaixo", "Confirmar", "Cancelar");
return 1;
}
GetPlayerNameEx(playerid)
{
new var[MAX_PLAYER_NAME];
GetPlayerName(playerid, var, sizeof(var));
return var;
}
Talvez com isso você consiga algo, eu acredito que dê pra otimizar, porém atualmente oque me vem na mente é isso.
Isso vai dar problema, pois vai parar na primeira volta do loop.
A condição "i != INVALID_PLAYER_ID" é desnecessária, pois sempre vai retornar true.
A lógica da construção está correta, o código não.
Código:
new bool:jogadorOnline;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(!strcmp(GetPlayerNameEx(i), inputtext, true))
{
jogadorOnline = true;
break;
}
}
}
if(jogadorOnline)
SendClientMessage(playerid, -1, "Jogador conectado.");
else
SendClientMessage(playerid, -1, "Jogador nao conectado.");
SA:MP Dev Tools
Faça mais, ganhe mais e poupe tempo!
Viper Anti-Cheat
Torne seu servidor mais seguro!
________________________________________
Soluções personalizadas para SA:MP
Discord: .eduardoac | Eduardo AC#3140
Faça mais, ganhe mais e poupe tempo!
Viper Anti-Cheat
Torne seu servidor mais seguro!
________________________________________
Soluções personalizadas para SA:MP
Discord: .eduardoac | Eduardo AC#3140