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

Malutka poprawka komnaty smoka


Rekomendowane odpowiedzi

Opublikowano

Witam ma działającego questa na komnatę smoka ale jedyna rzecz, którą chciałbym zmienić to to, że jeżeli jeszcze musimy czekać na to aż będziemy mogli wejść ponownie i piszę na ogólnym: grupa xxx gracza wchodzi do komanty smoka, chcę aby tego nie wyświetlało jak jeszcze musimy czekać i ewentualnie możecie się jeszcze dopatrzeć jakiś bugów. Ale quest działa.

 

quest:

http://wklej.to/ll2te

lub

quest komnata_smoka begin
	state start begin
		function main()
			say_title(mob_name(npc.race)..":")
			say("Chcesz wejść do Komnaty Smoka?")
			say("Oczywiście, tylko musisz spełniać ")
			say("odpowiednie warunki.")
			say()
			say_reward("Na pewno chcesz tam wejść?")
			local s = select("Chcę tam wejść!","Jakie muszę spełniać warunki?","Anuluj")
			if s == 1 then
				komnata_smoka.tp()
			elseif s == 2 then
				komnata_smoka.rules()
			end
		end
		function tp()
			if pc.getqf("metiny_bonus") > get_time() then
				say_title(mob_name(npc.race)..":")
				say("Musisz jeszcze odczekać swój limit!")
				local time = (pc.getqf("metiny_bonus") - get_time()) / 3600
				local h = math.floor(time)
				local min = (time - h)*60
				local m = math.floor(min)
				say_title("Pozostały czas: "..h.." godzin, "..m.." min.")
				return
			end
			 if pc.level < 80 then
				 say_title(mob_name(npc.race)..":")
				 say("Nie masz 80 poziomu!")
			 else
				 if !party.is_party() then
					 say_title(mob_name(npc.race)..":")
					 say("Nie jesteś w grupie!")
				 else
					 if party.get_near_count() < 2 then
						 say_title(mob_name(npc.race)..":")
						 say("Twoja grupa musi mieć przynajmniej 2 osoby!")
					 else
						 if pc.count_item(70023) < 1 then
							 say_title(mob_name(npc.race)..":")
							 say("Potrzebujesz tego przedmiotu:")
							 say_item_vnum(70023)
						 else
							say_title(mob_name(npc.race)..":")
							say("Zostaniecie przeniesieni.")
							wait()
							pc.setqf("komnata_smoka", 1)
							pc.setqf("komnata_smoka_count", party.get_near_count())
							d.join(208)
							notice_all("<<Komnata Smoka>> Gracz "..pc.name.." <"..pc.level.." lv> wchodzi ze swoją grupą do Komnaty Smoka!")
						 end
					 end
				 end
			 end
		end
		function rules()
			say_title(mob_name(npc.race)..":")
			say("Oto zasady obowiązujące w Komnacie Smoka.")
			say_reward("1. Poziom")
			say("Musisz mieć przynajmniej 80 poziom postaci.")
			say_reward("2. Grupa")
			say("Musisz mieć przynajmniej 2 osobową grupę i być jej liderem.")
			say_reward("3. Przedmiot.")
			say("Musisz mieć przedmiot:")
			say_item_vnum(70023)
			if select("Wstecz","Anuluj") == 1 then
				komnata_smoka.main()
			end
		end
		when 30122.chat."Komnata Smoka" begin
			komnata_smoka.main()
		end
		when login with pc.in_dungeon() and pc.getqf("komnata_smoka") == 1 and pc.get_map_index() >= 208*10000 and pc.get_map_index() < 209*10000 begin
			d.notice("Witajcie w Komnacie Smoka!")
			d.notice("Waszym pierwszym celem będzie rozbicie czterech metinów.")
			d.notice("Po zabiciu ich dostaniecie 10% przeciwko potworom na czas trwania wyzwania.")
			d.notice("Powodzenia!")
			d.regen_file("data/dungeon/komnata_smoka_metiny.txt")
			pc.setqf("komnata_smoka", 0)
			d.setf("metiny", 0)
			pc.setqf("is_in_dc", 1)
			pc.setqf("dc_time1", get_time())
		end
		when kill or party_kill with npc.race == 8027 and pc.get_map_index() >= 208*10000 and pc.get_map_index() < 209*10000 begin
			d.setf("metiny", d.getf("metiny")+1)
			if d.getf("metiny") < 4 then
				d.notice("Pozostało wam do zabicia jeszcze "..4-d.getf("metiny").."!")
			elseif d.getf("metiny") == 4 then
				d.notice("Udało Wam się zniszczyć metiny! Dostajecie bonus na 30 minut.")
				d.notice("Za 10 sekund pojawi się główny przeciwnik. Przygotujcie się!")
				timer("komnata", 10)
				d.setf("metiny", 0)
			end
		end
		when komnata.timer begin
			affect.add_collect(63, 10, 60*30)
			pc.setqf("metiny_bonus", get_time()+60*30)
			d.notice("Otrzymaliście bonus. Smok właśnie się pojawił!")
			d.regen_file("data/dungeon/komnata_smoka_beran.txt")
			timer("beran", 60*10)
		end
		when beran.timer begin
			d.notice("Pozostało 20 minut!")
			timer("beran2", 60*10)
		end
		when beran2.timer begin
			d.notice("Pozostało 10 minut!")
			timer("beran3", 60*5)
		end
		when beran3.timer begin
			d.notice("Pozostało 5 minut!")
			timer("beran4", 60*4)
		end
		when beran4.timer begin
			d.notice("Pozostała minuta!")
			timer("beran5", 60)
		end
		when beran5.timer begin
			d.notice("Nie udało Wam się zabić smoka. Zostaniecie przeniesieni do miasta.")
			npc.purge()
			timer("beran6", 5)
		end
		when beran6.timer begin
			d.exit_all_to_start_position()
		end
		when kill or party_kill with npc.race == 2493 and pc.get_map_index() >= 208*10000 and pc.get_map_index() < 209*10000 begin
			d.notice("Udało Wam się zabić smoka!")
			d.notice("Macie 30 sekund na uzbieranie dropu.")
			d.notice("Po 30 sekundach zostaniecie przeniesieni do miasta.")
			timer("beran_out", 30)
			pc.setqf("dc_time2", get_time())
		end
		when beran_out.timer begin
			d.exit_all_to_start_position()
			pc.setqf("is_in_dc", 0)
			pc.setqf("dc_time", pc.getqf("dc_time2")-pc.getqf("dc_time1"))
			local time = pc.getqf("dc_time")/60
			local m = math.floor(time)
			local s0 = (time - m)*60
			local s = math.floor(s0)
			say_title(locale.servername.." ~ Komnata Smoka")
			say("Gratulujemy "..pc.name.."!")
			say("Ty oraz Twoja grupa pokonaliście Smoka")
			say("W czasie "..m.." minut i "..s.." sekund!")
			notice_all("<<Komnata Smoka>> Gracz "..pc.name.." <"..pc.level.." lv> ukończył wyzwanie z czasem "..m.." minut i "..s.." sekund!")
			pc.delqf("komnata_smoka_count")
		end
		when login or logout with pc.in_dungeon() and pc.getqf("is_in_dc") == 1 and pc.get_map_index() != 208*10000 begin
			d.exit_all_to_start_position()
			pc.delqf("komnata_smoka_count")
			pc.setqf("komnata_smoka", 0)
			pc.setqf("is_in_dc", 0)
			d.setf("metiny", 0)
		end
	end
end


hehpng_esrnree.png

Opublikowano


quest komnata_smoka begin

state start begin

function main()

say_title(mob_name(npc.race)..":")

say("Chcesz wejść do Komnaty Smoka?")

say("Oczywiście, tylko musisz spełniać ")

say("odpowiednie warunki.")

say()

say_reward("Na pewno chcesz tam wejść?")

local s = select("Chcę tam wejść!","Jakie muszę spełniać warunki?","Anuluj")

if s == 1 then

komnata_smoka.tp()

elseif s == 2 then

komnata_smoka.rules()

end

end

function tp()

if pc.getqf("metiny_bonus") > get_time() then

say_title(mob_name(npc.race)..":")

say("Musisz jeszcze odczekać swój limit!")

local time = (pc.getqf("metiny_bonus") - get_time()) / 3600

local h = math.floor(time)

local min = (time - h)*60

local m = math.floor(min)

say_title("Pozostały czas: "..h.." godzin, "..m.." min.")

return

end

if pc.level < 80 then

say_title(mob_name(npc.race)..":")

say("Nie masz 80 poziomu!")

else

if !party.is_party() then

say_title(mob_name(npc.race)..":")

say("Nie jesteś w grupie!")

else

if party.get_near_count() < 2 then

say_title(mob_name(npc.race)..":")

say("Twoja grupa musi mieć przynajmniej 2 osoby!")

else

if pc.count_item(70023) < 1 then

say_title(mob_name(npc.race)..":")

say("Potrzebujesz tego przedmiotu:")

say_item_vnum(70023)

else

say_title(mob_name(npc.race)..":")

say("Zostaniecie przeniesieni.")

wait()

pc.setqf("komnata_smoka", 1)

pc.setqf("komnata_smoka_count", party.get_near_count())

d.join(208)

end

end

end

end

end

function rules()

say_title(mob_name(npc.race)..":")

say("Oto zasady obowiązujące w Komnacie Smoka.")

say_reward("1. Poziom")

say("Musisz mieć przynajmniej 80 poziom postaci.")

say_reward("2. Grupa")

say("Musisz mieć przynajmniej 2 osobową grupę i być jej liderem.")

say_reward("3. Przedmiot.")

say("Musisz mieć przedmiot:")

say_item_vnum(70023)

if select("Wstecz","Anuluj") == 1 then

komnata_smoka.main()

end

end

when 30122.chat."Komnata Smoka" begin

komnata_smoka.main()

end

when login with pc.in_dungeon() and pc.getqf("komnata_smoka") == 1 and pc.get_map_index() >= 208*10000 and pc.get_map_index() < 209*10000 begin

d.notice("Witajcie w Komnacie Smoka!")

d.notice("Waszym pierwszym celem będzie rozbicie czterech metinów.")

d.notice("Po zabiciu ich dostaniecie 10% przeciwko potworom na czas trwania wyzwania.")

d.notice("Powodzenia!")

d.regen_file("data/dungeon/komnata_smoka_metiny.txt")

pc.setqf("komnata_smoka", 0)

d.setf("metiny", 0)

pc.setqf("is_in_dc", 1)

pc.setqf("dc_time1", get_time())

end

when kill or party_kill with npc.race == 8027 and pc.get_map_index() >= 208*10000 and pc.get_map_index() < 209*10000 begin

d.setf("metiny", d.getf("metiny")+1)

if d.getf("metiny") < 4 then

d.notice("Pozostało wam do zabicia jeszcze "..4-d.getf("metiny").."!")

elseif d.getf("metiny") == 4 then

d.notice("Udało Wam się zniszczyć metiny! Dostajecie bonus na 30 minut.")

d.notice("Za 10 sekund pojawi się główny przeciwnik. Przygotujcie się!")

timer("komnata", 10)

d.setf("metiny", 0)

end

end

when komnata.timer begin

affect.add_collect(63, 10, 60*30)

pc.setqf("metiny_bonus", get_time()+60*30)

d.notice("Otrzymaliście bonus. Smok właśnie się pojawił!")

d.regen_file("data/dungeon/komnata_smoka_beran.txt")

timer("beran", 60*10)

end

when beran.timer begin

d.notice("Pozostało 20 minut!")

timer("beran2", 60*10)

end

when beran2.timer begin

d.notice("Pozostało 10 minut!")

timer("beran3", 60*5)

end

when beran3.timer begin

d.notice("Pozostało 5 minut!")

timer("beran4", 60*4)

end

when beran4.timer begin

d.notice("Pozostała minuta!")

timer("beran5", 60)

end

when beran5.timer begin

d.notice("Nie udało Wam się zabić smoka. Zostaniecie przeniesieni do miasta.")

npc.purge()

timer("beran6", 5)

end

when beran6.timer begin

d.exit_all_to_start_position()

end

when kill or party_kill with npc.race == 2493 and pc.get_map_index() >= 208*10000 and pc.get_map_index() < 209*10000 begin

d.notice("Udało Wam się zabić smoka!")

d.notice("Macie 30 sekund na uzbieranie dropu.")

d.notice("Po 30 sekundach zostaniecie przeniesieni do miasta.")

timer("beran_out", 30)

pc.setqf("dc_time2", get_time())

end

when beran_out.timer begin

d.exit_all_to_start_position()

pc.setqf("is_in_dc", 0)

pc.setqf("dc_time", pc.getqf("dc_time2")-pc.getqf("dc_time1"))

local time = pc.getqf("dc_time")/60

local m = math.floor(time)

local s0 = (time - m)*60

local s = math.floor(s0)

say_title(locale.servername.." ~ Komnata Smoka")

say("Gratulujemy "..pc.name.."!")

say("Ty oraz Twoja grupa pokonaliście Smoka")

say("W czasie "..m.." minut i "..s.." sekund!")

notice_all("<<Komnata Smoka>> Gracz "..pc.name.." <"..pc.level.." lv> ukończył wyzwanie z czasem "..m.." minut i "..s.." sekund!")

pc.delqf("komnata_smoka_count")

end

when login or logout with pc.in_dungeon() and pc.getqf("is_in_dc") == 1 and pc.get_map_index() != 208*10000 begin

d.exit_all_to_start_position()

pc.delqf("komnata_smoka_count")

pc.setqf("komnata_smoka", 0)

pc.setqf("is_in_dc", 0)

d.setf("metiny", 0)

end

end

end

727881401622271220780.jpeg

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...