Ir para conteúdo
  • 0
Entre para seguir isso  
bitoca1995

Scripting teleport com delay

Pergunta

bitoca1995    0
bitoca1995

Boa noite,

 

Preciso de uma ajuda, tentei de tudo e não consegui... no meu ot, tem sistema de task onde o player é teleportado para uma sala e mata o boss, porem se ele ficar ali segurando respawn e outro player for parar nessa sala, vai bugar, pois o outro player não vai poder matar o boss..

Eu precisava de um script, acredito eu de StepIn, onde quando ele entrasse na sala, já caia pisando no tile com a action, essa action daria X minutos para ele matar o boss, após vencer esses X minutos, ele seria teleportado para o templo de thais, alguém consegue fazer isso por favor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

2 respostass a esta questão

Recommended Posts

  • 0
Majesty    1755
Majesty

Para TFS 0.4.

 Existem alguns scripts que depois de matar o boss abre o teleport para os jogadores entrarem em uma sala de recompensa, segue 2 scripts abaixo:

1º Script: Todos os jogadores que acertarem algum dano no boss serão teleportados.
2º Script: Depois que o Boss for derrotado todos os jogadores de uma sala são teleportados.

Em creaturescript.xml adicione a tag:

<event type="kill" name="BossReward" script="Boss_Reward.lua"/>

Em login.lua adicione:

registerCreatureEvent(cid, "BossReward")

Em creaturescript/scripts crie ou copie um arquivo .lua e cole o script que deseja:

1º Script:

Spoiler

local config = {
monster = {"Demon", "Dragon"}, -- nome dos monstros, separado por vírgulas.
topos = {x=160, y=54, z=7}, -- pos onde o player vai ser teleportado
effect = 10, -- efeito ao ser teleportado.
}

function onKill(cid, target)
    if isInArray(config.monster, getCreatureName(target)) then
        doTeleportThing(cid, config.topos)
        doPlayerSendTextMessage (cid, 19, "Você ajudou a matar "..getCreatureName(target).." voce foi teleportado.")
        doSendMagicEffect (getThingPos (cid), config.effect)
    end
return true
end

 

2º Script:

Spoiler

local config = {
monster = {"Demon", "Dragon"}, -- nome dos monstros, separado por vírgulas.
topos = {x=160, y=54, z=7}, -- pos para onde o player vai ser teleportado

area = {
{x=153,y=69,z=7}, -- posições <  /\
{x=160,y=76,z=7} -- posições >  \/
},
}

function onKill(cid, target)
    if isInArray(config.monster, getCreatureName(target)) then    
        local remove, clean = true, true
        for x = config.area[1].x - 1, config.area[2].x + 1 do
            for y = config.area[1].y - 1, config.area[2].y + 1 do
                local pos = {x=x, y=y, z=config.area[1].z}
                local m = getTopCreature(pos).uid

                if remove ~= false and m ~= 0 and isMonster(m) then doRemoveCreature(m) end
                    if clean ~= false then doCleanTile(pos, false) end
                        if m ~= 0 and isPlayer(m) then doTeleportThing(m, config.topos) 
                        end
            end
        end
    end
return true
end

 

Créditos: pablobion

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
Majesty    1755
Majesty

A questão neste tópico de suporte foi respondida e o autor do tópico resolveu a questão. Este tópico está fechado agora. Se você tiver outras perguntas, crie um novo tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×