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

Pisanie / Poprawa Questów !


PoczatKujacy

Rekomendowane odpowiedzi

  • Odpowiedzi 8,7 tys.
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Witam,

Co z tym questem jest nie tak , ze nie dosc ze nie przenosi,nie dziala , i wywala bledy po daniu ./qc move_ring.quest

 

 

quest move_ring begin
state start begin
when 80009.use begin
say_title("Witaj, ".. pc.get_name() ..".")
say("Wybierz gdzie chcesz się wybrać:")
say ( "" )
local s = select("Shinsoo", "Chunjo", "Jinno", "Shinsoo M2", "Chunjo M2", "Jinno M2", "Dalej")

elseif s == 1 then
say_title("Zostaniesz przeniesiony! ")
say("")
wait()
pc.warp ( 474300 , 954800 )
end

elseif s == 2 then
say_title("Zostaniesz przeniesiony!")
say("")
wait()
pc.warp ( 63800 , 166400 )
end

elseif s == 3 then
say_title("Zostaniesz przeniesiony!")
say("")
wait()
pc.warp ( 959900 , 269200 )
end

elseif s == 4 then
say_title("Zostaniesz przeniesiony!")
say("")
wait()
pc.warp ( 353100 , 882900 )
end

elseif s == 5 then
say_title("Zostaniesz przeniesiony!")
say("")
wait()
pc.warp ( 145500 , 240000 )
end

elseif s == 6 then
say_title("Zostaniesz przeniesiony!")
say("")
wait()
pc.warp ( 863900 , 246000 )
end

elseif s == 7 then
say("")
local s2 = select("Dolina Seungryong", "Pustynia Yongbi", "Góra Sohan", "Loch Pająków v1", "Ognista Ziema", "Loch Pająków V2", "Dalej") --- druga strona

if s2 == 1 then
say_title("Zostaniesz przeniesiony!")
say("")
wait()
pc.warp ( 321300 , 808000 )
end

elseif s2 == 2 then
say_title("Zostaniesz przeniesiony!")
say("")
wait()
pc.warp ( 344000 , 502500 )
end

elseif s2 == 3 then
say_title("Zostaniesz przeniesiony!")
say("")
wait()
pc.warp ( 491800 , 173600 )
end

elseif s2 == 4 then
say_title("Zostaniesz przeniesiony!")
say("")
wait()
pc.warp ( 60000 , 496000 )
end

elseif s2 == 5 then
say_title("Zostaniesz przeniesiony!")
say("")
wait()
pc.warp ( 730700 , 689800 )
end

elseif s2 == 6 then
say_title("Zostaniesz przeniesiony!")
say("")
wait()
pc.warp ( 704100 , 464100 )
end

elseif s2 == 7 then
local s3 = select("Czerwony Las", "Alantyda V1", "Atlantyda V2", "Ziemia Olbrzymów", "DT-Run", "Zombie-Land", "Anuluj")

if s3 == 1 then
say_title("Zostaniesz przeniesiony! ")
say("")
wait()
pc.warp ( 1119900 , 70800 )
end

elseif s3 == 2 then
say_title("Zostaniesz przeniesiony! ")
say("")
wait()
pc.warp ( 9800 , 1215100 )
end

elseif s3 == 3 then
say_title("Zostaniesz przeniesiony! ")
say("")
wait()
pc.warp ( 135200 , 1215100 )
end

elseif s3 == 4 then
say_title("Zostaniesz przeniesiony! ")
say("")
wait()
pc.warp ( 845100 , 745900 )
end

elseif s3 == 5 then
say_title("Zostaniesz przeniesiony! ")
say("")
wait()
pc.warp ( 590500 , 110500 )
end

elseif s3 == 6 then
say_title("Zostaniesz przeniesiony! ")
say("")
wait()
pc.warp(83200 , 0)
else
return
end
end
end
end
end
end
end

 

 

Za pomoc daje ++++++++++++ limit lub -------------- limit

 

Link do bledu , który mi wywala w WinSCP: http://www.fotosik.pl/pokaz_obrazek/pelny/4b1cf06e1f2a9260.html

Ps. Musialem zmienic rozmiary zdjecia bo mialo 5mb rozdzielczosc 1400x1200 jakos tak i zmienilem na 900x900

 

Edit: jest to poprawiony pierscien , ktory dal mi Stelios (Mniej bledow jest ale nadal jest ich troche)

 

@OffTop

Naucz się używać spoiler!

 

Jedno pytanko, dlaczego zamykasz każdy elseif a później znowu otwierasz elseif ?

Jeśli masz np.

if r == 1 then
say("Fajna pogoda")
end
elseif r == 2 then
say("Nie za ładna pogoda...")
end
elseif....

to nie ma szansy żeby zadziałało... O_o

Jeśli zamykasz if endem, następnie musi być także if a nie elseif...

 

 

quest move_ring begin
state start begin
	when 80009.use begin
		say_title("Witaj, ".. pc.get_name() ..".")
		say("Wybierz gdzie chcesz się wybrać:")
		say ( "" )
		local s = select("Shinsoo", "Chunjo", "Jinno", "Shinsoo M2", "Chunjo M2", "Jinno M2", "Dalej")

			if s == 1 then
				say_title("Zostaniesz przeniesiony! ")
				say("")
				wait()
				pc.warp ( 474300 , 954800 )
			end

			if s == 2 then
				say_title("Zostaniesz przeniesiony!")
				say("")
				wait()
				pc.warp ( 63800 , 166400 )
			end

			if s == 3 then
				say_title("Zostaniesz przeniesiony!")
				say("")
				wait()
				pc.warp ( 959900 , 269200 )
			end

			if s == 4 then
				say_title("Zostaniesz przeniesiony!")
				say("")
				wait()
				pc.warp ( 353100 , 882900 )
			end

			if s == 5 then
				say_title("Zostaniesz przeniesiony!")
				say("")
				wait()
				pc.warp ( 145500 , 240000 )
			end

			if s == 6 then
				say_title("Zostaniesz przeniesiony!")
				say("")
				wait()
				pc.warp ( 863900 , 246000 )
			end

			if s == 7 then
				say("")
				local s2 = select("Dolina Seungryong", "Pustynia Yongbi", "Góra Sohan", "Loch Pająków v1", "Ognista Ziema", "Loch Pająków V2", "Dalej") --- druga strona

					if s2 == 1 then
						say_title("Zostaniesz przeniesiony!")
						say("")
						wait()
						pc.warp ( 321300 , 808000 )
					end

					if s2 == 2 then
						say_title("Zostaniesz przeniesiony!")
						say("")
						wait()
						pc.warp ( 344000 , 502500 )
					end

					if s2 == 3 then
						say_title("Zostaniesz przeniesiony!")
						say("")
						wait()
						pc.warp ( 491800 , 173600 )
					end

					if s2 == 4 then
						say_title("Zostaniesz przeniesiony!")
						say("")
						wait()
						pc.warp ( 60000 , 496000 )
					end

					if s2 == 5 then
						say_title("Zostaniesz przeniesiony!")
						say("")
						wait()
						pc.warp ( 730700 , 689800 )
					end

					if s2 == 6 then
						say_title("Zostaniesz przeniesiony!")
						say("")
						wait()
						pc.warp ( 704100 , 464100 )
					end

					if s2 == 7 then
						local s3 = select("Czerwony Las", "Alantyda V1", "Atlantyda V2", "Ziemia Olbrzymów", "DT-Run", "Zombie-Land", "Anuluj")

							if s3 == 1 then
								say_title("Zostaniesz przeniesiony! ")
								say("")
								wait()
								pc.warp ( 1119900 , 70800 )
							end

							if s3 == 2 then
								say_title("Zostaniesz przeniesiony! ")
								say("")
								wait()
								pc.warp ( 9800 , 1215100 )
							end

							if s3 == 3 then
								say_title("Zostaniesz przeniesiony! ")
								say("")
								wait()
								pc.warp ( 135200 , 1215100 )
							end

							if s3 == 4 then
								say_title("Zostaniesz przeniesiony! ")
								say("")
								wait()
								pc.warp ( 845100 , 745900 )
							end

							if s3 == 5 then
								say_title("Zostaniesz przeniesiony! ")
								say("")
								wait()
								pc.warp ( 590500 , 110500 )
							end

							if s3 == 6 then
								say_title("Zostaniesz przeniesiony! ")
								say("")
								wait()
								pc.warp(83200 , 0)
							end
							if s3 == 7 then
								return
							end
					end
			end
	end
end
end

 

 

@EDIT...

Poza tym, nie pisz postów pod postem...

***


Nie gram już w ogóle w metina,


ale jeśli potrzeba komuś pomoc z questem


to jeśli będę potrafił to mogę pomóc.


***

Opublikowano

Witam ! Poszukuję questa :

NPC : 700900

Nagroda: Wybranie skilli

 

Potrzebuję questa dzięki któremu ,po osiągnięciu 5lv u npc 700900 każda klasa postaci może podejść i odebrać skille

np : Sura podchodzi to ma :

WP

BM

Woj podchodzi to ma :

Body

Mental

 

A nie że np body podchodzi i ma do wyboru all skille. z góry dzięki !

Opublikowano

Witam

Prosze o poprawe kilku questow

Quest DT and Wieża Wygnancow

 

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(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
    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', 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
	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', 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("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 posostał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 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 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 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,10)

	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")
end

when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
	d.kill_all()
	notice_all(pc.get_name().." zabil Umarlego Rozpruwacza!")
	timer("devil_end_jump", 60)
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(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."Wejdź do Wieży Wygnańców" with party.is_leader() begin
	say_title("Strażnik Wieży Wygnańców:")
	if party.get_near_count() < 5 then
		say("Wybacz, musisz mieć ze sobą 5 osób w grupie.")
		party.chat("Wasza grupa posiada zbyt mało członków.")
		return
	end
    if pc.get_level() < 135 then
	say("Wybacz, mogę wpuszczać tylko soby od 135 poziomu.")
	party.chat("Lider grupy nie posiada 135 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() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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 Morderstwa, by przedostać się dalej.")
			d.spawn_mob(8024, 195, 690)
		end
end


when 8024.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
    timer("wieza", 6)
	chat(special.devil_tower[1][1].." "..special.devil_tower[1][2])
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() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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()
	d.notice("Elit. Dziewięć Ogonów został pokonany!")
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 8025.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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(8026, positions[i][1], positions[i][2]))
    end
    chat(positions[7][1], positions[7][2])
    local vid = d.spawn_mob(8026, 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 Ma-An.");
    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', 5*60, 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 2412.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(1304, 425, 216);
end

when 1306.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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 (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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("Lecz uważaj..")
	say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
	wait()
	if pc.level >=110 then
		say_title(""..mob_name(20074).."")
		say("Posiadasz odpowiedni level.")
		say("Zostaniesz przeniesiony na 7 piętro.")
		timer("devil_jump_7s", 6)
		return
	end
	say_title(""..mob_name(20074).."")
	say("Wybacz.. nie posiadasz 135 poziomu")
	say("Nie mogę Cię przenieść na kolejne piętro.")
	wait()
	pc.warp(590500, 110500)
	return
   end
when 20075.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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("Lecz uważaj..")
	say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
	wait()
	if pc.level >=110 then
		say_title(""..mob_name(20074).."")
		say("Posiadasz odpowiedni level.")
		say("Zostaniesz przeniesiony na 7 piętro.")
		timer("devil_jump_7s", 6)
		return
	end
	say_title(""..mob_name(20074).."")
	say("Wybacz.. nie posiadasz 135 poziomu")
	say("Nie mogę Cię przenieść na kolejne piętro.")
	wait()
	pc.warp(590500, 110500)
	return
   end
when 20076.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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("Lecz uważaj..")
	say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
	wait()
	if pc.level >=110 then
		say_title(""..mob_name(20074).."")
		say("Posiadasz odpowiedni level.")
		say("Zostaniesz przeniesiony na 7 piętro.")
		timer("devil_jump_7s", 6)
		return
	end
	say_title(""..mob_name(20074).."")
	say("Wybacz.. nie posiadasz 135 poziomu")
	say("Nie mogę Cię przenieść na kolejne piętro.")
	wait()
	pc.warp(590500, 110500)
	return
   end

  when devil_jump_7s.timer begin
	d.clear_regen()
	d.spawn_mob(1095, 617, 676)
	d.setf("levels", 7)
	d.regen_file("data/dungeon/wygnancy7.txt")
	d.jump_all(2048+590, 6656+638)
end
---------------------------------------------
-- Niebieska Śmierć
---------------------------------------------
when 1095.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
	timer("devil_jump_8S", 30)
	d.clear_regen()
	d.notice("Pokonaliście Niebieską Śmierć!")
	d.notice("Zostaniecie przeniesieni na piętro smoka!")
end

---------------------------------------------
-- Niebiański Smok
---------------------------------------------
when devil_jump_8S.timer begin
	d.setf("levels", 8)
	d.jump_all(2048+590, 6656+155)
	d.spawn_mob(2493,630,195)
end

when 2493.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
	d.kill_all()
	local m_sex = pc.get_sex()
			    if m_sex == 0 then
	notice_all(pc.get_name().." zabił Niebiańskiego Smoka!")
		else
	notice_all(pc.get_name().." zabiła Niebiańskiego Smoka!")
			end

	timer("devil_end_jumps", 60)
end

when devil_end_jumps.timer begin
    d.exit_all()
end
end
state __GOOD__ begin
end
end

 

Fasola która ma dawać 1k rangi na +

 

quest fasola begin
 state start begin
     when 30043.use begin
       pc.change_alignment(+1000)
say ("Twoja ranga została zwiększona o 1000 punktów")
     end
  end
end

 

Poleci limit +++ lub --- jak kto woli

.:Moje tematy:.

 

 

Jeżeli Przyda ci się moja praca postaw Lajka

Opublikowano

Witam

Prosze o poprawe kilku questow

Quest DT and Wieża Wygnancow

 

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(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
    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', 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
	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', 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("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 posostał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 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 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 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,10)

	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")
end

when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
	d.kill_all()
	notice_all(pc.get_name().." zabil Umarlego Rozpruwacza!")
	timer("devil_end_jump", 60)
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(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."Wejdź do Wieży Wygnańców" with party.is_leader() begin
	say_title("Strażnik Wieży Wygnańców:")
	if party.get_near_count() < 5 then
		say("Wybacz, musisz mieć ze sobą 5 osób w grupie.")
		party.chat("Wasza grupa posiada zbyt mało członków.")
		return
	end
    if pc.get_level() < 135 then
	say("Wybacz, mogę wpuszczać tylko soby od 135 poziomu.")
	party.chat("Lider grupy nie posiada 135 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() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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 Morderstwa, by przedostać się dalej.")
			d.spawn_mob(8024, 195, 690)
		end
end


when 8024.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
    timer("wieza", 6)
	chat(special.devil_tower[1][1].." "..special.devil_tower[1][2])
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() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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()
	d.notice("Elit. Dziewięć Ogonów został pokonany!")
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 8025.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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(8026, positions[i][1], positions[i][2]))
    end
    chat(positions[7][1], positions[7][2])
    local vid = d.spawn_mob(8026, 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 Ma-An.");
    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', 5*60, 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 2412.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(1304, 425, 216);
end

when 1306.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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 (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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("Lecz uważaj..")
	say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
	wait()
	if pc.level >=110 then
		say_title(""..mob_name(20074).."")
		say("Posiadasz odpowiedni level.")
		say("Zostaniesz przeniesiony na 7 piętro.")
		timer("devil_jump_7s", 6)
		return
	end
	say_title(""..mob_name(20074).."")
	say("Wybacz.. nie posiadasz 135 poziomu")
	say("Nie mogę Cię przenieść na kolejne piętro.")
	wait()
	pc.warp(590500, 110500)
	return
   end
when 20075.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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("Lecz uważaj..")
	say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
	wait()
	if pc.level >=110 then
		say_title(""..mob_name(20074).."")
		say("Posiadasz odpowiedni level.")
		say("Zostaniesz przeniesiony na 7 piętro.")
		timer("devil_jump_7s", 6)
		return
	end
	say_title(""..mob_name(20074).."")
	say("Wybacz.. nie posiadasz 135 poziomu")
	say("Nie mogę Cię przenieść na kolejne piętro.")
	wait()
	pc.warp(590500, 110500)
	return
   end
when 20076.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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("Lecz uważaj..")
	say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
	wait()
	if pc.level >=110 then
		say_title(""..mob_name(20074).."")
		say("Posiadasz odpowiedni level.")
		say("Zostaniesz przeniesiony na 7 piętro.")
		timer("devil_jump_7s", 6)
		return
	end
	say_title(""..mob_name(20074).."")
	say("Wybacz.. nie posiadasz 135 poziomu")
	say("Nie mogę Cię przenieść na kolejne piętro.")
	wait()
	pc.warp(590500, 110500)
	return
   end

  when devil_jump_7s.timer begin
	d.clear_regen()
	d.spawn_mob(1095, 617, 676)
	d.setf("levels", 7)
	d.regen_file("data/dungeon/wygnancy7.txt")
	d.jump_all(2048+590, 6656+638)
end
---------------------------------------------
-- Niebieska Śmierć
---------------------------------------------
when 1095.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
	timer("devil_jump_8S", 30)
	d.clear_regen()
	d.notice("Pokonaliście Niebieską Śmierć!")
	d.notice("Zostaniecie przeniesieni na piętro smoka!")
end

---------------------------------------------
-- Niebiański Smok
---------------------------------------------
when devil_jump_8S.timer begin
	d.setf("levels", 8)
	d.jump_all(2048+590, 6656+155)
	d.spawn_mob(2493,630,195)
end

when 2493.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
	d.kill_all()
	local m_sex = pc.get_sex()
			    if m_sex == 0 then
	notice_all(pc.get_name().." zabił Niebiańskiego Smoka!")
		else
	notice_all(pc.get_name().." zabiła Niebiańskiego Smoka!")
			end

	timer("devil_end_jumps", 60)
end

when devil_end_jumps.timer begin
    d.exit_all()
end
end
state __GOOD__ begin
end
end

 

Fasola która ma dawać 1k rangi na +

 

quest fasola begin
 state start begin
     when 30043.use begin
       pc.change_alignment(+1000)
say ("Twoja ranga została zwiększona o 1000 punktów")
     end
  end
end

 

Poleci limit +++ lub --- jak kto woli

 

 

Nikt za free ci nie przerobi wiezy wygnańców ;] Jak zapłacisz to ci pewnie przerobia ;]

Opublikowano

To w jaki sposob mam tam sie dostac do wiezy wygnancow?

Klikasz na NPC i masz do wyboru 1 DT i 2 opacja "Wieza Wygnańców"

 

Klikasz i juz

Opublikowano

Witam

Kto napisze Questa Give Basic Weapon który ma zawierać:

bron na 1 lv na każda postać

śr potki 200 niebieskie i czerwone

10 duzych fioletowych i zielonych

i 50 pele

i tak na każda klase

z góry dziękuje

Opublikowano

Witam

Kto napisze Questa Give Basic Weapon który ma zawierać:

bron na 1 lv na każda postać

śr potki 200 niebieskie i czerwone

10 duzych fioletowych i zielonych

i 50 pele

i tak na każda klase

z góry dziękuje

 

@Są setki questów na 1lvl...

Wystarczy zamienić ID itemków i już... -_-"

 

@EDIT

Pisane na szybko...

 

quest gbw begin
state start begin
	when login begin
		if pc.getqf("gbw") == 0 then
			pc.give_item2(70038, 50)
			pc.give_item2(27006, 200)
			pc.give_item2(27003, 200)
			pc.give_item2(27102, 50)
			pc.give_item2(27105, 50)
			local i = pc.job()
				if i == 0 then
					pc.give_item2(19, 1)
				elseif i == 1 then
					pc.give_item2(1009, 1)
				elseif i == 2 then
					pc.give_item2(19, 1)
				elseif i == 3 then
					pc.give_item2(7009, 1)
				end
			pc.setqf("gbw", 1)
		else
			return
		end
	end
end
end

 

 

 

@EDIT

@OffTop

Jeśli ktoś myśli, że jakieś durne - coś mi robią to się myli ^^

Im więcej krytyki, nawet takiej anonimowego neo, tym czuje się silniejszy w tym co robię ;)

***


Nie gram już w ogóle w metina,


ale jeśli potrzeba komuś pomoc z questem


to jeśli będę potrafił to mogę pomóc.


***

Opublikowano

@Pro100ST masz tu poprawiona fasole ;D

 

quest fasola begin
 state start begin
     when 30043.use begin
	chat("Twoja ranga została zwiększona o 1000 punktów")
       pc.change_alignment(100000)
	pc.remove_item(30043, 1)
end
end
end

 

dCrwk2h.gif

Opublikowano

 when 2206.kill with pc.countitem(30190)==0 begin
                       local random = math.random(1)
                       if random == 1 then
                       pc.give_item2(30190, 1)
                       say("Udało ci się")
                       say("Zabiłeś tą bestię i otrzymałeś Kamień!")  
                       local v = find_npc_by_vnum(20093)
                       if v != 0 then
                               target.vid("__TARGET__", v, "Koe-Pung")
                       end

 

Co w tym fragmencie jest nie tak ? Bo po zabiciu nic sie nie pokazuje ani nie otrzymuje przedmiotu

Opublikowano

@Pro100ST masz tu poprawiona fasole ;D

 

quest fasola begin
 state start begin
     when 30043.use begin
	chat("Twoja ranga została zwiększona o 1000 punktów")
       pc.change_alignment(100000)
	pc.remove_item(30043, 1)
end
end
end

 

 

Źle, źle, źle...

Tak zmieniasz rangę na 100000, z tego co wiem do rangi dodaje się tylko jedno zero a nie dwa.

Ale inny błąd jest ważniejszy. Nieważne ile razy użyjesz fasolke zawsze masz te 1k rangi...

 

musi być:

pc.change_alignment(pc.get_alignment()+10000)

@EDIT2

czyli:

quest fasola begin
 state start begin
     when 30043.use begin
	chat("Twoja ranga została zwiększona o 1000 punktów")
       pc.change_alignment(pc.get_alignment()+10000)
	pc.remove_item(30043, 1)
end
end
end

 

 

@EDIT

 when 2206.kill with pc.countitem(30190)==0 begin
                       local random = math.random(1)
                       if random == 1 then
                       pc.give_item2(30190, 1)
                       say("Udało ci się")
                       say("Zabiłeś tą bestię i otrzymałeś Kamień!")  
                       local v = find_npc_by_vnum(20093)
                       if v != 0 then
                               target.vid("__TARGET__", v, "Koe-Pung")
                       end

 

Co w tym fragmencie jest nie tak ? Bo po zabiciu nic sie nie pokazuje ani nie otrzymuje przedmiotu

 

A po co ci tutaj lokalna?

Przecież wystarczy tak:

 when 2206.kill with pc.countitem(30190)==0 begin
                       pc.give_item2(30190, 1)
                       say("Udało ci się")
                       say("Zabiłeś tą bestię i otrzymałeś Kamień!")  
                       local v = find_npc_by_vnum(20093)
                       if v != 0 then
                               target.vid("__TARGET__", v, "Koe-Pung")
                       end

***


Nie gram już w ogóle w metina,


ale jeśli potrzeba komuś pomoc z questem


to jeśli będę potrafił to mogę pomóc.


***

Opublikowano

mogłby mi ktoś powiedzieć dlaczego ten quest nie startuje??

ewentualnie go poprawić, bardzo bym prosił

 

 

quest wonda_rim_quest_lv13  begin
       state start begin
	end
	state run begin
               when login or levelup with pc.get_level() ==12  begin
                       set_state(information)
               end     
       end

       state information begin
               when letter begin
                       local v = find_npc_by_vnum(20086)
                       if v != 0 then
                               target.vid("__TARGET__", v, "Analiza Wonda-Rim")
                       end
                       send_letter("Analiza Biologa - Wonda Rim")
               end

               when button or info begin
                       say_title("Analiza Biologa")
                       say("")
                       say("Biolog Wonda Rim,uczen Biologa Chaegirab,")
                       say("wlasnie Cie szuka.Prosze idz")
                       say("do niego i zaoferuj swoja pomoc.")
                       say("")
               end

               when __TARGET__.target.click or
                       20086.chat."Znajdz Wonda Rim" begin
                       target.delete("__TARGET__")
                       say("Wonda-Rim:")
                       ---                                                   l
                       say("Niebiosa,prosze pomozcie mi...")
                       say("Badam przeróżne przedmioty ")
                       say("które posiadają tylko najsilniejsze potwory,")
                       say("niestety niemam czasu ruszyć w wyprawe")
                       say("by sama je znaleźć.")
                       say("Prosze,pomoz mi.")
                       wait()
                       say("Aktualnie badam Szpony Wilków.")
                       say("Musze przeprowadzic kilka eksperymentow,")
                       say("dlatego potrzebuje kilku Szponów.")
                       say("Czy moglbys przyniesc mi 10 Szponów Lykosa?")
                       say("Prosze,pomoz mi!Zawsze przynos mi po jednym,")
                       say("abym miala czas na ich dokladne przebadanie!")
                       say("")                                                                                                                                                                                                                                                                                                           
                       set_state(go_to_disciple)
                       pc.setqf("collect_count",0) 
                       pc.setqf("drink_drug",0) 
               end
       end

       state go_to_disciple begin
               when letter begin
                       send_letter("Analiza Wonda-Rim - Szpony Mocnego Wilka!")

               end
               when button or info begin
                       say_title("Znajdz Szpony U Lykosa")
                       ---                                                   l
                       say("")
                       say("Biolog Wonda Rim,uczen Biologa Chaegirab,")
                       say("szuka Szponów Lykosa.")
                       say("Zawsze przynos jej po jednym, aby mial czas")
                 say("na ich dokladne przebadanie.")
                       say("Szponów Szukaj U Lykosa.")
                       say("")
                       say_item_vnum(100011) 
                       say_reward("Do tej pory zebrales".." "..pc.getqf("collect_count").." Szponów Lykosa.")
                       say("")
               end

               when 71035.use begin --°g´bĂĤô
                       if pc.getqf("drink_drug")==1 then
                               say("")
                               say("¤w¸g¨ĎĄÎ¤F1¦¸")
                               say("")

                               return
                       end
                       if pc.count_item(100011)==0 then
                               say("ĄÍŞ«ľÇŞĚ±ç¬f¦~:")
                               say("Ąý§ä¨ěçŞáĄH«á,")
                               say("¤~¨ĎĄÎ°g´bĂĤô¤]¤Ł·|¦ł°ÝĂD.")
                               say("")
                               return
                       end
                       item.remove()   
                       pc.setqf("drink_drug",1)
               end


               when 191.kill begin
                       if pc.count_item(100011)<10-pc.getqf("collect_count") then
                               pc.give_item2(100011, 1)
                       end
               end

       when 20086.chat."Szpon Lykosa" with pc.count_item(100011) >0   begin
                               say("Wonda-Rim")
                               ---                                                   l
                               say("Oh!!Znalazles!")
                               say("Pozwol,ze rzuce okiem...")
                               say("Jeszcze chwilke.")
                               say("")
                               pc.remove_item(100011, 1)
                               wait()

                               local pass_percent
                               if pc.getqf("drink_drug")==0 then
                                       pass_percent=90
                               else            
                                       pass_percent=100
                               end

                               local s= number(1,100)
                               if s<= pass_percent  then
                                  if pc.getqf("collect_count")< 9 then     --5H¤U 
                                               local index =pc.getqf("collect_count")+1 
                                               pc.setqf("collect_count",index)     --¨ú±o¤@É +1
                       say("Wonda-Rim")
                                               say("Oh!!Ten Szpon jest doskonalej jakosci!")
                                               say("Przynies mi jeszcze".." "..10-pc.getqf("collect_count").. " Szponów Lykosa.")
                                               say("Prosze,sprobuj je znalezc!")
                                               say("")
                                               pc.setqf("drink_drug",0)         --ĂĤôŞěl¤Ć
                                               return
                                       end
                                       say("Wonda-Rim")
                                       say("Oh,zebrales juz wszystkie?")
                                       say("Dobra robota...")
                                       say("Jako dowod mojej wdziecznosci otrzymasz")
                                       say("troche Yang i wynik moich prac.")
                                       say("Nagroda:")
                                       say_reward("Jako nagrode, Wonda-Rim dal ci 30000")
                                       say_reward("Punktow Doswiadczenia,250000 Yang, Kamienie ")
									say_reward("20% Silny na Zwięrzęta ")
                                       pc.setqf("collect_count",0)
                                       pc.setqf("drink_drug",0)        
                                       clear_letter()
                                       set_state(__complete)

                                       if pc.job==3 then               
											pc.give_item2(29022)
											pc.give_item2(29025)
                                               say_reward("Kamienie")
                                               return
                                       else    
											pc.give_item2(29022)
											pc.give_item2(29025)
                                               say_reward("Kamienie")

                                       end
                                       pc.change_money(250000)
                                       pc.give_exp2(30000)
									affect.add_collect(apply.ATTBONUS_ANIMAL, 20, 60*60*24*365*60)
                                       set_quest_state("wonda_rim_quest_lv18","run")

                               else                                                            
                               say("Wonda-Rim")
                               say("Bardzo mi przykro,ale ten Szpon jest zlej")
                               say("jakosci.Prosze,przynies mi nastepny.")
                               say("")
                               pc.setqf("drink_drug",0)         --ĂĤôŞěl¤Ć
                               return
                               end

       end
end


state __complete begin
       end
end

 

Opublikowano

UP :

 

mexiliatest# ./qc legowisko.quest
QUEST : legowisko
STATE : start
WHEN  : login or
WHEN  : levelup
       with pc . get_level ( ) >= 150
STATE : legowisko
WHEN  : letter
WHEN  : button or
WHEN  : info
WHEN  : target (__TARGET__.click) or
WHEN  : 20093.chat ("Legowisko Pajška")
STATE : gleba
WHEN  : letter
WHEN  : button or
WHEN  : info
WHEN  : 2206.kill
       with pc . countitem ( 30190 ) == 0
expecting 'state'
legowisko.quest:59:Abort (core dumped)

Opublikowano

@kopson Prosze bardzo :)

 

quest wonda_rim_quest_lv13  begin
       state start begin
		end
		state run begin
               when login or levelup with pc.get_level() >=12  begin
                       set_state(information)
               end     
       end

       state information begin
               when letter begin
                       local v = find_npc_by_vnum(20086)
                       if v != 0 then
                               target.vid("__TARGET__", v, "Analiza Wonda-Rim")
                       end
                       send_letter("Analiza Biologa - Wonda Rim")
               end

               when button or info begin
                       say_title("Analiza Biologa")
                       say("")
                       say("Biolog Wonda Rim,uczen Biologa Chaegirab,")
                       say("wlasnie Cie szuka.Prosze idz")
                       say("do niego i zaoferuj swoja pomoc.")
                       say("")
               end

               when __TARGET__.target.click or
                       20086.chat."Znajdz Wonda Rim" begin
                       target.delete("__TARGET__")
                       say("Wonda-Rim:")
                       ---                                                   l
                       say("Niebiosa,prosze pomozcie mi...")
                       say("Badam przeróżne przedmioty ")
                       say("które posiadają tylko najsilniejsze potwory,")
                       say("niestety niemam czasu ruszyć w wyprawe")
                       say("by sama je znaleźć.")
                       say("Prosze,pomoz mi.")
                       wait()
                       say("Aktualnie badam Szpony Wilków.")
                       say("Musze przeprowadzic kilka eksperymentow,")
                       say("dlatego potrzebuje kilku Szponów.")
                       say("Czy moglbys przyniesc mi 10 Szponów Lykosa?")
                       say("Prosze,pomoz mi!Zawsze przynos mi po jednym,")
                       say("abym miala czas na ich dokladne przebadanie!")
                       say("")                                                                                                                                                                                                                                                                                                           
                       set_state(go_to_disciple)
                       pc.setqf("collect_count",0) 
                       pc.setqf("drink_drug",0) 
               end
       end

       state go_to_disciple begin
               when letter begin
                       send_letter("Analiza Wonda-Rim - Szpony Mocnego Wilka!")

               end
               when button or info begin
                       say_title("Znajdz Szpony U Lykosa")
                       ---                                                   l
                       say("")
                       say("Biolog Wonda Rim,uczen Biologa Chaegirab,")
                       say("szuka Szponów Lykosa.")
                       say("Zawsze przynos jej po jednym, aby mial czas")
                 say("na ich dokladne przebadanie.")
                       say("Szponów Szukaj U Lykosa.")
                       say("")
                       say_item_vnum(100011) 
                       say_reward("Do tej pory zebrales".." "..pc.getqf("collect_count").." Szponów Lykosa.")
                       say("")
               end

               when 71035.use begin --°g´bĂĤô
                       if pc.getqf("drink_drug")==1 then
                               say("")
                               say("¤w¸g¨ĎĄÎ¤F1¦¸")
                               say("")

                               return
                       end
                       if pc.count_item(100011)==0 then
                               say("ĄÍŞ«ľÇŞĚ±ç¬f¦~:")
                               say("Ąý§ä¨ě?çŞáĄH«á,")
                               say("¤~¨ĎĄÎ°g´bĂĤô¤]¤Ł·|¦ł°ÝĂD.")
                               say("")
                               return
                       end
                       item.remove()   
                       pc.setqf("drink_drug",1)
               end


               when 191.kill begin
                       if pc.count_item(100011)<10-pc.getqf("collect_count") then
                               pc.give_item2(100011, 1)
                       end
               end

       when 20086.chat."Szpon Lykosa" with pc.count_item(100011) >0   begin
                               say("Wonda-Rim")
                               ---                                                   l
                               say("Oh!!Znalazles!")
                               say("Pozwol,ze rzuce okiem...")
                               say("Jeszcze chwilke.")
                               say("")
                               pc.remove_item(100011, 1)
                               wait()

                               local pass_percent
                               if pc.getqf("drink_drug")==0 then
                                       pass_percent=90
                               else            
                                       pass_percent=100
                               end

                               local s= number(1,100)
                               if s<= pass_percent  then
                                  if pc.getqf("collect_count")< 9 then     --5H¤U 
                                               local index =pc.getqf("collect_count")+1 
                                               pc.setqf("collect_count",index)     --¨ú±o¤@?É +1
                       say("Wonda-Rim")
                                               say("Oh!!Ten Szpon jest doskonalej jakosci!")
                                               say("Przynies mi jeszcze".." "..10-pc.getqf("collect_count").. " Szponów Lykosa.")
                                               say("Prosze,sprobuj je znalezc!")
                                               say("")
                                               pc.setqf("drink_drug",0)         --ĂĤôŞěl¤Ć
                                               return
                                       end
                                       say("Wonda-Rim")
                                       say("Oh,zebrales juz wszystkie?")
                                       say("Dobra robota...")
                                       say("Jako dowod mojej wdziecznosci otrzymasz")
                                       say("troche Yang i wynik moich prac.")
                                       say("Nagroda:")
                                       say_reward("Jako nagrode, Wonda-Rim dal ci 30000")
                                       say_reward("Punktow Doswiadczenia,250000 Yang, Kamienie ")
                                                                               say_reward("20% Silny na Zwięrzęta ")
                                       pc.setqf("collect_count",0)
                                       pc.setqf("drink_drug",0)        
                                       clear_letter()
                                       set_state(__complete)

                                       if pc.job==3 then               
                                                                                               pc.give_item2(29022)
                                                                                               pc.give_item2(29025)
                                               say_reward("Kamienie")
                                               return
                                       else    
                                                                                               pc.give_item2(29022)
                                                                                               pc.give_item2(29025)
                                               say_reward("Kamienie")

                                       end
                                       pc.change_money(250000)
                                       pc.give_exp2(30000)
                                                                               affect.add_collect(apply.ATTBONUS_ANIMAL, 20, 60*60*24*365*60)
                                       set_quest_state("wonda_rim_quest_lv18","run")

                               else                                                            
                               say("Wonda-Rim")
                               say("Bardzo mi przykro,ale ten Szpon jest zlej")
                               say("jakosci.Prosze,przynies mi nastepny.")
                               say("")
                               pc.setqf("drink_drug",0)         --ĂĤôŞěl¤Ć
                               return
                               end

       end
end


state __complete begin
       end
end

 

 

@EDIT

Dzieki Stelios pisalem na szybko ale juz nie popelnie tego bledu na nastepny raz

@rosemary daj caly quest to ci go poprawie.

dCrwk2h.gif

Opublikowano

Up :

 

mexiliatest# ./qc legowisko.quest
QUEST : legowisko
STATE : start
WHEN  : login or
WHEN  : levelup
       with pc . get_level ( ) >= 150
STATE : legowisko
WHEN  : letter
WHEN  : button or
WHEN  : info
WHEN  : target (__TARGET__.click) or
WHEN  : 20093.chat ("Legowisko Pajška")
STATE : gleba
WHEN  : letter
WHEN  : button or
WHEN  : info
WHEN  : 2206.kill
       with pc . countitem ( 30190 ) == 0
expecting 'state'
legowisko.quest:59:Abort (core dumped)

 

59 linijka :

    when 20093.chat."Legowisko Pająka" with pc.countitem(30190)>0 begin

Opublikowano

@EDIT

Dzieki Stelios pisalem na szybko ale juz nie popelnie tego bledu na nastepny raz

 

Hehe :)

Sorry, jakiś gorszy dzień dziś mam... ;/

Robić błędy to rzecz ludzka :)

 

@EDIT

Sorry za OffTop..

 

@rosemary podaj cały quest

 

 

@EDIT2

Svope, masz ode mnie + :)

***


Nie gram już w ogóle w metina,


ale jeśli potrzeba komuś pomoc z questem


to jeśli będę potrafił to mogę pomóc.


***

Opublikowano

Stelios poprawiony przez ciebie quest działa ale nie tak jak bym chciał jeśli dasz rade to zrób aby przedmiot nie był dodawany po zabiiu Ognistego króla... ja to ustawie jako drop niech tylko wyskoczy komunikat jak sie go zabije i bedzie mozna oddac do NPC z góry dziekuje.

Opublikowano

@rosemary nie wiem czy o takie cos ci chodzi ale lap :)

 

[codequest zabilem_krola begin

state start begin

when 2206.kill begin

local random = math.random(1)

if random == 1 then

end

 

chat("Zabiłeś prawidłowego Ognistego Króla idz do Koe-Punga i")

chat("powiedz mu o tym.")

set_state(zabilemgo)

end

end

 

state zabilemgo begin

when letter begin

local v = find_npc_by_vnum(20093)

if v != 0 then

target.vid("__TARGET__", v, "NPC")

end

send_letter("Zabiłem Króla")

end

when button or info begin

say_title("Zabiłem Króla")

say("")

say("Zabiłeś Króla idź do Koe-Punga odebrać nagrode.")

end

 

when 20093.chat."Ognisty Król" begin

say_title("Koe-Pung:")

say("")

say("Widze że zabiłeś Ognistego Króla.")

say("Otwo Twoja nagroda.")

pc.give_item2(xxx)

set_state(start)

end

end

end[/code]

 

 

@Steliost spoooooko tez mam zle dni ;D quest pisalem na szybko w razie co jakbym nie byl pewny napisz do mnie na gg kolego ;D

dCrwk2h.gif

Opublikowano

quest gbw begin
       state start begin
               when login begin
                       if pc.getqf("gbw") == 0 then
                               pc.give_item2(70038, 50)
                               pc.give_item2(27006, 200)
                               pc.give_item2(27003, 200)
                               pc.give_item2(27102, 50)
                               pc.give_item2(27105, 50)
                               local i = pc.job()
                                       if i == 0 then
                                               pc.give_item2(19, 1)
                                       elseif i == 1 then
                                               pc.give_item2(1009, 1)
                                       elseif i == 2 then
                                               pc.give_item2(19, 1)
                                       elseif i == 3 then
                                               pc.give_item2(7009, 1)
                                       end
                               pc.setqf("gbw", 1)
                       say ("Witaj na serverze xxx")
			say ("Milej gry zyczy")
			say ("Team xxx")

			else
                               return
                       end
               end
       end
end

 

Czy to zadziała tak jak musi?;d

 

Powinno być ze dla każdej klasy broń na +9 na 1 lv

50 pele 200 potek i chyba 50 fioletowych i zieonych ;d

i tekst

Opublikowano

quest gbw begin
       state start begin
               when login begin
                       if pc.getqf("gbw") == 0 then
                               pc.give_item2(70038, 50)
                               pc.give_item2(27006, 200)
                               pc.give_item2(27003, 200)
                               pc.give_item2(27102, 50)
                               pc.give_item2(27105, 50)
                               local i = pc.job()
                                       if i == 0 then
                                               pc.give_item2(19, 1)
                                       elseif i == 1 then
                                               pc.give_item2(1009, 1)
                                       elseif i == 2 then
                                               pc.give_item2(19, 1)
                                       elseif i == 3 then
                                               pc.give_item2(7009, 1)
                                       end
                               pc.setqf("gbw", 1)
                       say ("Witaj na serverze xxx")
			say ("Milej gry zyczy")
			say ("Team xxx")

			else
                               return
                       end
               end
       end
end

 

Czy to zadziała tak jak musi?;d

 

Powinno być ze dla każdej klasy broń na +9 na 1 lv

50 pele 200 potek i chyba 50 fioletowych i zieonych ;d

i tekst

 

Ehh. Aż taki ciemny to raczej nie jesteś...

Jeśli chcesz tekst zrób po prostu tak:

 

quest gbw begin
state start begin
	when login begin
		say("Tekst ")
		say("Tekst ")
		say("Tekst ")
		say("Tekst ")
		if pc.getqf("gbw") == 0 then
			pc.give_item2(70038, 50)
			pc.give_item2(27006, 200)
			pc.give_item2(27003, 200)
			pc.give_item2(27102, 50)
			pc.give_item2(27105, 50)
			local i = pc.job()
				if i == 0 then
					pc.give_item2(19, 1)
				elseif i == 1 then
					pc.give_item2(1009, 1)
				elseif i == 2 then
					pc.give_item2(19, 1)
				elseif i == 3 then
					pc.give_item2(7009, 1)
				end
			pc.setqf("gbw", 1)
	else
			return
		end
	end
end
end

 

@EDIT

Sorry, nie widziałem na początku, że miałeś tekst wpisany.

Tak powinno działać tak jak miałeś.

***


Nie gram już w ogóle w metina,


ale jeśli potrzeba komuś pomoc z questem


to jeśli będę potrafił to mogę pomóc.


***

Opublikowano

Witam przerobiłem trochę wieżę wygnańców ale wyskakuje mi owy błąd proszę o poprawę poleca + lub -

when doesn't have begin-end clause. (dostac)
10pietro.quest:717:Abort (core dumped)

 

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(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
    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', 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
	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', 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("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 posostał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 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 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 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,10)

	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")
end

when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
	d.kill_all()
	notice_all(pc.get_name().." zabil Umarlego Rozpruwacza!")
	timer("devil_end_jump", 60)
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(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."Wejdź do Wieży Wygnańców" with party.is_leader() begin
	say_title("Strażnik Wieży Wygnańców:")
	if party.get_near_count() < 2 then
		say("Wybacz, musisz mieć ze sobą 2 osoby w grupie.")
		party.chat("Wasza grupa posiada zbyt mało członków.")
		return
	end
    if pc.get_level() < 135 then
	say("Wybacz, mogę wpuszczać tylko osoby od 135 poziomu.")
	party.chat("Lider grupy nie posiada 135 poziomu.")
    else
	say("Nadajesz aby wejsc do wiezy")
	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() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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 Tian-Shuan, by przedostać się dalej.")
			d.spawn_mob(8034, 195, 690)
		end
end


when 8034.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
    timer("wieza", 6)
	chat(special.devil_tower[1][1].." "..special.devil_tower[1][2])
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 1191.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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()
	d.notice("Wiedzma zostala pokonana!!")
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() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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(8027, positions[i][1], positions[i][2]))
    end
    chat(positions[7][1], positions[7][2])
    local vid = d.spawn_mob(8027, 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 Zaglady.");
    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', 5*60, 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)
	d.spawn_mob(1307, 363, 428)
	d.spawn_mob(1307, 430, 418)
	d.spawn_mob(1307, 400, 400)
	d.spawn_mob(1307, 390, 460)
	d.spawn_mob(1307, 425, 460)
    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 1307.kill with pc.in_dungeon() and d.getf("levels") == 5 begin
    local KILL_COUNT_FOR_DROP_KEYs = 100
    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/wygnancy2.txt")

	d.notice("Brawo, udało się! Jesteście na 6 piętrze!")
	d.notice("Zabijcie wszystkie elity!")
	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(20075, 425, 216);
	d.spawn_mob(1307, 427, 216);
end

when 1307.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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 (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
	say_title(""..mob_name(20074).."")
	say("Możesz przejsć na 7 zwyklego DT")
	say("Lecz uważaj..")
	say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
	wait()
	if pc.level >=135 then
		say_title(""..mob_name(20074).."")
		say("Posiadasz odpowiedni level.")
		say("Zostaniesz przeniesiony na 7 piętro.")
		timer("devil_jump_7s", 6)
		return
	end
	say_title(""..mob_name(20074).."")
	say("Wybacz.. nie posiadasz 135 poziomu")
	say("Nie mogę Cię przenieść na kolejne piętro.")
	wait()
	pc.warp(590500, 110500)
	return
   end
when 20075.chat.Chcesz dostac sie do minotaura?" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
	say_title(""..mob_name(20074).."")
	say("Możesz przejsć na 7 zwyklego DT")
	say("Lecz uważaj..")
	say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
	wait()
	if pc.level >=110 then
		say_title(""..mob_name(20074).."")
		say("Posiadasz odpowiedni level.")
		say("Zostaniesz przeniesiony na 7 piętro.")
		timer("devil_jump_7s", 6)
		return
	end
	say_title(""..mob_name(20074).."")
	say("Wybacz.. nie posiadasz 135 poziomu")
	say("Nie mogę Cię przenieść na kolejne piętro.")
	wait()
	pc.warp(590500, 110500)
	return
   end
when 20076.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
	say_title(""..mob_name(20074).."")
	say("Możesz przejsć na 7 zwyklego DT")
	say("Lecz uważaj..")
	say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
	wait()
	if pc.level >=135 then
		say_title(""..mob_name(20074).."")
		say("Posiadasz odpowiedni level.")
		say("Zostaniesz przeniesiony na 7 piętro.")
		timer("devil_jump_7s", 6)
		return
	end
	say_title(""..mob_name(20074).."")
	say("Wybacz.. nie posiadasz 135 poziomu")
	say("Nie mogę Cię przenieść na kolejne piętro.")
	wait()
	pc.warp(590500, 110500)
	return
   end

  when devil_jump_7s.timer begin
	d.clear_regen()
	d.spawn_mob(1095, 617, 676)
	d.setf("levels", 7)
	d.regen_file("data/dungeon/wygnancy7.txt")
	d.jump_all(2048+590, 6656+638)
end
---------------------------------------------
-- Niebieska Śmierć
---------------------------------------------
when 1095.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
	timer("devil_jump_8S", 30)
	d.clear_regen()
	d.notice("Pokonaliście Niebieską Śmierć!")
	d.notice("Zostaniecie przeniesieni na piętro Minotaura!")
end

---------------------------------------------
-- Niebiański Smok
---------------------------------------------
when devil_jump_8S.timer begin
	d.setf("levels", 8)
	d.jump_all(2048+590, 6656+155)
	d.spawn_mob(2604,630,195)
end

when 2604.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
	d.kill_all()
	local m_sex = pc.get_sex()
			    if m_sex == 0 then
	notice_all(pc.get_name().." zabił Minotaura!")
		else
	notice_all(pc.get_name().." zabiła Minotaura!")
			end

	timer("devil_end_jumps", 60)
end

when devil_end_jumps.timer begin
    d.exit_all()
end
end
state __GOOD__ begin
end
end
end

 

.:Moje tematy:.

 

 

Jeżeli Przyda ci się moja praca postaw Lajka

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...