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

Quest DT ominięcie piętra


Rekomendowane odpowiedzi

Opublikowano

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pomógł by mi ktoś przerobić tego questa aby omijało piętro z Metinami tzn.


3) (trzecie piętro) Jest to piętro z metinami. Należy zniszczyć pierwszy metin Metin Diabła, po którym pojawiają się Metiny Upadku. Żeby dostać się na kolejne piętro, należy zniszczyć prawidłowy kamień metin.


Quest:

 

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.set_warp_location(65, 5376+532, 512+596+4)
			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.locale.deviltower_man_chat begin
		say_title("Strażnik DT:")
	    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 deviltower_man.chat."Prywatna Wieża Demonów" with party.is_leader() begin
		if party.get_near_count() < 3 then
		say_title("Strażnik DT:")
		say("Grupa musi się składać z minimalnie trzech osób.")
		return
			end
		if pc.get_level() < 40 then
		say(locale.deviltower_man_say_you_cant)
		else
		say_title("Strażnik DT:")
		say(locale.deviltower_man_say)
		--say_red("Koszt prywatnej wyprawy: 1.000.000 Yang.")
		local s = select(locale.deviltower_enter,locale.deviltower_no_enter)
		if s == 1 then
		if pc.get_money() < 1500000 then
		say_title("Strażnik WM/DT")
		say("Nie posiadasz wystarczającej ilości Yang!")
		--say_red("Koszt prywatnej wyprawy: 1.500.000 Yang.")
		return
		end
			pc.setqf("priv_dt", 1)
			pc.change_gold(-1500000)
			d.join(66)
                end
                end
        end

        when login with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
		if party.is_leader() == true and pc.getqf("priv_wm") > 0 then
				pc.setqf("priv_wm", 0)
				d.set_regen_file("data/dungeon/mystictower1.txt")
		end
                        if party.is_leader() == true and pc.getqf("priv_dt") > 0 then
                                pc.setqf("priv_dt", 0)
                                d.set_regen_file("data/dungeon/deviltower1.txt")
                        end
        end

	when devil_stone1.kill begin
	    timer("devil_stone1_1", 10)
	end
	when devil_stone1_1.timer begin
	    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")
	    d.setf("parter", 1)
	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
		if game.get_event_flag(pc.get_name().."Notatki") == 1 then
                        local s = number(1, 2)
                        if s ==1 then
                                pc.give_item2(30168, 1)
		end
	end
	    --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
		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('devil_stone4_update', 10, pc.get_map_index())
	    server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())

	    d.notice("Świetnie! Udało się zniszczyć kamień Metin!");
	    d.notice("Odszukajcie prawdziwy kamień Metin i zniszczcie go aby dostać się ")
	    d.notice("na następne piętro. Śpieszcie się! Macie na owe zadanie 15 minut.");
	end

	when devil_stone4_fail1.server_timer begin
	    if d.select(get_server_timer_arg()) then
		if d.getf("level") == 4 then
		d.notice("Pozostało 10 minut!")
		server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
	    end
	end
end

	when devil_stone4_fail2.server_timer begin
	    if d.select(get_server_timer_arg()) then
		if d.getf("level") == 4 then
		d.notice("Pozostało 5 minut!")
		server_timer('devil_stone4_fail', 5*60, get_server_timer_arg())
	    end
	end
end

	when devil_stone4_fail.server_timer begin
	    if d.select(get_server_timer_arg()) then
		if d.getf("level") == 4 then
		d.notice("Nie udało się. Zostaniecie przeniesieni na zewnątrz.")
		d.exit_all()
		clear_server_timer('devil_stone4_update', get_server_timer_arg())
	    end
	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("Niestety, to nie ten kamień!");
			    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("Udało się! Zniszczyliście prawdziwy kamień Metin.");
		    d.notice("Dostaniecie się na 5 piętro.")
		    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("Aby przejść na 6 piętro musicie zabić wszystkie potwory,.. ")
		d.notice("zdobyć z nich Kamień Otwarcia i otworzyć wszystkie Pieczęcie")
		d.notice("przed czasem. Na to zadanie otrzymaliście 20 minut.")

		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())

		-- 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
		if d.getf("level") == 5 then
		d.notice("Pozostało 15 minut!")
		server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
	    end
	end
end

	when devil_stone5_fail2.server_timer begin
	    if d.select(get_server_timer_arg()) then
		if d.getf("level") == 5 then
		d.notice("Pozostało 10 minut!")
		server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg())
	    end
	end
end

	when devil_stone5_fail3.server_timer begin
	    if d.select(get_server_timer_arg()) then
		if d.getf("level") == 5 then
		d.notice("Pozostało 5 minut!")
		server_timer('devil_stone5_fail', 5*60, get_server_timer_arg())
	    end
	end
end

	when devil_stone5_fail.server_timer begin
	    if d.select(get_server_timer_arg()) then
		if d.getf("level") == 5 then
		d.notice("Nie udało się. Zostaniecie przeniesieni na zewnątrz.")
		d.exit_all()
	    end
	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
	    local n =d.getf("count") + 1
	    d.setf("count", n) 
	    if n == KILL_COUNT_FOR_DROP_KEY then
		d.setf("count", 0)
		pc.give_item2(50084, 1)
				local m_sex = pc.get_sex()
				    if m_sex == 0 then
		d.notice(pc.get_name().." zdobył Kamień Otwarcia! ")
			else
		d.notice(pc.get_name().." zdobyła Kamień Otwarcia! ")
	    end
	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, udało się! Jesteście na 6 piętrze.")
		d.notice("Zabijcie wszystkie potwory, lecz pamiętajcie,..")
		d.notice("tym piętrem dowodzi Elit.Król Demonów.")
		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("Otworzyłeś pieczęć! Pozostało jeszcze: "..d.getf("stone_count").." ")
	    end
	end

    when devil_stone6.kill begin
	 timer("zabito", 1)
        timer("schmied_spawn",10)
    end
    
    when zabito.timer begin
	d.notice("Elit. Król Demonów został zgładzony!")
	d.notice("Za chwilkę pojawi się kowal.")
        d.kill_all()
		if game.get_event_flag(pc.get_name().."Notatki") == 1 then
                        local s = number(1, 2)
                        if s ==1 then
                                pc.give_item2(30168, 1)
		end
	end
	end

    when schmied_spawn.timer begin
        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."Chcę przejść dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and pc.level >= 75 and d.getf("level") == 6 begin
		say_title(""..mob_name(20074).."")
		say("Zostaniesz przeniesiony na 7 piętro")
		say("Wieży Demonów. Lecz uważaj...")
		say("Tam nie będzie tak łatwo jak wcześniej!")
		wait()
		if pc.level >=75 then
			say("Każdy z graczy zostanie przeniesiony!")
			npc.purge()
			timer("devil_jump_7", 6)
			return
		end
		say("No chyba żartujesz, nie dasz Sobie rady..")
		say("Nie pozwolę na to abyś poległ!")
		say("A idź Mi stąd..!")
		say("")
		wait()
		pc.warp(590500, 110500)
		return
    end
	when 20075.chat."Chcę przejść dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and pc.level >= 75 and d.getf("level") == 6 begin
		say_title(""..mob_name(20075).."")
		say("Zostaniesz przeniesiony na 7 piętro")
		say("Wieży Demonów. Lecz uważaj...")
		say("Tam nie będzie tak łatwo jak wcześniej!")
		wait()
		if pc.level >=75 then
			say("Każdy z graczy zostanie przeniesiony!")
			npc.purge()
			timer("devil_jump_7", 6)
			return
		end
		say("No chyba żartujesz, nie dasz Sobie rady..")
		say("Nie pozwolę na to abyś poległ!")
		say("A idź Mi stąd..!")
		say("")
		wait()
		pc.warp(590500, 110500)
		return
    end
	when 20076.chat."Chcę przejść dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and pc.level >= 75 and d.getf("level") == 6 begin
		say_title(""..mob_name(20076).."")
		say("Zostaniesz przeniesiony na 7 piętro")
		say("Wieży Demonów. Lecz uważaj...")
		say("Tam nie będzie tak łatwo jak wcześniej!")
		wait()
		if pc.level >=75 then
			if d.getf("myk") == 1 then
			say_title(mob_name(20076))
			say("Już ktoś inny otworzył dalszą drogę!")
			return
		end
			say("Każdy z graczy zostanie przeniesiony!")
			d.setf("myk", 1)
			npc.purge()
			timer("devil_jump_7", 6)
			return
		end
		say("No chyba żartujesz, nie dasz Sobie rady..")
		say("Nie pozwolę na to abyś poległ!")
		say("A idź Mi stąd..!")
		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)
		d.setf("8_pietro", 1)
	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,10)

		if pct == 1 then
			d.notice(pc.get_name().." zdobył prawdziwą Mapę Wieży Zin-Sa-Gui!")
			pc.give_item2(30302, 1)
			d.clear_regen()
		else
			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
		if d.getf("8_pietro") == 0 then
		syschat("Mapę Wieży Zin-Sa-Gui można użyć tylko i wyłącznie na 8. piętrze.")
		return
	end
		d.notice(pc.get_name().." przeczytał Mapę Wieży Zin-Sa-Gui!")
		d.notice("Zostaniecie przeniesieni na 8 piętro.")
		pc.remove_item("30302", 1)
	    timer("devil_jump_8", 6)
		d.clear_regen()
		d.setf("8_pietro", 0)
	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)
		
	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
		d.notice(pc.get_name().." otworzył pomnik Sa-Soe!")
		d.notice("Zostaniecie przeniesieni na ostatnie piętro.")
		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")
	end

	when 1093.kill begin
		if game.get_event_flag(pc.get_name().."Notatki") == 1 then
                        local s = number(1, 2)
                        if s ==1 then
                                pc.give_item2(30168, 1)
		end
	end
		if game.get_event_flag(pc.get_name().."Liderow") == 1 then
                        local s = number(1, 2)
                        if s == 1 and pc.count_item(30227)==0 then
                                pc.give_item2(30227, 1)
					game.set_event_flag(pc.get_name().."Liderow", 1)
					game.set_event_flag(pc.get_name().."Notatki", 0)
			end
	end
		local leveld = npc.get_level()+15
		local levelu = npc.get_level()-15
		if game.get_event_flag("WielkanocMetin") == 1 then
		if pc.get_level() > leveld then
		notice("[Event Wielkanocny]: Twój poziom jest zbyt duży by móc zdobyć Magiczne Jajo!")
		end
		if pc.get_level() < levelu then
		notice("[Event Wielkanocny]: Twój poziom jest zbyt niski by móc zdobyć Magiczne Jajo!")
		end
		if pc.get_level() >= levelu and pc.get_level() <= leveld then
		local szansa
		szansa=game.get_event_flag("WielkanocSzansa")
		local s= number(1,10)
		if s <= szansa then
		pc.give_item2(game.get_event_flag("ItemWielkanoc"))
		notice("[Event Wielkanocny]: Zdobyłeś Magiczne Jajo!")
	for i = 0, 130 do
		if item.select_cell(i) then
		if item.get_vnum() == 71150 then
		if item.get_socket(0) == 0 then
		if item.get_socket(1) == 0 then
		item.set_socket(0, 3)
		return
		end
		end
		end
		end
		end
		elseif s > szansa then
		notice("[Event Wielkanocny]: Nie udało się zdobyć Magiczne Jajo!")
		end
	end
end
		if pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
		if party.is_party() then
		party.setqf("DiabelskieKatakumby", 1)
		elseif not party.is_party() then
		pc.setqf("DiabelskieKatakumby", 1)
		end
              local m_sex = pc.get_sex()
		if m_sex == 0 then
		notice_all("|cFFFFFF30|h[CH"..pc.get_channel_id().."]:|h|r |cFF03F030|h[Lv. "..pc.get_level().."]:|h|r "..pc.get_name().." pokonał/a Umarłego Rozpruwacza!")
		else
		notice_all("|cFFFFFF30|h[CH"..pc.get_channel_id().."]:|h|r |cFF03F030|h[Lv. "..pc.get_level().."]:|h|r "..pc.get_name().." pokonał/a Umarłego Rozpruwacza!")
		end
		if game.get_event_flag(pc.get_name().."riper") == 1 then
		game.set_event_flag(pc.get_name().."riper",0)
		say_title("Pewnego słonecznego dnia")
		say("Zdobyłeś torbę ze złotem!")
		say("Idź prędko do Deokbae i oddaj mu ją!")
		say("")
		pc.give_item2("50023", 1)
		set_quest_state("slonecznego_dnia", "drwal_nagroda")
        end
		if pc.get_level() <= 74 then
		d.notice("Pomyślnie wykonałeś całe zadanie. ")
		d.notice("Za chwilkę zostaniesz przeniesiony na zewnątrz. ")
		d.notice("<Informacja> Aby przejść na Niebieską Śmierć potrzebujesz 75 Poziom Postaci!")
		d.kill_all()
		timer('devil_end_jump', 30)
		end
	end
		if pc.get_level() >74 then
		d.notice("Zaraz pojawi się Hwa-Hee, strażniczka 10 piętra Wieży Demonów.")
		d.notice("<Informacja> Aby Hwa-Hee się pojawiła musisz posiadać 75 Poziom Postaci!")
		timer("hwahee", 5)
end
end

	when hwahee.timer begin
		d.kill_all()
		d.spawn_mob(20092, 610, 200)

	end
	when 20092.chat."Niebieska Śmierć " with pc.level >= 75 begin
		say_title("Hwa-Hee")
		say("Aby dostać się na 10. piętro musisz przekazać mi,")
		say("Szkat. Umarłego Rozpruwacza, inaczej nie mogę Cię ")
		say("przenieść wyżej.")
		say_item_vnum(50082)
		local s = select("Trzymaj i przenieść mnie!", "Przenieś mnię na zewnątrz!")
		if s == 2 then
		d.notice("Pomyślnie wykonałeś całe zadanie. ")
		d.notice("Za chwilkę zostaniesz przeniesiony na zewnątrz. ")
		timer('devil_end_jump', 30)
	return
end
		if s == 1 then
		if pc.count_item(50082) <1 then
		say_title("Hwa-Hee")
		say("Nie posiadasz Szkatułki Umarłego Rozpruwacza.")
		--say_red("Próbowałeś mnie oszukać!")
		timer("devil_end_jump", 30)
		d.notice("Za chwilkę zostaniesz przeniesiony na zewnątrz. ")
		return
	end
		npc.purge()
		d.kill_all()
		pc.remove_item(50082, 1)
		d.setf("level", 10)
		d.jump_all(2048+590, 6656+155)
		d.spawn_mob(1095, 610, 200)
		end
	end

	when 1095.kill begin
		if game.get_event_flag(pc.get_name().."Notatki") == 1 then
                        local s = number(1, 2)
                        if s ==1 then
                                pc.give_item2(30168, 1)
		end
	end
		if game.get_event_flag(pc.get_name().."Liderow") == 1 then
                        local s = number(1, 2)
                        if s == 1 and pc.count_item(30227)==0 then
                                pc.give_item2(30227, 1)
					game.set_event_flag(pc.get_name().."Liderow", 1)
					game.set_event_flag(pc.get_name().."Notatki", 0)
			end
	end
		local leveld = npc.get_level()+15
		local levelu = npc.get_level()-15
		if game.get_event_flag("WielkanocMetin") == 1 then
		if pc.get_level() > leveld then
		notice("[Event Wielkanocny]: Twój poziom jest zbyt duży by móc zdobyć Magiczne Jajo!")
		end
		if pc.get_level() < levelu then
		notice("[Event Wielkanocny]: Twój poziom jest zbyt niski by móc zdobyć Magiczne Jajo!")
		end
		if pc.get_level() >= levelu and pc.get_level() <= leveld then
		local szansa
		szansa=game.get_event_flag("WielkanocSzansa")
		local s= number(1,10)
		if s <= szansa then
		pc.give_item2(game.get_event_flag("ItemWielkanoc"))
		notice("[Event Wielkanocny]: Zdobyłeś Magiczne Jajo!")
	for i = 0, 130 do
		if item.select_cell(i) then
		if item.get_vnum() == 71150 then
		if item.get_socket(0) == 0 then
		if item.get_socket(1) == 0 then
		item.set_socket(0, 3)
		return
		end
		end
		end
		end
		end
		elseif s > szansa then
		notice("[Event Wielkanocny]: Nie udało się zdobyć Magiczne Jajo!")
		end
	end
end
		if pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
		d.notice("Brawo! Zabiliście Niebieską Śmierć.")
		d.notice("Zaraz pojawi się trzech kowali.")
              local m_sex = pc.get_sex()
		if m_sex == 0 then
		notice_all("|cFFFFFF30|h[CH"..pc.get_channel_id().."]:|h|r |cFF03F030|h[Lv. "..pc.get_level().."]:|h|r "..pc.get_name().." pokonał/a Niebieską Śmierć!")
		else
		notice_all("|cFFFFFF30|h[CH"..pc.get_channel_id().."]:|h|r |cFF03F030|h[Lv. "..pc.get_level().."]:|h|r "..pc.get_name().." pokonał/a Niebieską Śmierć!")
		end
		timer('kowale', 10)
		d.kill_all()
		end
	end

	when devil_end_jump.timer begin
	    d.exit_all()
	end

	when kowale.timer begin
	 timer('devil_end_jump', 180)
        d.check_eliminated()
        d.spawn_mob(20074, 614, 145);
        d.spawn_mob(20075, 628, 145);
        d.spawn_mob(20076, 638, 149);
        d.setqf("can_refine", 1)
	 d.notice("Za trzy minuty zostaniecie przeniesieni na zewnątrz!")
    end

		when deviltower_man.chat."Do Wieży Mistyków" with party.is_leader() and pc.get_level() >= 35 and pc.get_level() <= 60 begin
			if party.get_near_count() < 2 then
				say_title("Strażnik DT:")
				say("Grupa musi się składać z minimalnie dwóch osób.")
				return
			end
			
			if party.get_max_level() >= 61 then
				say_title("Strażnik WM/DT")
				say("Członek Twojej grupy ma poziom większy niż 60.")
				return
			end
			
			say_title("Strażnik WM/DT")
			say("Ta wieża jest opanowana przez mistyków. Na jej[ENTER]szczyt mogą dostać się jedynie najsilniejsi.[ENTER]Chodzą słuchy, że jeszcze nikt nie wyszedł z niej[ENTER]żywy. Czy nadal chcesz wejść do Wieży[ENTER]Mistyków?")
			say_red("Koszt prywatnej wyprawy: 500.000 Yang.")
			local s = select(locale.deviltower_enter,locale.deviltower_no_enter)
			if s == 1 then
				if pc.get_money() < 500000 then
					say_title("Strażnik WM/DT")
					say("Nie posiadasz wystarczającej ilości Yang!")
					say_red("Koszt prywatnej wyprawy: 500.000 Yang.")
					return
				end
				
				pc.setqf("priv_wm", 1)
				pc.change_gold(-500000)
				d.join(66)
			end
		end

		when kill with npc.get_race() == 8008 and pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			timer("mystic_stone1_1", 15)
		end

		when mystic_stone1_1.timer begin
			d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
			d.regen_file("data/dungeon/mystictower2_regen.txt")
			d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/mystictower3_regen.txt")
		end

		when kill with npc.get_race() == 691 begin
			local m_sex = pc.get_sex()
			if m_sex == 0 then
			end
			if pc.in_dungeon() then
				d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/mystictower4_regen.txt")
				d.check_eliminated()
			end
		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 kill with npc.get_race() == 8010 and pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			timer("levelm", 4)
			local positions = deviltower_zone.get_4floor_stone_pos()
			for i = 1, 6 do
				d.set_unique("fakem" .. i , d.spawn_mob(8011, positions[i][1], positions[i][2]))
			end
			local vid = d.spawn_mob(8011, positions[7][1], positions[7][2])
			d.set_unique("realm", vid)
			server_loop_timer('mystic_stone4_update', 10, pc.get_map_index())
			server_timer('mystic_stone4_fail1', 5*60, pc.get_map_index())
			d.notice("Świetnie! Udało się zniszczyć kamień Metin!");
			d.notice("Odszukajcie prawdziwy kamień Metin i zniszczcie go aby dostać się ")
			d.notice("na następne piętro. Śpieszcie się! Macie na owe zadanie 15 minut.");
		end

		when mystic_stone4_fail1.server_timer begin
			if d.select(get_server_timer_arg()) then
				if d.getf("levelm") == 4 then
					d.notice("Pozostało 10 minut!")
					server_timer('mystic_stone4_fail2', 5*60, get_server_timer_arg())
				end
			end
		end

		when mystic_stone4_fail2.server_timer begin
			if d.select(get_server_timer_arg()) then
				if d.getf("levelm") == 4 then
					d.notice("Pozostało 5 minut!")
					server_timer('mystic_stone4_fail', 5*60, get_server_timer_arg())
				end
			end
		end

		when mystic_stone4_fail.server_timer begin
			if d.select(get_server_timer_arg()) then
				if d.getf("levelm") == 4 then
					d.notice("Nie udało się. Zostaniecie przeniesieni na zewnątrz.")
					d.exit_all()
					clear_server_timer('mystic_stone4_update', get_server_timer_arg())
				end
			end
		end

		when mystic_stone4_update.server_timer begin
			if d.select(get_server_timer_arg()) then
				if not d.is_unique_dead("realm") then
					for i = 1, 6 do
						if d.getf("fakedeadm" .. i) == 0 then
							if d.unique_get_hp_perc("fakem" .. i) < 50 then
								d.purge_unique("fakem" .. i)
								d.setf("fakedeadm" .. i, 1)
								d.notice("Niestety, to nie ten kamień!");
							end
						end
					end
				else
					server_timer("mystic_stone4_end", 5, get_server_timer_arg())
					d.notice("Udało się! Zniszczyliście prawdziwy kamień Metin.");
					d.notice("Dostaniecie się na 5 piętro.")
					clear_server_timer('mystic_stone4_fail1', get_server_timer_arg())
					clear_server_timer('mystic_stone4_fail2', get_server_timer_arg())
					clear_server_timer('mystic_stone4_fail', get_server_timer_arg())
				end
			else
				server_timer('mystic_stone4_stop_timer', 1, get_server_timer_arg())
			end
		end

		when mystic_stone4_stop_timer.server_timer begin
			clear_server_timer('mystic_stone4_update', get_server_timer_arg())
		end

		when mystic_stone4_end.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.setf("levelm", 5)
				d.setf("stone_countm", 5)
				d.notice("Aby przejść na 6 piętro musicie zabić wszystkie potwory,.. ")
				d.notice("zdobyć z nich Kamień Otwarcia i otworzyć wszystkie Pieczęcie")
				d.notice("przed czasem. Na to zadanie otrzymaliście 20 minut.")

				d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
				server_timer('mystic_stone5_fail1', 5*60, get_server_timer_arg())
				clear_server_timer('mystic_stone4_update', get_server_timer_arg())

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

				-- 5ĽÓ«Ę¦LĄŰ¦A˛{
				d.spawn_mob(20081, 421, 452)
				d.spawn_mob(20081, 380, 460)
				d.spawn_mob(20081, 428, 414)
				d.spawn_mob(20081, 398, 392)
				d.spawn_mob(20081, 359, 426)
			end
		end
		
		when mystic_stone5_fail1.server_timer begin
			if d.select(get_server_timer_arg()) then
				if d.getf("levelm") == 5 then
					d.notice("Pozostało 15 minut!")
					server_timer('mystic_stone5_fail2', 5*60, get_server_timer_arg())
				end
			end
		end

		when mystic_stone5_fail2.server_timer begin
			if d.select(get_server_timer_arg()) then
				if d.getf("levelm") == 5 then
					d.notice("Pozostało 10 minut!")
					server_timer('mystic_stone5_fail3', 5*60, get_server_timer_arg())
				end
			end
		end

		when mystic_stone5_fail3.server_timer begin
			if d.select(get_server_timer_arg()) then
				if d.getf("levelm") == 5 then
					d.notice("Pozostało 5 minut!")
					server_timer('mystic_stone5_fail', 5*60, get_server_timer_arg())
				end
			end
		end

		when mystic_stone5_fail.server_timer begin
			if d.select(get_server_timer_arg()) then
				if d.getf("levelm") == 5 then
					d.notice("Nie udało się. Zostaniecie przeniesieni na zewnątrz.")
					d.exit_all()
				end
			end
		end

		when kill with npc.get_race() == 731 and pc.in_dungeon() and d.getf("levelm") == 5 begin
			local KILL_COUNT_FOR_DROP_KEY = 40
			local n = d.getf("countm") + 1
			d.setf("countm", n) 
			
			if n == KILL_COUNT_FOR_DROP_KEY then
				d.setf("countm", 0)
				pc.give_item2(50084, 1)
				local m_sex = pc.get_sex()
				
				if m_sex == 0 then
					d.notice(pc.get_name().." zdobył Kamień Otwarcia! ")
				else
					d.notice(pc.get_name().." zdobyła Kamień Otwarcia! ")
				end
			end
		end
		
		when 20081.take with item.vnum == 50084 begin
			npc.purge()
			item.remove()
			d.setf("stone_killed", d.getf("stone_killed")+1)
			
			if d.getf("stone_killed") == 5 then
				d.setf("levelm", 6)
				d.clear_regen()
				d.regen_file("data/dungeon/mystictower6_regen.txt")

				d.notice("Brawo, udało się! Jesteście na 6 piętrze.")
				d.notice("Zabijcie wszystkie potwory, lecz pamiętajcie,..")
				d.notice("tym piętrem dowodzi Reinkarnowany Ezoteryczny Przywódca.")
				d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
				clear_server_timer('mystic_stone5_fail1', get_server_timer_arg())
				clear_server_timer('mystic_stone5_fail2', get_server_timer_arg())
				clear_server_timer('mystic_stone5_fail3', get_server_timer_arg())
				clear_server_timer('mystic_stone5_fail', get_server_timer_arg())
			else
				d.notice("Otworzyłeś pieczęć! Pozostało jeszcze: "..5-d.getf("stone_killed").." ")
			end
		end

		when kill with npc.get_race() == 792 begin
			if pc.in_dungeon() then
				timer("zabitom", 1)
				timer("schmied_spawnm",7)
			end
		end    

		when zabitom.timer begin
			local m_sex = pc.get_sex()
			if m_sex == 0 then
			notice_all("|cFFFFFF30|h[CH"..pc.get_channel_id().."]:|h|r |cFF03F030|h[Lv. "..pc.get_level().."]:|h|r "..pc.get_name().." pokonał/a Reiknar. Ezot. Przywódcy!")
			else
			notice_all("|cFFFFFF30|h[CH"..pc.get_channel_id().."]:|h|r |cFF03F030|h[Lv. "..pc.get_level().."]:|h|r "..pc.get_name().." pokonał/a Reiknar. Ezot. Przywódcy!")
			end
			d.notice("Reinkarnowany Ezoteryczny Przywódca został zgładzony!")
			d.notice("Za chwilkę pojawi się kowal.")
			d.kill_all()
		end

		when schmied_spawnm.timer begin
			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
	end
end

 

 

Opublikowano

Po co piszesz @ref ? skoro nikt się nie wypowiada to musi być to słaby temat jak i quest ...

Uwaga na bandziorów z interentu. 12 latkowie zaczęli prężnie szerzyć i wzmaciać swoje szeregi

Opublikowano

@ProBoszcz'

 

Sądzisz że twoja wypowiedź wnosi coś do tematu ?

Ja oczekuję pomocy a ty mi z takim czymś wyjeżdżasz ?

 

A to wybacz ;) myślałem ze wstawiłeś quest z ominięciem 3 piętra. 

Uwaga na bandziorów z interentu. 12 latkowie zaczęli prężnie szerzyć i wzmaciać swoje szeregi

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...