Jump to content

getAccount


#Dv^

Recommended Posts

Hola, tengo una duda, ¿Cómo hago para obtener el nombre de la cuenta de un player y mandarla a client mediante por un trigger?

¿Sería algo así?
 

server

function check( player )
    local acc = getAccountName (player) 
	triggerClientEvent (player,"onCheck",player,acc)
end

client

local x, y = guiGetScreenSize()
function check (acc)
dxDrawText ("Cuenta: "..tostring(acc).."", x/1, y/1.6, x, y, tocolor (255, 0, 0), 0.5, "bankgothic", "center")
end
addEvent("onCheck",true)
addEventHandler("onCheck",root,check)
addEventHandler("onClientRender", root, check)

En el render solo me sale "nil"

Link to comment

Para obtener el nombre de la cuenta, antes debes tener esa cuenta en cuestión. En el otro post te lo dejé, pero de todos modos, te recomendaría hacer eso del dibujo de texto cuando se loguea el jugador, para así, obtener su cuenta y el nombre de la cuenta. Te explico, getAccountName obtiene el nombre de una cuenta, y para obtenerlo, debes usar getAccount con el nombre del jugador en cuestión. 

-- Server-side
addEventHandler( "onPlayerLogin", getRootElement( ),
	function( _, cuenta )
		local nombre = getAccountName( cuenta )
		triggerClientEvent( player, "cuentas:envioDatos", player, nombre )
	end
)

-- Client-side
local sx, sy = guiGetScreenSize( )

function drawDatos( accName )
	if accName then
		dxDrawText ("Cuenta: "..tostring( accName ).."", sx/1, sy/1.6, sx, sy, tocolor (255, 0, 0), 0.5, "bankgothic", "center")
	end
end
addEvent( "cuentas:envioDatos", true )
addEventHandler( "cuentas:envioDatos", root, drawDatos )

 

Link to comment
1 hour ago, aka Blue said:

Para obtener el nombre de la cuenta, antes debes tener esa cuenta en cuestión. En el otro post te lo dejé, pero de todos modos, te recomendaría hacer eso del dibujo de texto cuando se loguea el jugador, para así, obtener su cuenta y el nombre de la cuenta. Te explico, getAccountName obtiene el nombre de una cuenta, y para obtenerlo, debes usar getAccount con el nombre del jugador en cuestión. 


-- Server-sideaddEventHandler( "onPlayerLogin", getRootElement( ),	function( _, cuenta )		local nombre = getAccountName( cuenta )		triggerClientEvent( player, "cuentas:envioDatos", player, nombre )	end)-- Client-sidelocal sx, sy = guiGetScreenSize( )
function drawDatos( accName )
	if accName then
		dxDrawText ("Cuenta: "..tostring( accName ).."", sx/1, sy/1.6, sx, sy, tocolor (255, 0, 0), 0.5, "bankgothic", "center")
	end
end
addEvent( "cuentas:envioDatos", true )
addEventHandler( "cuentas:envioDatos", root, drawDatos )

 

Eso tampoco funcionaría, sólo mostraría el texto cuando el evento es triggeado y no en cada frame.

 

-- Server-side
addEventHandler( "onPlayerLogin", getRootElement( ),
	function( _, cuenta )
		local nombre = getAccountName( cuenta )
		triggerClientEvent( player, "cuentas:envioDatos", player, nombre )
	end
)

-- Client-side
local sx, sy = guiGetScreenSize( )
local account

function drawDatos( accName )
  	account = accName
	addEventHandler("onClientRender", root, draw)
end
addEvent( "cuentas:envioDatos", true )
addEventHandler( "cuentas:envioDatos", root, drawDatos )

function draw ()
    if (account) then
		dxDrawText ("Cuenta: "..account.."", sx/1, sy/1.6, sx, sy, tocolor (255, 0, 0), 0.5, "bankgothic", "center")
	end
end

 

Link to comment

Gracias @Tomas y @aka Blue, me sirvió bastante la explicación, agradezco su ayuda y perdón por el doble post

Una pregunta más, ¿Se puede hacer que un render los demás lo vean a excepción de mi?, es decir si yo me logueo el render solo les aparecerá a los demás sobre mi cuenta, excepto yo, yo no podré ver el render donde sale mi cuenta,¿Qué función debo usar para eso? Gracias

Link to comment
31 minutes ago, Slash14 said:

Gracias @Tomas y @aka Blue, me sirvió bastante la explicación, agradezco su ayuda y perdón por el doble post

Una pregunta más, ¿Se puede hacer que un render los demás lo vean a excepción de mi?, es decir si yo me logueo el render solo les aparecerá a los demás sobre mi cuenta, excepto yo, yo no podré ver el render donde sale mi cuenta,¿Qué función debo usar para eso? Gracias

addEventHandler( "onPlayerLogin", getRootElement( ),
	function( _, cuenta )
		local nombre = getAccountName( cuenta )
    	for i,player in ipairs (getElementsByType("player")) do
      		if ( player ~= source ) then
				triggerClientEvent( player, "cuentas:envioDatos", player, nombre )
        	end
      	end
	end
)

 

Link to comment
  • Recently Browsing   0 members

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