[Ajuda] Obter o ID pelo Nick
#1

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.
Reply
#2

Код:
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;
	}
}
Reply
#3

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
Reply
#4

Nгo,

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

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"); 
Reply
#6

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

Veja isto
Reply
#7

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;

Reply
#8

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 ?
Reply
#9

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
Reply
#10

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

Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)