Jump to content

[Dúvida] Como posso saber se o jogador pegou uma arma?


Recommended Posts

Olá, qual comando para descobrir se um jogador usou uma arma, exemplo! getWeaponPlayer e ele iria me retornar = true, sim o jogador pegou uma arma.

Eu queria mostrar um Dx(hud) de arma, quando o jogador usar uma arma, isso é do lado do client-side!

Grato!

Obs: Eu não quero o ID da arma ainda, eu quero apenas saber se o jogador está com uma arma na mão, assim que eu descobrir que ele está com uma arma, puxo os dados como munição, id, e quantas balas ainda tem para ele usar.

Edited by Furious
Link to comment

Você pode verificar a arma do jogador com getPedWeapon() Dai vai um exemplo.

function Dx_Weapon ()
	local WP = getPedWeapon (localPlayer)
	if 22 or WP == 30 or WP == 31 then
		dxDrawText("Armado", x*0, y*0, x*37, y*37, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false)
	else
		dxDrawText("Desarmado", x*0, y*0, x*37, y*37, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false)
	end
end
addEventHandler("onClientRender", root, Dx_Weapon)

Se a Arma do Jogador for igual a Ak-47, M4 ou Colt então Alerta ao jogador com um dxDrawText que ele está armado. Caso não estiver com alguma dessas 3 armas então alerta o jogador com um dxDrawText que ele está desarmado. 
 

  • Thanks 1
Link to comment
11 minutes ago, #DaNiLiN said:

Você pode verificar a arma do jogador com getPedWeapon() Dai vai um exemplo.


function Dx_Weapon ()
	local WP = getPedWeapon (localPlayer)
	if 22 or WP == 30 or WP == 31 then
		dxDrawText("Armado", x*0, y*0, x*37, y*37, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false)
	else
		dxDrawText("Desarmado", x*0, y*0, x*37, y*37, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false)
	end
end
addEventHandler("onClientRender", root, Dx_Weapon)

Se a Arma do Jogador for igual a Ak-47, M4 ou Colt então Alerta ao jogador com um dxDrawText que ele está armado. Caso não estiver com alguma dessas 3 armas então alerta o jogador com um dxDrawText que ele está desarmado. 
 

Mas com o OnClientRender ele vai ficar chamando o "Armado" infinitamente!

Na função ele esta chamando "Armado" sem ele estar "Armado"

Edited by Furious
Link to comment

Isso foi um exemplo amigo. A Base tu já tem boa sorte :) Use como quiser sendo por evento ou por comando.

"Eu queria mostrar um Dx(hud) de arma, quando o jogador usar uma arma, isso é do lado do client-side!"

Isso tu vai precisar de utilizar o onClientRender de qualquer forma.

Edited by #DaNiLiN
Link to comment
2 minutes ago, #DaNiLiN said:

Isso foi um exemplo amigo. A Base tu já tem boa sorte :) Use como quiser sendo por evento ou por comando.

Eu entendi a base, só que eu queria saber é como vou descobrir que ele pegou uma arma, se o OnClientRender me retorna múltiplos resultados de uma vez só!

Edited by Furious
Link to comment
5 minutes ago, #DaNiLiN said:

Isso foi um exemplo amigo. A Base tu já tem boa sorte :) Use como quiser sendo por evento ou por comando.

"Eu queria mostrar um Dx(hud) de arma, quando o jogador usar uma arma, isso é do lado do client-side!"

Isso tu vai precisar de utilizar o onClientRender de qualquer forma.

Se eu usar server-side, isso é possível?

1 minute ago, #DaNiLiN said:

Seria sua próprias armas ou armas de outro jogador?

Seria a arma que o jogador usar.

Edited by Furious
Link to comment
2 minutes ago, #DaNiLiN said:

Você gostaria de aparecer o nome da arma na hud correto? 
Exemplo: Jogador está com a AK-47 dai na hud aparece AK-47. É Isto?

Correto, só que tipo, eu queria usar uma função do Dx personalizada, para puxar o código e mostrar o HUD!

Jogador X usou uma arma :

ShowHudArma(ID, nome, balas, balas_ainda)

Isso iria chamar a função ShowHudArma!

Por isso queria saber como descobrir se um jogador pegou uma arma, assim iria mandar essa função, só que utilizando o exemplo seu com o "OnClientRender" ele manda varias vezes o resultado causando lag no servidor.

Edited by Furious
Link to comment
  • Other Languages Moderators
addEventHandler( "onPlayerWeaponSwitch", root, function( _prev, _next )
	if ( _next > 0 ) then
		setElementData( source, "hasWeapon", true );
	else
		setElementData( source, "hasWeapon", false );
	end
end );

Server-side.

  • Thanks 1
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...