Jump to content

Recommended Posts

bom algum tempo atras pedir ajuda em um retangulo cinza igual no gta v quando mata alguem tentei fazer mas nao sei se tah certo poderiam me ajudar?

local res = { guiGetScreenSize() } 
      
    addEventHandler ( "onClientRender", root, 
    function ( ) 
        dxDrawRectangle ( 0, 0, res[1], res[2], tocolor ( 121, 121, 121, 100 ) ) 
        setTimer(1000, 1 ,res) -- o tempo que  o retangulo fica na tela 
    addEventHandler ( "onClientPlayerWasted", getLocalPlayer(), res) 
    end ) 

Link to comment

Não é 'muito recomendável' usar setTimernum evento onClientRender(porque esse evento é acionado umas ~10 vezes por segundo), Você vai ter que fazer uma função (que vai ser acionada no evento onClientPlayerWasted) que:

  • Adicione o evento onClientRender a outra função (que vai 'desenhar' o retângulo)
  • Crie um timer para parar de renderizar a função acima (↑) (removeEventHandler)

Mais ou menos assim:

local res = { guiGetScreenSize() } 
  
function quandoMorrer ( ) 
    addEventHandler ( "onClientRender", root, renderizar ) 
    setTimer ( removeEventHandler, 5000, 1, "onClientRender", root, renderizar ) 
end 
addEventHandler ( "onClientPlayerWasted", getLocalPlayer(), quandoMorrer) 
  
function renderizar( ) 
    dxDrawRectangle ( 0, 0, res[1], res[2], tocolor ( 121, 121, 121, 100 ) ) 
end 

Espero que tenhas entendido :P

Link to comment
Sim entedi mas meu codigo estava errado? Queria saber para min Aperfeiçoar mas

Sim

  1. Você usou setTimer e addEventHandler dentro de um evento render;
  2. Você não forneceu o primeiro parâmetro da função setTimer (que é a função a ser executada, veja na wiki);
  3. No seu addEventHandler(linha 7) no terceiro parâmetro você passou a variável/tabela res (que, como definida na linha 1 é a resolução do jogador) quando era necessário passar uma função;

Link to comment

so uma coisa sabe aquele kill flash quando a gente mata players ou bot da aquele flash cinza rapido e sai entao tentei mas nao deu certo olhe

function quandoMatar ( ) 
    addEventHandler ( "onClientRender", root, renderizar ) 
    setTimer ( removeEventHandler, 1000, 1, "onClientRender", root, renderizar ) 
end 
addEventHandler ( "onClientPlayerStealthKill", getLocalPlayer(), quandoMatar) 
  
function renderizar( ) 
    dxDrawRectangle ( 0, 0, res[1], res[2], tocolor ( 121, 121, 121, 100 ) ) 
end 

Link to comment
so uma coisa sabe aquele kill flash quando a gente mata players ou bot da aquele flash cinza rapido e sai entao tentei mas nao deu certo olhe
function quandoMatar ( ) 
    addEventHandler ( "onClientRender", root, renderizar ) 
    setTimer ( removeEventHandler, 1000, 1, "onClientRender", root, renderizar ) 
end 
addEventHandler ( "onClientPlayerStealthKill", getLocalPlayer(), quandoMatar) 
  
function renderizar( ) 
    dxDrawRectangle ( 0, 0, res[1], res[2], tocolor ( 121, 121, 121, 100 ) ) 
end 

Você quer aumentar o tempo que o retângulo permanece na tela, é isso?

se for é só você aumentar o numero no segundo parâmetro de setTimer (lembrando que ele deve ser em milisegundos, se não souber calcular este site deve ajudar).

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