Jump to content

Random ID MTA


Recommended Posts

Como meio de disseminar a democracia do conhecimento venho pedir ajuda à vocês em favor daqueles que necessitarão deste sistema assim como estou precisando hoje e virão pesquisá-lo no google e não acharão, senão por este post.

Podem me ajudar me informando o que está errado nesse sistema de ID?

Eu digito /id que no caso é para ver o id só que depois de setar a elementdata de id aleatorio eu não consigo ver o id alto eu tentei mudar o codigo de toda forma mas nao consegui

function genRandomID()
	local rnumber = ""
	local chars = "1234567890" 
	for i = 1, 5 do -- Aqui você define a quantidade de digitos, aqui vai ser gerado um numero com 5 digitos
		local rand = math.random(#chars)
		rnumber = rnumber .. chars:sub(rand, rand)
	end
	return rnumber
end
local randomID = genRandomID()

function Start_Id ( _, acc )
	if eventName == "onPlayerLogin" then
		setElementData(source, "ID", randomID or "N/A" ) 
		outputChatBox ( "#838B83➲ #ff0000LOGIN #838B83➲ Nick: #ff0000 ( ".. getPlayerName(source) .." #ff0000) ID: ( "..(getAccountID(acc) or "N/A") .." )", root, 255,255,255,true)
	elseif eventName == "onPlayerLogout" then
		removeElementData( source, "ID" )
		outputChatBox ( "#838B83➲ #ff0000LOGIN #838B83➲ Nick: #ff0000 ( ".. getPlayerName(source) .." #ff0000) Deslogou.", root, 255,255,255,true)
	elseif eventName == "onResourceStart" then
		for _, player in pairs(getElementsByType("player")) do
			local acc = getPlayerAccount(player) 
			if not isGuestAccount(acc) then 
				setElementData(source, "ID", randomID or "N/A" ) 
			end
		end
	end
end
addEventHandler("onResourceStart", resourceRoot, Start_Id)
addEventHandler("onPlayerLogout", root, Start_Id)
addEventHandler("onPlayerLogin", root, Start_Id)

function getPlayerID(id)
	v = false
	for i, player in ipairs (getElementsByType("player")) do
		if getElementData(player, "ID") == id then
			v = player
			break
		end
	end
	return v
end
--============================================================================================================================--
                                   --=============================--
                                   ----------- ID PLAYER ------------
                                   --=============================--
function getnick(player, command, id, ...)
    if(id) then
        local playerID = tonumber(id)
		if(playerID) then
			local Player2 = getPlayerID(playerID)
			if(Player2) then	
				outputChatBox ( "#838B83➲ #ff0000INFO #ff0000 ➲ #ff0000 Nome do Jogador #ff0000" .. getPlayerName(Player2) .."", player, 255,255,255,true)
			else
				outputChatBox ( "#838B83➲ #ff0000ERRO #ff0000 ➲ #ff0000 O Jogador(a) de ID: #ff0000( " .. id .. " ) #ff0000Não Foi Encontrado!", player, 255,255,255,true)
			end 
		else
			outputChatBox ( "#838B83➲ #ff0000ERRO #ff0000 ➲ #ff0000 ID: #ff0000( " .. id .. " ) #ff0000Inválido!", player, 255,255,255,true)
		end
	else
		outputChatBox ( "#838B83➲ #ff0000 Use /id #ff0000[#ffffffID#00ff00]", player, 255,255,255,true)
	end
end
addCommandHandler("id", getnick)

 

Link to comment

Em getRandomID você não especificando para ele converter o resultado em dígitos numéricos com tonumber, em getnick você esta comparando o valor em número com uma string logo os valores não vão ser iguais, você pode ou pegar o getRandomID e converter para tonumber ou só ir em getnick e ao invés de converter para tonumber só converte para tostring

 

-- local playerID = tonumber(id) -- Remove isso
   local playerID = tostring(id) -- e subistitui por isso

 

Link to comment
  • 3 months later...
On 23/05/2022 at 14:15, Neto Silva said:

Em getRandomID você não especificando para ele converter o resultado em dígitos numéricos com tonumber, em getnick você esta comparando o valor em número com uma string logo os valores não vão ser iguais, você pode ou pegar o getRandomID e converter para tonumber ou só ir em getnick e ao invés de converter para tonumber só converte para tostring

 

-- local playerID = tonumber(id) -- Remove isso
   local playerID = tostring(id) -- e subistitui por isso

 

mano gostaria de te agradecer estou terminando o codigo e queria saber se eu posso dropar pras pessoas caso eu conclua

Link to comment
  • 1 month later...

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