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

Event - "Jazda na Wierzchowcach"


Rekomendowane odpowiedzi

Opublikowano

Siema.

Dzisiaj do użytku oddaje Wam questa na event.

Polega on na tym, że GM włącza sobie event 'Jazdy', a gracze przez określony czas (dopóki GM nie wyłączy eventu) mogą korzystać z wierzchowców z bonusami. Jeżeli po wejściu na wierzchowca nie da się z niego bić - musicie pozmieniać ID na swoje, które działają lub zamiast bonusów pod exp dać np. szybkość ruchu :> Róbcie jak chcecie.

 

------------- Quest by PhoEnix9332 -------------
--- Mam nadzieje, ze choc troche sie przyda ----
------------------------------------------------

-------------------------------------------------
--- TYLKO DLA GM (WŁĄCZANIE/WYŁĄCZANIE EVENTU) --
-------------------------------------------------
quest wlacz_wierzchy begin
	state start begin
		when 20091.chat."GM: Jazda (event) - ON/OFF" with pc.is_gm() begin
			syschat("Włączyłem/wyłączyłem event!")
			if game.get_event_flag("jazda") == 0 then
				game.set_event_flag("jazda", 1)
				notice_all("<Informacja> Event 'Jazda na wierzchowcach' został aktywowany! ")
			else
				game.set_event_flag("jazda", 0)
				notice_all("<Informacja> Event 'Jazda na wierzchowcach' został wyłączony! ")
			end
		end
	end
end
------------------------------------------------
------- CZĘŚĆ WŁAŚCIWA QUESTA - JAZDA ----------
------------------------------------------------
quest wierzchowce begin
	state start begin
		when 20091.chat."Jazda na wierzchowcach" with game.get_event_flag("jazda") == 1 begin
			say_title(mob_name(20091).."")
			say_reward("Witaj!")
			say("")
			say("Możesz u mnie wynająć darmowego wierzchowca")
			say("na okres 30 minut. Opcja dostępna tylko podczas eventu! ")
			say("")
			say("Wybierz wierzchowca, na którym chcesz pojeździć:")
				local s = select("Lew (10% Potwory)", "Tygrys (20% Krytyk)", "Wilk (20% Przeszywka)", "Dzik (+100 Ataku)", "Anuluj")
					if s == 5 then
						return
					elseif s == 1 then
						local lew = 20113
						pc.remove_polymorph()
						pc.mount(lew, 60*30) -- 30 minut
						affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 10, 60*30)
						syschat("Czas trwania jazdy: 30 Minut")
					elseif s == 2 then
						local tygrys = 20112
						pc.remove_polymorph()
						pc.mount(tygrys, 60*30) -- 30 minut
						affect.add_collect(apply.CRITICAL_PCT, 20, 60*30)
						syschat("Czas trwania jazdy: 30 Minut")
					elseif s == 3 then
						local wilk = 20111
						pc.remove_polymorph()
						pc.mount(wilk, 60*30) -- 30 minut
						affect.add_collect(apply.PENETRATE_PCT, 20, 60*30)
						syschat("Czas trwania jazdy: 30 Minut")
					elseif s == 4 then
						local dzik = 20110
						pc.remove_polymorph()
						pc.mount(dzik, 60*30) -- 30 minut
						affect.add_collect(apply.ATT_GRADE_BONUS, 100, 60*30)
						syschat("Czas trwania jazdy: 30 Minut")
					end
		end
	end
end
------------------------------------------------
---- INFORMACJA DLA GRACZY PO KAŻDYM RELOGU ----
------------------------------------------------
quest info_wiechy begin
	state start begin
		when login with game.get_event_flag("jazda") == 1 begin
		notice("<Informacja> Event 'Jazda na wierzchowcach' aktualnie trwa! Dosiądź swoją bestię! ")
		end
	end
end

 

http://wklej.to/Fjb2Z

 

Strzała!

727881401622271220780.jpeg
Opublikowano

To sobie można dodać timer, albo usunąć bonusy.

Ja nie karzę używać questa w takiej wersji.

Tylko mowie ze quest jest bardzo zbugowany a jesli wstawiasz go dla ludzi ktorzy nie ogarniaja pownienies wstawic wersje bez dzuir bo ktos kto potrafi pisac questy nie bedzie uzywal twojego ;)

Opublikowano

Tylko mowie ze quest jest bardzo zbugowany a jesli wstawiasz go dla ludzi ktorzy nie ogarniaja pownienies wstawic wersje bez dzuir bo ktos kto potrafi pisac questy nie bedzie uzywal twojego ;)

Multi?

 

@topic

Dlaczego umieściłeś to jako trzy odrębne questy?

 

umarł

  • 3 tygodnie później...
Opublikowano

i jak uzyje raz to sobie doda bonus pozniej zejdzie i moze znowu wziac i znowu dostac bonus op

 

Tylko mowie ze quest jest bardzo zbugowany a jesli wstawiasz go dla ludzi ktorzy nie ogarniaja pownienies wstawic wersje bez dzuir bo ktos kto potrafi pisac questy nie bedzie uzywal twojego ;)

 

Fakt, quest ma lukę i można sobie nadać 4 różne bonusy zamiast jednego. Można to łatwo naprawić:

 

quest jazda_event begin
	state start begin
		when 20091.chat."GM: Jazda (event) - ON/OFF" with pc.is_gm() begin
			say("Wybierz: ")			
			if game.get_event_flag("jazda") == 0 then
				local s = select("Włącz Event", "Anuluj")
				if s == 1 then
					game.set_event_flag("jazda", 1)
					notice_all("<Informacja> Event 'Jazda na wierzchowcach' został aktywowany! ")
				else
					return
				end
			elseif game.get_event_flag("jazda") == 1 then
				local s = select("Wyłącz Event", "Anuluj")
				if s == 1 then
					game.set_event_flag("jazda", 0)
					notice_all("<Informacja> Event 'Jazda na wierzchowcach' został wyłączony! ")
				else
					return
				end
			end
		end
		when 20091.chat."Jazda na wierzchowcach" with game.get_event_flag("jazda") == 1 begin
  			if pc.getqf("jazda_time") > get_time()  then
				say("Wyporzyczyć wierzchowca mozesz co 30 min.")
				say("Przyjdź do mnie później!")
			else		  			
				say_title(mob_name(20091).."")
				say_reward("Witaj!")
				say("")
				say("Możesz u mnie wynająć darmowego wierzchowca")
				say("na okres 30 minut. Opcja dostępna tylko podczas eventu! ")
				say("")
				say("Wybierz wierzchowca, na którym chcesz pojeździć:")
				local s = select("Lew (10% Potwory)", "Tygrys (20% Krytyk)", "Wilk (20% Przeszywka)", "Dzik (+100 Ataku)", "Anuluj")
					if s == 1 then
						local lew = 20113
						local jazda_czas = 60*30 -- 30 minut
						pc.remove_polymorph()
						pc.mount(lew, jazda_czas) 
						affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 10, jazda_czas)
						syschat("Czas trwania jazdy: 30 Minut")
						pc.setqf("jazda_time", get_time() + jazda_czas)						
					elseif s == 2 then
						local tygrys = 20112
						local jazda_czas = 60*30 -- 30 minut
						pc.remove_polymorph()
						pc.mount(tygrys, jazda_czas) 
						affect.add_collect(apply.CRITICAL_PCT, 20, jazda_czas)
						syschat("Czas trwania jazdy: 30 Minut")
						pc.setqf("jazda_time", get_time() + 60*30)						
					elseif s == 3 then
						local wilk = 20111
						local jazda_czas = 60*30 -- 30 minut
						pc.remove_polymorph()
						pc.mount(wilk, jazda_czas) 
						affect.add_collect(apply.PENETRATE_PCT, 20, jazda_czas)
						syschat("Czas trwania jazdy: 30 Minut")
						pc.setqf("jazda_time", get_time() + jazda_czas)						
					elseif s == 4 then
						local dzik = 20110
						local jazda_czas = 60*30 -- 30 minut
						pc.remove_polymorph()
						pc.mount(dzik, 60*30) 
						affect.add_collect(apply.ATT_GRADE_BONUS, 100, jazda_czas)
						syschat("Czas trwania jazdy: 30 Minut")
						pc.setqf("jazda_time", get_time() + jazda_czas)		
					elseif s == 5 then
						return						
					end
			end
		end
		when login with game.get_event_flag("jazda") == 1 begin
			notice("<Informacja> Event 'Jazda na wierzchowcach' aktualnie trwa! Dosiądź swoją bestię! ")
		end
	end
end

 

Jeśli jest tu jakiś błąd (w co wątpię) to sorki, ale nie kompilowałem tego, a questa pisałem na telefonie :P.

  • 2 miesiące temu...
Opublikowano

Mi się jak na te chwile nie przyda ale może kiedyś :D

+ za napisanie.

Opublikowano

 

 

Fakt, quest ma lukę i można sobie nadać 4 różne bonusy zamiast jednego. Można to łatwo naprawić:

quest jazda_event begin
	state start begin
		when 20091.chat."GM: Jazda (event) - ON/OFF" with pc.is_gm() begin
			say("Wybierz: ")			
			if game.get_event_flag("jazda") == 0 then
				local s = select("Włącz Event", "Anuluj")
				if s == 1 then
					game.set_event_flag("jazda", 1)
					notice_all("<Informacja> Event 'Jazda na wierzchowcach' został aktywowany! ")
				else
					return
				end
			elseif game.get_event_flag("jazda") == 1 then
				local s = select("Wyłącz Event", "Anuluj")
				if s == 1 then
					game.set_event_flag("jazda", 0)
					notice_all("<Informacja> Event 'Jazda na wierzchowcach' został wyłączony! ")
				else
					return
				end
			end
		end
		when 20091.chat."Jazda na wierzchowcach" with game.get_event_flag("jazda") == 1 begin
  			if pc.getqf("jazda_time") > get_time()  then
				say("Wyporzyczyć wierzchowca mozesz co 30 min.")
				say("Przyjdź do mnie później!")
			else		  			
				say_title(mob_name(20091).."")
				say_reward("Witaj!")
				say("")
				say("Możesz u mnie wynająć darmowego wierzchowca")
				say("na okres 30 minut. Opcja dostępna tylko podczas eventu! ")
				say("")
				say("Wybierz wierzchowca, na którym chcesz pojeździć:")
				local s = select("Lew (10% Potwory)", "Tygrys (20% Krytyk)", "Wilk (20% Przeszywka)", "Dzik (+100 Ataku)", "Anuluj")
					if s == 1 then
						local lew = 20113
						local jazda_czas = 60*30 -- 30 minut
						pc.remove_polymorph()
						pc.mount(lew, jazda_czas) 
						affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 10, jazda_czas)
						syschat("Czas trwania jazdy: 30 Minut")
						pc.setqf("jazda_time", get_time() + jazda_czas)						
					elseif s == 2 then
						local tygrys = 20112
						local jazda_czas = 60*30 -- 30 minut
						pc.remove_polymorph()
						pc.mount(tygrys, jazda_czas) 
						affect.add_collect(apply.CRITICAL_PCT, 20, jazda_czas)
						syschat("Czas trwania jazdy: 30 Minut")
						pc.setqf("jazda_time", get_time() + 60*30)						
					elseif s == 3 then
						local wilk = 20111
						local jazda_czas = 60*30 -- 30 minut
						pc.remove_polymorph()
						pc.mount(wilk, jazda_czas) 
						affect.add_collect(apply.PENETRATE_PCT, 20, jazda_czas)
						syschat("Czas trwania jazdy: 30 Minut")
						pc.setqf("jazda_time", get_time() + jazda_czas)						
					elseif s == 4 then
						local dzik = 20110
						local jazda_czas = 60*30 -- 30 minut
						pc.remove_polymorph()
						pc.mount(dzik, 60*30) 
						affect.add_collect(apply.ATT_GRADE_BONUS, 100, jazda_czas)
						syschat("Czas trwania jazdy: 30 Minut")
						pc.setqf("jazda_time", get_time() + jazda_czas)		
					elseif s == 5 then
						return						
					end
			end
		end
		when login with game.get_event_flag("jazda") == 1 begin
			notice("<Informacja> Event 'Jazda na wierzchowcach' aktualnie trwa! Dosiądź swoją bestię! ")
		end
	end
end

Jeśli jest tu jakiś błąd (w co wątpię) to sorki, ale nie kompilowałem tego, a questa pisałem na telefonie :P.

 

Nie lepiej po prostu użyć funkcji pc.mount_bonus?

 

@Top

 

Quest napisany na bardzo niskim poziomie.

Nie dość, że można to napisać 2x krócej (tablice + pętle), to quest jest jeszcze zbugowany.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...