Postado Abril 11, 2023 2 anos salve rapaziada tudo na paz .. queria add um novo teleport no meu servido mais queria q o player depois de usa fica umas 2 hr sem passa ou se n der com teleport poderia ser um alavanca . tipo os boss q ja existe . ex: drume : scarlett . obero > esses boss ai . VERSAO DO SERVE 12.91
Postado Abril 11, 2023 2 anos Este tópico foi movido para a seção de Suporte Otserv. 11 horas atrás, looktsx disse: ex: drume : scarlett . obero > vc ja tem? no caso não seria apenas duplicar? se não seja um pouco mais especifico quanto ao script, é só passar no portal e depois não conseguir passar mais durante 2h?
Postado Abril 11, 2023 2 anos Autor 41 minutos atrás, FeeTads disse: Este tópico foi movido para a seção de Suporte Otserv. vc ja tem? no caso não seria apenas duplicar? se não seja um pouco mais especifico quanto ao script, é só passar no portal e depois não conseguir passar mais durante 2h? isso .. queria um script assim msm .. o player passa pelo teleport e depois ele so podera passa pelo teleport depois de 2h . . ou pra ser mais especifico os tps de boss do global . eles passa pelo tp e depois tem q espera um tempo pra pode passa de novo .
Postado Abril 13, 2023 2 anos Em 11/04/2023 em 12:12, looktsx disse: ou pra ser mais especifico os tps de boss do global . eles passa pelo tp e depois tem q espera um tempo pra pode passa de novo . adiciona um action ID e faz um movement com esse actions, +/- assim local config = { -- [action id] = {storage = STORAGE DA ACTION/BOSS, timer = tempo em horas, teleport_to = {posição que irá teleportar o player}} [41411] = {storage = 3131312, timer = 2 --[[em horas]], teleport_to = {x=1,y=1,z=7}}, } -- caso queira, pode tirar essa função daqui e colocar na pasta lib > data/lib, -- se ATENTE em tirar o "local" na frente da function caso mova pra lib local function getTimeString(self) local format = { {'dia', self / 60 / 60 / 24}, {'hora', self / 60 / 60 % 24}, {'minuto', self / 60 % 60}, {'segundo', self % 60} } local out = {} for k, t in ipairs(format) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' e ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find('segundo') then local a, b = ret:find(' e ') ret = ret:sub(b+1) end return ret end function onStepIn(cid, item, pos, fromPos) local posAid = config[item.actionid] if posAid then if getPlayerStorageValue(cid, posAid.storage) - os.time() < 0 then setPlayerStorageValue(cid, posAid.storage, os.time()+posAid.timer*60*60) doTeleportThing(cid, posAid.teleport_to, true) else doPlayerSendCancel(cid, "Sorry, you need wait "..getTimeString(getPlayerStorageValue(cid, posAid.storage) - os.time()).." to enter again!") doTeleportThing(cid, fromPos, true) end end return true end com esse script, quando o player subir em cima do tile com a action Id 41411 (exemplo, vc pode colocar qualquer uma desde que não repita de outras scripts). subiu em cima do tile com essa action > sera teleportado pro local "teleport_to" caso ele tenha a storage menos que o os.time() (tempo da maquina, não mexer ali), ele irá setar 2h de cooldown para entrar de novo se não, teleporta ele pra tras. registrar no XML do movements também basicamente é apenas isso
Postado Abril 17, 2023 2 anos Autor Em 13/04/2023 em 01:21, FeeTads disse: adiciona um action ID e faz um movement com esse actions, +/- assim local config = { -- [action id] = {storage = STORAGE DA ACTION/BOSS, timer = tempo em horas, teleport_to = {posição que irá teleportar o player}} [41411] = {storage = 3131312, timer = 2 --[[em horas]], teleport_to = {x=1,y=1,z=7}}, } -- caso queira, pode tirar essa função daqui e colocar na pasta lib > data/lib, -- se ATENTE em tirar o "local" na frente da function caso mova pra lib local function getTimeString(self) local format = { {'dia', self / 60 / 60 / 24}, {'hora', self / 60 / 60 % 24}, {'minuto', self / 60 % 60}, {'segundo', self % 60} } local out = {} for k, t in ipairs(format) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' e ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find('segundo') then local a, b = ret:find(' e ') ret = ret:sub(b+1) end return ret end function onStepIn(cid, item, pos, fromPos) local posAid = config[item.actionid] if posAid then if getPlayerStorageValue(cid, posAid.storage) - os.time() < 0 then setPlayerStorageValue(cid, posAid.storage, os.time()+posAid.timer*60*60) doTeleportThing(cid, posAid.teleport_to, true) else doPlayerSendCancel(cid, "Sorry, you need wait "..getTimeString(getPlayerStorageValue(cid, posAid.storage) - os.time()).." to enter again!") doTeleportThing(cid, fromPos, true) end end return true end com esse script, quando o player subir em cima do tile com a action Id 41411 (exemplo, vc pode colocar qualquer uma desde que não repita de outras scripts). subiu em cima do tile com essa action > sera teleportado pro local "teleport_to" caso ele tenha a storage menos que o os.time() (tempo da maquina, não mexer ali), ele irá setar 2h de cooldown para entrar de novo se não, teleporta ele pra tras. registrar no XML do movements também basicamente é apenas isso onde eu acho esse arquivo xml ? uso um servido 12.91 . e acho q e diferente algumas pasta .
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.