Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Potrzebuje quest ODbugowanego Dt


Rekomendowane odpowiedzi

Opublikowano

 

 

quest deviltower_zone begin
    state start begin
	when login begin
	    if pc.get_map_index() == 66 then
		-- ¨Ă«D¦b1ĽÓ®É, °eŞđĄ~­±.
		-- ĽhĽĆ ˝dłň
		-- 1ĽÓ  88  577  236 737
		-- 2ĽÓ  91  343  238 504
		-- 3ĽÓ 104  107  248 269
		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(5428705, 571777)
	    elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
		pc.set_warp_location(5428705, 571777)
	    end
	end
	when deviltower_man.chat.locale.deviltower_man_chat begin
	    if pc.get_level() < 40 then
		say(locale.deviltower_man_say_you_cant)
	    else
		say(locale.deviltower_man_say)
		local s = select(locale.deviltower_enter,locale.deviltower_no_enter)
		if s == 1 then
		    -- warp into!
		    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)  -- ®ř·Ŕ¤ŁŞľ¬O§_¦s¦bŞşŻu¤`ĆF¶đ
		pc.remove_item(30302,mapto7)

		local boxto7= pc.count_item(30300)  -- ®ř·Ŕ¤ŁŞľ¬O§_¦s¦bŞş¤ŁŞľ¦WŞş˝c¤l
		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_stone2.kill begin
	--d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2])
	--end
	when devil_stone3.kill begin
	    --d.jump_all_local(special.devil_tower[3][1], special.devil_tower[3][2])
	    --d.set_exit_all_at_eliminate(6)
	    --d.set_warp_at_eliminate(6, d.get_map_index(), 100, 100)
	    --d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4)
	    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()
	    --d.exit_all()
	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
	    --for i = 1, 7 do
	--	positions[i][1] = positions[i][1] * 100
	--	positions[i][2] = positions[i][2] * 100
	 --   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)
	    -- ¦A˛{¤j¶q©ÇŞ«¤Î»słyŻuĄŰŔY©M°˛ĄŰŔY
	    --d.regen_file("data/dungeon/deviltower4_regen.txt")
	    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("Brawo, udalo sie Tobie");
	    d.notice("zniszczyc kamien metin!");
	    d.notice("Macie 15 minut na nastepnym pietrze[ENTER] zanim zostaniecie wylogowani.");
	    d.notice("Spieszcie sie!");
	end

	when devil_stone4_fail1.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Pozostalo 10 minut!")
		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("Pozostalo 5 minut!")
		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("Nie udalo sie, zostaniecie wylogowany!")
		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("To nie ten kamien!");
			    end
			end
		    end
		else
		    --d.clear_regen()
		    --d.regen_file("data/dungeon/deviltower5_regen.txt")
		    server_timer("devil_stone4_end", 5, get_server_timer_arg())
		    d.notice("Udalo sie! Zabij wszystkie potwory na nastepnym");
		    d.notice("pietrze, aby zdobyc kamien otwarcia!")
		    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("Brawo, jestes na 5 pietrze!")
		d.notice("Aby przejsc na 6 pietro musisz zabic")
		d.notice("wszystkie potwory tutaj, zdobyc kamien")
		d.notice("otwarcia i otworzyc pieczecie przed czasem!")
		d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
		server_timer('devil_stone5_fail1', 60*5, get_server_timer_arg())
		clear_server_timer('devil_stone4_update', get_server_timer_arg())

		-- 5ĽÓÄ~Äň¦A˛{
		d.set_regen_file("data/dungeon/deviltower5_regen.txt")

		-- 5ĽÓ«Ę¦LĄŰ¦A˛{
		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("Pozostalo 15 minut!")
		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("Pozostalo 10 minut!")
		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("Pozostalo 5 minut!")
		server_timer('devil_stone5_fail', 100*60, get_server_timer_arg())
	    end
	end

	when devil_stone5_fail.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Nie udalo sie, zostaniesz wylogowany!")
		d.exit_all()
	    end
	end

	--when devil_stone4.kill begin
	    --d.setf("level", 5)
	    --d.setf("stone_count", 4)
	    --d.clear_regen()
	    --d.regen_file("data/dungeon/deviltower5_regen.txt")
	    --d.jump_all_local(special.devil_tower[4][1], special.devil_tower[4][2])
	--end

	when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
	    local KILL_COUNT_FOR_DROP_KEY = 50
	    --if is_test_server() then
		--KILL_COUNT_FOR_DROP_KEY = 1
	    --end
	    local n =d.getf("count") + 1
	    d.setf("count", n) 
	    if n == KILL_COUNT_FOR_DROP_KEY then
		-- ±Ľ¤UÂę°Í
		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("Brawo udalo sie! jestes na 6 pietrze!")
		d.notice("Zabij wszystkie potwory!")
		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("Do otwarcia pozostały "..d.getf("stone_count").." pieczęcie")
	    end
	end

	when devil_stone6.kill begin
	    -- ¶Ç°e¨ě·Ň¸t©Ň¦bŞş¦aąĎ
	    -- §_«hˇA¶}ł]¤@­Ó·s·Ň¸t
	    --d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2])
	    d.kill_all()
	   -- d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4)
	    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

	--------------------------------------
	-- ĄŃ¶i¤J7ĽÓ¦Ü¨ěąF8ĽÓ¤§«e
	--------------------------------------

	when 20074.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("level") == 6 begin
		say(""..mob_name(20074).."")
		say("Zostaniesz przeniesiony")
		say("na 7 pietro Wiezy Demonow!")
		say("Lecz uwazaj...")
		say("Tam nie bedzie tak latwo jak wczesniej!")
		wait()
		if pc.level >=75 then
			say("Kazdy z graczy zostanie przeniesiony!")
			timer("devil_jump_7", 6)
			return
		end
		say("Mozesz przejsc dalej!")
		say("")
		say("")
		wait()
		pc.warp(590500, 110500)
		return
    end
	when 20075.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("level") == 6 begin
		say(""..mob_name(20075).."")
		say("Zostaniesz przeniesiony")
		say("na 7 pietro Wiezy Demonow!")
		say("Lecz uwazaj...")
		say("Tam nie bedzie tak latwo jak wczesniej!")
		wait()
		if pc.level >=75 then
			say("Kazdy z graczy zostanie przeniesiony!")
			timer("devil_jump_7", 6)
			return
		end
		say("Mozesz przejsc dalej!")
		say("")
		say("")
		wait()
		pc.warp(590500, 110500)
		return
    end
	when 20076.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("level") == 6 begin
		say(""..mob_name(20076).."")
		say("Zostaniesz przeniesiony")
		say("na 7 pietro Wiezy Demonow!")
		say("Lecz uwazaj...")
		say("Tam nie bedzie tak latwo jak wczesniej!")
		wait()
		if pc.level >=75 then
			say("Kazdy z graczy zostanie przeniesiony!")
			timer("devil_jump_7", 6)
			return
		end
		say("Mozesz przejsc dalej!")
		say("")
		say("")
		wait()
		pc.warp(590500, 110500)
		return
    end

   when devil_jump_7.timer begin
		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
		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
		game.drop_item(30300, 1)
	end

	when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		pc.remove_item("30300", 1)

		local pct = number(1,3)

		if pct == 1 then
			-- ±Ľ¤UŻu¦aąĎ
			game.drop_item(30302, 1)
			d.clear_regen()
		else
			-- ±Ľ¤U°˛¦aąĎ
			game.drop_item(30301, 1)
			
		end
	end

	when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		-- ¶Ç°e¨ě8ĽÓ
		say("Przeniesiesz sie na 8 pietro!")
		pc.remove_item("30302", 1)
	    timer("devil_jump_8", 6)
		d.clear_regen()
	end
						
	--------------------------------------------
	-- ĄŃ¶i¤J8ĽÓ¦Ü¨ěąF9ĽÓ¤§«e
	--------------------------------------------
	when devil_jump_8.timer begin
		d.setf("level", 8)
		d.jump_all(2048+590, 6656+403)
		d.set_regen_file("data/dungeon/deviltower8_regen.txt")
		d.spawn_mob(20366, 640, 460)
		local _count= pc.count_item(30302)-- ®ř·ŔŻu¤`ĆF¶đ
		pc.remove_item(30302,_count)
		
	end

	when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		local pct1 = number(1, 5)
		if pct1 == 1 then
			local pct2 = number(1, 10)
			if pct2 == 1 then
				-- ±Ľ¤UŻuÂę°Í
				game.drop_item(30304, 1)
			else
				-- ±Ľ¤U°˛Âę°Í
				game.drop_item(30303, 1)
			end
		else
			return
		end
	end

	when 20366.take with item.vnum == 30304 begin
		-- 9ĽÓ«Ę¦L¸Ń°Ł
		d.notice("Zostaniecie przeniesieni na 9 pietro!")
		npc.purge()
		item.remove()
		timer("devil_jump_9", 6)
	end

	---------------------------------------------
	-- ĄŃ¶i¤J9ĽÓ¦Üµ˛§ô
	---------------------------------------------
	when devil_jump_9.timer begin
		d.setf("level", 9)
		d.jump_all(2048+590, 6656+155)
		d.regen_file("data/dungeon/deviltower9_regen.txt")
		d.notice("Macie 10 minut na zabicie Umarłego Rozpruwacza")
		timer("devil_end_jump", 600)
		
	end

	when devil_end_jump.timer begin
	    d.exit_all()
	end
		
	when login begin
		if pc.get_map_index() == 65 then
			if pc.getqf("priv_dt") > 0 then
				pc.setqf("priv_dt", 0)
			end
		end

	    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(5428705, 571777)
	    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 30122.chat."Co to za portal?" begin
	say("Ten portal jest to wejście do")
	say("Wieży Setaou której wladcą jest Nieb. Śmierć.")
	say("Aby się do niej dostać musi")
	say("ze mną porozmawiać lider grupy")
	say("min. 3 osobowej który posiada poziom")
	say("wyższy niż 80.")
	end


	
	when 30122.chat."Wejdź do Wieży Setaou" with party.is_leader() begin
		say_title("Strażnik Wieży Setaou:")
		if party.get_near_count() < 2 then
			say("Wybacz, musisz mieć ze sobą 3 osoby w grupie.")
			party.chat("Wasza grupa posiada zbyt mało członków.")
			return
		end
	    if pc.get_level() < 75 then
		say("Wybacz, mogę wpuszczać tylko osoby od 75 poziomu.")
		party.chat("Lider grupy nie posiada 75 poziomu.")
	    else
		say("Spełniasz wszystkie warunki..")
		say("Czy aby na pewno chcesz wejść do Wieży?")
		say("Czeka tam na Ciebie i Twoich znajomych ogromne")
		say("niebezpieczeństwo.. Jesteś tego pewien?")
		local s = select("Wejdź!","Nie wchodzę..")
		
		if s == 1 then
			pc.setqf("priv_dt", 1)
		    -- join into map!
		    d.join(66)
		end
	    end
	end

	
	when login with pc.in_dungeon() begin
			--local i = nie ważne..
			--chat("i: "..i) -- for test
			if party.is_leader() == true and pc.getqf("priv_dt") > 0 then
				pc.setqf("priv_dt", 0)
				d.regen_file("data/dungeon/wygnancy.txt")
				d.notice("Witajcie, w Wieży Wygnańców!")
				d.notice("Zniszczie Metin Hara-Oi, by przedostać się dalej.")
				d.spawn_mob(8029, 195, 690)
			end
	end
	
	
	when 8029.kill with pc.in_dungeon() begin
	    timer("wieza", 6)
	end
	when wieza.timer begin
	    d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
	    d.regen_file("data/dungeon/wygnancy2.txt")
	    d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/wygnancy3.txt")
	end
	when 1903.kill with pc.in_dungeon() begin
	    d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/wygnancy4.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 8031.kill with pc.in_dungeon() begin
	    d.setf("levels", 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(8030, positions[i][1], positions[i][2]))
	    end
	    chat(positions[7][1], positions[7][2])
	    local vid = d.spawn_mob(8030, positions[7][1], positions[7][2])
	    chat(vid)
	    d.set_unique("real", vid)
	    server_loop_timer('devil_stone4_updates', 10, pc.get_map_index())
	    server_timer('devil_stone4_fail1s', 5*60, pc.get_map_index())

	    d.notice("Brawo, udało się Tobie zniszczyć Metin Pomylki.");
	    d.notice("Musicie teraz znaleźć prawdziwy Kamień Metin,");
	    d.notice("by dostać się na kolejne piętro.");
	    d.notice("Macie na to 5 minut zanim zostaniecie wylogowani !");
	    d.notice("Śpieszcie się!");
	end

	when devil_stone4_fail1s.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Pozostało 10 minut!")
		server_timer('devil_stone4_fail2s', 5*60, get_server_timer_arg())
	    end
	end

	when devil_stone4_fail2s.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Pozostało 5 minut!")
		server_timer('devil_stone4_fails', 5*60, get_server_timer_arg())
	    end
	end

	when devil_stone4_fails.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Nie udalo sie, zostaniecie wylogowany!")
		d.exit_all()
		clear_server_timer('devil_stone4_updates', get_server_timer_arg())
	    end
	end

	when devil_stone4_updates.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("To nie ten kamień!");
			    end
			end
		    end
		else
		    server_timer("devil_stone4_ends", 5, get_server_timer_arg())
		    d.notice("Udało się wam zniszczyć prawdziwy Kamień Metin!");
		    d.notice("Zostaniecie przeniesieni na kolejne piętro.")
		    clear_server_timer('devil_stone4_fail1s', get_server_timer_arg())
		    clear_server_timer('devil_stone4_fail2s', get_server_timer_arg())
		    clear_server_timer('devil_stone4_fails', get_server_timer_arg())
		end
	    else
		server_timer('devil_stone4_stop_timers', 1, get_server_timer_arg())
	    end
	end

	when devil_stone4_stop_timers.server_timer begin
	    clear_server_timer('devil_stone4_updates', get_server_timer_arg())
	end

	when devil_stone4_ends.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.setf("levels", 5)
		d.setf("stone_counts", 5)
		d.notice("Świetnie.. Przechodzicie na 5 piętro!")
		d.notice("Aby przejść na kolejne musicie zabić wszystkie potwory.")
		d.notice("Poczym podnieść Kamień Otwarcia i otworzyć,")
		d.notice("wszystkie pięć pieczęci przed czasem!")
		d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
		server_timer('devil_stone5_fail1s', 60*600, get_server_timer_arg())
		clear_server_timer('devil_stone4_updates', get_server_timer_arg())

		-- 5ĽÓÄ~Äň¦A˛{
		d.set_regen_file("data/dungeon/wygnancy5.txt")

		-- 5ĽÓ«Ę¦LĄŰ¦A˛{
		d.spawn_mob(20353, 421, 452)
		d.spawn_mob(20353, 380, 460)
		d.spawn_mob(20353, 428, 414)
		d.spawn_mob(20353, 398, 392)
		d.spawn_mob(20353, 359, 426)
	    end
	end
	when devil_stone5_fail1s.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Do Końca pozostało 15 minut.")
		server_timer('devil_stone5_fail2s', 5*60, get_server_timer_arg())
	    end
	end

	when devil_stone5_fail2s.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Do Końca pozostało 10 minut.")
		server_timer('devil_stone5_fail3s', 5*60, get_server_timer_arg())
	    end
	end

	when devil_stone5_fail3s.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Do Końca pozostało 5 minut.")
		server_timer('devil_stone5_fails', 5*60, get_server_timer_arg())
	    end
	end

	when devil_stone5_fails.server_timer begin
	    if d.select(get_server_timer_arg()) then
		d.notice("Niestety... Nie udało się! Zostaniecie wylogowani.")
		d.exit_all()
	    end
	end

	when 2402.kill with pc.in_dungeon() and d.getf("levels") == 5 begin
	    local KILL_COUNT_FOR_DROP_KEYs = 50
	    local n =d.getf("counts") + 1
	    d.setf("counts", n) 
	    if n == KILL_COUNT_FOR_DROP_KEYs then
		pc.give_item2(50084, 1)
		d.notice(pc.get_name().." Podniósł Kamień Otwarcia!")
		d.setf("counts", 0)
	    end
	end
	when 20353.take with item.vnum == 50084 and d.getf("levels") == 5 begin
	    npc.purge()
	    item.remove()
	    d.setf("stone_counts", d.getf("stone_counts") - 1)
	    if d.getf("stone_counts") <= 0 then
		d.setf("levels", 6)
		d.clear_regen()
		d.regen_file("data/dungeon/wygnancy6.txt")

		d.notice("Brawo, udało się! Jesteście na 6 piętrze!")
		d.notice("Zabijcie wszystkie potwory!")
		d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
		timer("mob",6)
		clear_server_timer('devil_stone5_fail1s', get_server_timer_arg())
		clear_server_timer('devil_stone5_fail2s', get_server_timer_arg())
		clear_server_timer('devil_stone5_fail3s', get_server_timer_arg())
		clear_server_timer('devil_stone5_fails', get_server_timer_arg())
	    else
				d.notice("Do otwarcia pozostały "..d.getf("stone_counts").." pieczęcie.")
	    end
	end
	
	when mob.timer begin
		d.spawn_mob(1094, 425, 216);
	end

	when 1094.kill with pc.in_dungeon() and d.getf("levels") == 6 begin
	    d.kill_all()
	    d.check_eliminated()
	    local reward_alchemists = {20074, 20075, 20076}
	    d.spawn_mob(reward_alchemists[number(1,3)], 425, 216);
	    d.setqf("can_refine", 2)
	end
	

	--------------------------------------
	-- ĄŃ¶i¤J7ĽÓ¦Ü¨ěąF8ĽÓ¤§«e
	--------------------------------------

	when 20074.chat."Chce przejść dalej" with pc.in_dungeon() and d.getf("levels") == 6 begin
		say_title(""..mob_name(20074).."")
		say("Możesz przejsć na 7 piętro Wieży Wygnańców?")
		say("Musisz posiadać 80 level i być liderem grupy.")
		say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
		wait()
		if party.is_leader() then
			say_title(""..mob_name(20074).."")
			say("Posiadasz odpowiedni level.")
			say("Zostaniesz przeniesiony na 7 piętro.")
			timer("devil_jump_7s", 6)
			npc.purge()
			return
		end
		say_title(""..mob_name(20074).."")
		say("Wybacz.. nie posiadasz 80 poziomu")
		say("lub nie jesteś liderem grupy.")
		say("Nie mogę Cię przenieść na kolejne piętro.")

		return
    end
	when 20075.chat."Chce przejść dalej" with pc.in_dungeon() and d.getf("levels") == 6 begin
		say_title(""..mob_name(20075).."")
		say("Możesz przejsć na 7 piętro Wieży Wygnańców?")
		say("Musisz posiadać 80 level i być liderem grupy.")
		say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
		wait()
		if party.is_leader() then
			say_title(""..mob_name(20075).."")
			say("Posiadasz odpowiedni level.")
			say("Zostaniesz przeniesiony na 7 piętro.")
			timer("devil_jump_7s", 6)
			npc.purge()
			return
		end
		say_title(""..mob_name(20075).."")
		say("Wybacz.. nie posiadasz 80 poziomu")
		say("lub nie jesteś liderem grupy.")
		say("Nie mogę Cię przenieść na kolejne piętro.")
    end
	when 20076.chat."Chce przejść dalej" with pc.in_dungeon() and d.getf("levels") == 6 begin
		say_title(""..mob_name(20076).."")
		say("Możesz przejsć na 7 piętro Wieży Wygnańców?")
		say("Musisz posiadać 80 level i być liderem grupy.")
		say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
		wait()
		if party.is_leader() then
			say_title(""..mob_name(20076).."")
			say("Posiadasz odpowiedni level.")
			say("Zostaniesz przeniesiony na 7 piętro.")
			timer("devil_jump_7s", 6)
			npc.purge()
			return
		end
		say_title(""..mob_name(20076).."")
		say("Wybacz.. nie posiadasz 80 poziomu")
		say("lub nie jesteś liderem grupy.")
		say("Nie mogę Cię przenieść na kolejne piętro.")
		return
    end

	when devil_jump_7s.timer begin
		d.setf("levels", 7)
		d.regen_file("data/dungeon/wygnancy7.txt")
		d.jump_all(2048+590, 6656+638)
		d.spawn_mob(1095,617,676)
		timer("devil_end_jumps", 900)
		d.notice("Macie 15 minut na zabicie Nieb. Śmierci")

	end
		when 1095.kill begin
		d.notice("Zabiliście Niebieską Śmierć!")
		d.notice("Za 15sekund zostaniecie wyrzuceni z WW.")
		timer("zabitasmierc", 15)
		end
	when zabitasmierc.timer begin
		d.exit_all()
		end
	when devil_end_jumps.timer begin
	    d.exit_all()
	end
end
state __GOOD__ begin
end
end 

 

 

727881401622271220780.jpeg

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...