Welf Posted July 28, 2020 Share Posted July 28, 2020 Olá galera, to com um script que é um sistema de RG, no entanto, quando o player cria sua conta em vez de retornar o nome usado no login (getAccountName) ele ta retornando dando erro (LINHA 52 foi Definido isso), porém o script só inicia depois que o player faz login, não to entendendo o por que de não retornar o nome da conta! se alguem puder ajudar! Client: local screenW,screenH = guiGetScreenSize() local resW, resH = 1366,768 local x, y = (screenW/resW), (screenH/resH) RGPainel = false function Brito_DXRG () local Brito_RGNumero = getElementData ( localPlayer, "Brito_RG" ) or "Erro " local Brito_DataExpedicao = getElementData ( localPlayer, "Brito_DataExpedicao" ) or "Erro " local Brito_NomeCompleto = getElementData ( localPlayer, "charname" ) or "Erro " local Brito_DataDeNascimento = getElementData ( localPlayer, "Brito_RG_DataDeNascimento" ) or "Erro " local Brito_LocalDeNascimento = getElementData ( localPlayer, "Brito_RG_LocalDeNascimento" ) or "Erro " dxDrawRectangle(407, 204, 562, 352, tocolor(31, 31, 31, 197), false) dxDrawRectangle(407, 204, 561, 67, tocolor(15, 15, 15, 197), false) dxDrawRectangle(406, 268, 563, 3, tocolor(255, 255, 255, 255), false) dxDrawText("IDENTIDADE", 406, 203, 968, 261, tocolor(255, 255, 255, 255), 3.00, "default", "center", "center", false, false, false, false, false) dxDrawText("Registro Geral: "..Brito_RGNumero, 437, 288, 782, 310, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) dxDrawText("Data de Expedição: "..Brito_DataExpedicao, 437, 313, 782, 333, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) dxDrawText("Nome de Registro: "..Brito_NomeCompleto, 437, 352, 783, 378, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) dxDrawText("Data de Nascimento: " ..Brito_DataDeNascimento, 437, 383, 785, 410, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) dxDrawText("Local de Nascimento: " ..Brito_LocalDeNascimento, 437, 414, 784, 441, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) dxDrawText("BRASIL VIRTUAL", 406, 514, 969, 546, tocolor(255, 254, 254, 197), 1.00, "default", "center", "center", false, false, false, false, false) dxDrawRectangle(411, 517, 554, 29, tocolor(255, 254, 254, 21), false) end function Brito_AbrirFecharRGDX () if RGPainel == false then addEventHandler ( "onClientRender", root, Brito_DXRG ) RGPainel = true else removeEventHandler ( "onClientRender", root, Brito_DXRG ) RGPainel = false end end addCommandHandler ( "rg", Brito_AbrirFecharRGDX ) ---------- Criar essa merda maluco local RG = getElementData ( localPlayer, "Brito_ID" ) or "Erro " -- aqui BritoSCR01 = guiCreateEdit ( 562, 355, 231, 22, ""..RG.."", false ) guiSetVisible ( BritoSCR01, false ) guiSetAlpha ( BritoSCR01, 0.85 ) guiEditSetMaxLength ( BritoSCR01, 22 ) guiEditSetReadOnly( BritoSCR01, true ) BritoSCR02 = guiCreateEdit( 562, 388, 231, 22, "", false) guiSetVisible ( BritoSCR02, false ) guiSetAlpha ( BritoSCR02, 0.85 ) guiEditSetMaxLength ( BritoSCR02, 10 ) BritoSCR03 = guiCreateEdit( 562, 419, 231, 22, "Los Santos - BR", false) guiSetVisible ( BritoSCR03, false ) guiSetAlpha ( BritoSCR03, 0.85 ) guiEditSetMaxLength ( BritoSCR03, 40 ) guiEditSetReadOnly( BritoSCR03, true ) function ConfigurarBrancos () if CriandoRG == true then BritoSCR_edit01 = guiGetText(BritoSCR01) BritoSCR_edit02 = guiGetText(BritoSCR02) BritoSCR_edit03 = guiGetText(BritoSCR03) end end setTimer ( ConfigurarBrancos, 50, 0 ) BritoSCR_edit01 = 0 BritoSCR_edit02 = 0 BritoSCR_edit03 = 0 CriandoRG = false function CriarRG () setTimer ( function() local Brito_RGNumero = getElementData ( localPlayer, "Brito_RG" ) or "Erro Desconhecido, Contate um Administrador (01)" local Brito_DataExpedicao = getElementData ( localPlayer, "Brito_DataExpedicao" ) or "Erro Desconhecido, Contate um Administrador (02)" dxDrawRectangle(407, 204, 562, 352, tocolor(31, 31, 31, 197), false) dxDrawRectangle(407, 204, 561, 67, tocolor(15, 15, 15, 197), false) dxDrawRectangle(406, 268, 563, 3, tocolor(255, 255, 255, 255), false) dxDrawText("IDENTIDADE", 406, 208, 968, 261, tocolor(255, 255, 255, 255), 2.00, "default", "center", "center", false, false, false, false, false) dxDrawText("Registro Geral: "..Brito_RGNumero, 437, 288, 782, 310, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) dxDrawText("Data de Expedição: "..Brito_DataExpedicao, 437, 313, 782, 333, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) dxDrawText("Nome de Registro:", 437, 352, 783, 378, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) dxDrawText("Data de Nascimento:", 437, 383, 785, 410, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) dxDrawText("Local de Nascimento:", 437, 414, 784, 441, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) dxDrawText("BEM-VINDO AO BRASIL VIRTUAL \nDESEJAMOS UM ÓTIMO JOGO!", 406, 515, 969, 547, tocolor(255, 254, 254, 197), 1.00, "default", "center", "center", false, false, false, false, false) dxDrawRectangle(411, 517, 554, 29, tocolor(255, 254, 254, 21), false) if cursorPosition ( 585, 480, 200, 34 ) then dxDrawRectangle(585, 480, 200, 34, tocolor(254, 254, 254, 74), false) else dxDrawRectangle(254, 254, 254, 0, tocolor(254, 254, 254, 74), false) end dxDrawText("Confirmar", 586, 478, 785, 514, tocolor(255, 255, 255, 255), 1.50, "default", "center", "center", false, false, false, false, false) end, 1200, 1 ) end CriarRG() if key == F1 then cancelEvent() end function Brito_AbrirFecharRGCriacao () if CriandoRG == false then addEventHandler ( "onClientRender", root, CriarRG ) guiSetVisible ( BritoSCR01, true ) guiSetVisible ( BritoSCR02, true ) guiSetVisible ( BritoSCR03, true ) showCursor ( true ) CriandoRG = true else removeEventHandler ( "onClientRender", root, CriarRG ) guiSetVisible ( BritoSCR01, false ) guiSetVisible ( BritoSCR02, false ) guiSetVisible ( BritoSCR03, false ) showCursor ( false ) CriandoRG = false end end addEventHandler("onClientKey", root, function (button, press) if getElementData(localPlayer, "Brito_SolicitarCriarRG" ) == "Sim" then if button == "t" or button == "y" or button == "u" or button == "i" or button == "o" or button == "p" or button == "" or button == "" or button == "" or button == "" or button == "" or button == "" then cancelEvent() end end end ) function nomealterado() local NomeC = tostring(getElementData ( localPlayer , "charname" )) local NomeN = getPlayerName ( localPlayer ) if NomeC == NomeN then else triggerServerEvent ("alterarnome", getLocalPlayer()) end end setTimer ( nomealterado, 50, 0 ) function ReceberSolicitacaoCriarRG () if getElementData ( localPlayer, "Brito_SolicitarCriarRG" ) == "Sim" then setElementData ( localPlayer, "Brito_SolicitarCriarRG", "Não" ) Brito_AbrirFecharRGCriacao () -- Abrir end end setTimer ( ReceberSolicitacaoCriarRG, 50, 0 ) function ConfirmarContinuar (_,state) local nomelimite = guiGetText(BritoSCR01) local nomeLen = nomelimite:len() if CriandoRG == true then if state == "down" then if isCursorOnElement ( 585, 480, 200, 34 ) then if guiGetText(BritoSCR01) == "" or guiGetText(BritoSCR02) == "00/00/0000" or guiGetText(BritoSCR03) == "Cidade - Estado" then exports.vz_info:showBox("Verifique Os Campos Preenchidos, e Tente Novamente!", "error") return end if (nomeLen < 3) then exports.vz_info:showBox("Seu Nome deve conter no minimo 3 letras", "error") return end setElementData ( localPlayer, "charname", ""..BritoSCR_edit01.."" ) setElementData ( localPlayer, "Brito_RG_DataDeNascimento", ""..BritoSCR_edit02.."" ) setElementData ( localPlayer, "Brito_RG_LocalDeNascimento", ""..BritoSCR_edit03.."" ) Brito_AbrirFecharRGCriacao () -- Fechar setElementData ( localPlayer, "Brito_PossuiRG", "Sim" ) triggerServerEvent ("alterarnome", getLocalPlayer()) end end end end addEventHandler ( "onClientClick", root, ConfirmarContinuar ) -- Extras function cursorPosition(x, y, w, h) if (not isCursorShowing()) then return false end local mx, my = getCursorPosition() local fullx, fully = guiGetScreenSize() cursorx, cursory = mx*fullx, my*fully if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then return true else return false end end function isCursorOnElement( x,y,w,h ) local mx,my = getCursorPosition () local fullx,fully = guiGetScreenSize() cursorx,cursory = mx*fullx,my*fully if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then return true else return false end end --------------------- Server: --[[ =================================== Meu discord Para suport: Zakk_#6792 =================================== --]] addEventHandler("onPlayerLogin", root, function( _, acc ) CarregarLoginPlay ( acc ) end ) function CarregarLoginPlay ( conta ) if not isGuestAccount ( conta ) then if conta then local source = getAccountPlayer ( conta ) local emp = getAccountData ( conta, "Brito_PossuiRG" ) or "N/C" setElementData ( source, "Brito_PossuiRG", emp ) local emp = getAccountData ( conta, "Brito_DataExpedicao" ) or "N/C" setElementData ( source, "Brito_DataExpedicao", emp ) local emp = getAccountData ( conta, "charname" ) or "Sem_Registro" setElementData ( source, "charname", emp ) local emp = getAccountData ( conta, "Brito_RG_DataDeNascimento" ) or "N/C" setElementData ( source, "Brito_RG_DataDeNascimento", emp ) local emp = getAccountData ( conta, "Brito_RG_LocalDeNascimento" ) or "N/C" setElementData ( source, "Brito_RG_LocalDeNascimento", emp ) local texto = tostring(getElementData ( source , "charname" )) or "Sem_Registro" texto = string.gsub(texto, "ã", "a") texto = string.gsub(texto, " ", "_") setPlayerName(source, texto) local Serial = getPlayerSerial ( source ) setElementData ( source, "Brito_RG", ""..Serial.."" ) local account = getPlayerAccount(source) -- get account element from player element local accname = getAccountName(account) setElementData ( source, "Brito_ID", ""..accname.."" ) if getElementData ( source, "Brito_PossuiRG" ) == "Sim" then return end local time = getRealTime() or 0 local hora = time.hour or 0 local minuto = time.minute or 0 local dia = time.monthday or 0 local mes = time.month + 1 or 0 local ano = time.year + 1900 or 0 setElementData ( source, "Brito_DataExpedicao", ""..dia.."/"..mes.."/"..ano.." - "..hora..":"..minuto.."" ) setElementData ( source, "Brito_SolicitarCriarRG", "Sim" ) end end end ----------- alterar nome function alterarnome() local texto = tostring(getElementData ( source , "charname" )) or "Sem_Registro" local NomeN = getPlayerName ( source ) local acc = getPlayerAccount ( source ) if isGuestAccount ( acc ) then if NomeN == "Sem_Registro" then else setPlayerName (source, "Sem_Registro") end return end if texto == NomeN then else texto = string.gsub(texto, "ãáàâ", "a") texto = string.gsub(texto, "éèê", "e") texto = string.gsub(texto, "ç", "c") texto = string.gsub(texto, "õôóò", "o") texto = string.gsub(texto, "#!#!#!#$#%$%¨%¨%¨%¨%¨%¨&*&)(&(*0698596784867365726442543-=+§¬¢¬¢££££³²¹¹²³£¢¬§ªºª´[´~´´];~.ç.,.,><^~~´`°?/°''*/-+", "_") texto = string.gsub(texto, " ", "_") setPlayerName(source, texto) end end addEvent("alterarnome", true) addEventHandler("alterarnome", root, alterarnome) --------------- function nomealterado() local NomeC = tostring(getElementData ( source , "charname" )) NomeC = string.gsub(NomeC, " ", "_") setPlayerName( source, NomeC ) end addEvent("setnamet", true) addEventHandler("setnamet", root, nomealterado) ---------------- function ReiniciarScript ( res ) if res == getThisResource ( ) then for i, player in ipairs ( getElementsByType ( "player" ) ) do local acc = getPlayerAccount ( player ) if not isGuestAccount ( acc ) then CarregarLoginPlay ( acc ) end end end end addEventHandler ( "onResourceStart", getRootElement ( ), ReiniciarScript ) -- function SalvarLoginPlay ( conta ) if conta then local source = getAccountPlayer ( conta ) local RG = getElementData ( source, "Brito_PossuiRG" ) or "N/C" setAccountData ( conta, "Brito_PossuiRG", RG ) local Data = getElementData ( source, "Brito_DataExpedicao" ) or "N/C" setAccountData ( conta, "Brito_DataExpedicao", Data ) local Nome = getElementData ( source, "charname" ) or "N/C" setAccountData ( conta, "charname", Nome ) local DataNas = getElementData ( source, "Brito_RG_DataDeNascimento" ) or "N/C" setAccountData ( conta, "Brito_RG_DataDeNascimento", DataNas ) local LocalNas = getElementData ( source, "Brito_RG_LocalDeNascimento" ) or "N/C" setAccountData ( conta, "Brito_RG_LocalDeNascimento", LocalNas ) end end function DesligarScript ( res ) if res == getThisResource ( ) then for i, player in ipairs ( getElementsByType ( "player" ) ) do local acc = getPlayerAccount ( player ) if not isGuestAccount ( acc ) then SalvarLoginPlay ( acc ) end end end end addEventHandler ( "onResourceStop", getRootElement ( ), DesligarScript ) function JogadorQuit ( quitType ) local acc = getPlayerAccount ( source ) if not isGuestAccount ( acc ) then if acc then SalvarLoginPlay ( acc ) end end end addEventHandler ( "onPlayerQuit", getRootElement ( ), JogadorQuit ) ----------------------------- Trocar Nome function tagPlayer ( source, command, thePlayer, tag ) local sPlayerElement = getPlayerFromName ( thePlayer ) if isObjectInACLGroup ( "user." ..getAccountName(getPlayerAccount(source)), aclGetGroup ("Admin")) then if ( sPlayerElement ) then if getElementType ( sPlayerElement ) == "player" then local oldName = getPlayerName ( sPlayerElement ) local taggedName = tag setElementData ( sPlayerElement, "charname", taggedName ) outputChatBox ( "Jogador #ff0000" .. thePlayer .. " #ffffffalterado para: #00ff00" .. taggedName , source, 255, 255, 255, true ) end else outputChatBox ( "#ff0000Jogador Não encontrado!", source, 255, 255, 255, true ) end end end addCommandHandler ( "mudarnome", tagPlayer ) ------- Para mudar o nome /mudarnome Nick NovoNome Ex: /mudarnome Brito Pedro_Brito -------------- function tagPlayer2 ( source, command, thePlayer ) local sPlayerElement = getPlayerFromName ( thePlayer ) if isObjectInACLGroup ( "user." ..getAccountName(getPlayerAccount(source)), aclGetGroup ("Admin")) then if ( sPlayerElement ) then if getElementType ( sPlayerElement ) == "player" then local oldName = getPlayerName ( sPlayerElement ) setElementData ( sPlayerElement, "Brito_PossuiRG", "Não" ) outputChatBox ( "Retirado o RG de #ff0000" .. thePlayer, source, 255, 255, 255, true ) end else outputChatBox ( "#ff0000Jogador Não encontrado!", source, 255, 255, 255, true ) end end end addCommandHandler ( "tirarrg", tagPlayer2 ) ------------------------ addEventHandler("onPlayerCommand",root, function(command) if (command == "nick") then cancelEvent() end end) Link to comment
Blaack Posted July 29, 2020 Share Posted July 29, 2020 OFF. Se eu tivesse entendido o que ta acontecendo, eu ajudava; Explique com mais clareza! Link to comment
Welf Posted July 29, 2020 Author Share Posted July 29, 2020 34 minutes ago, ~#BlackSCR said: OFF. Se eu tivesse entendido o que ta acontecendo, eu ajudava; Explique com mais clareza! Trata-se de um sistema de RG, ou seja, ele salva o nome, idade e local de nascimento do player, no entanto eu coloquei a opção nesse sistema, de puxar o nome da conta (AccountName) e incluir esse nome no espaço destinado pro player escrever (Client Linha 46), tornando assim o (PlayerName) igual ao (AccountName), pois o jogador só precisaria confirma, no entanto quando o script ta puxando o AccountName ele ta retornando "erro" e não o nome da conta Aqui especificamente: Client: local RG = getElementData ( localPlayer, "Brito_ID" ) or "Erro " -- aqui BritoSCR01 = guiCreateEdit ( 562, 355, 231, 22, ""..RG.."", false ) guiSetVisible ( BritoSCR01, false ) guiSetAlpha ( BritoSCR01, 0.85 ) guiEditSetMaxLength ( BritoSCR01, 22 ) guiEditSetReadOnly( BritoSCR01, true ) Server: local account = getPlayerAccount(source) -- get account element from player element local accname = getAccountName(account) setElementData ( source, "Brito_ID", ""..accname.."" ) Pensei no fato do script está iniciando antes do player fazer login, mas o evento é OnPlayerLogin, por isso não entendi E aí Ele ta retornando "erro" Link to comment
Boechat Posted July 29, 2020 Share Posted July 29, 2020 (edited) 29 minutes ago, Welf said: Trata-se de um sistema de RG, ou seja, ele salva o nome, idade e local de nascimento do player, no entanto eu coloquei a opção nesse sistema, de puxar o nome da conta (AccountName) e incluir esse nome no espaço destinado pro player escrever (Client Linha 46), tornando assim o (PlayerName) igual ao (AccountName), pois o jogador só precisaria confirma, no entanto quando o script ta puxando o AccountName ele ta retornando "erro" e não o nome da conta Aqui especificamente: Client: local RG = getElementData ( localPlayer, "Brito_ID" ) or "Erro " -- aqui BritoSCR01 = guiCreateEdit ( 562, 355, 231, 22, ""..RG.."", false )guiSetVisible ( BritoSCR01, false )guiSetAlpha ( BritoSCR01, 0.85 )guiEditSetMaxLength ( BritoSCR01, 22 )guiEditSetReadOnly( BritoSCR01, true ) Server: local account = getPlayerAccount(source) -- get account element from player element local accname = getAccountName(account) setElementData ( source, "Brito_ID", ""..accname.."" ) Pensei no fato do script está iniciando antes do player fazer login, mas o evento é OnPlayerLogin, por isso não entendi E aí Ele ta retornando "erro" Tenta colocar assim no server: local account = getPlayerAccount(source) -- get account element from player element local accname = getAccountName(account) setElementData ( source, "Brito_ID", accname ) e assim na linha 44: setElementData ( source, "Brito_RG", Serial) Edited July 29, 2020 by Boechat Link to comment
Welf Posted July 29, 2020 Author Share Posted July 29, 2020 48 minutes ago, Boechat said: Tenta colocar assim no server: local account = getPlayerAccount(source) -- get account element from player element local accname = getAccountName(account) setElementData ( source, "Brito_ID", accname ) e assim na linha 44: setElementData ( source, "Brito_RG", Serial) Não funcionou, continua retornando "erro" Link to comment
Boechat Posted July 29, 2020 Share Posted July 29, 2020 15 minutes ago, Welf said: Não funcionou, continua retornando "erro" Dá um /debugscript 3 e detalha aí o que aparece de erro Link to comment
Welf Posted July 29, 2020 Author Share Posted July 29, 2020 1 hour ago, Boechat said: Dá um /debugscript 3 e detalha aí o que aparece de erro O erro que me refiro é esse: local RG = getElementData ( localPlayer, "Brito_ID" ) or "Erro " -- aqui Ao invés de retornar o nome ele ta retornando "erro" Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now