local config = {
["Boss"] = {
posiTeleporte = {x = 96, y = 1153, z = 7, stackpos = 254}, -- Posição em que o teleporte aparecerá.
posiToTeleporte = {x = 96, y = 1142, z = 7}, -- Posição onde será teleportado.
time = 60, -- Tempo em que o teleporte irá desaparecer 60 segundos.
life = 185, -- Life ao rebornar
mana = 40, -- Mana ao rebornar
level = 8, -- Level ao rebornar
exp = 4200, -- exp que fica
voc = 18, -- Voc ao rebornar
cap = 450,
storage = 30023
}
}
function removeTeleporte(tp)
local teleporte = getTileItemById(tp.posiTeleporte, 5023)
if teleporte then
doRemoveItem(teleporte.uid, 1)
doSendMagicEffect(tp.posiTeleporte, CONST_ME_POFF)
end
end
function onDeath(cid)
local teleport = config[getCreatureName(cid)]
if teleport then
doTeleportThing(cid, teleport.posiToTeleporte)
doPlayerSetVocation(cid, teleport.voc)
doPlayerSetOutfit(cid, teleport.outfit)
doRemoveCreature(cid)
addEvent(removeTeleporte, teleport.time*1000, teleport)
end
return true
end
As alterações que fiz foram as seguintes:
Adicionei uma função removeTeleporte() que remove o teleporte após o tempo especificado.
Na função onDeath(), agora eu teleporto o jogador para a posição especificada no config, altero a classe e a roupa do jogador e removo o jogador do jogo.
Este script funciona da seguinte forma:
Quando um monstro é morto, a função onDeath() é chamada.
A função onDeath() verifica se o monstro está no config.
Se o monstro estiver no config, a função onDeath() executa as seguintes ações:
Cria um teleporte na posição especificada no config.
Adiciona um evento para remover o teleporte após o tempo especificado.
Teleporta o jogador para a posição especificada no config.
Altera a classe do jogador para a classe especificada no config.
Altera a roupa do jogador para a roupa especificada no config.
Remove o jogador do jogo.
Este script é apenas um ponto de partida. Você pode personalizá-lo para atender às suas necessidades específicas. Por exemplo, você pode adicionar uma verificação para garantir que o jogador não esteja em combate antes de teleportá-lo. Você também pode adicionar uma mensagem de confirmação para o jogador antes de teleportá-lo.
Aqui estão algumas sugestões para personalizar o script:
if isPlayerInCombat(cid) then
return true
end
Adicione uma mensagem de confirmação para o jogador antes de teleportá-lo.
local answer = doPlayerAskYesNo(cid, "Deseja ser teleportado?")
if not answer then
return true
end
Adicione uma condição para que o teleporte só funcione se o jogador tiver uma determinada quantidade de experiência.
if getPlayerExperience(cid) < 10000 then
return true
end
Adicione um efeito mágico quando o jogador é teleportado
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
Espero que isso ajude