*Problemă/Întrebare: Am nevoie sa stiu unde mai exact se adauga mesajele informative in dungeoane pentru fiecare etaj. In DT de exemplu lipsesc mesaje sau nu vrea sa le citeasca (nu am modificat nimic la quest). Cine stie si-mi poate da un exemplu?
Tipologie server: PvM PvP
*Resursă folosită:
*ServerFiles utilizat: Argo
*Syserr:
Poză:
*Detalii suplimentare:
Mesaje informative in dungeoane
- MapshitoWork
-

- Mesaje: 68
- Membru din: 28 Iun 2020, 12:38
- Regat: Jinno
- Aprecieri: 4
- Mulţumiri: 223
- Discord: Copiază ID
În quest se adaugă acele mesaje informative de ex: ești în etajul 3 al demonilor și trebuie să omori toți mobi că să avansezi la următorul etaj.
Lasă questul mai jos că să vedem si noi ce lipsește în el sau de ce nu afișează acele mesaje.
[ Postat de pe Android ]
Lasă questul mai jos că să vedem si noi ce lipsește în el sau de ce nu afișează acele mesaje.
[ Postat de pe Android ]

Cod: Selectaţi tot
quest deviltower_zone begin
state start begin
when login begin
if pc.get_map_index() == 66 then
if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
pc.warp((5376+532)*100, (512+596+4)*100, 65)
end
pc.set_warp_location(65, 5376+532, 512+596+4)
elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
pc.set_warp_location(65, 5376+532, 512+596+4)
end
end
when deviltower_man.chat."Turnul Demonilor(DT)" begin
addimage(20, 12, "turn_demon.tga")
say("")
say("")
say("")
if pc.get_level() < 40 then
say_title("Gardianul Turnului Demonilor:")
say("Acest turn este plin cu demoni înfricoºãtori.")
say("Numai cel mai puternic poate ajunge în vârf.")
say("Se spune cã nimeni care intrã în acest turn nu")
say("s-a mai întors în viaþã, tu nu poþi intra încã ")
say("deoarece nu ai nivelul 40.")
else
say_title("Gardianul Turnului Demonilor:")
say("Acest turn este plin cu demoni înfricoºãtori.")
say("Numai cel mai puternic poate ajunge în vârf.")
say("Se spune cã nimeni care intrã în acest turn nu")
say("s-a mai întors în viaþã.")
say("Încã vrei sã intri în Turnul Demonilor?")
local s = select("Intru.", "Nu, mulþumesc.")
if s == 1 then
pc.warp(216500,727000)
end
end
end
when devil_stone1.kill begin
timer("devil_stone1_1", 6)
end
when devil_stone1_1.timer begin
local mapto7= pc.count_item(30302)
pc.remove_item(30302,mapto7)
local boxto7= pc.count_item(30300)
pc.remove_item(30300,boxto7)
d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
d.regen_file("data/dungeon/deviltower2_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
end
when devil_stone3.kill begin
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
d.check_eliminated()
end
function get_4floor_stone_pos()
local positions = {
{368, 629},
{419, 630},
{428, 653},
{422, 679},
{395, 689},
{369, 679},
{361, 658},
}
for i = 1, 6 do
local j = number(i, 7)
if i != j then
local t = positions[i];
positions[i] = positions[j];
positions[j] = t;
end
end
return positions
end
when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.setf("level", 4)
local positions = deviltower_zone.get_4floor_stone_pos()
for i = 1, 6 do
chat(positions[i][1], positions[i][2])
d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
end
chat(positions[7][1], positions[7][2])
local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
chat(vid)
d.set_unique("real", vid)
server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())
d.notice("<Turnul Demonilor> Bun venit la cel de al 4-lea etaj, gãseºte Piatra Metin adevãratã ºi distruge-o.");
d.notice("<Informaþie> Aveti la dipozitie doar 15 minute.");
end
when devil_stone4_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("<Atenþie> Mai sunt doar 10 minute")
server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
end
end
when devil_stone4_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("<Atenþie> Mai sunt doar 5 minute")
server_timer('devil_stone4_fail', 5*60, get_server_timer_arg())
end
end
when devil_stone4_fail.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("<Atenþie> Timpul a expirat,veti fi dati afara din Turn")
d.exit_all()
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end
end
when devil_stone4_update.server_timer begin
if d.select(get_server_timer_arg()) then
if not d.is_unique_dead("real") then
for i = 1, 6 do
if d.getf("fakedead" .. i) == 0 then
if d.unique_get_hp_perc("fake" .. i) < 50 then
d.purge_unique("fake" .. i)
d.setf("fakedead" .. i, 1)
d.notice("<Informaþie> Ai distrus una dintre Pietrele Metin false.")
end
end
end
else
server_timer("devil_stone4_end", 5, get_server_timer_arg())
d.notice("<Atenþie> Piatra Metin adevãratã a fost distrusã,veþi fi teleportaþi la etajul urmãtor.")
clear_server_timer('devil_stone4_fail1', get_server_timer_arg())
clear_server_timer('devil_stone4_fail2', get_server_timer_arg())
clear_server_timer('devil_stone4_fail', get_server_timer_arg())
end
else
server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())
end
end
when devil_stone4_stop_timer.server_timer begin
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end
when devil_stone4_end.server_timer begin
if d.select(get_server_timer_arg()) then
d.setf("level", 5)
d.setf("stone_count", 5)
d.notice("<Informaþie> Omoarã monºtrii pentru a colecta Piatra Cheie, iar acesta puneþi-o pe sigilii")
d.notice("pentru a le desface ºi a ajunge la etajul urmãtor. Aveþi la dispoziþie doar 20 de minute.")
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg())
clear_server_timer('devil_stone4_update', get_server_timer_arg())
d.set_regen_file("data/dungeon/deviltower5_regen.txt")
d.spawn_mob(20073, 421, 452)
d.spawn_mob(20073, 380, 460)
d.spawn_mob(20073, 428, 414)
d.spawn_mob(20073, 398, 392)
d.spawn_mob(20073, 359, 426)
end
end
when devil_stone5_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("<Atenþie> Mai sunt doar 15 minute.")
server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("<Atenþie> Mai sunt doar 10 minute.")
server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail3.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("<Atenþie> Mai sunt doar 5 minute.")
server_timer('devil_stone5_fail', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("<Informaþie> Timpul a expirat,veþi fi scoºi afarã din Turnul Demonilor.")
d.exit_all()
end
end
when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
local KILL_COUNT_FOR_DROP_KEY = 50
local n =d.getf("count") + 1
d.setf("count", n)
if n == KILL_COUNT_FOR_DROP_KEY then
game.drop_item(50084, 1)
d.setf("count", 0)
end
end
when devil_stone5.take with item.vnum == 50084 begin
npc.purge()
item.remove()
d.setf("stone_count", d.getf("stone_count") - 1)
if d.getf("stone_count") <= 0 then
d.setf("level", 6)
d.clear_regen()
d.regen_file("data/dungeon/deviltower6_regen.txt")
d.notice("<Atenþie> Veþi fi teleportaþi la etajul urmãtor al Turnului Demonilor.")
d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
clear_server_timer('devil_stone5_fail1', get_server_timer_arg())
clear_server_timer('devil_stone5_fail2', get_server_timer_arg())
clear_server_timer('devil_stone5_fail3', get_server_timer_arg())
clear_server_timer('devil_stone5_fail', get_server_timer_arg())
else
d.notice("<Informaþie> Mai ai de desfãcut "..d.getf("stone_count").." sigilii.")
end
end
when devil_stone6.kill begin
d.kill_all()
d.check_eliminated()
local reward_alchemist = {20074, 20075, 20076}
d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
d.setqf("can_refine", 1)
end
when 20074.chat."Etajele Superioare" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
addimage(20, 12, "turn_demon.tga")
say("")
say("")
say("")
say_title(""..mob_name(20074).."")
say("Doriþi sã treceþi mai departe,la alt etaj?")
say("Eu cu siguranã voi rãmâne aici.")
wait()
say_title(""..mob_name(20074).."")
if pc.level >=75 then
say("Ce avem noi aici,eºti trecut de nivelul 75.")
say("Dar întrebarea e dacã eºti suficient de curajos")
say("pentru a supravieþui în etajele superioare,putem")
say("sã aflãm asta într-un singur mod, te voi duce la")
say("etajul urmãtor.")
timer("devil_jump_7", 6)
return
end
say("Încã eºti un rãzboinic în devenire, nu ai nivelul")
say("75,de aceea nu te pot lãsa sã treci la etajele")
say("superioare, revin-o când vei avea nivelul 75.")
wait()
pc.warp(590500, 110500)
return
end
when 20075.chat."Etajele Superioare" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
addimage(20, 12, "turn_demon.tga")
say("")
say("")
say("")
say_title(""..mob_name(20074).."")
say("Doriþi sã treceþi mai departe,la alt etaj?")
say("Eu cu siguranã voi rãmâne aici.")
wait()
say_title(""..mob_name(20074).."")
if pc.level >=75 then
say("Ce avem noi aici,eºti trecut de nivelul 75.")
say("Dar întrebarea e dacã eºti suficient de curajos")
say("pentru a supravieþui în etajele superioare,putem")
say("sã aflãm asta într-un singur mod, te voi duce la")
say("etajul urmãtor.")
timer("devil_jump_7", 6)
return
end
say("Încã eºti un rãzboinic în devenire, nu ai nivelul")
say("75,de aceea nu te pot lãsa sã treci la etajele")
say("superioare, revin-o când vei avea nivelul 75.")
wait()
pc.warp(590500, 110500)
return
end
when 20076.chat."Etajele Superioare" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
addimage(20, 12, "turn_demon.tga")
say("")
say("")
say("")
say_title(""..mob_name(20074).."")
say("Doriþi sã treceþi mai departe,la alt etaj?")
say("Eu cu siguranã voi rãmâne aici.")
wait()
say_title(""..mob_name(20074).."")
if pc.level >=75 then
say("Ce avem noi aici,eºti trecut de nivelul 75.")
say("Dar întrebarea e dacã eºti suficient de curajos")
say("pentru a supravieþui în etajele superioare,putem")
say("sã aflãm asta într-un singur mod, te voi duce la")
say("etajul urmãtor.")
timer("devil_jump_7", 6)
return
end
say("Încã eºti un rãzboinic în devenire, nu ai nivelul")
say("75,de aceea nu te pot lãsa sã treci la etajele")
say("superioare, revin-o când vei avea nivelul 75.")
wait()
pc.warp(590500, 110500)
return
end
when devil_jump_7.timer begin
chat("<Informaþie> Distruge Pietrele Metin ºi fã rost de Hartã pentru Peºtera Zin.")
d.clear_regen()
d.spawn_mob(8018, 639, 658)
d.spawn_mob(8018, 611, 637)
d.spawn_mob(8018, 596, 674)
d.spawn_mob(8018, 629, 670)
d.setf("level", 7)
d.jump_all(2048+590, 6656+638)
end
when 8018.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
chat("<Informaþie> Ai distrus Metinul Morþii,continuã sã distrugi Metine pânã vei gãsi")
chat("Harta pentru Peºtera Zin.")
local cont = d.getf("7_stone_kill") + 1
d.setf("7_stone_kill", cont)
if cont >= 4 then
d.setf("7_stone_kill", 0)
d.set_regen_file("data/dungeon/deviltower7_regen.txt")
end
end
when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
chat("<Informaþie> Ai distrus Metinul Crimelor, ai primit Hartã pentru Peºtera Zin.")
pc.give_item2(30302, 1)
end
when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
if d.getf("level") == 7 then
say_title("Turnul Demonilor:")
say("Felicitãri,ai reuºit sã ajungi pânã aici,veþi fi")
say("teleportaþi la etajul urmãtor.")
pc.remove_item("30302", 1)
timer("devil_jump_8", 6)
d.clear_regen()
else
pc.remove_item("30302", 1)
end
end
when devil_jump_8.timer begin
d.setf("level", 8)
d.jump_all(2048+590, 6656+403)
chat("<Informaþie> Omoarã monºtrii de la acest etaj ºi cautã Cheie Zin Bong In ºi desfã ")
chat("Sigiliul Sa Soe cu ea.")
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
d.spawn_mob(20366, 640, 460)
local _count= pc.count_item(30304)
pc.remove_item(30304,_count)
end
when 20366.take with item.vnum == 30304 begin
chat("<Atenþie> Felicitãri,aþi desfãcut sigiliul, ve-þi fi teleportaþi la etajul urmãtor.")
npc.purge()
item.remove()
timer("devil_jump_9", 6)
end
when devil_jump_9.timer begin
d.setf("level", 9)
d.jump_all(2048+590, 6656+155)
d.clear_regen()
chat("<Informaþie> Înfrânge Îngerul cu Coasã pentru a ajunge la Etajul Urmãtor.")
d.spawn_mob(1093, 606, 177)
end
when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.kill_all()
timer("devil_end_jump", 10)
pc.change_alignment(500)
syschat("Ai înfrânt un monstru de categoria ªef,gradul tãu va creºte cu 500 de puncte.")
notice_all("<Hall of Fame>"..pc.getname().." a reuºit sã îl rãpunã pe Îngerul cu Coasã.")
d.notice("Vei fi teleportat la etajul urmãtor.")
end
when devil_end_jump.timer begin
d.setf("level", 7)
d.jump_all(2048+590, 6656+638)
d.clear_regen()
chat("<Informaþie> Înfrânge Demonul Rege Întunecat pentru a ajunge la Etajul Urmãtor.")
d.spawn_mob(1094, 639, 658)
end
when 1094.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
pc.change_alignment(500)
syschat("Ai înfrânt un monstru de categoria ªef,gradul tãu va creºte cu 500 de puncte.")
notice_all("<Hall of Fame>"..pc.getname().." a reuºit sã îl rãpunã pe Demonul Rege Întunecat.")
d.notice("Vei fi teleportat în sanctuarul Morþii Albastre.")
d.kill_all()
timer("devil_end_jump_schmied", 10)
end
when devil_end_jump_schmied.timer begin
d.setf("level", 9)
d.jump_all(2048+590, 6656+155)
d.clear_regen()
chat("<Informaþie> Înfrânge Moartea Albastrã pentru a curãþa Etajele Superioare.")
d.spawn_mob(1095, 605, 178)
end
when 1095.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
syschat("Ai înfrânt un monstru de categoria ªef,gradul tãu va creºte cu 500 de puncte.")
pc.change_alignment(500)
notice_all("<Hall of Fame> ".. pc.get_name() .." cu o ultimã suflare a rãpus Moartea Albastrã.")
d.notice("<Misiune Îndeplinitã>: Moartea Albastrã a fost înfrântã, aþi curãþat etajele cu succes.")
d.check_eliminated()
d.spawn_mob(9012, 619, 170);
d.setqf("can_refine", 1)
end
end
endCod: Selectaţi tot
quest devilcave begin
state start begin
when login begin
if pc.get_map_index() == 206 then
warp_all_to_village()
end
end
--DC Status Reset
when 20367.chat."Reseteaza statusul Catacombei" with pc.is_gm begin
say_title("Gardianul Catacombei")
say_reward("Statusul a fost resetat!")
game.set_event_flag("dc_versuche",1)
game.set_event_flag("dcgamer",0)
game.set_event_flag("dc_geschaft",0)
end
--Configuration
when 20367.chat."Configuratia catacombei" with game.get_event_flag("block_dc_config") == 0 and pc.is_gm begin
game.set_event_flag("dc_is_ok",1)
game.set_event_flag("block_dc_config",1)
game.set_event_flag("dc_versuche",1)
end
--Entry
when 20367.chat."Catacomba Diavolului (lv.85)" with game.get_event_flag("dc_is_ok") == 1 begin
addimage(20, 12, "devil_catacomb.tga")
say("")
say("")
say("")
if pc.level > 84 then
if pc.count_item(30319) > 0 then
say_title("Paznicul Catacombei")
say("")
say("Pana in acest moment sunt:")
say_green(""..game.get_event_flag("dc_geschaft").." jucatori invingatori;")
say_reward(""..game.get_event_flag("dcgamer").." jucatori infranti;")
say("")
wait()
say_title("Paznicul Catacombei")
say("")
say("Vei fi al "..game.get_event_flag("dc_versuche").." jucator care incearca sa il")
say("invinga pe puternicul Azrael.")
say("")
local dc_login = select("Intra", "Renunta")
if dc_login == 1 then
pc.remove_item(30319, 1)
pc.warp(314800, 1209800)
elseif dc_login == 2 then
return
else
say_title("Paznicul Catacombei")
say("")
say("Imi pare rau, nu te pot lasa sa intri.")
say("Nivelul minim de intrare este 85.")
end
else
say_title("Paznicul Catacombei")
say("")
say("Imi pare rau, nu te pot lasa sa intri.")
say("Ai nevoie de: Cap Mumificat.")
say("Il poti obtine de la Ingerul cu Coasa.")
wait()
end
end
end
--Ebene 1
when login with pc.get_map_index() == 206 begin
game.set_event_flag(("dcgamer"), game.get_event_flag("dcgamer")+1)
game.set_event_flag(("dc_versuche"), game.get_event_flag("dc_versuche")+1)
say_title("Catacomba Diavolului:")
say("")
say("Pentru a urca la urmatorul nivel va")
say("trebui sa distrugi metinul de la capatul")
say("drumului langa Statuia Kud.")
end
when 8056.kill with pc.get_map_index() == 206 begin
d.new_jump_all(206, 3636, 12086)
timer("dc1", 600)
d.regen_file("data/dungeon/devilcave/dc_regen_ebene2.txt")
d.regen_file("data/dungeon/devilcave/dc_regen_tore_left.txt")
d.spawn_mob(30104, 741, 221)
end
when dc1.timer begin
chat("Timpul a expirat!")
warp_all_to_village()
end
when dc20.timer begin
chat("Mai aveti 50 de minute la dispozitie.")
timer("dc3", 206)
end
when dc30.timer begin
chat("Mai aveti 45 de minute la dispozitie.")
timer("dc4", 206)
end
when dc40.timer begin
chat("Mai aveti 40 de minute la dispozitie.")
timer("dc5", 206)
end
when dc50.timer begin
chat("Mai aveti 35 de minute la dispozitie.")
timer("dc6", 206)
end
when dc60.timer begin
chat("Mai aveti 30 de minute la dispozitie.")
timer("dc7", 206)
end
when dc70.timer begin
chat("Mai aveti 25 de minute la dispozitie.")
timer("dc8", 206)
end
when dc80.timer begin
chat("Mai aveti 20 de minute la dispozitie.")
timer("dc9", 206)
end
when dc90.timer begin
chat("Mai aveti 15 de minute la dispozitie.")
timer("dc10", 206)
end
when dc100.timer begin
chat("Mai aveti 10 de minute la dispozitie.")
timer("dc11", 206)
end
when dc101.timer begin
chat("Mai aveti 5 de minute la dispozitie.")
timer("dc12", 206)
end
when dc110.timer begin
chat("Timpul a expirat.")
warp_all_to_village()
end
--Ebene 2
when 30104.chat."Etajul 3" begin
npc.purge()
say_title("Fragment de Runa:")
say("")
say("Drumul catre Azrael iti va pune rabdarea la incercare.")
wait()
d.new_jump_all(206, 4427, 12284)
say_title("Catacomba Diavolului:")
say("")
say("Distruge piatra Metin adevarata pentru a ajunge la etajul urmator.")
d.setf("goto_ebene3", 0)
say_title("Catacomba Diavolului:")
say("")
say("Distruge piatra Metin adevarata pentru a ajunge la etajul urmator.")
d.regen_file("data/dungeon/devilcave/dc_regen_ebene3.txt")
say_title("Catacomba Diavolului:")
say("")
say("Distruge piatra Metin adevarata pentru a ajunge la etajul urmator.")
local metindv = number(1,4)
if metindv==1 then
d.spawn_mob(8028, 1351, 348)
d.spawn_mob(8028, 1148, 350)
d.spawn_mob(8028, 1151, 155)
d.spawn_mob(8029, 1351, 149)
end
if metindv==2 then
d.spawn_mob(8028, 1351, 348)
d.spawn_mob(8028, 1148, 350)
d.spawn_mob(8029, 1151, 155)
d.spawn_mob(8028, 1351, 149)
end
if metindv==3 then
d.spawn_mob(8028, 1351, 348)
d.spawn_mob(8029, 1148, 350)
d.spawn_mob(8028, 1151, 155)
d.spawn_mob(8028, 1351, 149)
end
if metindv==4 then
d.spawn_mob(8029, 1351, 348)
d.spawn_mob(8028, 1148, 350)
d.spawn_mob(8028, 1151, 155)
d.spawn_mob(8028, 1351, 149)
end
end
when 8029.kill with pc.get_map_index() == 206 begin
chat("Ai distrus o Piatraa Metin falsa.")
end
when 8028.kill with pc.get_map_index() == 206 begin
chat("Ai distrus Piatra Metin adevarata,vei fi teleportat la etajul urmator.")
timer("devils_catacomb_goto_ebene5", 5)
end
--Ebene 6 (Tartaros)
when devils_catacomb_goto_ebene5.timer begin
d.new_jump_all(206, 3917, 12925)
chat("Ucide Ucigasul Iadului pentru a obtine Totemul Schimonosit.")
chat("Acesta se trage peste Basalt-Obelisk.")
d.spawn_mob(30102, 848, 739)
timer("dc4", 600)
d.regen_file("data/dungeon/devilcave/dc_regen_ebene5.txt")
local tartaros = number(1,4)
if tartaros==1 then
d.spawn_mob(2591, 991, 848)
end
if tartaros==2 then
d.spawn_mob(2591, 999, 652)
end
if tartaros==3 then
d.spawn_mob(2591, 848, 577)
end
if tartaros==4 then
d.spawn_mob(2591, 703, 644)
end
if tartaros==5 then
d.spawn_mob(2591, 692, 817)
end
end
when 2591.kill with pc.get_map_index() == 206 begin
chat("Ai obtinut un Totem Schimonosit,acum du-te si trage-l peste")
chat("Basalt-Obelisk.")
game.drop_item(30312, 1)
end
when 30102.take with item.vnum == 30312 begin
timer("dc4", 6000)
item.remove()
npc.purge()
chat("O sa fii teleportat la etajul urmator.")
timer("devils_catacomb_goto_ebene6", 5)
end
when dc4.timer begin
chat("Timpul a expirat.")
warp_all_to_village()
end
--Ebene 7 (Charon)
when devils_catacomb_goto_ebene6.timer begin
d.new_jump_all(206, 4411, 12736)
timer("dc5", 600)
chat("Ucide-l pe Charon pentru a ajunge la Printul Iadului Azrael.")
d.regen_file("data/dungeon/devilcave/dc_regen_ebene6.txt")
end
when 2597.kill with pc.get_map_index() == 206 begin
timer("dc5", 6000)
chat("Vei fi teleportat la Azrael,fii pregatit pentru lupta finala.")
timer("devils_catacomb_goto_ebene7", 10)
end
when dc5.timer begin
chat("Timpul a expirat!")
warp_all_to_village()
end
--Ebene 8 (Azrael)
when devils_catacomb_goto_ebene7.timer begin
d.new_jump_all(206, 3147, 13191)
chat("Ultima sarcina este de a il invinge pe Azrael.")
d.regen_file("data/dungeon/devilcave/dc_regen_ebene7.txt")
end
when 2598.kill with pc.get_map_index() == 206 begin
syschat("Ai infrant un monstru de categoria ªef,gradul tau va creste cu 500 de puncte.")
pc.change_alignment(500)
game.set_event_flag(("dc_geschaft"), game.get_event_flag("dc_geschaft")+1)
local level = pc.get_level()
d.kill_all()
d.kill_all()
notice_all("<Hall of Fame> Eroul "..pc.get_name().." impreuna cu camarazii sai l-au invins")
notice_all("pe Regele Purgatoriului, Azrael.")
timer("goout_from_dc", 60)
end
end
end- Alcinous
-

- Mesaje: 670
- Membru din: 13 Noi 2020, 23:46
- Server: None
- Regat: Jinno
- Aprecieri: 322
- Mulţumiri: 487
- Discord: Copiază ID
Foloseste-te de acest quest este testat si perfect functional
--********************************************--
--** Northenlongju Deviltower Quest *--
--********************************************--
quest deviltower_zone begin
state start begin
--**
--** Login e logout
--**
when login begin
local map_index = pc.get_map_index()
if map_index == deviltower_zone.GetMapIndex() then
pc.set_warp_location(deviltower_zone.GetTempleMapIndex(), deviltower_zone.GetTempleBaseCoord()[1]+532, deviltower_zone.GetTempleBaseCoord()[2]+600)
elseif deviltower_zone.InDungeon(map_index) then
pc.set_warp_location(deviltower_zone.GetTempleMapIndex(), deviltower_zone.GetTempleBaseCoord()[1]+532, deviltower_zone.GetTempleBaseCoord()[2]+600)
end
end
when logout begin
if deviltower_zone.InDungeon(pc.get_map_index()) then
pc.remove_item(30300, pc.count_item(30300))
pc.remove_item(30301, pc.count_item(30301))
pc.remove_item(30302, pc.count_item(30302))
pc.remove_item(30303, pc.count_item(30303))
pc.remove_item(30304, pc.count_item(30304))
end
end
--**
--** Guardiano torre
--**
when 20348.chat."Vreau sa intru" with pc.get_map_index() == deviltower_zone.GetTempleMapIndex() begin
local min_lev = deviltower_zone.GetEnterMinLevel()
say_title(mob_name(npc.get_race()))
if pc.get_level() < min_lev then
say("Ca sa intri trebuie sa ai cel putin ")
say("nivelul "..min_lev..".[ENTER]")
return
end
say("Vrei sa intri?")
local s = select("Intru", "Nu")
if s == 2 then
return
end
pc.warp((deviltower_zone.GetBaseCoord()[1]+116)*100, (deviltower_zone.GetBaseCoord()[2]+614)*100)
end
--**
--** Piano terra
--**
when devil_stone1.kill begin
notice_in_map("Piatra Metin a fost distrusa,in scurt timp veti trece la urmatorul nivel.", false)
timer("devil_floor_2", 6)
end
--**
--** Secondo piano
--**
when devil_floor_2.timer begin
d.new_jump_all(deviltower_zone.GetMapIndex(), deviltower_zone.GetBaseCoord()[1]+126, deviltower_zone.GetBaseCoord()[2]+384)
d.regen_file("data/dungeon/deviltower2_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), deviltower_zone.GetBaseCoord()[1]+134, deviltower_zone.GetBaseCoord()[2]+147, "data/dungeon/deviltower3_regen.txt")
end
--**
--** Terzo piano
--**
when devil_stone3.kill with deviltower_zone.InDungeon(pc.get_map_index()) begin
d.notice("Regele Demon a fost ucis,in scurt timp veti trece la urmatorul nivel.")
d.clear_regen()
d.kill_all()
d.kill_all()
timer('devil_floor_4', 20)
end
--**
--** Quarto piano
--**
when devil_floor_4.timer begin
d.jump_all(deviltower_zone.GetBaseCoord()[1]+383, deviltower_zone.GetBaseCoord()[2]+618)
d.notice("In scurt timp va aparea Piatra Metin.")
timer('devil_floor_4_spawn', 6)
end
when devil_floor_4_spawn.timer begin
d.spawn_mob(8016, 371, 633)
end
when 8016.kill with deviltower_zone.InDungeon(pc.get_map_index()) begin
local positions = {{368,629},{419,630},{428,653},{422,679},{395,689},{369,679},{361,658}}
for i = 1, table.getn(positions) do
d.spawn_mob (8017, positions[1], positions[2])
end
d.setf("floor", 4)
d.notice("Distruge toate pietrele metin!")
d.notice("Aveti 15 minute la dispozitie...")
end
when 8017.kill with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf ("floor") == 4 begin
d.setf ("floor_4_counter_metin", d.getf ("floor_4_counter_metin") + 1 )
if d.getf ("devil_floor_4_count_metin_first") == 0 then
local nmb = number (1, 7)
d.setf ("devil_floor_4_count_metin_first", 1)
d.setf ("floor_4_correct_metin", nmb)
end
if d.getf ("floor_4_counter_metin") == d.getf ("floor_4_correct_metin") then
d.notice ( "Ati spart Piatra Metin corecta." )
d.clear_regen()
d.kill_all()
d.kill_all()
server_timer("devil_floor_5", 20, d.get_map_index())
else
d.notice ( "Aceasta Piatra Metin este falsa,mai incearca." )
end
end
--**
--** Quinto piano
--**
when devil_floor_5.server_timer begin
if d.select(get_server_timer_arg()) then
d.clear_regen()
d.kill_all()
d.kill_all()
d.set_regen_file("data/dungeon/deviltower5_regen.txt")
d.spawn_mob(20073, 421, 452)
d.spawn_mob(20073, 380, 460)
d.spawn_mob(20073, 428, 414)
d.spawn_mob(20073, 398, 392)
d.spawn_mob(20073, 359, 426)
d.jump_all(deviltower_zone.GetBaseCoord()[1]+369, deviltower_zone.GetBaseCoord()[2]+401)
server_timer("devil_floor_5_15m", 5*60, d.get_map_index())
d.setf("floor", 5)
d.setf("stone_count", 0)
d.setf("mob_count", 0)
d.notice("Obtineti Cheie de deblocare a sigiliilor pentru a trece de acest nivel.")
d.notice("Aveti la dispozitie 20 Minute.")
end
end
--** 15 minuti
when devil_floor_5_15m.server_timer begin
if d.select(get_server_timer_arg()) then
clear_server_timer('devil_floor_5_15m', d.get_map_index())
server_timer('devil_floor_5_10m', 5*60, d.get_map_index())
d.notice("Mai aveti 15 Minute.")
end
end
--** 10 minuti
when devil_floor_5_10m.server_timer begin
if d.select(get_server_timer_arg()) then
clear_server_timer('devil_floor_5_10m', d.get_map_index())
server_timer('devil_floor_5_5m', 5*60, d.get_map_index())
d.notice("Mai aveti 10 Minute.")
end
end
--** 5 minuti
when devil_floor_5_5m.server_timer begin
if d.select(get_server_timer_arg()) then
clear_server_timer('devil_floor_5_5m', d.get_map_index())
server_timer('devil_floor_5_0m', 5*60, d.get_map_index())
d.notice("Mai aveti 5 Minute.")
end
end
--** Tempo scaduto
when devil_floor_5_0m.server_timer begin
if d.select(get_server_timer_arg()) then
clear_server_timer('devil_floor_5_5m', d.get_map_index())
d.notice("Timpul a expirat,ne pare rau dar vei fii teleportat.")
d.exit_all()
end
end
when 1031.kill with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 5 begin
local n = d.getf("mob_count")+1
d.setf("mob_count", n)
if n == deviltower_zone.Get5FloorKill() then
game.drop_item(50084, 1)
d.setf("mob_count", 0)
end
end
when devil_stone5.take with item.get_vnum() == 50084 and deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 5 begin
npc.purge()
item.remove()
local n = d.getf("stone_count")+1
d.setf("stone_count", n)
if n == 5 then
clear_server_timer('devil_floor_5_15m', get_server_timer_arg())
clear_server_timer('devil_floor_5_10m', get_server_timer_arg())
clear_server_timer('devil_floor_5_5m', get_server_timer_arg())
clear_server_timer('devil_floor_5_0m', get_server_timer_arg())
d.clear_regen()
d.kill_all()
d.kill_all()
d.notice ( "Toate sigiliile au fost deblocate." )
d.notice ( "In scurt timp veti fii teleportati la urmatorul nivel." )
timer ( "devi_tower_6floor_antibug", 20 )
else
if n == 4 then
d.notice("Mai aveti un sigiliu de deblocat.")
else
d.notice("Mai aveti "..5-n.." sigilii de deblocat.")
end
end
end
--**
--** Sesto piano
--**
when devi_tower_6floor_antibug.timer begin
d.setf("floor", 6)
d.regen_file("data/dungeon/deviltower6_regen.txt")
d.notice("Ucideti Regele Demonilor,astfel veti putea urca la urmatorul nivel.")
d.jump_all(deviltower_zone.GetBaseCoord()[1]+374, deviltower_zone.GetBaseCoord()[2]+167)
end
when devil_stone6.kill with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 6 begin
d.clear_regen()
d.kill_all()
d.kill_all()
local reward_alchemist = {20074,20075,20076}
d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
d.setqf("can_refine", 1)
end
when 20074.chat."Al 7-lea etaj" or 20075.chat."Al 7-lea etaj" or 20076.chat."Al 7-lea etaj" with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 6 begin
local min_lev = deviltower_zone.Get7FloorMinLevel()
local race = npc.get_race()
say_title(mob_name(race))
say("Felicitari,ati reusit sa ajungi pana la acest nivel.")
say("De acum incolo va fii mult mai rau.")
wait()
say_title(mob_name(race))
if pc.get_level() >= min_lev then
say("Pari destul de puternic aventurierule.")
say("O sa te las sa urci la urmatoarele etaje.")
say("Fii foarte atent")
d.notice("Veti urca la urmatorul etaj...")
timer("devil_floor_7", 20)
return
end
say("Nu esti destul de puternic")
say("Intoarcete cand o sa ai nivelul "..min_lev..".")
wait()
pc.warp((deviltower_zone.GetTempleBaseCoord()[1]+532)*100, (deviltower_zone.GetTempleBaseCoord()[2]+600)*100)
end
--**
--** Settimo piano
--**
when devil_floor_7.timer begin
d.spawn_mob(8018, 639, 658)
d.spawn_mob(8018, 611, 637)
d.spawn_mob(8018, 596, 674)
d.spawn_mob(8018, 629, 670)
d.setf("floor", 7)
d.setf("stone_count", 0)
d.jump_all(deviltower_zone.GetBaseCoord()[1]+590, deviltower_zone.GetBaseCoord()[2]+638)
end
when 8018.kill with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 7 begin
local n = d.getf("stone_count")+1
d.setf("stone_count", n)
if n >= 4 then
d.notice("Gasiti harta corecta pentru a urca.")
d.set_regen_file("data/dungeon/deviltower7_regen.txt")
end
end
when 8019.kill with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 7 begin
game.drop_item(30300, 1)
end
when 1093.kill with deviltower_zone.InDungeon(pc.get_map_index()) begin
local name = pc.get_name()
d.kill_all()
d.kill_all()
server_timer("deviltower_exit_all", 20, pc.get_map_index())
end
when deviltower_exit_all.server_timer begin
if d.select(get_server_timer_arg()) then
d.exit_all()
end
end
when 30300.use with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 7 begin
local n = number(1, 10)
if n == 1 then
game.drop_item(30302, 1)
else
game.drop_item(30301, 1)
end
pc.remove_item(item.get_vnum(), 1)
end
when 30302.use with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 7 begin
d.clear_regen()
d.kill_all()
d.kill_all()
d.clear_regen()
d.notice("Harta pentru pestera Zin a fost gasita.")
pc.remove_item(item.get_vnum(), 1)
timer("devil_floor_8", 20)
end
--**
--** Ottavo piano
--**
when devil_floor_8.timer begin
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
d.spawn_mob(20366, 640, 460)
d.jump_all(deviltower_zone.GetBaseCoord()[1]+590, deviltower_zone.GetBaseCoord()[2]+403)
d.setf("floor", 8)
d.notice("Gasiti cheia corecta pentru a urca.")
end
when 1040.kill with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 8 begin
local drop_key = number (1, 10)
local drop_mob = number (1, 5)
if drop_mob == 2 then
return
elseif drop_key == 1 then
game.drop_item(30304, 1)
else
game.drop_item(30303, 1)
end
end
when 20366.take with item.get_vnum() == 30304 and deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 8 begin
npc.purge()
item.remove()
d.notice("Foarte bine, in scurt timp veti urca.")
timer("devil_floor_9", 20)
d.clear_regen()
d.kill_all()
d.kill_all()
end
--**
--** Nono piano
--**
when devil_floor_9.timer begin
d.clear_regen()
d.kill_all()
d.kill_all()
d.regen_file("data/dungeon/deviltower9_regen.txt")
d.jump_all(deviltower_zone.GetBaseCoord()[1]+590, deviltower_zone.GetBaseCoord()[2]+155)
d.setf("floor", 10)
end
--**
--** Funzioni
--**
function GetMapIndex()
return 66
end
function GetBaseCoord()
return {2048,6656}
end
function GetTempleMapIndex()
return 65
end
function GetTempleBaseCoord()
return {5376,512}
end
function InDungeon(pc_index)
local map_index = deviltower_zone.GetMapIndex()
return (pc.in_dungeon() and pc_index >= map_index*10000 and pc_index < (map_index+1)*10000)
end
--**
--** Funzione dedicata al drop della chiave, più diminuisco la percentuale è maggiore è il drop.
--**
function Get5FloorKill()
return 35
end
function GetEnterMinLevel()
return 35
end
function Get7FloorMinLevel()
return 55
end
end
end/- Tommy Shelby
-

- Mesaje: 432
- Membru din: 31 Mai 2015, 20:42
- Server: AOG2 soon
- Regat: Jinno
- Aprecieri: 58
- Mulţumiri: 579
- Discord: Copiază ID
Arhivat
[ Postat de pe iPhone ]
[ Postat de pe iPhone ]

-
- Informaţie
-
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Bing [Bot] și 40 vizitatori
