Jump to content

Dx piscar


Recommended Posts

  • Other Languages Moderators

Então sua lógica é a seguinte:

  1. Cria uma variável chamada red (pode ser qualquer coisa, estou exemplificando) com valor 0.
  2. Inicia o render do painel (onClientRender)
  3. No dxDraw do painel, onde vc quer que ocorra a alternância, use tocolor (red, 0, 0, 255) (esse 255 é o alpha, você pode continuar usando o valor que já estava)
  4. O painel vai começar sendo renderizado como preto, pois red tem valor 0.
  5. Inicia um setTimer que deverá estar numa variável, com duração de meio segundo (500 milisegundos) e com infinitas repetições (0).
  6. Dentro desse timer, verifica se o valor de red == 0.
    1. Se for, então red = 255. Fazendo com que o painel fique vermelho a partir deste instante.
    2. Senão, red = 0. Fazendo com que o painel fique preto a partir deste instante.
  7. Por ser um timer infinito, ele vai ficar fazendo essa verificação a cada meio segundo, alternando o valor de red de 0 para 255 e vice-versa.
  8. Quando parar de renderizar o painel (por algum motivo, o player fechar o painel, etc), então deve-se dar killTimer naquele setTimer criado para a cor.
Edited by Lord Henry
Link to comment
local red = 0     

setTimer ( function()
        if red == 0 then
         red = 255
         else
         red = 0
        end
    end, 500, 0)



dxDrawRectangle(504, 194, 369, 206, tocolor(red, 255,255,255), false)

Não deu

 

Funcionou sim kk, esqueci o end, mais agora, eu coloquei esse script em uma tecla, quando eu aperto ele pisca, e como faz para apertar denovo essa tecla e parar de piscar?
 

function chan()
        setTimer ( function()
        if red == 63 then
         red = 255
         else
         red = 63
        end
    end, 100, 0)
    end
end
addCommandHandler("mudarcor1",chan)
bindKey("num_2", "down", "mudarcor1")

esse é o atual, agora para apertar novamente e parar de piscar

Edited by ODutii
Link to comment
  • Other Languages Moderators

Você esqueceu disso:

Quote

5. Inicia um setTimer que deverá estar numa variável

E disso:

Quote

8. Quando parar de renderizar o painel (por algum motivo, o player fechar o painel, etc), então deve-se dar killTimer naquele setTimer criado para a cor.

E você criou o setTimer com 100 milisegundos. Meio segundo é 500 e não 100.

E seu tocolor também está errado. Era pra usar 0 e não 255 no segundo e terceiro valor.

Edited by Lord Henry
Link to comment
3 minutes ago, Lord Henry said:

Você esqueceu disso:

E disso:

E você criou o setTimer com 100 milisegundos. Meio segundo é 500 e não 100.

Era so pra testar 

4 minutes ago, Lord Henry said:

Você esqueceu disso:

E disso:

E você criou o setTimer com 100 milisegundos. Meio segundo é 500 e não 100.

        if botao == 0 then

        local Timer = setTimer(function()
        if red == 63 then
        botao = 1
         red = 255
         else
         red = 63
        end
        botao = 1
    end, 121, 0)
        botao = 1
    else
    killTimer (Timer)
    botao = 0
    red = 63

Tentei esse ai, mas mesmo assim não para de piscar

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