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
Pasjonat
Opublikowano
@up daj tak
else
say("Biolog Chaegirab:")
say("Jeszcze nie skonczyłem badać ostatniego Zębu Orka!")
say("Wróć później, kiedy już skończe!")
say("")
say("By oddać ponownie Ząb Orka musisz zaczekać "..pc.getqf("time")-get_time()/60.." minut.")
return

end
end
end

powinno być dobrze

 

no niestety /60 wywala błędy w queście. nie chce się ładować. po usunięciu quest działa

else
say("Biolog Chaegirab:")
say("Jeszcze nie skończyłem badać ostatniego Zębu Orka!")
say("Wróć później, kiedy już skończę!")
say("")
say("By oddać ponownie Ząb Orka musisz zaczekać "..pc.getqf("time")-get_time().." minut.")
return
end

end
end

 

w tej postaci dziala tylko pokazuje sekundy

 

2 mam problem z biologiem. gdy jeszcze mam misję zeby orka to po zdobyciu 40 lvl załącza się też misja z księgami:

 

say_reward("Otrzymano 2.000.000 yang i Punkty Doświadczenia")
say_reward("Otrzymałeś bonus szybkość ruchu.")
say_reward("Został on podniesiony o 10 ")
say_reward("Tego bonu Ci nikt nie odbierze!")
say("")
wait()
affect.add_collect(apply.MOV_SPEED, 10, 60*60*24*365*60)
pc.give_item2(50109, 1)
pc.change_money(2000000)
pc.give_exp2(20000000) 
clear_letter()
set_quest_state("collect_quest_lv40", "run")
set_state(__complete)
end

end


state __giveup__ begin
when 20084.chat."Poddajesz się?" begin
say("Biolog Chaegirab:")
say("Czy jesteś pewien, że chcesz się poddać!?")
say("Nie będziesz miał szansy, aby zacząć ponownie!")
say("Ta misja Cie opuści...")
   end
end
state __complete begin
end
end

Opublikowano

Co jest w tym queście źle?.

Naprawi mi go ktoś?

 

 

quest move_ring begin

state start begin

when 80009.use begin

say_title ( "Pierscien:" )

say (pc.get_name().. " Czego Ci trzeba ziomuś?:D" )

say ( "" )

local s = select ( "Kup Poty" , "Otwórz magazyn" , "Teleportuj" , "Wyjdz" )

if s == 1

say_reward ( "hmm..." )

say ( pc.get_name().." Jakich i ile potów chcesz kupic?:" )

local s = select ( "D.Nieb-200 " , "D.Czerw-200" , "Wyjdz!" )

if s == 1 then

say ("Nie ma Sprawy.;D")

if pc.money>=100000 then

pc.changemoney(-100000)

pc.give_item2("27006", 200)

say("Zakupiłeś 200 D.Nieb Potów ")

 

elseif 2 == s then

say ("Nie ma Sprawy.;D")

if pc.money>=100000 then

pc.changemoney(-100000)

pc.give_item2("27003", 200)

say("Zakupiłeś 200 D.Czerw Potów ")

 

 

elseif 3 == s then

 

else

return

end

if s == 2 then

say_title("Dozorca :")

say("Witaj! Jestem dozorcą. ")

say("Możesz u mnie przechowywać przedmioty.")

local f=select("Otwórz magazyn" , "Anuluj")

if f==1 then

game.open_safebox()

 

elseif 2==f then

 

else

return

end

if s == 3 then

say_title ( "Pierscien Teleportacji:" )

say ( pc.get_name().." Gdzie chcesz sie wybrać?" )

say ( "" )

local s = select ( "Główne Miasta" , "Miasteczka (M2)" , "Inne" , "Expowiska" , "Expowiska cz.2" , "Wyjdz" )

if s == 1 then

say_reward ( "hmm..." )

say ( pc.get_name().." Do którego miasta chcesz sie wybrac??" )

local s = select ( "Shinsoo" , "Chujno" , "Jinno" , "Wyjdz!" )

if s == 1 then

say_title ( pc.get_name().."!")

say ("Lecisz do wioski Shinsso")

wait ()

pc.warp ( 474300 , 954800 )

 

elseif 2 == s then

say_title ( pc.get_name().."!")

say ("Lecisz do wioski Chunjo")

wait ()

pc.warp ( 63800 , 166400 )

 

elseif 3 == s then

say_title ( pc.get_name().."!")

say ("Lecisz do wioski Jinno")

wait ()

pc.warp ( 959900 , 269200 )

 

elseif 4 == s then

 

else

return

end

elseif s == 2 then

say_reward ( "hmm..." )

say ( pc.get_name().." Do którego miasteczka chcesz sie wybrac?" )

local s = select ( "Shinsoo M2" , "Chujno M2" , "Jinno M2" , "Wyjdz!" )

if s == 1 then

say_title ( pc.get_name().."!")

say ("Lecisz do drugiej wioski Shinsso")

wait ()

pc.warp ( 353100 , 882900 )

 

elseif 2 == s then

say_title ( pc.get_name().."!")

say ("Lecisz do drugiej wioski Chujno")

wait ()

pc.warp ( 145500 , 240000 )

 

elseif 3 == s then

say_title ( pc.get_name().."!")

say ("Lecisz do drugiej wioski Jinno")

wait ()

pc.warp ( 863900 , 246000 )

 

elseif 4 == s then

return

end

elseif s == 3 then

say_title ( pc.get_name().."!")

say ( "Zwiedz tez inne miejsca :")

local s = select ( "Przed DT" , "Ziemia Olbrzymów" , "GM map/zombie" , "Wyjdz!" )

if s == 1 then

say_title ( pc.get_name().."!")

say ("Lecisz Na DT ")

wait ()

pc.warp ( 590500 , 110500 )

 

elseif 2 == s then

say_title ( pc.get_name().."!")

say ("Lecisz na Tysiaki ")

wait ()

pc.warp ( 845100 , 745900 )

 

elseif 3 == s then

say_title ( pc.get_name().."!")

say ("Nowa mapa (jeszcze w budowie , ale zobaczysz jak wyglada)")

wait ()

pc.warp ( 83200 , 0 )

 

elseif 4 == s then

 

else

return

end

elseif s == 4 then

say_reward ( "hmm..." )

say ( pc.get_name().." Gdzie chcesz sie wybrać?" )

local s = select ( "Dolina Orków" , "Pustynia" , "Góra Sohan" , "Loch Pająków v1" , "Ognista Ziema" , "Wyjdz" )

if s == 1 then

say_title ("Zostaniesz Przeniesiony")

say ("Trzymaj się Mocno!")

wait ()

local empire = pc . get_empire ( )

if empire == 1 then

pc.warp ( 402100 , 673900 )

elseif empire == 2 then

pc.warp ( 270400 , 739900 )

elseif empire == 3 then

pc.warp ( 321300 , 808000 )

end

 

 

 

 

elseif 2 == s then

say_title ("Zostaniesz Przeniesiony")

say ("Trzymaj się Mocno!")

wait ()

local empire = pc . get_empire ( )

if empire == 1 then

pc.warp ( 217800 , 627200 )

elseif empire == 2 then

pc.warp ( 221900 , 502700 )

elseif empire == 3 then

pc.warp ( 344000 , 502500 )

end

 

 

elseif 3 == s then

say_title ("Zostaniesz Przeniesiony")

say ("Trzymaj się Mocno!")

wait ()

local empire = pc . get_empire ( )

if empire == 1 then

pc.warp ( 434200 , 290600 )

elseif empire == 2 then

pc.warp ( 375200 , 174900 )

elseif empire == 3 then

pc.warp ( 491800 , 173600 )

end

 

elseif 4 == s then

say_title ("Zostaniesz Przeniesiony")

say ("Trzymaj się Mocno!")

wait ()

local empire = pc . get_empire ( )

if empire == 1 then

pc.warp ( 60000 , 496000 )

elseif empire == 2 then

pc.warp ( 60000 , 496000 )

elseif empire == 3 then

pc.warp ( 60000 , 496000 )

end

 

elseif 5 == s then

say_title ("Zostaniesz Przeniesiony")

say ("Trzymaj się Mocno!")

wait ()

local empire = pc . get_empire ( )

if empire == 1 then

pc.warp ( 599400 , 756300 )

elseif empire == 2 then

pc.warp ( 597800 , 622200 )

elseif empire == 3 then

pc.warp ( 730700 , 689800 )

end

else

return

end

elseif s == 5 then

say_reward ( "hmm..." )

say ( pc.get_name().." Gdzie chcesz sie wybrać?" )

local s = select ( "Loch Pająków V2" , "Czerwony Las" , "Alantyda V1" , "Atlantyda V2" , "Anuluj" )

if s == 1 then

say_title ("Zostaniesz Przeniesiony do Lochy Pajaków V2")

say ("Trzymaj się Mocno!")

wait ()

pc.warp ( 704100 , 464100 )

 

elseif 2 == s then

say_title ("Zostaniesz Przeniesiony do Czerwonego Lasu")

say ("Trzymaj się Mocno!")

wait ()

pc.warp ( 1119900 , 70800 )

 

elseif 3 == s then

say_title ("Zostaniesz Przeniesiony do Atlantydy V1")

say ("Trzymaj się Mocno!")

wait ()

pc.warp ( 9800 , 1215100 )

 

elseif 4 == s then

say_title ("Zostaniesz Przeniesiony do Atlantydy V2")

say ("Trzymaj się Mocno!")

wait ()

pc.warp ( 135200 , 1215100 )

 

elseif 5 == s then

return

end

end

end

end

end

 

Opublikowano

Poprawi ktoś ten quest niechce teleportować itp...

 

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 osób w grupie.")
					party.chat("Wasza grupa posiada zbyt mało członków.")
					return
			end
		if pc.get_level() < 100 then
			say("Wybacz, mogę wpuszczać tylko soby od 110 poziomu.")
			party.chat("Lider grupy nie posiada 110 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 110 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 110 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 110 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

 

.

Opublikowano

Co jest w tym queście źle?.

Naprawi mi go ktoś?

 

 

quest move_ring begin

state start begin

when 80009.use begin

say_title ( "Pierscien:" )

say (pc.get_name().. " Czego Ci trzeba ziomuś? :D" )

say ( "" )

local s = select ( "Kup Poty" , "Otwórz magazyn" , "Teleportuj" , "Wyjdz" )

if s == 1

say_reward ( "hmm..." )

say ( pc.get_name().." Jakich i ile potów chcesz kupic?:" )

local s = select ( "D.Nieb-200 " , "D.Czerw-200" , "Wyjdz!" )

if s == 1 then

say ("Nie ma Sprawy.;D")

if pc.money>=100000 then

pc.changemoney(-100000)

pc.give_item2("27006", 200)

say("Zakupiłeś 200 D.Nieb Potów ")

 

elseif 2 == s then

say ("Nie ma Sprawy.;D")

if pc.money>=100000 then

pc.changemoney(-100000)

pc.give_item2("27003", 200)

say("Zakupiłeś 200 D.Czerw Potów ")

 

 

elseif 3 == s then

 

else

return

end

if s == 2 then

say_title("Dozorca :")

say("Witaj! Jestem dozorcą. ")

say("Możesz u mnie przechowywać przedmioty.")

local f=select("Otwórz magazyn" , "Anuluj")

if f==1 then

game.open_safebox()

 

elseif 2==f then

 

else

return

end

if s == 3 then

say_title ( "Pierscien Teleportacji:" )

say ( pc.get_name().." Gdzie chcesz sie wybrać?" )

say ( "" )

local s = select ( "Główne Miasta" , "Miasteczka (M2)" , "Inne" , "Expowiska" , "Expowiska cz.2" , "Wyjdz" )

if s == 1 then

say_reward ( "hmm..." )

say ( pc.get_name().." Do którego miasta chcesz sie wybrac??" )

local s = select ( "Shinsoo" , "Chujno" , "Jinno" , "Wyjdz!" )

if s == 1 then

say_title ( pc.get_name().."!")

say ("Lecisz do wioski Shinsso")

wait ()

pc.warp ( 474300 , 954800 )

 

elseif 2 == s then

say_title ( pc.get_name().."!")

say ("Lecisz do wioski Chunjo")

wait ()

pc.warp ( 63800 , 166400 )

 

elseif 3 == s then

say_title ( pc.get_name().."!")

say ("Lecisz do wioski Jinno")

wait ()

pc.warp ( 959900 , 269200 )

 

elseif 4 == s then

 

else

return

end

elseif s == 2 then

say_reward ( "hmm..." )

say ( pc.get_name().." Do którego miasteczka chcesz sie wybrac?" )

local s = select ( "Shinsoo M2" , "Chujno M2" , "Jinno M2" , "Wyjdz!" )

if s == 1 then

say_title ( pc.get_name().."!")

say ("Lecisz do drugiej wioski Shinsso")

wait ()

pc.warp ( 353100 , 882900 )

 

elseif 2 == s then

say_title ( pc.get_name().."!")

say ("Lecisz do drugiej wioski Chujno")

wait ()

pc.warp ( 145500 , 240000 )

 

elseif 3 == s then

say_title ( pc.get_name().."!")

say ("Lecisz do drugiej wioski Jinno")

wait ()

pc.warp ( 863900 , 246000 )

 

elseif 4 == s then

return

end

elseif s == 3 then

say_title ( pc.get_name().."!")

say ( "Zwiedz tez inne miejsca :")

local s = select ( "Przed DT" , "Ziemia Olbrzymów" , "GM map/zombie" , "Wyjdz!" )

if s == 1 then

say_title ( pc.get_name().."!")

say ("Lecisz Na DT ")

wait ()

pc.warp ( 590500 , 110500 )

 

elseif 2 == s then

say_title ( pc.get_name().."!")

say ("Lecisz na Tysiaki ")

wait ()

pc.warp ( 845100 , 745900 )

 

elseif 3 == s then

say_title ( pc.get_name().."!")

say ("Nowa mapa (jeszcze w budowie , ale zobaczysz jak wyglada)")

wait ()

pc.warp ( 83200 , 0 )

 

elseif 4 == s then

 

else

return

end

elseif s == 4 then

say_reward ( "hmm..." )

say ( pc.get_name().." Gdzie chcesz sie wybrać?" )

local s = select ( "Dolina Orków" , "Pustynia" , "Góra Sohan" , "Loch Pająków v1" , "Ognista Ziema" , "Wyjdz" )

if s == 1 then

say_title ("Zostaniesz Przeniesiony")

say ("Trzymaj się Mocno!")

wait ()

local empire = pc . get_empire ( )

if empire == 1 then

pc.warp ( 402100 , 673900 )

elseif empire == 2 then

pc.warp ( 270400 , 739900 )

elseif empire == 3 then

pc.warp ( 321300 , 808000 )

end

 

 

 

 

elseif 2 == s then

say_title ("Zostaniesz Przeniesiony")

say ("Trzymaj się Mocno!")

wait ()

local empire = pc . get_empire ( )

if empire == 1 then

pc.warp ( 217800 , 627200 )

elseif empire == 2 then

pc.warp ( 221900 , 502700 )

elseif empire == 3 then

pc.warp ( 344000 , 502500 )

end

 

 

elseif 3 == s then

say_title ("Zostaniesz Przeniesiony")

say ("Trzymaj się Mocno!")

wait ()

local empire = pc . get_empire ( )

if empire == 1 then

pc.warp ( 434200 , 290600 )

elseif empire == 2 then

pc.warp ( 375200 , 174900 )

elseif empire == 3 then

pc.warp ( 491800 , 173600 )

end

 

elseif 4 == s then

say_title ("Zostaniesz Przeniesiony")

say ("Trzymaj się Mocno!")

wait ()

local empire = pc . get_empire ( )

if empire == 1 then

pc.warp ( 60000 , 496000 )

elseif empire == 2 then

pc.warp ( 60000 , 496000 )

elseif empire == 3 then

pc.warp ( 60000 , 496000 )

end

 

elseif 5 == s then

say_title ("Zostaniesz Przeniesiony")

say ("Trzymaj się Mocno!")

wait ()

local empire = pc . get_empire ( )

if empire == 1 then

pc.warp ( 599400 , 756300 )

elseif empire == 2 then

pc.warp ( 597800 , 622200 )

elseif empire == 3 then

pc.warp ( 730700 , 689800 )

end

else

return

end

elseif s == 5 then

say_reward ( "hmm..." )

say ( pc.get_name().." Gdzie chcesz sie wybrać?" )

local s = select ( "Loch Pająków V2" , "Czerwony Las" , "Alantyda V1" , "Atlantyda V2" , "Anuluj" )

if s == 1 then

say_title ("Zostaniesz Przeniesiony do Lochy Pajaków V2")

say ("Trzymaj się Mocno!")

wait ()

pc.warp ( 704100 , 464100 )

 

elseif 2 == s then

say_title ("Zostaniesz Przeniesiony do Czerwonego Lasu")

say ("Trzymaj się Mocno!")

wait ()

pc.warp ( 1119900 , 70800 )

 

elseif 3 == s then

say_title ("Zostaniesz Przeniesiony do Atlantydy V1")

say ("Trzymaj się Mocno!")

wait ()

pc.warp ( 9800 , 1215100 )

 

elseif 4 == s then

say_title ("Zostaniesz Przeniesiony do Atlantydy V2")

say ("Trzymaj się Mocno!")

wait ()

pc.warp ( 135200 , 1215100 )

 

elseif 5 == s then

return

end

end

end

end

end

 

 

Na moje..

if pc.money>=100000 then
pc.changemoney(-100000)
pc.give_item2("27003", 200)

 

zmień na

 

if pc.get_money() >= 100000 then
pc.change_money(-100000)
pc.give_item2(27003, 200)

Zbliżamy się ku końcowi.

 

95/100 %

 

Żegnaj MPC Forum

Opublikowano

adm, z tym czasem to tak na logikę. Kolejność działań z podstawówki się pamięta?

pc.getqf("time")-get_time()/60

Najpierw podzieli na aktualny czas na 60 a później odejmie go od czasu w getqf("time") = FALSE. Trzeba początek wziąć w nawias i na 60 go podzielić, o tak:

(pc.getqf("time")-get_time())/60.

 

Drugi quest, zobacz do misji na 40lvl. Początek powinien wyglądać tak:

quest collect_quest_lv40 begin
state start begin
end

state run begin
when login or levelup with pc.get_level() >= 40 begin
...

tak MUSI wyglądać quest biologa na 40 poziom ze względu na to w queście na 30lvl:

set_quest_state("collect_quest_lv40", "run")

 

Swierko12, tam jest 50 teleportów, byłoby ciut prościej gdybyś wskazał który nie działa..

 

newjaa, większość funkcji pc.get_xxx() można zapisać w krótszej formie, czyli pc.xxx, bez get i bez nawiasów.

Koniec z MPCForum.pl i ogółem z metinem

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

a jaki masz najwiekszy lvl na serwerze odblokowany? to Ci zrobię tego biologa

 

250 , ale ja chce tylko jednego questa na 30 lvl z zębami orka i żeby nie był zbugowany

Dłuższej grafiki się nie dało?
 

Opublikowano

KRis215, brakowało Ci kilku endów, poza tym miałeś 3x if zamast 1x if i 2x elseif

 

 

quest move_ring begin
state start begin
 when 80009.use begin
  say_title ( "Pierscien:" )
  say (pc.get_name().. " Czego Ci trzeba ziomuś?" )
  say ( "" )
  local x = select ( "Kup Poty" , "Otwórz magazyn" , "Teleportuj" , "Wyjdz" )
  if x == 1
   say_reward ("hmm...")
   say (pc.get_name().." Jakich i ile potów chcesz kupic?:" )
   local q = select ( "D.Nieb-200 " , "D.Czerw-200" , "Wyjdz!" )
   if q == 1 then
 say ("Nie ma Sprawy.;D")
 if pc.money>=100000 then
  pc.changemoney(-100000)
  pc.give_item2("27006", 200)
  say("Zakupiłeś 200 D.Nieb Potów ")
 end
   elseif 2 == q then
 say ("Nie ma Sprawy.;D")
 if pc.money>=100000 then
  pc.changemoney(-100000)
  pc.give_item2("27003", 200)
  say("Zakupiłeś 200 D.Czerw Potów ")
 end
   end
  elseif x == 2 then
   say_title("Dozorca :")
   say("Witaj! Jestem dozorcą. ")
   say("Możesz u mnie przechowywać przedmioty.")
   local f=select("Otwórz magazyn" , "Anuluj")
   if f==1 then
 game.open_safebox()
   end
  elseif x == 3 then
   say_title ( "Pierscien Teleportacji:" )
   say ( pc.get_name().." Gdzie chcesz sie wybrać?" )
   say ( "" )
   local s = select ( "Główne Miasta" , "Miasteczka (M2)" , "Inne" , "Expowiska" , "Expowiska cz.2" , "Wyjdz" )
   if s == 1 then
 say_reward ( "hmm..." )
 say ( pc.get_name().." Do którego miasta chcesz sie wybrac??" )
 local a = select ( "Shinsoo" , "Chujno" , "Jinno" , "Wyjdz!" )
 if a == 1 then
  say_title ( pc.get_name().."!")
  say ("Lecisz do wioski Shinsso")
  wait ()
  pc.warp ( 474300 , 954800 )
 elseif 2 == a then
  say_title ( pc.get_name().."!")
  say ("Lecisz do wioski Chunjo")
  wait ()
  pc.warp ( 63800 , 166400 )
 elseif 3 == a then
  say_title ( pc.get_name().."!")
  say ("Lecisz do wioski Jinno")
  wait ()
  pc.warp ( 959900 , 269200 )
 end
   elseif s == 2 then
 say_reward ( "hmm..." )
 say ( pc.get_name().." Do którego miasteczka chcesz sie wybrac?" )
 local b = select ( "Shinsoo M2" , "Chujno M2" , "Jinno M2" , "Wyjdz!" )
 if b == 1 then
  say_title ( pc.get_name().."!")
  say ("Lecisz do drugiej wioski Shinsso")
  wait ()
  pc.warp ( 353100 , 882900 )
 elseif b == s then
  say_title ( pc.get_name().."!")
  say ("Lecisz do drugiej wioski Chujno")
  wait ()
  pc.warp ( 145500 , 240000 )
 elseif b == s then
  say_title ( pc.get_name().."!")
  say ("Lecisz do drugiej wioski Jinno")
  wait ()
  pc.warp ( 863900 , 246000 )
 end
   elseif s == 3 then
 say_title ( pc.get_name().."!")
 say ( "Zwiedz tez inne miejsca :")
 local s = select ( "Przed DT" , "Ziemia Olbrzymów" , "GM map/zombie" , "Wyjdz!" )
 if s == 1 then
  say_title ( pc.get_name().."!")
  say ("Lecisz Na DT ")
  wait ()
  pc.warp ( 590500 , 110500 )
 elseif 2 == s then
  say_title ( pc.get_name().."!")
  say ("Lecisz na Tysiaki ")
  wait ()
  pc.warp ( 845100 , 745900 )
 elseif 3 == s then
  say_title ( pc.get_name().."!")
  say ("Nowa mapa (jeszcze w budowie , ale zobaczysz jak wyglada)")
  wait ()
  pc.warp ( 83200 , 0 )
 end
   elseif s == 4 then
 say_reward ( "hmm..." )
 say ( pc.get_name().." Gdzie chcesz sie wybrać?" )
 local s = select ( "Dolina Orków" , "Pustynia" , "Góra Sohan" , "Loch Pająków v1" , "Ognista Ziema" , "Wyjdz" )
 if s == 1 then
  say_title ("Zostaniesz Przeniesiony")
  say ("Trzymaj się Mocno!")
  wait ()
  local empire = pc . get_empire ( )
  if empire == 1 then
   pc.warp ( 402100 , 673900 )
  elseif empire == 2 then
   pc.warp ( 270400 , 739900 )
  elseif empire == 3 then
   pc.warp ( 321300 , 808000 )
  end
 elseif 2 == s then
  say_title ("Zostaniesz Przeniesiony")
  say ("Trzymaj się Mocno!")
  wait ()
  local empire = pc . get_empire ( )
  if empire == 1 then
   pc.warp ( 217800 , 627200 )
  elseif empire == 2 then
   pc.warp ( 221900 , 502700 )
  elseif empire == 3 then
   pc.warp ( 344000 , 502500 )
  end
 elseif 3 == s then
  say_title ("Zostaniesz Przeniesiony")
  say ("Trzymaj się Mocno!")
  wait ()
  local empire = pc . get_empire ( )
  if empire == 1 then
   pc.warp ( 434200 , 290600 )
  elseif empire == 2 then
   pc.warp ( 375200 , 174900 )
  elseif empire == 3 then
   pc.warp ( 491800 , 173600 )
  end
 elseif 4 == s then
  say_title ("Zostaniesz Przeniesiony")
  say ("Trzymaj się Mocno!")
  wait ()
  local empire = pc . get_empire ( )
  if empire == 1 then
   pc.warp ( 60000 , 496000 )
  elseif empire == 2 then
   pc.warp ( 60000 , 496000 )
  elseif empire == 3 then
   pc.warp ( 60000 , 496000 )
  end
 elseif 5 == s then
  say_title ("Zostaniesz Przeniesiony")
  say ("Trzymaj się Mocno!")
  wait ()
  local empire = pc . get_empire ( )
  if empire == 1 then
   pc.warp ( 599400 , 756300 )
  elseif empire == 2 then
   pc.warp ( 597800 , 622200 )
  elseif empire == 3 then
   pc.warp ( 730700 , 689800 )
  end
 end
   elseif s == 5 then
 say_reward ( "hmm..." )
 say ( pc.get_name().." Gdzie chcesz sie wybrać?" )
 local s = select ( "Loch Pająków V2" , "Czerwony Las" , "Alantyda V1" , "Atlantyda V2" , "Anuluj" )
 if s == 1 then
  say_title ("Zostaniesz Przeniesiony do Lochy Pajaków V2")
  say ("Trzymaj się Mocno!")
  wait ()
  pc.warp ( 704100 , 464100 )
 elseif 2 == s then
  say_title ("Zostaniesz Przeniesiony do Czerwonego Lasu")
  say ("Trzymaj się Mocno!")
  wait ()
  pc.warp ( 1119900 , 70800 )
 elseif 3 == s then
  say_title ("Zostaniesz Przeniesiony do Atlantydy V1")
  say ("Trzymaj się Mocno!")
  wait ()
  pc.warp ( 9800 , 1215100 )
 elseif 4 == s then
  say_title ("Zostaniesz Przeniesiony do Atlantydy V2")
  say ("Trzymaj się Mocno!")
  wait ()
  pc.warp ( 135200 , 1215100 )
 end
   end
  end
 end
end
end

 

Koniec z MPCForum.pl i ogółem z metinem

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

Funkcja

d.purge()

Jest przypisana do:

when XXX.kill with pc.get_map_index() >= XX0000 and pc.get_map_index() < XX0000 begin

Wywala mi cały kanał. Wejście na mapę jest za pomocą funkcji

d.join(X)

Opublikowano

SZUKAM QUESTÓW:

 

horse_upgrade(misja na bojowca)

horse_upgrade2(misja na militara)

 

musze byc spolszczone i odbugowane(dzialajce) bo mam po niemiecku i zbugowane -.-

 

nie wiem czy to dobry dział ;p jak cos prosze o przeniesienie...

//nieregulaminowa sygnatura

Opublikowano

Prosze o napisanie questa:

 

W pierscieniu teleportacji maja sie znajdowac zastepujace funkcje:

 

Teleportacje:

M1 -> m1 jinno, m1 shinso, m1 hunjo.

M2 -> m2 jinno, m2 shinso, m2 hunjo.

Expowiska cz1 -> dolina orkow, pustynia, stwiatyna w doline orkow, gora sohan, v1, v2 (dostepne od 1lv)

Expowiska cz2 -> czerwony las, atlantyda v1, atlantyda v2, wieza demonow (dostepne od 70lv)

 

Magazyn (Otwieranie tego co jest u dozorcy)

Kupowanie czerwonych i niebieskich duzych potkow po 500k za 200

 

 

Za napisanie questa stawiam lajki :) Prosze o podanie ścieżki w której mam to dodac :)

Opublikowano

adm, z tym czasem to tak na logikę. Kolejność działań z podstawówki się pamięta?

pc.getqf("time")-get_time()/60

Najpierw podzieli na aktualny czas na 60 a później odejmie go od czasu w getqf("time") = FALSE. Trzeba początek wziąć w nawias i na 60 go podzielić, o tak:

(pc.getqf("time")-get_time())/60.

 

Ale w ten sposób ja próbując u siebie, miałem wyświetlone coś w ten deseń : "pozostało 6.000003 sekund" (przykładowo) ale gdy zrobiłem to sposobem który napisałem w jakimś temacie :

local pozostalo = pc.getqf("czas") - get_time()
local czas
if pozostalo >= 1 and pozostalo <=60 then
czas = pozostalo
tekst = "sekund"
elseif pozostalo >= 61 and pozostalo <= 120 then
czas = "1"
tekst = "minutę "
elseif pozostalo >=121 and pozostalo <=180 then
czas = "2"
tekst = "minuty"
elseif pozostalo >=181 and pozostalo <=240 then
czas = "3"
tekst = "minuty"
elseif pozostalo >=241 and pozostalo <=300 then
czas = "4"
tekst = "minuty"
elseif pozostalo >=301 and pozostalo <=360 then
czas = "5"
tekst = "minut"
elseif pozostalo >=361 and pozostalo <=420 then
czas = "6"
tekst = "minut"
elseif pozostalo >=421 and pozostalo <=480 then
czas = "7"
tekst = "minut"
elseif pozostalo >=481 and pozostalo <=540 then
czas = "8"
tekst = "minut"
elseif pozostalo >=541 and pozostalo <=600 then
czas = "9"
tekst = "minut"
end

i potem :

say("pozostalo :"..czas)

to ładnie pokazało :)

 

umarł

Opublikowano

Uwaga!

Pytanie za 10 punktów.

 

Jak zsumować wszystkie bonusy postaci (np. Silny przeciwko mistykom), żeby uzyskać wartość w procentach w zwykłym say'u ?

Myślałem nad tym jakiś czas, ale przyznam szczerze, przerosło mnie to, już łatwiej będzie pisać nową funkcję, oszczędziłoby to czasu w pisaniu kolejnych questów.. No ale nic, ma ktoś jakieś pomysły, czy mogę już być pewien, że żadna funkcja z oryginalnych plików 2010 mi tego nie załatwi?

Zbliżamy się ku końcowi.

 

95/100 %

 

Żegnaj MPC Forum

Opublikowano

Chodzi mi o bonusy przypisane postaci.

Czyli np, mamy misję na zęby orka, dostajemy po niej ileś tam szybkości poruszania się + wszystko z ekwipunku, żeby ładnie było zliczone.

 

Czyli dopisane stałe bonusy/tymczasowe bonusy + ekwipunek

Zbliżamy się ku końcowi.

 

95/100 %

 

Żegnaj MPC Forum

Opublikowano

Witam

Szukam qesta na drop pereł w Atlantydzie (v1, v2), Katakumbach i loch pająków V2.

 

Za napisanie questa będzie +/5/lajk ; >

STOP A.C.T.A

Opublikowano

Witam

Szukam qesta na drop pereł w Atlantydzie (v1, v2), Katakumbach i loch pająków V2.

 

Za napisanie questa będzie +/5/lajk ; >

 

Myślisz, że każdy zna id mobów jakie tam masz? Pfi : )

Zbliżamy się ku końcowi.

 

95/100 %

 

Żegnaj MPC Forum

Opublikowano

No wiesz, można i inaczej :P

when kill with not npc.is_pc() and pc.get_map_index() == XX begin

Co do Twojego pomysłu z liczeniem bonusów to nie mam pomysłu (jestem noobem).

 

umarł

Opublikowano

Witam panów i panie. :D

 

Dopiszcie mi, proszę coś, żeby po włączeniu sklepu znikały te czarne paski na dole i górze. (wiecie, unlock czy coś tam :P)

 

quest shops begin
   state start begin
       when 20349.chat."Sklep" begin
           npc.open_shop(101)
       end
   end
end

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...