zezim Posted May 18, 2022 Share Posted May 18, 2022 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
MADD NØG Posted May 18, 2022 Share Posted May 18, 2022 (edited) 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 May 18, 2022 by Neto Silva Link to comment
zezim Posted May 20, 2022 Author Share Posted May 20, 2022 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
Recommended Posts