Anzo Posted August 23, 2016 Share 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. Link to comment
Tomas Posted August 23, 2016 Share 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 ) Link to comment
aka Blue Posted August 23, 2016 Share Posted August 23, 2016 Para la explosión: createExplosion Link to comment
Anzo Posted August 23, 2016 Author Share 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. Link to comment
Tomas Posted August 23, 2016 Share 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.") Link to comment
Anzo Posted August 23, 2016 Author Share 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. Link to comment
Recommended Posts