Jump to content

[Ajuda]Verificar Armas


Recommended Posts

20 minutes ago, Lord Henry said:
local arma = getPedWeapon (thePlayer)
   if arma then
      for id, player in ipairs (getElementsByType("weapon")) do
      if (id == 25) then
         dxDrawText ("Sim")
      else
         dxDrawText ("Não")
      end
   end
end

Eu fiz assim, por exemplo, se o Player estiver com a arma do ID 25, vai executar um DrawText, mas dessa forma estaria correto?

Edited by danblemes1
Link to comment
  • Other Languages Moderators
local arma = getPedWeapon (thePlayer, 3)
if (arma == 25) then -- Se o jogador tiver uma shotgun, então:
	dxDrawText ("Sim")
else
	dxDrawText ("Não")
end

 

Edited by Lord Henry
  • Thanks 1
Link to comment
7 hours ago, Lord Henry said:

local arma = getPedWeapon (thePlayer, 3)
if (arma == 25) then -- Se o jogador tiver uma shotgun, então:
	dxDrawText ("Sim")
else
	dxDrawText ("Não")
end

 

Ok, no caso eu vou verificar todos os Slots, Então eu poderia fazer isso:?

local arma = getPedWeapon (thePlayer, 1 or 2 or 3) -- E assim por diante
   if (arma == 4) then
      dxDrawText ("Sim")
   else
      dxDrawText ("Não")
   elseif (arma == 22) then
      dxDrawText ("Sim")
   else
      dxDrawText ("Não")
   end

 

Link to comment
  • Other Languages Moderators

Não existe isso: or 2 or 3

Se você quer verificar todos os slots então você precisará de um loop com for.

E o else só pode ser o último caso, não pode haver outro else e nem elseif depois do else.

for i = 0, 12 do -- Para i = 0 até i = 12, faça:
	local arma = getPedWeapon (thePlayer, i)
	if (arma == 4) then
		dxDrawText ("Sim")
	elseif (arma == 22) then
		dxDrawText ("Sim")
	else
		dxDrawText ("Não")
	end
end

 

Você saberia disso se soubesse lógica de programação.

Edited by Lord Henry
Link to comment
  • 4 weeks later...

Bom Gente, sei que passou um tempo desde a abertura deste post, mas ainda ficou vago, por que eu quero fazer da fazer da seguinte forma, se ele tiver uma soqueira, cria um certo elemento Dx, caso contrário, cria um outro...

local arma1 = getPedWeapon (thePlayer, 3)
   if (arma1 == 25) then
      dxDrawText ("Sim")
   else
      dxDrawText ("Não")
   end

local arma2 = getPedWeapon (thePlayer, 4)
   if (arma2 == 22) then
      dxDrawText ("Sim")
   else
      dxDrawText ("Não")
   end

Não teria uma forma mais simples de fazer isso?

Edited by danblemes1
Link to comment
  • Other Languages Moderators

É mais fácil vc simplesmente nomear as imagens das armas que serão utilizadas no dxDrawImagem com o ID da arma, por exemplo "12.png" e dai vc apenas renderiza a imagem que estiver com o ID da arma que o jogador está na mão.

dxDrawImage (posX, posY, sizeX, sizeY, getPedWeapon(localPlayer)..".png")

 

Link to comment

Bom eu acho que entendi oque procura, Eu já fiz um sistema onde um jogador ver os dados dos outros dai está as linhas de como eu usei. Porém seu sistema vai ficar gigante recomendo fazer por tabela.

if (getPedWeapon (localPlayer, 1) == 2) then  -- "1" Id da Armas "2" Slot da arma
    dxDrawText("Taco de Golf (#00ff00✔#ffffff)", x*458, y*380, x*605, y*343, tocolor(255, 255, 255, 255), x*1.00, Font_3, "left", "top", false, false, false, true, false)
else
    dxDrawText("Taco de Golf (#ff0000✖#ffffff)", x*458, y*380, x*605, y*343, tocolor(255, 255, 255, 255), x*1.00, Font_3, "left", "top", false, false, false, true, false)
end


Versão por Variável 

Spoiler

AGS4GSy.png

 

Versão por tabela 

Spoiler

9Uw13Gc.png 

 

Edited by #DaNiLiN
  • 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...