MonsterOt 1 Postado Setembro 11, 2012 Share Postado Setembro 11, 2012 (editado) Tem como botar o tempo 3 minutos e 15 segundos? local time = 3 -- tempo em minutos para o player ser expulso local newpos = {x=125,y=47,z=7} -- local para onde o player será teleportado function onStepIn(cid, item, position, fromPosition) addEvent(function() doTeleportThing(cid, newpos) doSendMagicEffect(newpos, 10) end, time*60*1000) return true end Script by : Leoxtibia Editado Setembro 11, 2012 por MonsterOt Link para o comentário https://xtibia.com/forum/topic/193923-tempo-nesse-script/ Compartilhar em outros sites More sharing options...
0 SkyLigh 453 Postado Setembro 11, 2012 Share Postado Setembro 11, 2012 ali no segundos so você por 105 seg local newpos = {x=125,y=47,z=7} -- local para onde o player será teleportado local config = { s = 11548, -- n mexa exhau = 30 -- quantos segundos } function onStepIn(cid, item, position, fromPosition) if (getPlayerStorageValue(cid, config.s) <= os.time()) then setPlayerStorageValue(cid,config.s,os.time()+config.exhau) addEvent(function() doTeleportThing(cid, newpos) doSendMagicEffect(newpos, 10) end, time*60*1000) return true end end Link para o comentário https://xtibia.com/forum/topic/193923-tempo-nesse-script/#findComment-1336720 Compartilhar em outros sites More sharing options...
0 brun123 369 Postado Setembro 11, 2012 Share Postado Setembro 11, 2012 (editado) só mudar: local time = 3 para local time = 3.25 SkyLigh, sua script vai dar um erro porque você deletou a declaração da variável "time" e usou ela no addEvent, vai dar erros. Ele não quer exaust, ele quer mudar o tempo que leva pro player ser teletransportado (com fins de ser removido de algum lugar). O seu script pode causar erros indesejados no console do server, caso o player morra ou dê logout antes do tempo ter passado. Pode ser usadado abusivamente também, caso o player fique pisando várias e várias vezes no mesmo tile onde a ação é executada, você vai criar uma série de addEvents que estão programados para ocorrer, aí se o player logar, todos esses addEvents vão dar erro e vai chover erro no server, pode até travar o servidor por algum tempo. Se vários players fizerem isso ao mesmo tempo, é capaz de criar um freeze tão grande que todos os players do server serão kickados ou pior, o server dá crash, meio improvável mas pode acontecer... Pra evitar abusos/erros, basta utilizar essa script corrigida: local time = 3.25 -- tempo em minutos para o player ser expulso local newpos = {x=125,y=47,z=7} -- local para onde o player será teleportado local events = {} -- não modifique local function doKickPlayer(cid) if not isCreature(cid) then events[cid] = nil return end doTeleportThing(cid, newpos, false) doSendMagicEffect(newpos, 10) end function onStepIn(cid, item, position, fromPosition) if events[cid] then stopEvent(events[cid]) end events[cid] = addEvent(doKickPlayer, time * 60 * 1000, cid) return true end Editado Setembro 11, 2012 por brun123 Link para o comentário https://xtibia.com/forum/topic/193923-tempo-nesse-script/#findComment-1336721 Compartilhar em outros sites More sharing options...
0 MonsterOt 1 Postado Setembro 11, 2012 Autor Share Postado Setembro 11, 2012 Melhor site de otserv é esse, todo mundo ajuda =) vlw denovo Brun123 e skyligh por ter tentado! Link para o comentário https://xtibia.com/forum/topic/193923-tempo-nesse-script/#findComment-1336735 Compartilhar em outros sites More sharing options...
0 SkyLigh 453 Postado Setembro 11, 2012 Share Postado Setembro 11, 2012 duvida sanada reportado Link para o comentário https://xtibia.com/forum/topic/193923-tempo-nesse-script/#findComment-1336748 Compartilhar em outros sites More sharing options...
0 MonsterOt 1 Postado Setembro 11, 2012 Autor Share Postado Setembro 11, 2012 (editado) Teria como fazer por segundos esse? local time = 3.25 -- bota aki só os segundoslocal newpos = {x=125,y=47,z=7} -- local para onde o player será teleportado local events = {} -- não modifique local function doKickPlayer(cid) if not isCreature(cid) then events[cid] = nil return end doTeleportThing(cid, newpos, false) doSendMagicEffect(newpos, 10) end function onStepIn(cid, item, position, fromPosition) if events[cid] then stopEvent(events[cid]) end events[cid] = addEvent(doKickPlayer, time * 60 * 1000, cid) return true end Editado Setembro 11, 2012 por MonsterOt Link para o comentário https://xtibia.com/forum/topic/193923-tempo-nesse-script/#findComment-1336749 Compartilhar em outros sites More sharing options...
0 brun123 369 Postado Setembro 11, 2012 Share Postado Setembro 11, 2012 aprendeu matemática na escola não? só fazer: local time = (segundos) / 60 bem simples não? se insiste tanto em ser por segundos, só remover lá embaixo, na função addEvent, esse trecho do tempo: * 60 que o time passa a contar como segundos, ou então você divide o próprio time por 60 como acabei de mostrar acima. dá tudo na mesma, matemática é bonito assim mesmo, não precisa falar Link para o comentário https://xtibia.com/forum/topic/193923-tempo-nesse-script/#findComment-1336752 Compartilhar em outros sites More sharing options...
0 MonsterOt 1 Postado Setembro 11, 2012 Autor Share Postado Setembro 11, 2012 (editado) Valeu!! Editado Setembro 11, 2012 por MonsterOt Link para o comentário https://xtibia.com/forum/topic/193923-tempo-nesse-script/#findComment-1336756 Compartilhar em outros sites More sharing options...
Pergunta
MonsterOt 1
Tem como botar o tempo 3 minutos e 15 segundos?
Script by : Leoxtibia
Editado por MonsterOtLink para o comentário
https://xtibia.com/forum/topic/193923-tempo-nesse-script/Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados