Postado Fevereiro 14, 2017 8 anos Ola sou novo nessa parada de OT mas manjo um pouquinho de scripts queria saber uma parada.. Eu to com um script aq que quando o player fica um determinado tempo em uma area depois desse tempo ele toma teleporte para otro lugar... porem nao calcula certo o time se coloca pra ficar 1 minuto ele fica as vezes 40 segundos e as vezes fica 1 minuto e 10 segundos o script e esse aqui. -- data\globalevents\globalevents.xml <globalevent name="kick" interval="10000" event="script" value="trainerkick.lua" /> -- data\globalevents\scripts\trainerkick.lua local cfg = { fromPos = {x=957, y=910, z=7}, -- Posição do piso superior esquerdo da área que o jogador tem que estar toPos = {x=965, y=916, z=7}, -- Posição do piso inferior direito da área que o jogador tem que estar pos = {x=964, y=920, z=7} -- Posição que o jogador será teleportado (aconselho templo) } function onThink(interval, onThink, thinkInterval) local frompos, topos = cfg.fromPos, cfg.toPos for x = frompos.x, topos.x do for y = frompos.y, topos.y do local areapos = {x=x, y=y, z=cfg.fromPos.z} getPlayer = getTopCreature(areapos).uid if isPlayer(getPlayer) then doPlayerSendTextMessage(getPlayer, 18, 'Seu tempo de treino acabou, pague mais para treinar mais.') doTeleportThing(getPlayer, cfg.pos) end end end return TRUE end eu sei que em <globalevent name="kick" interval="10000" event="script" value="trainerkick.lua" /> o interval="10000" é 10 segundos mas mesmo assim queria que sei la uma action so pra esperar depois acontecer o evento tipo asim, wait(10000) antes da parte que faz o teleport ali em cima. pq ai eu posso colocar antes do tempo correto. up
Postado Fevereiro 14, 2017 8 anos troque essa linha por essa function onThink(interval, onThink, thinkInterval) v function onThink(interval, lastExecution) acho que vai funciona.
Postado Fevereiro 14, 2017 8 anos Autor nada ainda e tipo asim: eu entro em determinada area ai o script começa a contar quando der 10 segundos ele me manda pra fora. so que o script nao para de contar depois disso se eu quizer entar de novo ele ainda estara contando os 10 segundos ai entao ele conta 10 ai volta pro 1 e conta 10 e ai vai ai quando eu entro se o script ja estiver tipo na contagem 7 eu fico so 3 segundos e ele me manda pra fora. eu queria tipo algo que quando eu foçe espulso da sala o script parasce e so começasse a contar quando eu em trace de novo
Postado Fevereiro 14, 2017 8 anos tenta refomula o script , to sem tempo agora tenta adiciona ao script a seguinte função -- arena script InitArenaScript = 0 arena_room_max_time = 240 -- time in seconds for one arena room arenaKickPosition = {x=199, y=610, z=6} -- position where kick from arena when you leave/you did arena level function getArenaMonsterIdByName(name) name = string.lower(tostring(name)) for i = 42300, 42329 do if tostring(arena_monsters) == name then return i end end return 0 end
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.