Jump to content

[AJUDA] Erro ao retornar nome da conta


Recommended Posts

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
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
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 by Boechat
Link to comment
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

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