Anzo Posted August 23, 2016 Posted August 23, 2016 ¿Cómo puedo hacer que en un comando pueda poner un setTimer? o sea, si yo pongo, /bomba 5000 la bomba explotaría en 5000 segundos, lo que quiero saber es como hacer para que al escribir /bomba [tiempo] detecte que estoy poniendo un setTimer. No sé como empezar a hacerlo, por eso pido ayuda. IGN: Cordex
Tomas Posted August 23, 2016 Posted August 23, 2016 ¿Cómo puedo hacer que en un comando pueda poner un setTimer? o sea, si yo pongo, /bomba 5000 la bomba explotaría en 5000 segundos, lo que quiero saber es como hacer para que al escribir /bomba [tiempo] detecte que estoy poniendo un setTimer. No sé como empezar a hacerlo, por eso pido ayuda. addEventHandler("bomba", function (player, _, time) if ( not time or not tonumber(time) ) then return end time = tonumber(time) setTimer(outputChatBox, time, 1, "La bomba ha explotado gg") end end ) Currently developing for International Gaming Community - Join us!
Anzo Posted August 23, 2016 Author Posted August 23, 2016 ¿Cómo puedo hacer que en un comando pueda poner un setTimer? o sea, si yo pongo, /bomba 5000 la bomba explotaría en 5000 segundos, lo que quiero saber es como hacer para que al escribir /bomba [tiempo] detecte que estoy poniendo un setTimer. No sé como empezar a hacerlo, por eso pido ayuda. addEventHandler("bomba", function (player, _, time) if ( not time or not tonumber(time) ) then return end time = tonumber(time) setTimer(outputChatBox, time, 1, "La bomba ha explotado gg") end end ) Gracias Tomas. Por cierto... Estas drogado ? addEventHandler("bomba", . . . Para la explosión:createExplosion Necesitaba era ayuda para lo del /comando [tiempo], pensé que iba a ser más complicado. (también pensé en hacerlo algo parecido a lo que me dio Tomas, pero creí que tenia que usar setTimer en algunas partes pero no, solo había que poner 'time'). Edit: Una pregunta, como puedo decir que diga en el outputChatBox segundos en vez de milisegundos? Tengo esto: function plantarBomba(_,time) local playerX,playerY,playerZ = getElementPosition(localPlayer) if getElementData(localPlayer, "Bombas") > 0 then if (not tonumber(time) or not tonumber(time)) then outputChatBox("SYNTAX: /bomba [milisigundos] e.j: /bomba 3000 = 3 segundos." ) return end time = tonumber(math.floor(time) ) obj = createObject(1945,playerX,playerY,playerZ - 1) setTimer(outputChatBox,time,1,"Ha explotado la bomba que has plantado hace unos " ..time.. " segundos.") setTimer(createExplosion, time,1, playerX,playerY,playerZ,10) setTimer(destroyElement, time,1,obj) setElementData(localPlayer, "Bombas", getElementData(localPlayer, "Bombas" ) -1 ) else outputChatBox("#ff0000No puedes plantar bombas, ve a compra más bombas. #ffffff[escribe #D50000/items #ffffff para ir a comprar]",255,255,255,true) end end addCommandHandler("bomba",plantarBomba) Donde dice ''Ha explotado la bomba que has plantado hace unos '' ..time..''segundos.'' me lo dice en milisegundos, ya intente dividiendo el time entre /60 (si lo divido entre /60 me explotan de una vez), /1000 (si lo divido entre /1000 me da error en setTimer [interval is below 50] y también intente con math.floor pero igual me lo cuenta en milisegundos en el outputChatbox. IGN: Cordex
Tomas Posted August 23, 2016 Posted August 23, 2016 ¿Cómo puedo hacer que en un comando pueda poner un setTimer? o sea, si yo pongo, /bomba 5000 la bomba explotaría en 5000 segundos, lo que quiero saber es como hacer para que al escribir /bomba [tiempo] detecte que estoy poniendo un setTimer. No sé como empezar a hacerlo, por eso pido ayuda. addEventHandler("bomba", function (player, _, time) if ( not time or not tonumber(time) ) then return end time = tonumber(time) setTimer(outputChatBox, time, 1, "La bomba ha explotado gg") end end ) Gracias Tomas. Por cierto... Estas drogado ? addEventHandler("bomba", . . . Para la explosión:createExplosion Necesitaba era ayuda para lo del /comando [tiempo], pensé que iba a ser más complicado. (también pensé en hacerlo algo parecido a lo que me dio Tomas, pero creí que tenia que usar setTimer en algunas partes pero no, solo había que poner 'time'). Edit: Una pregunta, como puedo decir que diga en el outputChatBox segundos en vez de milisegundos? Tengo esto: function plantarBomba(_,time) local playerX,playerY,playerZ = getElementPosition(localPlayer) if getElementData(localPlayer, "Bombas") > 0 then if (not tonumber(time) or not tonumber(time)) then outputChatBox("SYNTAX: /bomba [milisigundos] e.j: /bomba 3000 = 3 segundos." ) return end time = tonumber(math.floor(time) ) obj = createObject(1945,playerX,playerY,playerZ - 1) setTimer(outputChatBox,time,1,"Ha explotado la bomba que has plantado hace unos " ..time.. " segundos.") setTimer(createExplosion, time,1, playerX,playerY,playerZ,10) setTimer(destroyElement, time,1,obj) setElementData(localPlayer, "Bombas", getElementData(localPlayer, "Bombas" ) -1 ) else outputChatBox("#ff0000No puedes plantar bombas, ve a compra más bombas. #ffffff[escribe #D50000/items #ffffff para ir a comprar]",255,255,255,true) end end addCommandHandler("bomba",plantarBomba) Donde dice ''Ha explotado la bomba que has plantado hace unos '' ..time..''segundos.'' me lo dice en milisegundos, ya intente dividiendo el time entre /60 (si lo divido entre /60 me explotan de una vez), /1000 (si lo divido entre /1000 me da error en setTimer [interval is below 50] y también intente con math.floor pero igual me lo cuenta en milisegundos en el outputChatbox. setTimer(outputChatBox,time,1,"Ha explotado la bomba que has plantado hace unos " ..time/1000.. " segundos.") Currently developing for International Gaming Community - Join us!
Anzo Posted August 23, 2016 Author Posted August 23, 2016 setTimer(outputChatBox,time,1,"Ha explotado la bomba que has plantado hace unos " ..time/1000.. " segundos.") Y yo estaba dividiendo el /1000 en la parte de time = tonumber(time)/1000 ... Gracias de nuevo. IGN: Cordex
Recommended Posts