SA-MP Forums Archive
[Ajuda] Obter o ID pelo Nick - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Obter o ID pelo Nick (/showthread.php?tid=658303)



Obter o ID pelo Nick - SIZET - 01.09.2018

Alguйm tem uma funзгo que obtem o ID do player escrevendo o Nick dele ( Por exemplo em uma dialog )

Tava testando todos os meus sistemas й eu tava usando strval mas nгo tava dando certo. Й um sistema de casa que eu fiz um tempo atrбs й ele convida um player pelo nick no Dialog. Ai para colocar na Variбvel nгo posso colocar o Nome do player ( inputtext direto ) eu preciso converter o Nome para o ID.

Eu usava assim:

PHP код:
Convidou[strval(inputtext)] = 1
Mas o convite vem pra mim + a mensagem.


Re: Obter o ID pelo Nick - Paulthaz - 01.09.2018

Код:
ReturnUser(PlayerName[])
{
	if(IsNumeric(PlayerName))
	    return strval(PlayerName);
	else
	{
		new found=0, id;
		foreach(new i : Player)
		{
			new foundname[MAX_PLAYER_NAME];
			GetPlayerName(i, foundname, MAX_PLAYER_NAME);
			new namelen = strlen(foundname);
			new bool:searched=false;
			for(new pos=0; pos <= namelen; pos++)
			{
				if(searched != true)
				{
					if(strfind(foundname,PlayerName,true) == pos)
					{
						found++;
						id = i;
					}
				}
			}
		}
		if(found == 1)
			return id;
		else
			return INVALID_PLAYER_ID;
	}
}



Re: Obter o ID pelo Nick - SIZET - 01.09.2018

Parece dar certo para o meu sistema.

Agora tenho que achar uma maneira de encaixar isso no meu sistema

PHP код:
Convidou[ReturnUser(inputtext)] = 1;
SendClientMessage(ReturnUser(inputtext), -1"| INFO | Vocк foi convidado!"); 
Nгo sei se estou certo mas tenho que testar depois. Vlw


Re: Obter o ID pelo Nick - Paulthaz - 01.09.2018

Nгo,

giveid = ReturnUser(nome);
if(IsPlayerConnect(giveid))
{aqui dentro}


Re: Obter o ID pelo Nick - SIZET - 01.09.2018

Vc sу ta definindo mais coisas pq vai ser o mesmo resultado :/ Eu sу usando direto a funзгo - inputtext vai ser o que eu digitei na Dialog que no caso й o Nick do jogador ai converte o inputtext para o id do player.

Mas seria a mesma coisa se usar uma new giveid.

PHP код:
new id InvertName(inputtext);

Convidou[id] = 1;

SendClientMessage(id, -1"| INFO | Vocк foi convidado"); 



Re: Obter o ID pelo Nick - InsaneBR - 01.09.2018

Voce tinha postado algo parecido com isso a um tempo atrбs.

Veja isto


Re: Obter o ID pelo Nick - DelK - 01.09.2018

PHP код:
stock GetPlayerIdFromName(playername[])
{
  for(new 
0<= MAX_PLAYERSi++)
  {
    if(
IsPlayerConnected(i))
    {
      new 
playername2[MAX_PLAYER_NAME];
      
GetPlayerName(iplayername2sizeof(playername2));
      if(
strcmp(playername2playernametruestrlen(playername)) == 0)
      {
        return 
i;
      }
    }
  }
  return 
INVALID_PLAYER_ID;




Re: Obter o ID pelo Nick - Paulthaz - 01.09.2018

Quote:
Originally Posted by SIZET
Посмотреть сообщение
Vc sу ta definindo mais coisas pq vai ser o mesmo resultado :/ Eu sу usando direto a funзгo - inputtext vai ser o que eu digitei na Dialog que no caso й o Nick do jogador ai converte o inputtext para o id do player.

Mas seria a mesma coisa se usar uma new giveid.

PHP код:
new id InvertName(inputtext);
Convidou[id] = 1;
SendClientMessage(id, -1"| INFO | Vocк foi convidado"); 
Okay, okay... Se o jogador n tiver conectado ? iai ? vai deixar dar crash msm ?


Re: Obter o ID pelo Nick - Locky_ - 01.09.2018

Use o sscanf.
PHP код:
new id;
sscanf(inputtext"u"id);
if(
IsPlayerConnected(id))
{
    
SendClientMessage(id, -1"Vocк foi convidado");
}
else
    
SendClientMessage(playerid, -1"Jogador desconectado"); 
Se nгo usa sscanf em seu gamemode, entгo acredito que atй muitos comandos (/kick, /ban) devem usar strtok, uma forma bem antiga de se lidar com parвmetros e outras coisas. sscanf й muito ъtil, pois para isso vocк pode usar tanto id ou o nome do jogador (parвmetro 'u').

Saiba mais: https://sampforum.blast.hk/showthread.php?tid=570927


Re: Obter o ID pelo Nick - SIZET - 01.09.2018

Vou testar com esses modo agora posso testar pelo Hamachi.

Entenda que isso nгo й um comando to fazendo por inputtext. que no caso й o que o dono(a) da casa escreve o nome de quem ele(a) quer convidar para morar com ele(a) ai sу escrever o Nick no dialog e mandar o convite para o player.

Quote:
Originally Posted by InsaneBR
Voce tinha postado algo parecido com isso a um tempo atrбs.
Sim. eu tava fazendo por strval mas nгo deu certo.

@EDIT

Algumas formas deu certo de fazer, mas eu usei sscanf porйm a funзгo й bem pequena comparando com as outras tbm tive alguns bugs (warnings)

Tbm o IsPlayerConnected eu usei IsConnectedName uma outra funзгo de um cara aqui do fуrum esqueci do nick ;-;