Ir para conteúdo
  • Cadastre-se

Teleport de boss com tempo.


Posts Recomendados

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

Link para o post
Compartilhar em outros sites

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?

 

Link para o post
Compartilhar em outros sites
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 .

Link para o post
Compartilhar em outros sites
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

Link para o post
Compartilhar em outros sites
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 . 

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo