Jump to content

exibir cargo de trabalho no hud


Recommended Posts

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

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
  • Moderators

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 by DNL291
Link to comment
  • Moderators
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
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
  • Moderators

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