Jump to content

drawOxygenBar


Recommended Posts

Olá estou tentando definir o Oxygenio na minha NameTag.

já tentei de tudo mais nada; alguém tem alguma ideia para este calculo ?

o tamanho dele é 40 mesmo.

vou ter que definir o oxgenio em 100% ou deixo em 1000 mesmo ?

meu exemplo

local oxygen = getPedOxygenLevel ( player ) 
function drawOxygenBar( x, y, v, d) 
    dxDrawRectangle(x - 21, y, 42, 5, tocolor ( 0, 0, 0, 255-d )) 
    dxDrawRectangle(x - 20, y + 1, 40/1000*oxygen, 3, tocolor ( 95, 165, 206, 255-d )) 
end 

outra parte

if oxygen < 1000 or isElementInWater (player) then 
drawOxygenBar(x, y-0.0, oxygen, dist) 
end 

Link to comment

Qual é o problema ? o codigo que você passou funciona perfeitamente aqui, porem, como você só passou um trecho presumo que local oxygen = getPedOxygenLevel ( player ) esteja solto no código, quando necessita estar em um evento render.

function drawOxygenBar ( x, y, oxigenio, d ) 
    dxDrawRectangle(x - 21, y, 42, 5, tocolor ( 0, 0, 0, 255-d )) 
    dxDrawRectangle(x - 20, y + 1, 40/1000*oxigenio, 3, tocolor ( 95, 165, 206, 255-d )) 
end 
  
  
addEventHandler ( "onClientRender", root, 
function ( ) 
    local oxygen = getPedOxygenLevel ( localPlayer ) -- troquei por localplayer só para testar ;p 
    if oxygen < 1000 or isElementInWater (localPlayer) then -- localplayer again 
        drawOxygenBar ( x, y-0.0, oxygen, dist ) 
    end 
end ) 

Link to comment

não não.... tem que ser a "player" porque está definindo como "o jogador" e não eu como o "jogador local"

podendo sim só eu visualizar, o oxygênio do jogador que está em meu servidor..

e a função "getPedOxygenLevel" funciona tanto como dentro ou fora da render, já fiz os testes aqui também.

só preciso resolver este calculo mesmo, porque não sou bom em matemática :wink:

Link to comment
  • Moderators

Qual o problema exatamente? O calculo da largura pelo que vi está correto.

Única coisa que me deixou confuso foi isto:

if oxygen < 1000 or isElementInWater (player) then 

Não entendi o porque de não mostrar a barra se tiver cheia. E se tiver com a barra cheia verificar apenas se o jogador está na água.

A lógica não seria apenas verificar se o jogador está na água ?

Link to comment

consegui resolver....

o problema era o Bar

drawOxygenBar ( x, y-0.0, oxygen, dist ) 

acabei tendo que fazer as DX no lugar do drawBar

if oxygen < 1000 or isElementInWater (player) then 
dxDrawRectangle..... 
end 

Obrigado.

DNL

if oxygen < 1000 or isElementInWater (player) then 

este evento verifica se estou ou não na água e se meu Oxigênio é 1000%

se eu estiver na água ele mostra pra mim :wink: é claro que tem outros meios para checar, mais usei esse ai :roll:

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