ufist Posted May 7, 2019 Share Posted May 7, 2019 Quero fazer com que o cargo ou o emprego do player, apareça na hud por uma acl, é possivel? nesse modelo ai: http://prntscr.com/nlcbpj Link to comment
Renaz Posted May 7, 2019 Share Posted May 7, 2019 mande uma print de seu hud , e o código do hud e do emprego. Link to comment
Other Languages Moderators Lord Henry Posted May 7, 2019 Other Languages Moderators Share Posted May 7, 2019 Faz por setElementData. Ela funciona both-side. Link to comment
ufist Posted May 7, 2019 Author Share Posted May 7, 2019 39 minutes ago, Renazz said: mande uma print de seu hud , e o código do hud e do emprego. não é bem assim, queria exibir tipo um nome na hud, por uma acl, por exemplo o dono do servidor dai apareceria dono ou fundador sla, qualquer nome tende? Link to comment
Other Languages Moderators Lord Henry Posted May 7, 2019 Other Languages Moderators Share Posted May 7, 2019 Quando o cara logar no servidor, verifica a ACL Group que ele está e seta uma data nele com o nome correspondente. Dai na HUD vc mostra o texto salvo nessa data. Link to comment
DNL291 Posted May 7, 2019 Share Posted May 7, 2019 (edited) As funções/evento que você irá precisar são estas: addEventHandler "onPlayerLogin" getAccountName isObjectInACLGroup aclGetGroup triggerClientEvent ou setElementData -- client getElementData --ou addEvent + addEventHandler -- para obter o cargo da acl no cliente Veja os códigos nos exemplo e tente fazer; mostre aqui seu código se precisar de ajuda. Edited May 7, 2019 by DNL291 Link to comment
Other Languages Moderators Lord Henry Posted May 7, 2019 Other Languages Moderators Share Posted May 7, 2019 Hum, em questão de otimização acho que triggers são mais leves do que manter um elementData ativo. Oq vc acha @DNL291? Link to comment
DNL291 Posted May 7, 2019 Share Posted May 7, 2019 Just now, Lord Henry said: Hum, em questão de otimização acho que triggers são mais leves do que manter um elementData ativo. Oq vc acha @DNL291? Exatamente, por isso se fosse um código meu eu optaria pelo trigger. Em versões futuras element-data será otimizada, mas por enquanto acho trigger mais viável. Link to comment
ufist Posted May 7, 2019 Author Share Posted May 7, 2019 24 minutes ago, DNL291 said: As funções/evento que você irá precisar são estas: addEventHandler "onPlayerLogin" getAccountName isObjectInACLGroup aclGetGroup triggerClientEvent ou setElementData -- client getElementData --ou addEvent + addEventHandler -- para obter o cargo da acl no cliente Veja os códigos nos exemplo e tente fazer; mostre aqui seu código se precisar de ajuda. @DNL291você pode fazer isto para mim?eu te mandaria aqui mesmo o codigo e c mandava ja pronto se possivel. pois não sei começar do zero. so sei editar... aquele script q você mandou, é server ou client? sei que tem algo haver pro script funcionar Link to comment
DNL291 Posted May 8, 2019 Share Posted May 8, 2019 (edited) Aqui está um exemplo com as funções que mostrei (Leia os comentários no código e tente entender ) Server-side addEventHandler( "onPlayerLogin", root, -- Este evento é chamado quando o jogador loga na conta function ( _, acc ) -- verifica se o nome da conta consta no grupo ACL "Admin" if isObjectInACLGroup( "user."..getAccountName(acc), aclGetGroup ( "Admin" ) ) then -- Chama o evento do cliente: "onServerSendPlayerACLGroup", passando o parâmetro "Admin" triggerClientEvent( source, "onServerSendPlayerACLGroup", source, "Admin" ) end end ) Client-side local aclGroup -- variável do grupo ACL enviado pelo server addEvent( "onServerSendPlayerACLGroup", true ) addEventHandler( "onServerSendPlayerACLGroup", root, function( group ) -- parâmetro; nesse exemplo seria a string: "Admin" if group then aclGroup = group -- armazena o parâmetro na variável do cliente end end ) addEventHandler( "onClientRender", root, function() dxDrawText( aclGroup or "N/A", x,y,w,h ) -- mostra o texto dx com do grupo da acl ou "N/A" se o valor for nil/false end ) Talvez não seja exatamente o que você quer fazer, mas tenho certeza que só irá mudar a parte da isObjectInACLGroup. Se você quer listar as ACL's que a conta está, esta função irá fazer isso: https://wiki.multitheftauto.com/wiki/GetPlayerAcls Daí só programá-la para ignorar grupos específicos tipo "everyone", "moderador", "Admin" caso for necessário. Quanto ao emprego você pode obter diretamente no client caso esteja setado com setElementData: addEventHandler( "onClientRender", root, function() dxDrawText( getElementData( localPlayer, "Emprego" ) or "N/A", x,y,w,h ) end ) Edited May 8, 2019 by DNL291 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