Jump to content

Ajuda ID Player


Recommended Posts

Olá, Estou com problemas com o sistema de id player.

No meu comando eu uso para puxar um player usando o id dele e não o nick, mais ai que esta o problema o player nao tem um id fixo. 

no scoreboard tem um id fixo mais quando puxo não tem.

no score board marca assim exemplo :   

ID 1 Giio

ID 2 Fulano   

se o ID 1 Desloga automatico o 2 fulano vira o id 1 mais você não ve, no scoreboard continua ID 2, oque seria ??

Link to comment
21 hours ago, Lord Henry said:

Sem código fica difícil adivinhar.

Mas já vou logo adiantando que vc usa o getAccountID.

 

19 hours ago, DNL291 said:

Se não tiver funcionando corretamente, baixe um sistema de ID funcional ou apenas use a função mencionada acima.


function getPlayer(player, cmd, id)
	if tonumber(id) then
		local mx, my, mz = getElementPosition(player)
		local player2 = getPlayerFromID ( tonumber(id) )
		if not player2 or not isElement(player2) then
			return outputChatBox( "Player Offline", player )
		end
		local trplayername = getPlayerName(player):gsub("#%x%x%x%x%x%x","")
		local rand = math.random(1, 5)
		setElementPosition(player2, mx+rand, my+rand, mz + 1)
		
		for i, p in ipairs(getElementsByType("player")) do
			local xp, yp, zp = getElementPosition ( p )
			
			if getDistanceBetweenPoints3D ( mx, my, mz, xp, yp, zp ) <= 50 then
				outputChatBox ( "#c9c9c9[#1a6cefFW-COMANDO#c9c9c9]O #1a6cef".. trplayername .."#c9c9c9 Puxou o #1a6cef".. tostring(id), p, 255, 0, 0, true );
			end
		end
	end
end
addCommandHandler("tr", getPlayer)

Esse é o comando onde uso para puxar o player usando o id em vez do nome

 

function getIDFromPlayer(player)
	if player then
		local theid
		players = getElementsByType("player")
		for id,p in ipairs(players) do
			if player == p then
				theid = i
			end
		end
		return theid
	else return false end
end

function getPlayerFromID(theID)
	if theID then
		theID = tonumber(theID)
		local theplayer
		players = getElementsByType("player")
		for id,p in ipairs(players) do
			if theID == id then
				theplayer = p
			end
		end
		return theplayer
	else return false end
end

Esse  é para pegar o id do player

Link to comment
  • Other Languages Moderators

Essa sua função getPlayerFromID está errada. Não tem nada a ver com ID dos jogadores, apenas com o índice daquele loop. Dai é óbvio que não vai retornar o mesmo ID pro mesmo jogador.

function getPlayerFromID (theID)
	if (tonumber (theID)) then
		theID = tonumber (theID)
		local players = getElementsByType ("player")
		for id, p in ipairs (players) do
			local accID = getAccountID (getPlayerAccount (p))
			if (theID == accID) then
				return p
			end
		end
		return false
	else
		return false
	end
end

 

  • Thanks 1
Link to comment
8 hours ago, Lord Henry said:

Essa sua função getPlayerFromID está errada. Não tem nada a ver com ID dos jogadores, apenas com o índice daquele loop. Dai é óbvio que não vai retornar o mesmo ID pro mesmo jogador.


function getPlayerFromID (theID)
	if (tonumber (theID)) then
		theID = tonumber (theID)
		local players = getElementsByType ("player")
		for id, p in ipairs (players) do
			local accID = getAccountID (getPlayerAccount (p))
			if (theID == accID) then
				return p
			end
		end
		return false
	else
		return false
	end
end

 

Entendi, vou tentar testar com alguem jaja

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...