Jump to content

exibir cargo de trabalho no hud


Recommended Posts

  • Moderators
Posted

Faz por setElementData. Ela funciona both-side.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted
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?

 

  • Moderators
Posted

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.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted (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 by DNL291

Please do not PM me with scripting related question nor support, use the forums instead.

  • Moderators
Posted

Hum, em questão de otimização acho que triggers são mais leves do que manter um elementData ativo.

Oq vc acha @DNL291?

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

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

Please do not PM me with scripting related question nor support, use the forums instead.

Posted
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

Posted (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 by DNL291

Please do not PM me with scripting related question nor support, use the forums instead.

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