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

To nie jest quest, tylko "chat" npc 20095.

Dam Ci rade, nie znasz się to się nie wypowiadaj, okej? Kolega poprosił o QUESTA w którym ROZMAWIA SIĘ (chat) Z NPC O ID 20095! Dalej nie rozumiesz? To przemilcz.

 

Macie tu raczej działającego questa, tego na drop itemów.

 

quest taki_niesmialy begin
state start begin
	when 20095.chat."GM: Drop" with pc.is_gm() begin
	say_title(mob_name(20095)..":")
	if game.get_event_flag("drop_time") == 0 then
		---                                                   l
		say("Wpisz ID przedmiotu który ma dropić ")
		say("ze wszystkich mobów:")
		local inp = tonumber(input())
		say_title(mob_name(20095)..":")
		if inp == "" then
			say("Nic nie wpisałeś.")
			say("")
			return
		end
		say("Aktywowałeś drop "..item_name(inp))
		say("Ustal szanse na jego drop:")
		local sza = tonumber(input())
		say_title(mob_name(20095)..":")
		if sza == ""  or sza > 100 or sza < 1 then
			say("Błędna wartość.")
			say("")
			return
		end
		say("Szansa na drop "..item_name(inp).." wynosi "..sza.."%.")
		say("Chcesz dodać następny przedmiot?")
		say("")
		local b = select("Tak", "Kontynuuj", "Anuluj procedure")
		if b == 3 then
			return
		elseif b == 1 then
			say_title(mob_name(20095)..":")
			---                                                   l
			say("Wpisz ID kolejnego przedmiotu który ma dropić ")
			say("ze wszystkich mobów:")
			local inp2 = tonumber(input())
			say_title(mob_name(20095)..":")
			if inp == "" then
				say("Nie nie wpisałeś.")
				say("")
				return
			end
			say("Aktywowałeś drop "..item_name(inp2))
			say("Ustal szanse na jego drop:")
			local sza2 = tonumber(input())
			say_title(mob_name(20095)..":")
			if sza2 == ""  or sza2 > 100 or sza2 < 1 then
				say("Błędna wartość.")
				say("")
				return
			end
			say("Szansa na drop "..item_name(inp).." wynosi "..sza.."%.")
			say("Szansa na drop "..item_name(inp2).." wynosi "..sza2.."%")
			wait()
		end
		say_title(mob_name(20095)..":")
		say("Ile czasu ma trwać drop?")
		local c = select("30 minut", "1 godzina", "3 godziny", "6 godzin", "12 godzin", "24 godzin")
		if c == 1 then
			game.set_event_flag("drop_time", get_time()+60*30)
		elseif c == 2 then
			game.set_event_flag("drop_time", get_time()+60*60)
		elseif c == 3 then
			game.set_event_flag("drop_time", get_time()+60*60*3)
		elseif c == 4 then
			game.set_event_flag("drop_time", get_time()+60*60*6)
		elseif c == 5 then
			game.set_event_flag("drop_time", get_time()+60*60*12)
		elseif c == 6 then
			game.set_event_flag("drop_time", get_time()+60*60*24)
		end
	else
		say("Drop jest już aktywowany.")
		say("")
	end
end

when kill with not pc.is_npc() begin
	if game.get_event_flag("drop_time") > get_time() then
		local m = number(1, 2)
		if m = 1 then
			local n = number(1, 100)
			if n <= sza then
				game.drop_item(inp, 1)
			end
		elseif m == 2 then
			local n2 = number(1, 100)
			if n2 <= sza2 then
				game.drop_item(inp2, 1)
			end
		end
	else
		game.set_event_flag("drop_time", 0)
	end
end

when 20095.chat."GM: Czas trwania dropu" with pc.is_gm()
	and game.get_event_flag("drop_time") > get_time() begin
	say_title(mob_name(20095)..":")
	say("Czas trwania eventu:")
	say("W sekundach: "..game.get_event_flag("drop_time")-get_time()..",")
	say("W minutach: "..(game.get_event_flag("drop_time")-get_time())/60..",")
	say("W godzinach: "..(game.get_event_flag("drop_time")-get_time())/3600..".")
	say("")
end
end

 

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

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

Sun dzięki, nie wiedziałem czy zrozumie pisząc bardziej łopatologicznie więc nie napisałem wgl.

 

Nie czytałem tego questu u góry całego, ale czy to nie będzie działało tak, że nawet na 90 lvlu (powiedzmy) pójdziesz na psy to i tak będzie dropić ;| ?

 

umarł

Opublikowano

A no tak to będzie. Jeśli Ci się chce to przerób sobie część w której masz when kill ;)

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

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

No wiesz, ja tam raczej nie wykorzystam tego questu jak na razie, więc raczej nic nie bd ruszał.

 

umarł

Opublikowano

@UP ale coś trzeba zrobić w tym queście czy po prostu idziemy do NPC i odbieramy nagrodę?

***


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

A ja poszukuję questu, w którym gracz po zdobyciu itemów o id 80011do 80017 i użyciu itemu o id "X" pojawia się npc (tylko gdy gracz ma te 7 itemów) o id "Y".

 

No i dialog do NPC o id "Y":

 

Jest opcja:

1) Wish

 

gdy gracz ją kliknie są do wyboru 3 opcje:

 

1) Yang

2) Exp

3) Losowy item (a'a drop z dyni)

Opublikowano

@Ethylin Spoko luz blues ;P

 

Już piszę ^^

 

Zaraz dam edita :)

 

@EDIT

Posłużyłem się questem chyba xDeStRuCtx.

Tylko wyedytowałem co nieco ;P

 

No więc tak...

Musisz zmienić

np. iditemu na np. 19 (miecz+9)

I jeśli chcesz to możesz zmienić szanse na drop

math.random to max czy limit...

warunek >= 2000 - to minimum

warunek <= 2201 - to max.

No i możesz zmienić id NPC u którego włączamy xD

Ustawione od początku u 20004 (Niepokaźny Pieszy)

 

Miłej zabawy ;D

 

 

quest xxx begin
	state start begin
			when kill with game.get_event_flag("drop_czegos") > 0 begin
							local warunek = math.random(2201)
									if warunek >= 2000 and warunek < 2201 then
											game.drop_item(iditem)
									end
			end

			when 20004.chat."GM: Drop" with pc.is_gm() begin
					local s = select("Wlacz", "Wylacz", locale.cancel)
							if s == 1 then
									game.set_event_flag("drop_czegos", 1)
									say_reward("Event Aktywowano!")
							elseif s == 2 then
									game.set_event_flag("drop_czegos", 0)
									say_reward("Event Zdezaktywowano!")
							else
									return
							end
			end

	end
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

Jest jakaś funkcja co regeneruje HP po zalogowaniu/teleportowaniu się na inną mapę???

 

Oraz jakiś quest z timerem co po upływie czasu przenosi do m1

Kończę z MPCforum!!!

 

 

BYroboMt2 DEDYK

Badar?? HaHa!!!!

Opublikowano

@Sunushi

Grunt, że działa. Ja nie pisałem questa tylko go przerobiłem nieco, napisałem przecież, że quest by xDeStRuCtx (chyba ;P)

***


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

Jest jakaś funkcja co regeneruje HP po zalogowaniu/teleportowaniu się na inną mapę???

 

Oraz jakiś quest z timerem co po upływie czasu przenosi do m1

Co do regeneracji hp to nie ma żadnej funkcji która by dodawała hp. Co do timera to zobacz do deviltower_zone, tam jest dużo tylko timerów i raczej zrozumiesz o co chodzi.

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

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

Dzięki wielkie za tego questa. Oczywiście nagrodziłem was po + i zaraz wlepię 5 :)

 

Jak zobaczę czy działa to dam Edita. A wy jak możecie to popracujcie jeszcze nad nim :) Może coś z niego wyjdzie ciekawego.

 

Załączam tego ostatniego:

 

 

 

quest taki_niesmialy begin
       state start begin
               when 20095.chat."GM: Drop" with pc.is_gm() begin
               say_title(mob_name(20095)..":")
               if game.get_event_flag("drop_time") == 0 then
                       ---                                                   l
                       say("Wpisz ID przedmiotu który ma dropić ")
                       say("ze wszystkich mobów:")
                       local inp = tonumber(input())
                       say_title(mob_name(20095)..":")
                       if inp == "" then
                               say("Nic nie wpisałeś.")
                               say("")
                               return
                       end
                       say("Aktywowałeś drop "..item_name(inp))
                       say("Ustal szanse na jego drop:")
                       local sza = tonumber(input())
                       say_title(mob_name(20095)..":")
                       if sza == ""  or sza > 100 or sza < 1 then
                               say("Błędna wartość.")
                               say("")
                               return
                       end
                       say("Szansa na drop "..item_name(inp).." wynosi "..sza.."%.")
                       say("Chcesz dodać następny przedmiot?")
                       say("")
                       local b = select("Tak", "Kontynuuj", "Anuluj procedure")
                       if b == 3 then
                               return
                       elseif b == 1 then
                               say_title(mob_name(20095)..":")
                               ---                                                   l
                               say("Wpisz ID kolejnego przedmiotu który ma dropić ")
                               say("ze wszystkich mobów:")
                               local inp2 = tonumber(input())
                               say_title(mob_name(20095)..":")
                               if inp == "" then
                                       say("Nie nie wpisałeś.")
                                       say("")
                                       return
                               end
                               say("Aktywowałeś drop "..item_name(inp2))
                               say("Ustal szanse na jego drop:")
                               local sza2 = tonumber(input())
                               say_title(mob_name(20095)..":")
                               if sza2 == ""  or sza2 > 100 or sza2 < 1 then
                                       say("Błędna wartość.")
                                       say("")
                                       return
                               end
                               say("Szansa na drop "..item_name(inp).." wynosi "..sza.."%.")
                               say("Szansa na drop "..item_name(inp2).." wynosi "..sza2.."%")
                               wait()
                       end
                       say_title(mob_name(20095)..":")
                       say("Ile czasu ma trwać drop?")
                       local c = select("30 minut", "1 godzina", "3 godziny", "6 godzin", "12 godzin", "24 godzin")
                       if c == 1 then
                               game.set_event_flag("drop_time", get_time()+60*30)
                       elseif c == 2 then
                               game.set_event_flag("drop_time", get_time()+60*60)
                       elseif c == 3 then
                               game.set_event_flag("drop_time", get_time()+60*60*3)
                       elseif c == 4 then
                               game.set_event_flag("drop_time", get_time()+60*60*6)
                       elseif c == 5 then
                               game.set_event_flag("drop_time", get_time()+60*60*12)
                       elseif c == 6 then
                               game.set_event_flag("drop_time", get_time()+60*60*24)
                       end
               else
                       say("Drop jest już aktywowany.")
                       say("")
               end
       end

       when kill with not pc.is_npc() begin
               if game.get_event_flag("drop_time") > get_time() then
                       local m = number(1, 2)
                       if m = 1 then
                               local n = number(1, 100)
                               if n <= sza then
                                       game.drop_item(inp, 1)
                               end
                       elseif m == 2 then
                               local n2 = number(1, 100)
                               if n2 <= sza2 then
                                       game.drop_item(inp2, 1)
                               end
                       end
               else
                       game.set_event_flag("drop_time", 0)
               end
       end

       when 20095.chat."GM: Czas trwania dropu" with pc.is_gm()
               and game.get_event_flag("drop_time") > get_time() begin
               say_title(mob_name(20095)..":")
               say("Czas trwania eventu:")
               say("W sekundach: "..game.get_event_flag("drop_time")-get_time()..",")
               say("W minutach: "..(game.get_event_flag("drop_time")-get_time())/60..",")
               say("W godzinach: "..(game.get_event_flag("drop_time")-get_time())/3600..".")
               say("")
       end
end

 

 

 

____________

@Edit

 

Quest nie działa. Wyskakuje błąd w konsoli podczas wgrywania :D

 

Załączam SS i życzę powodzenia w dalszej pracy.

Ktoś zrobi ?

:D

Opublikowano

                        if m = 1 then
                               local n = number(1, 100)
                               if n <= sza then

zmień na

                        if m == 1 then
                               local n = number(1, 100)
                               if n <= sza then

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

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

Piszę questy a proszę o poprawienie czegoś xD

Ale tego nie rozkminie... ;|

 

 

-------------------------------------
--- Misja by Czarny dla CzarnyMT2
--- Prosze o nie przypisywanie sobie
--- cudzej pracy! Pozdrawiam
--------------------------------------

quest zabijanie_demonow begin
state start begin
when login or levelup with pc.level() >= 50 and pc.level() <= 65 begin
setstate(info)
end
end
state info begin
when 1001.kill begin
local a = pc.getqf("ile")+1
if a < 200 then
pc.setqf("ile", a)
setstate(opcja1)
end
when 1002.kill begin
local count = pc.getqf("ile2")+1
if a = 200 then
pc.setqf("ile2", count)
setstate(opcja2)
end
end
state opcja1 begin
say_reward("Gratulujemy "..pc.get_name().."!")
say("Otrzymujesz pamiątke po demonie oraz ")
say("700.000 yang i 400.000 doswiadczenia! ")
say("")
pc.give_item2(30015, 1)
pc.change_money(700000)
pc.give_exp2(400000)
setstate(powrot)
end
state opcja2 begin
say_reward("Gratulujemy "..pc.get_name().."!")
say("Otrzymujesz 3 pamiątki po demonie oraz ")
say(" 500.000 yang i 300.000 doswiadczenia! ")
say("")
pc.give_item2(30015, 2)
pc.change_money(500000)
pc.give_exp2(300000)
setstate(powrot2)
end
state powrot begin
restart_quest()
end
state powrot2 begin
restart_quest()
end
end
end

 

 

Proszę mnie nakierować na błąd ;)

Z góry dziękuję ^^:)

 

(Ale wciąż się uczę xD)

***


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

Piszę questy a proszę o poprawienie czegoś xD

Ale tego nie rozkminie... ;|

 

 

-------------------------------------
--- Misja by Czarny dla CzarnyMT2
--- Prosze o nie przypisywanie sobie
--- cudzej pracy! Pozdrawiam
--------------------------------------

quest zabijanie_demonow begin
state start begin
when login or levelup with pc.level() >= 50 and pc.level() <= 65 begin
setstate(info)
end
end
state info begin
when 1001.kill begin
local a = pc.getqf("ile")+1
if a < 200 then
pc.setqf("ile", a)
setstate(opcja1)
end
when 1002.kill begin
local count = pc.getqf("ile2")+1
if a = 200 then
pc.setqf("ile2", count)
setstate(opcja2)
end
end
state opcja1 begin
say_reward("Gratulujemy "..pc.get_name().."!")
say("Otrzymujesz pamiątke po demonie oraz ")
say("700.000 yang i 400.000 doswiadczenia! ")
say("")
pc.give_item2(30015, 1)
pc.change_money(700000)
pc.give_exp2(400000)
setstate(powrot)
end
state opcja2 begin
say_reward("Gratulujemy "..pc.get_name().."!")
say("Otrzymujesz 3 pamiątki po demonie oraz ")
say(" 500.000 yang i 300.000 doswiadczenia! ")
say("")
pc.give_item2(30015, 2)
pc.change_money(500000)
pc.give_exp2(300000)
setstate(powrot2)
end
state powrot begin
restart_quest()
end
state powrot2 begin
restart_quest()
end
end
end

 

 

Proszę mnie nakierować na błąd ;)

Z góry dziękuję ^^:)

 

(Ale wciąż się uczę xD)

Najpierw porób taby, pozwoli Ci to wyeliminować ewentualny brak endów.

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

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

Doda mi ktoś timer co przenosi po 1godz do m1??

 

Bo nie chce żeby ktoś siedział cały czas na tej mapce

 

quest move_ring begin
state start begin
	when 80011.use begin
		say("Pierscien teleportacji")
		say("")
		say("Użyj a zostaniesz przeniesiony na:")
		say("Wyspe Zombie")
		say("")
		wait()
		if pc.level>=99 then

		local s=select(
			"Wyspa Zombie",
			"Anuluj")
		if 1==s then
				pc.remove_item(80011, 1)
				pc.warp(135600, 4300)
		elseif 2==s then
		end
		elseif pc.level<=98 then
		say("Nie masz odpowiedniego poziomu")
		say("Gdy osiagniesz 99lvl spróbuj ponownie")
		say("")
		end
	end
end
end

Kończę z MPCforum!!!

 

 

BYroboMt2 DEDYK

Badar?? HaHa!!!!

Opublikowano

Doda mi ktoś timer co przenosi po 1godz do m1??

 

Bo nie chce żeby ktoś siedział cały czas na tej mapce

 

quest move_ring begin
state start begin
	when 80011.use begin
		say("Pierscien teleportacji")
		say("")
		say("Użyj a zostaniesz przeniesiony na:")
		say("Wyspe Zombie")
		say("")
		wait()
		if pc.level>=99 then

		local s=select(
			"Wyspa Zombie",
			"Anuluj")
		if 1==s then
				pc.remove_item(80011, 1)
				pc.warp(135600, 4300)
		elseif 2==s then
		end
		elseif pc.level<=98 then
		say("Nie masz odpowiedniego poziomu")
		say("Gdy osiagniesz 99lvl spróbuj ponownie")
		say("")
		end
	end
end
end

Powinno śmigać

 

quest move_ring begin
state start begin
	when 80011.use begin
		say("Pierscien teleportacji")
		say("")
		say("Użyj a zostaniesz przeniesiony na:")
		say("Wyspe Zombie")
		say("")
		local s=select("Wyspa Zombie","Anuluj")
		if 1==s then
			if pc.level() < 99 then
				say("Nie masz odpowiedniego poziomu")
				say("Gdy osiagniesz 99lvl spróbuj ponownie")
				say("")
				return
			end
			pc.remove_item(80011, 1)
			pc.warp(135600, 4300)
			pc.setqf("time", get_time()+60*60)
		elseif 2==s then
			return
		end
	end

	when kill or levelup or login or unmount or mount with pc.getqf("time") < get_time() begin
		timer("m1", 20)
		notice("Za 20 sekund zostaniesz przeniesiony do M1...")
	end

	when m1.timer begin
		notice("Zostaniesz przeniesiony do M1.")
		if empire == 1 then
			pc.warp(474300,954800)
		elseif empire == 2 then
			pc.warp(63800,166400)
		elseif empire == 3 then
			pc.warp(959900,269200)
		end
	end
end
end

 

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

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

Dzięki!. Jeśli dalej piszecie questy to z nudów możecie napisać mi takie coś.

1. Mówi ci coś ta nazwa Atlantyda V2?. To starożytne miejsce zamieszkiwane przez pradawne plemię Seatou utrzymujące się już od kilku tysięcy lat przy życiu. Potocznie mieszkańcy nazywają ją ,,Grotą Wygnańców''. Już trochę się o niej dowiedziałeś więc do rzeczy. Informator doniósł mi że stojący u nich na czele jest niebiański smok i planuje zemstę nad mieszkańcami wioski za to co kiedyś im urządzili. Ok. tysiąc lat temu rozegrała się wielka bitwa między mieszkańcami a plemionem setaou. Mieszkańcy groty ponieśli wtedy ogromne straty w ludziach i wszyscy byli przekonani że nikt nie przeżył po tym upadku. Jednak się myliliśmy. Prawdopodobnie Smok planuje zemstę i zebrał liczną armię która niedługo ma ruszyć na nas. Planujemy ich zaskoczyć. Informator doniósł że plemię to żyje bardzo obojętnie. Nie pilnują obozów ani nie boją się ataku wrogów. Więc zwracam się do ciebie z prośbą czy nie podjąłbyś się zniszczenia tej armii w Grocie Wygnańców Poziomie 2. Oczywiście dostaniesz pół nagrody przed i pół po. Mam nadzieję że nie odmówisz ale bądź rozsądny gdyż tam naprawdę nie ma żartów. Masz 24h na podjęcie decyzji oczywiście możesz podjąć ją teraz ale nie rób niczego pochopnie. Pamiętaj że nagroda będzie baaaaardzo solidna.

 

To jest tekst a teraz tak Misja od Uriel (20011) na 100 lvl zadaniem jest zniszczyć 100 tyś Wojowników setaou (2401) 50 tyś łuczników setaou (2402) i 20 tyś kleryków setaou (2403). Nagroda przed misją to 50kk i jeśli woj to boga +9 (11289) sura to duchowa +9 (11689) ninja fukcja +9 (11489) i szaman szata baronów +9 (11889). Broń jeśli wojownik to żądło (179) +9 sura to szpon ducha +9 (159) szaman to dzwon burzowego ptaka +9 (5099) a ninja noże błyskawicy (1119). A po misji nagroda to do wyboru Syrek +4 (274) Bezduszny nóż +4 (4044) Ostrze boga smoków +4 (3204) Olbrzymi Łuk diabła+4 (2164) dzwon śmierci +4 (5134) wachlarz lez. smoka+4 (7184) brzegowe +4 (204) i 500kk oraz ranga rycerski. Z góry dziękuje pozdrawiam. Życzę miłego pisania i dziękuje za poprzednie questy!

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...