Evento Devovorga
testado TFS 1.0 tíbia 10.37 mapa global
breve explicação do evento
obejetivo: mata os 5 bosses do evento rise devovorga para liberar acesso a sala do boss devovorgar com tempo de 5 horas para conclusão do evento.
bosses:
Anmothra
Irahsae
Teneshpar
Phrodomo
Chikhaton
vamus para os scripts
Data/creaturescripts/scripts
cria uma pasta com nome "evento devovorga" dentro da pasta cria arquivo com nome bossdevovorga.lua copia e cola tudo dentro:
local bosses = {
["devovorga"] = 206
}
function onKill(cid, target)
if(bosses[string.lower(getCreatureName(target))]) then
if(string.lower(getCreatureName(target)) == "") then
setGlobalStorageValue(bosses[string.lower(getCreatureName(target))], getGlobalStorageValue(bosses[string.lower(getCreatureName(target))]) < 1 and 1 or 2)
if(getGlobalStorageValue(bosses[string.lower(getCreatureName(target))]) == 2) then
end
return true
end
broadcastMessage("Thanks to the mighty and fearless Tibians who drove Devovorga back into her abyss, your regeneration has been improved.", MESSAGE_EVENT_ADVANCE)
broadcastMessage("You made it - Devovorga, the incredibly powerful weapon sealed deep below Vengoth, was destroyed.", MESSAGE_EVENT_ADVANCE)
broadcastMessage("Upon her death, energy was released all over the world - the next month, it will boost your health and mana regeneration.", MESSAGE_EVENT_ADVANCE)
broadcastMessage("Congratulations, Tibians!", MESSAGE_EVENT_ADVANCE)
setGlobalStorageValue(bosses[string.lower(getCreatureName(target))], 2)
addEvent(setGlobalStorageValue, 3 * 60 * 1000, bosses[string.lower(getCreatureName(target))], 0)
end
return true
end
proximo passo
Data/creaturescripts/scripts
cria uma pasta com nome "evento devovorga" dentro da pasta cria arquivo com nome bosses.lua copia e cola tudo dentro:
local tpId = 11798
local tps = {
["Anmothra"] = {pos = {x=32955, y=31519, z=9}, toPos = {x=32950, y=31514, z=9}, time = 18000},
["Irahsae"] = {pos = {x=32942, y=31514, z=9}, toPos = {x=32937, y=31510, z=9}, time = 18000},
["Teneshpar"] = {pos = {x=32947, y=31506, z=9}, toPos = {x=32936, y=31524, z=9}, time = 18000},
["Phrodomo"] = {pos = {x=32937, y=31521, z=9}, toPos = {x=32913, y=31515, z=9}, time = 18000},
["Chikhaton"] = {pos = {x=32913, y=31527, z=9}, toPos = {x=32946, y=31516, z=10}, time = 18000},
}
function removeTp(tp)
local t = getTileItemById(tp.pos, tpId)
if t then
doRemoveItem(t.uid, 1)
doSendMagicEffect(tp.pos, CONST_ME_POFF)
end
end
function onDeath(cid)
local tp = tps[getCreatureName(cid)]
if tp then
doCreateTeleport(tpId, tp.toPos, tp.pos)
doCreatureSay(cid, "O teleport irá sumir em 5 horas corra grandes aventureiros", TALKTYPE_ORANGE_1)
addEvent(removeTp, tp.time*1000, tp)
end
return TRUE
end
proximo passo
Data/creaturescripts
abra o arquivo creaturescripts.xml adicione essas duas linhas:
<event type="death" name="teleport" script="evento devovorga/bosses.lua"/>
<event type="kill" name="bossdevovorga" script="evento devovorga/bossdevovorga.lua"/>
arquivos creaturescripts finalizado
proximo passo
Data/movements/scripts
criar um arquivo chamado teleportarea.lua copiar e colar tudo dentro:
function onStepIn(cid, item, position, fromPosition)
local teleport = {
action = item.actionid,
[17001] = {x=32975, y=32427, z=8},
[17002] = {x=32976, y=32429, z=7},
[17003] = {x=32634, y=32305, z=8},
[17004] = {x=32629, y=32329, z=7},
[17005] = {x=32131, y=31835, z=8},
[17006] = {x=32169, y=31829, z=7},
[17007] = {x=31936, y=31538, z=8},
[17008] = {x=31965, y=31582, z=7},
[17009] = {x=33325, y=31741, z=8},
[17010] = {x=33325, y=31741, z=7},
[17011] = {x=32956, y=31516, z=8},
[17012] = {x=32949, y=31520, z=7},
[17013] = {x=32956, y=31519, z=9},
[17014] = {x=32943, y=31514, z=9},
[17015] = {x=32947, y=31507, z=9},
[17016] = {x=32937, y=31522, z=9},
[17017] = {x=32948, y=31520, z=7}
}
if(not isPlayer(cid)) then
return true
end
doTeleportThing(cid, teleport[item.actionid])
return true
end
proximo
Data/movements/scripts
criar um arquivo chamado devo.lua copiar e colar tudo dentro:
local teleports2 = {
[2181] = {text = "Ate o Proximo Evento", newPos = {x = 32948, y = 31520, z = 7}, storage = 7},
}
local teleports = {
[2182] = {boss = true, text = "Parabéns você concluiu o Evento Rise of Devovorga", bossStorage = 206, newPos = {x = 32945, y = 31521, z = 9}, storage = 7},
}
function onStepIn(cid, item, position, lastPosition)
if (item.uid == 2181) then
if(getPlayerStorageValue(cid,1050) <= teleports2[item.uid].storage) then
setPlayerStorageValue(cid, 1050, teleports2[item.uid].storage)
end
doTeleportThing(cid, teleports2[item.uid].newPos)
doSendMagicEffect(teleports2[item.uid].newPos, CONST_ME_TELEPORT)
doCreatureSay(cid, teleports2[item.uid].text, TALKTYPE_ORANGE_1)
return true
end
if(teleports[item.uid].boss) then
if(getGlobalStorageValue(teleports[item.uid].bossStorage) == 2) then
if(getPlayerStorageValue(cid,1050) <= teleports[item.uid].storage) then
setPlayerStorageValue(cid, 1050, teleports[item.uid].storage)
end
doTeleportThing(cid, teleports[item.uid].newPos)
doSendMagicEffect(teleports[item.uid].newPos, CONST_ME_TELEPORT)
doCreatureSay(cid, teleports[item.uid].text, TALKTYPE_ORANGE_1)
else
doTeleportThing(cid, {x = 32912, y = 31515, z = 10})
doSendMagicEffect({x = 32912, y = 31515, z = 10}, CONST_ME_TELEPORT)
doCreatureSay(cid, "Precisa Concluir o evento Rise of Devovorga.", TALKTYPE_ORANGE_1)
end
return true
end
if(teleports[item.uid].storage) then
if(getPlayerStorageValue(cid, 1050) >= teleports[item.uid].storage) then
doTeleportThing(cid, teleports[item.uid].newPos)
doSendMagicEffect(teleports[item.uid].newPos, CONST_ME_TELEPORT)
doCreatureSay(cid, teleports[item.uid].text, TALKTYPE_ORANGE_1)
else
doTeleportThing(cid, lastPosition)
doSendMagicEffect(getCreaturePosition(cid),10)
doCreatureSay(cid, 'You don\'t have enough energy to enter this portal', TALKTYPE_ORANGE_1)
end
return true
end
if(teleports[item.uid]) then
doTeleportThing(cid, teleports[item.uid].newPos)
doSendMagicEffect(teleports[item.uid].newPos, CONST_ME_TELEPORT)
doCreatureSay(cid, teleports[item.uid].text, TALKTYPE_ORANGE_1)
return true
end
return true
end
proximo passo
Data/movements
abra o arquivo movements.xml adicione essas duas linhas:
<movevent event="StepIn" fromaid="17001" toaid="17016" script="teleportarea.lua"/>
<movevent event="StepIn" fromuid="2181" touid="2182" script="devo.lua"/>
arquivos movements finalizado
proximo arquivos
Data/raids
criar um arquivo chamado devovorga.lua copiar e colar tudo dentro:
<raid>
<announce delay="1000" type="Event" message="Something is rumbling deep underground all over the world" />
<announce delay="20000" type="Event" message="The Power of Devovorga has risen again." />
<singlespawn delay="20000" name="Anmothra" x="32634" y="32309" z="8" />
<announce delay="30000" type="Event" message="The Fury of Devovorga has risen again." />
<singlespawn delay="30000" name="Irahsae" x="32967" y="32405" z="8" />
<announce delay="40000" type="Event" message="The Dark knowledge of Devovorga has risen again." />
<singlespawn delay="40000" name="Teneshpar" x="31932" y="31524" z="8" />
<announce delay="50000" type="Event" message="The Soul of Devovorga has risen again." />
<singlespawn delay="50000" name="Phrodomo" x="32135" y="31833" z="8" />
<announce delay="60000" type="Event" message="The Hatred of Devovorga has risen again." />
<singlespawn delay="50000" name="Chikhaton" x="33330" y="31741" z="8" />
<singlespawn delay="1000" name="Spawn of Devovorga" x="32931" y="31516" z="10" />
<singlespawn delay="2000" name="Spawn of Devovorga" x="32925" y="31515" z="10" />
<singlespawn delay="3000" name="Spawn of Devovorga" x="32925" y="31521" z="10" />
<singlespawn delay="4000" name="Spawn of Devovorga" x="32917" y="31521" z="10" />
<singlespawn delay="5000" name="Spawn of Devovorga" x="32914" y="31514" z="10" />
<singlespawn delay="6000" name="Devovorga" x="32921" y="31516" z="10" />
</raid>
proximo passo
Data/raids
abra o arquivo Raids.xml adicione essa linhas:
<raid name="Devovorga" file="Devovorga.xml" interval2="1440" chance="1" margin="60" enabled="yes"/>
download da pasta dos monstro do evento
finalizado os códigos
vou explica como ativa o evento no momento que usar o comando /raid devovorga o evento iniciará assim sumonando cada mini Boss pra seu lugar os jogadores terá 5 horas no momento que matarem o primeiro mini Boss passando as 5 horas e não matarem os mini bosses ou ate mesmo o Boss devovorga o evento falhara quem estive dentro da sala ficara ate o final seja quando morre ou sair da sala do Boss assim não voltara mais não irei explica código por código porque esta tudo pronto para mapa global fica a critério de cada um não sou script ( fiz uma gambiarra esta funcionando 100%) apenas tentei fazer algo diferente
OBS.: sala de premiação não finalizei pois fica a critério de cada um o que fazer (minha sugestão se os jogadores concluir o evento no próximo salve serve coloca Double XP pra galera hehehehe) fora os baus que darão os itens aos jogadores.
Scan dos arquivos anexados
detalhe para nao buga os portais
como usei o portal dimensional portal id 11798 o servidor nao reconhece como teleport
vai buga abra:
pasta itens abra itens.xml
procure por:
<item fromid="5023" toid="5024" article="a" name="magic forcefield">
<attribute key="type" value="teleport" />
<attribute key="description" value="You can see the other side trough it." />
</item>
substitua por esse:
<item fromid="11798" toid="11799" article="a" name="dimensional portal">
<attribute key="type" value="teleport" />
<attribute key="description" value="You can see the other side trough it." />
</item>
procure por:
<item id="11798" article="a" name="dimensional portal" />
substitua por esse:
<item id="5023" article="a" name="magic forcefield" />
pronto
Antes de mais nada não sei se postei no lugar correto peço aos moderadores que se não tiver na área correta que movam para certa fico grato
se copiar e colar pelo menos mantem os creditos fico grato