Jump to content

Duda con bindKey


Edikosh998

Recommended Posts

Posted

Hay alguna forma de que si apretas el bindkey, luego deje de funcionar esa letra por un tiempo..

Trate con unbindKey, pero se unbindea por siempre (claramente como dice la wiki).

Hay alguna funcion o forma de bloquearle la letra por un tiempo?

Muchas gracias.

Saludos.

Posted
  
unbindkey ("tecla", "down", funcion) 
  
setTimer ( 
function() 
bindkey ("tecla", "down", funcion) 
end, 
300000,1) 
  

(obviamente cambias "tecla" por la tecla y "funcion" por la funcion que el bind llama)

eso desbindea la tecla y la vuelve a bindear automaticamente 5 minutos despues.

Posted
  
unbindkey ("tecla", "down", funcion) 
  
setTimer ( 
function() 
bindkey ("tecla", "down", funcion) 
end, 
300000,1) 
  

(obviamente cambias "tecla" por la tecla y "funcion" por la funcion que el bind llama)

eso desbindea la tecla y la vuelve a bindear automaticamente 5 minutos despues.

Gracias por la respuesta.

Voy a probar a ver si arranca.

Saludos

Posted

Hay un problema, tipo empieza el script y cuando apretas enter no funca por 5 segundos (como aparece el timer). Pero una vez que se bindea el enter, sigue y no para. Mi pregunta es, que si despues de que se bindea, se puede unbindear una vez que se apreta, y que luego de x tiempo vuelve de vuelta.

unbindKey ("enter", "down", hola) 
  
  
setTimer ( 
function() 
bindKey ("enter", "down", hola) 
end, 
5000,1) 
  
  
  
function hola() 
  
    outputChatBox("Hola") 
    end 
     

Desde ya, gracias.

Posted
local desabilitado = false 
   
function hola() 
    if (not desabilitado) then 
        outputChatBox("Hola") 
        desabilitado = true 
        setTimer ( 
            function() 
              desabilitado = false 
            end, 
        5000,1) 
    end 
end 
bindKey ("enter", "down", hola) 

Posted

Sos un genio, eso era lo que buscaba. Pero ahora tengo un re problema con los argumentos del Client Render. Tipo quiero que aparezca un cartel, pero solo aparece si pongo getRootElement(), y osea le aparece a todos. Cuando pongo "source", me dice que le devolvio nil. Que puedo hacer para solucionarlo?

function onTut() 
local screenWidth, screenHeight = guiGetScreenSize() 
local mainWidth,mainHeight = 200,0 
dxDrawRectangle (screenWidth/3-mainWidth/2,screenHeight/3,screenWidth/2.5,screenHeight/6,tocolor(0,0,0,150)) 
dxDrawText(tabla[numero],screenWidth/2-mainWidth/2,screenHeight/2-mainHeight/2,screenWidth/1.4,screenHeight/3,tocolor(255,255,255,255),2,"bankghotic","center","center") 
end 
  
numero = 1 
local desabilitado = false 
  
function enTut() 
     if (not desabilitado) then 
         
        addEventHandler("onClientRender",source,onTut) 
        desabilitado = true 
        setTimer ( 
            function() 
              desabilitado = false 
              numero = numero + 1 
            end, 
        5000,1) 
    end 
end 
  
addEventHandler("onClientPlayerJoin",getRootElement(),enTut) 
  
bindKey("enter","up",enTut) 

Posted

El evento: "onClientPlayerJoin" no funciona para el jugador que se conecto (el cliente).

P.D: Queres que la funcion "onTut" se ejecute solo para el jugador que entro al servidor? solo podes usar getRootElement() (root) en onClientRender.

Posted

Osea, decis que no hay forma que muestre el dxText solo para el jugador que entro?

PD : Habia probado usando onPlayerLogin en el lado del servidor ,haciendo un evento al cliente y que el source sea el mismo que el de Player login, pero me mando el mismo error.

EDIT : y si con algun accountData, que lo pueda triggear solo si lo tiene ese dato?

Posted
function onTut() 
local screenWidth, screenHeight = guiGetScreenSize() 
local mainWidth,mainHeight = 200,0 
dxDrawRectangle (screenWidth/3-mainWidth/2,screenHeight/3,screenWidth/2.5,screenHeight/6,tocolor(0,0,0,150)) 
dxDrawText(tabla[numero],screenWidth/2-mainWidth/2,screenHeight/2-mainHeight/2,screenWidth/1.4,screenHeight/3,tocolor(255,255,255,255),2,"bankghotic","center","center") 
end 
  
numero = 1 
local desabilitado = false 
  
function enTut() 
     if (not desabilitado) then 
        
        addEventHandler("onClientRender",source,onTut) 
        desabilitado = true 
        setTimer ( 
            function() 
              desabilitado = false 
              numero = numero + 1 
            end, 
        5000,1) 
    end 
end 
bindKey("enter","up",enTut) 
addEventHandler("onClientResourceStart",resourceRoot,enTut) 

Deberia mostrarlo para todos los clientes cuando el recurso inicie, osea que cuando luego entre otro jugador, se lo mostrara para el solo.

Posted

Tengo otra duda, y como para no hacer otro topic lo digo por aca. (Al final use Label para el tutorial, asi que ya esta)..

Cuales son los tipos de imagenes que se pueden cargar tanto en dxDrawImage como en el guiStaticImage

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...