Edikosh998 Posted February 18, 2012 Share Posted February 18, 2012 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. Link to comment
-Gus- Posted February 18, 2012 Share Posted February 18, 2012 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. Link to comment
Edikosh998 Posted February 18, 2012 Author Share Posted February 18, 2012 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 Link to comment
Castillo Posted February 18, 2012 Share Posted February 18, 2012 unbindKey ("tecla", "down", funcion) setTimer ( function() bindKey ("tecla", "down", funcion) end, 300000,1) Link to comment
Edikosh998 Posted February 18, 2012 Author Share Posted February 18, 2012 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. Link to comment
Castillo Posted February 18, 2012 Share Posted February 18, 2012 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) Link to comment
Edikosh998 Posted February 18, 2012 Author Share Posted February 18, 2012 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) Link to comment
Castillo Posted February 18, 2012 Share Posted February 18, 2012 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. Link to comment
Edikosh998 Posted February 18, 2012 Author Share Posted February 18, 2012 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? Link to comment
Castillo Posted February 18, 2012 Share Posted February 18, 2012 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. Link to comment
Edikosh998 Posted February 20, 2012 Author Share Posted February 20, 2012 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 Link to comment
Recommended Posts