Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --**Quest by Luzzo
- --**Data: 24/01/2015
- quest survival begin
- state start begin
- function get_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 9003.chat."Survival" bengin
- say_title("Surival")
- say("")
- say("Sei pronto ad entrare nella ")
- say("modalita' survival?")
- if select("Si","No") != 1 then
- return
- end
- pc.warp(x,y)
- end
- when login with pc.get_map_index() == 149 begin
- pc.set_warp_location(65, 5376+532, 512+596+4)
- end
- when 8009. kill with pc.get_map_index() == 149 begin
- timer("surival_stone", 6)
- end
- when survival_stone.timer begin
- d.new_jump_all(149, x, y)
- d.regen_file("data/dungeon/survival_1.txt")
- d.setqf("ondata", 1)
- server_timer("survival_fail",30*60, d.get_map_index())
- server_timer("survival_notice1",10*60, d.get_map_index())
- d.notice("Avete 30 min per terminare il dungeon")
- end
- when survival_fail.server_timer begin
- d.exit_all()
- end
- when survival_notice1.server_timer begin
- if d.select(get_server_timer_arg()) then
- d.notice("Venti minuti rimanenti.")
- server_timer('survival_notice2', 10*60, get_server_timer_arg())
- end
- end
- when survival_notice2.server_timer begin
- if d.select(get_server_timer_arg()) then
- d.notice("Dieci minuti rimanenti.")
- end
- end
- when s_ondata2.server_timer begin
- d.notice("Ecco la seconda Ondata")
- d.regen_file("data/dungeon/survival_2.txt")
- end
- when kill with pc.get_map_index() >= 1490000 and pc.get_map_index() < 1450000 begin
- if d.count_monster() == 0 then
- if d.getqf("ondata") == 1 then
- d.notice("Prima ondata completata.Tra 5 secondi arrivera' la prossima")
- d.setqf("ondata", 2)
- server_timer("s_ondata2", 5, d.get_map_index())
- elseif d.getqf("ondata") == 2 then
- d.notice("Tra 5 secondi verrete trasportati al piano dei metin.")
- d.setqf("ondata", 0)
- server_timer("s_floor2", 5, d.get_map_index())
- end
- end
- end
- when s_floor2.server_timer begin
- local positions = survival.get_stone_pos()
- for i = 1, 6 do
- d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
- end
- local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
- d.set_unique("real", vid)
- server_loop_timer('stone_update', 10, d.get_map_index())
- d.notice("Trova il metin corretto per salire.")
- end
- when stone_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("Metin falso scompare....");
- end
- end
- end
- else
- server_timer("survival_end", 5, get_server_timer_arg())
- d.notice("Metin esatto...");
- d.notice("Sali all'ultimo piano")
- end
- else
- clear_server_timer('stone_update', get_server_timer_arg())
- end
- end
- when survival_end.server_timer begin
- d.notice("Siete arrivati all'ultimo piano!")
- d.notice("Sconfiggete il boss finale")
- d.spawn_mob(value,x,y)
- end
- when value.kill with pc.get_map_index() >= 1490000 and pc.get_map_index() < 1450000 begin
- d.notice("Avete sconfitto il leggendario mostro")
- d.notice("Avete completato il survival")
- clear_server_timer('stone_update', get_server_timer_arg())
- clear_server_timer('survival_notice1', get_server_timer_arg())
- clear_server_timer('survival_notice2', get_server_timer_arg())
- clear_server_timer('survival_fail', get_server_timer_arg())
- server_timer("survival_exit", 5, d.get_map_index())
- end
- when survival_exit.server_timer begin
- d.exit_all()
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement