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;
}
}
}