Jump to content

ME AJUDEM PFV EMPLORO


Recommended Posts

Pessoal eu tentei muito achar antes de vir perturbar vocês.

Eu estou precisando de um sistema de ID alto aleatório onde o player venha com um id random exemplo: 54631

Eu nao tenho condiçoes de comprar mods e comecei mexer com scripts há 1 mes porem e algo que me ajudou sair do inicio de depressão. Prefiro perder meu tempo com edição amadora de scripts do que jogando. E por conseguinte, estou me familiarizando cada vez mais com a programação, área da qual almejava em minhas utopias durante 1 ano de estudos, motivo principal de meu inicio de depressão.

Aqui está o código de meu sistema de id atual, se vc tiver o link direto pro Random ID ou puder ajudar editar eu agradeço de coração :


function Start_Id ( _, acc )
	if eventName == "onPlayerLogin" then
		setElementData ( source, "ID", getAccountID(acc) 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", getAccountID(acc) 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

Com isso aqui você consegue um número aleatório, porem ao deslogar do servidor, quando ele voltar vai ser outro ID, o que você pode fazer para manter o ID é usar um banco de dados SQL para armazenar as informações do player, e quando ele logar você pega essas informações.

 

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

 

Antes você definia o número do ID pegando o getAccountACC, agora você vai trocar pela variável randomID que vai gerar um ID de 5 dígitos aleatórios

local randomID = genRandomID()

setElementData(source, "ID", randomID or "N/A" )

 

Problemas que você pode enfrentar se não salvar esse valor em algum lugar é que ao usar sistemas, por exemplo, uma loja de carros que carrega seus carros comprados pelo seu ID, quando você deslogar vai ser gerado um novo ID e a loja de carros não vai setar os carros no ID novo.

 

Procure e estude por save-systems e por banco de dados SQLite e MySQL você vai conseguir salvar esses dados e muitos outros de uma forma profissional e efetiva

Edited by Neto Silva
Link to comment
On 18/05/2022 at 17:13, Neto Silva said:

Com isso aqui você consegue um número aleatório, porem ao deslogar do servidor, quando ele voltar vai ser outro ID, o que você pode fazer para manter o ID é usar um banco de dados SQL para armazenar as informações do player, e quando ele logar você pega essas informações.

 

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

 

Antes você definia o número do ID pegando o getAccountACC, agora você vai trocar pela variável randomID que vai gerar um ID de 5 dígitos aleatórios

local randomID = genRandomID()

setElementData(source, "ID", randomID or "N/A" )

 

Problemas que você pode enfrentar se não salvar esse valor em algum lugar é que ao usar sistemas, por exemplo, uma loja de carros que carrega seus carros comprados pelo seu ID, quando você deslogar vai ser gerado um novo ID e a loja de carros não vai setar os carros no ID novo.

 

Procure e estude por save-systems e por banco de dados SQLite e MySQL você vai conseguir salvar esses dados e muitos outros de uma forma profissional e efetiva

Cara muito obrigado de coração eu consegui integrar ao save system e agora ta funcionando! VLW MSM EU TE AMO CARA DEUS TE ILUMINE PARABENS PELA HUMILDADE EM AJUDAR OS PEQUENINOS

Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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