Ir para conteúdo

Teleport que só desbloqueia após derrotar ncp


EricFraga

Posts Recomendados

Funciona assim:

Estou numa quest, mas em determinado momento tem um teleport com um npc perto, e eu só posso entra no teleport quando eu derrotar todos os pokémon dele em um duel

 

ex: vou no lider de ginásio, mas até chegar nele existem alguns Npc, e para passar para o próximo precisa primeiro derrotar o anterior, e assim vai até chegar no Gym e batalhar com ele.

 

O Npc seria assim:

Tem um Npc qualquer que fale Hi, Duel, Yes, e após derrotar os pokemons dele um portal apareceria

Editado por EricFraga
Link para o comentário
Compartilhar em outros sites

Tag em creaturescripts.xml:

<event type="death" name="TeleportMonster" event="script" value="nome do script.lua"/>

Script:

local config = {
message = "O teleport se abriu, corra, ele ira fechar em 30 segundos.",   --- Mensagem que ira aparecer quando matar o monstro
timeToRemove = 30, -- Tempo que o Teleport vai ficar apos a morte do Monstro
teleportId = 1387,
bosses = {
["Nome do Monstro"] = { x = 111, y = 222, z = 3 },   --- Coordernada para onde o teleport vai levar
 
 
 
 
}
}
 
local function removal(position)
doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)
return TRUE
end
 
function onDeath(cid, corpse, killer)
registerCreatureEvent(cid, "teleportmonster")
local position = getCreaturePosition(cid)
 
for name, pos in pairs(config.bosses) do
if name == getCreatureName(cid) then
doCreateTeleport(config.teleportId, pos, position)
doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
addEvent(removal, config.timeToRemove * 1000, position)
doSendMagicEffect(position,6)
end
end
return TRUE
end

Em login.lua, adicione essa tag:

registerCreatureEvent(cid, "TeleportMonster")

Bom uso. xD

Editado por FlamesAdmin
Link para o comentário
Compartilhar em outros sites

Poderia informar qual servidor você está usando? Se for PDA, onDeath não irá funcionar (sendo mais exato, nenhuma função relacionada à "morte" funcionará).

Eu uso no meu e funciona bro.

Link para o comentário
Compartilhar em outros sites

Tag em creaturescripts.xml:

<event type="death" name="TeleportMonster" event="script" value="nome do script.lua"/>

Script:

local config = {
message = "O teleport se abriu, corra, ele ira fechar em 30 segundos.",   --- Mensagem que ira aparecer quando matar o monstro
timeToRemove = 30, -- Tempo que o Teleport vai ficar apos a morte do Monstro
teleportId = 1387,
bosses = {
["Nome do Monstro"] = { x = 111, y = 222, z = 3 },   --- Coordernada para onde o teleport vai levar
 
 
 
 
}
}
 
local function removal(position)
doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)
return TRUE
end
 
function onDeath(cid, corpse, killer)
registerCreatureEvent(cid, "teleportmonster")
local position = getCreaturePosition(cid)
 
for name, pos in pairs(config.bosses) do
if name == getCreatureName(cid) then
doCreateTeleport(config.teleportId, pos, position)
doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
addEvent(removal, config.timeToRemove * 1000, position)
doSendMagicEffect(position,6)
end
end
return TRUE
end

Em login.lua, adicione essa tag:

registerCreatureEvent(cid, "TeleportMonster")

Bom uso. xD

não funcionou, tipo fora isso preciso por algo a mais? no mapa?

 

Poderia informar qual servidor você está usando? Se for PDA, onDeath não irá funcionar (sendo mais exato, nenhuma função relacionada à "morte" funcionará).

Eu uso o PDA

O Npc seria assim:

 

Tem um Npc qualquer que fale Hi, Duel, Yes, 3-6, Yes, e após derrotar os pokemons dele um portal apareceria

Editado por EricFraga
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...