#Dv^ Posted October 12, 2016 Share Posted October 12, 2016 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
#Dv^ Posted October 12, 2016 Author Share Posted October 12, 2016 Perdón por el doble post, se mandó dos veces, uno con el ejemplo y otro sin el ejemplo :v Link to comment
aka Blue Posted October 12, 2016 Share Posted October 12, 2016 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
Tomas Posted October 12, 2016 Share Posted October 12, 2016 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
#Dv^ Posted October 12, 2016 Author Share Posted October 12, 2016 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
Tomas Posted October 12, 2016 Share Posted October 12, 2016 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
Recommended Posts