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

Opublikowano

Proszę o napisanie questa w którym trzeba zabić bossa o ID 1093 po zabiciu u NPC o ID 20086 będzie do wyboru jeden z trzech bonusów na stałe 1. 1000 PŻ 2. +300 Ataku 3. 20% na kryta.

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

Proszę o napisanie questa w którym trzeba zabić bossa o ID 1093 po zabiciu u NPC o ID 20086 będzie do wyboru jeden z trzech bonusów na stałe 1. 1000 PŻ 2. +300 Ataku 3. 20% na kryta.

 

 

quest rip begin
state start begin
	when 1093.kill begin
		setstate(idz)
	end
end
state idz begin
	when letter begin
		send_letter("Idz do "..mob_name(20086).." ")
		local v = find_npc_by_vnum(20086)
			if v != 0 then
				target.vid("__TARGET__", v, "20086")
			end
	end
	when button or info begin
		say("Idz do "..mob_name(20086).." ")
		say("")
	end
	when __TARGET__.target.click begin
		target.delete("__TARGET__")
		say("Wybierz bonus dla siebie: ")
		say("")
		local s = select("+1000 HP", "+300 ataku", "+20% krytyk")
			if s == 1 then
				say_title(mob_name(20086)..":")
				say("Przydzielono bonus +1000 HP na stałe ")
				say("")
				affect.add(apply.MAX_HP, 1000, 60*60*24*365*60)
				setstate(koniec)
			end
			if s == 1 then
				say_title(mob_name(20086)..":")
				say("Przydzielono bonus +300 ataku na stałe ")
				say("")
				affect.add(apply.GRADE_BONUS, 300, 60*60*24*365*60)
				setstate(koniec)
			end
			if s == 1 then
				say_title(mob_name(20086)..":")
				say("Przydzielono bonus +20% krytyka na stałe ")
				say("")
				affect.add(apply.POINT_CRITICAL_PCT, 20, 60*60*24*365*60)
				setstate(koniec)
			end
	end
end
state koniec begin
end
end

 

 

 

@EDIT

@DOWN

SPOILER!!

***


Nie gram już w ogóle w metina,


ale jeśli potrzeba komuś pomoc z questem


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


***

Opublikowano

Witam.Prosze o pomoc w poprawie questa.W queście chodzi o to ze idziemy do Uriel i on każe nam zabić tygrysy.

 

 

quest tygrysy begin
  state start begin
   when login or levelup witch  pc.get_level >=10 begin
	   set_state(info)
		 end
end
   state information begin
	 when letter begin
	   local v = find _npc_by_vnum(20011)
	   if v != 0 then
			target.vid("__TARGET__",v,"Uriel")

			 end
			 send_latter("Poszukaj Uriel")
	  end
	  when button or info
  when 20.kill with pc.countientem(114)
 local random = math.random(1)
 local v= find_npc_by_vnum(20011)

				   say(Znajdź Uriel)
			  say("Musisz znaleść Uriel,")
			  say("on ma dla Ciebie pewną wiadomość!")
			  say("nie każ mu długo na siebie czekać.")
			  say(" ")
							say_title("Informacja")
							say_reward("Uriel znajduje się w Pierwszej Wiosce")
				 end
				 when 20011.chat."Znalazłem Cię!"begin
					target.delete("__TARGET__")
						  say_title("Uriel:')
						  say("No Świetnie!")
						  say( "Ciesze się że trafiłeś do mnie...")
						  say("Tak więc jestem Uriel i chyba wiesz czym się zajmuje.")
						  say("Jak będziesz chciał żebym ci w czymś pomógł")				
						  say("poprostu przyjdź do mnie i mi to powiedz,")
						  say_title("Mam do Ciebie jednak jedną prośbe")
						  say("Od pewnego czasu denerwują mnie pewne zwierzęta")
						  say("pewna istota która jest bardzo niebezpieczna...")
						  say("są to tygrysy")
						  say("Wiem że możesz nie mieć na to czasu...")
	 say("ale widać że jesteś jedyną osobą ...")
	 say("która może mi pomóc")
	 say("Bardzo Cię o to prosze")
	 say(Jeśli wykonasz swoje zadanie...")
						  say("Zostaniesz wynagrodzony")
						  say_title("Uriel")
			 say("Teraz otrzymasz odemnie małą pomoc")
	 say_reward("Otrzymano 2.000.000 Yang")
	 say_reward("Otrzymano 500.000 PD")
	 pc.change_money(2000000)
	 pc.give_exp2(500000)
						  set_state(__COMPLETE__)
	   end
   end
   state __THEEND__ begin
   end
 end

Opublikowano

say(Jeśli wykonasz swoje zadanie...")

zmień na

say("Jeśli wykonasz swoje zadanie...")

 

say("Jak będziesz chciał żebym ci w czymś pomógł")

zmień na

say("Jak będziesz chciał żebym ci w czymś pomógł ")

 

say_title("Uriel:')

zmień na

say_title("Uriel:")

 

when login or levelup witch  pc.get_level >=10 begin

zmień na

when login or levelup witch  pc.get_level() >=10 begin

 

set_state(info)

zmień na

set_state(information)

 

when button or info

zmień na

when button or info begin

 

a to usuń

   when 20.kill with pc.countientem(114)
 local random = math.random(1)
 local v= find_npc_by_vnum(20011)

 

Tak słowem podsumowania. Nie wiem czy to są wszystkie błędy ale w każdym bądź razie zabierz się za coś innego albo poczytaj tutki bo jak narazie to niestety pisanie questów Ci nie idzie.

 

edit. nie chce mi się go poprawiać tak, żeby trzeba było zabijać tygrysy. Napisz od nowa z uwzględnieniem poprawek które Ci podałem. Podpatrz też na inne questy jak tam wygląda treść odpowiednia za zabijanie mobów. Kombinuj..

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

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

 

quest rip begin
state start begin
	when 1093.kill begin
		setstate(idz)
	end
end
state idz begin
	when letter begin
		send_letter("Idz do "..mob_name(20086).." ")
		local v = find_npc_by_vnum(20086)
			if v != 0 then
				target.vid("__TARGET__", v, "20086")
			end
	end
	when button or info begin
		say("Idz do "..mob_name(20086).." ")
		say("")
	end
	when __TARGET__.target.click begin
		target.delete("__TARGET__")
		say("Wybierz bonus dla siebie: ")
		say("")
		local s = select("+1000 HP", "+300 ataku", "+20% krytyk")
			if s == 1 then
				say_title(mob_name(20086)..":")
				say("Przydzielono bonus +1000 HP na stałe ")
				say("")
				affect.add(apply.MAX_HP, 1000, 60*60*24*365*60)
				setstate(koniec)
			end
			if s == 1 then
				say_title(mob_name(20086)..":")
				say("Przydzielono bonus +300 ataku na stałe ")
				say("")
				affect.add(apply.GRADE_BONUS, 300, 60*60*24*365*60)
				setstate(koniec)
			end
			if s == 1 then
				say_title(mob_name(20086)..":")
				say("Przydzielono bonus +20% krytyka na stałe ")
				say("")
				affect.add(apply.POINT_CRITICAL_PCT, 20, 60*60*24*365*60)
				setstate(koniec)
			end
	end
end
state koniec begin
end
end

 

 

 

@EDIT

@DOWN

SPOILER!!

A możesz zrobić tak że jak ktos wbije 100 lv to mu się w misjach wyświetla że ma zabić ripera i za to dostanie jeden bon na stałe ?

Pasjonat
Opublikowano

Sprawdź, ale nie obiecuję że zadziała poprawnie, jakoś nie mogę dobrze go uzupełnić.

http://czarny-questy.cba.pl/up/bicie.quest

 

 

@EDIT

@DOWN

Nie spamuj. Jeśli ktoś się zainteresuje to odpowie na twój post.

 

no nie stety nie działa poprawnie.

 

@ Powiecie mi może jakim programem edytować game aby widzieć source?

Opublikowano

 

quest Zabij Hae-Tae begin
    state start begin
				    when login or levelup with pc.level >= 50 begin
								    set_state(jakis)
						    end
		    end

		    state jakis begin
				    when letter begin
								    local v = find_npc_by_vnum(30013)
										    if v != 0 then
												    target.vid("__TARGET__", v, "Buuu")
										    end
						    end

						    when __TARGET__.target.click or
								    30013.chat."Hae-Tae" begin
										    say_title(mob_name(30013)..": ")
												    target.delete("__TARGET__")
														    say("Witaj. Możesz zdobyć")
														    say("pewien przedmiot,")
														    say("którym umocnisz swoją")
														    say("zbroje 6/7 bon")
														    wait()
														    say_title(mob_name(30013)..": ")
														    say("Musisz tylko zabić")
														    say("Hae-Tae.")
														    say("Idź i go zabij.")
														    say("Powodzenia.")
														    set_state(kill)
						    end
		    end

		    state kill begin
				    when 5002.kill begin
								    pc.give_item2(71051, 1)
										    say("Zdobyłeś przedmiot.")
										    say("Teraz możesz wzmocnić swoją zbroję")
										    timer("poczatkujacy", 86400)
						    end

						    when poczatkujacy.timer begin
								    restart_quest()
						    end
		    end
end

 

 

 

 

 

Naprawi mi go ktoś ???

 

 

Mam coś takiego :

 

 

QUEST : Zabij_Hae

quest doesn't have begin-end clause. (-)

fenix1.quest:1:Abort (core dumped)

 

 

przy wgrywaniu

sygnafranc.png

Pasjonat
Opublikowano

 

quest Zabij Hae-Tae begin
	state start begin
					when login or levelup with pc.level >= 50 begin
									set_state(jakis)
							end
			end

			state jakis begin
					when letter begin
									local v = find_npc_by_vnum(30013)
											if v != 0 then
													target.vid("__TARGET__", v, "Buuu")
											end
							end

							when __TARGET__.target.click or
									30013.chat."Hae-Tae" begin
											say_title(mob_name(30013)..": ")
													target.delete("__TARGET__")
															say("Witaj. Możesz zdobyć")
															say("pewien przedmiot,")
															say("którym umocnisz swoją")
															say("zbroje 6/7 bon")
															wait()
															say_title(mob_name(30013)..": ")
															say("Musisz tylko zabić")
															say("Hae-Tae.")
															say("Idź i go zabij.")
															say("Powodzenia.")
															set_state(kill)
							end
			end

			state kill begin
					when 5002.kill begin
									pc.give_item2(71051, 1)
											say("Zdobyłeś przedmiot.")
											say("Teraz możesz wzmocnić swoją zbroję")
											timer("poczatkujacy", 86400)
							end

							when poczatkujacy.timer begin
									restart_quest()
							end
			end
end

 

 

 

 

 

Naprawi mi go ktoś ???

 

 

Mam coś takiego :

 

 

QUEST : Zabij_Hae

quest doesn't have begin-end clause. (-)

fenix1.quest:1:Abort (core dumped)

 

 

przy wgrywaniu

 

quest Zabij Hae-Tae begin

 

zmienna

 

quest Zabij_HaeTae begin

 

nie może być spacji w nazwe questa. myslnika chyba też nie. zmien to i zobacz czy zadziała

 

zamień wszystkie linijki ze znakami na koncu ć, ś, ę itp

 

np:

say("Teraz możesz wzmocnić swoją zbroję")

 

na

 

say("Teraz możesz wzmocnić swoją zbroję ")

 

 say("Musisz tylko zabić")

 

na

 

 say("Musisz tylko zabić ")

Opublikowano

no nie stety nie działa poprawnie.

 

@ Powiecie mi może jakim programem edytować game aby widzieć source?

http://en.wikipedia.org/wiki/Interactive_Disassembler

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

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

quest Zabij Hae-Tae begin

 

zmienna

 

quest Zabij_HaeTae begin

 

nie może być spacji w nazwe questa. myslnika chyba też nie. zmien to i zobacz czy zadziała

 

zamień wszystkie linijki ze znakami na koncu ć, ś, ę itp

 

np:

say("Teraz możesz wzmocnić swoją zbroję")

 

na

 

say("Teraz możesz wzmocnić swoją zbroję ")

 

 say("Musisz tylko zabić")

 

na

 

 say("Musisz tylko zabić ")

 

 

niestety nie wyświetla teraz tego zwoju w misjach ....

 

a wgrany jest

 

 

 

wyskakuje mi przy wgrywaniu

 

 

 

QUEST : Zabij_HaeTae

STATE : start

WHEN : login or

WHEN : levelup

with pc . level >= 50

STATE : jakis

WHEN : letter

WHEN : target (__TARGET__.click) or

WHEN : 30013.chat ("Hae-Tae")

STATE : kill

WHEN : 5002.kill

WHEN : poczatkujacy.timer

 

 

 

a i jak można ,żeby można było wykonywać quest tylko raz na 50lvlu

sygnafranc.png

Pasjonat
Opublikowano

dałeś po wszystkich polskich znakach spacje? bo dalem ci 2 przykłady a widziałem tam ich więcej

 

 

 

 

 

quest zabij_haetae begin
	state start begin
					when login or levelup with pc.get_level() >= 50 begin
									set_state(jakis)
							end
			end

			state jakis begin
					when letter begin
									local v = find_npc_by_vnum(30013)
											if v != 0 then
													target.vid("__TARGET__", v, "Buuu")
											end
							end

							when __TARGET__.target.click or
									30013.chat."Hae-Tae" begin
											say_title(mob_name(30013)..": ")
													target.delete("__TARGET__")
															say("Witaj. Możesz zdobyć ")
															say("pewien przedmiot,")
															say("którym umocnisz swoją ")
															say("zbroje 6/7 bon")
															wait()
															say_title(mob_name(30013)..": ")
															say("Musisz tylko zabić ")
															say("Hae-Tae.")
															say("Idź i go zabij.")
															say("Powodzenia.")
															set_state(kill)
							end
			end

			state kill begin
					when 5002.kill begin
									pc.give_item2(71051, 1)
											say("Zdobyłeś przedmiot.")
											say("Teraz możesz wzmocnić swoją zbroję ")
							end

			end
end

 

 

 

 

 

Naprawi mi go ktoś ???

 

 

Mam coś takiego :

 

 

QUEST : Zabij_Hae

quest doesn't have begin-end clause. (-)

fenix1.quest:1:Abort (core dumped)

 

 

przy wgrywaniu

 

zobacz to

Opublikowano

A możesz zrobić tak że jak ktos wbije 100 lv to mu się w misjach wyświetla że ma zabić ripera i za to dostanie jeden bon na stałe ?

 

quest rip begin
   state start begin
       when login or levelup with pc.get_level() >= 100 begin
           setstate(list)
       end
   end
   state list begin
       when letter begin
           send_letter("Zabij RIP'a ")
       end
       when button or info begin
           say("Zabij ripa a dostaniesz nagrodę ")
           say("")
           setstate(zabij)
       end
   end
   state zabij begin
       when 1093.kill begin
           setstate(idz)
       end
   end
   state idz begin
       when letter begin
           send_letter("Idz do "..mob_name(20086).." ")
               local v = find_npc_by_vnum(20086)
                   if v != 0 then
                       target.vid("__TARGET__", v, "20086")
                   end
       end
       when button or info begin
           say("Idz do "..mob_name(20086).." ")
           say("")
           end
           when __TARGET__.target.click begin
           target.delete("__TARGET__")
           say("Wybierz bonus dla siebie: ")
           say("")
           local s = select("+1000 HP", "+300 ataku", "+20% krytyk")
               if s == 1 then
                   say_title(mob_name(20086)..":")
                   say("Przydzielono bonus +1000 HP na stałe ")
                   say("")
                   affect.add(apply.MAX_HP, 1000, 60*60*24*365*60)
                   setstate(koniec)
               end
               if s == 1 then
                   say_title(mob_name(20086)..":")
                   say("Przydzielono bonus +300 ataku na stałe ")
                   say("")
                   affect.add(apply.GRADE_BONUS, 300, 60*60*24*365*60)
                   setstate(koniec)
               end
               if s == 1 then
                   say_title(mob_name(20086)..":")
                   say("Przydzielono bonus +20% krytyka na stałe ")
                   say("")
                   affect.add(apply.POINT_CRITICAL_PCT, 20, 60*60*24*365*60)
                   setstate(koniec)
               end
       end
   end
   state koniec begin
   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.


***

Pasjonat
Opublikowano

nie ma prawa jej być (tak mi się zdaje). bo nie ma w quescie funkcji która pokarze ten liścik po lewej stronie.

Opublikowano

dlaczego jak wgram ten quest na serwer to nic się nie dzieje po kliknięciu na item o id 30021 ??

Gdy kliknę na ten item powinienen dostać branze z niebianskich lez a nic nie dostaje.

 

Oto kod :

quest maniek begin
state uruchom begin
 when 30021.use begin
  say_title("Test czy quest sie uruchomi")
  say("")
  say("Jezeli wszystko jest poprawnie")
  say("powinienes zaraz dostac branzoletke")
  say("")
  say("Otrzymales :")
  say_reward("Branzoleta z niebianskich lez +9")
  pc.give_item2(14209)
  wait()
 end
end
end

Opublikowano

dlaczego jak wgram ten quest na serwer to nic się nie dzieje po kliknięciu na item o id 30021 ??

Gdy kliknę na ten item powinienen dostać branze z niebianskich lez a nic nie dostaje.

 

Oto kod :

quest maniek begin
state uruchom begin
 when 30021.use begin
  say_title("Test czy quest sie uruchomi")
  say("")
  say("Jezeli wszystko jest poprawnie")
  say("powinienes zaraz dostac branzoletke")
  say("")
  say("Otrzymales :")
  say_reward("Branzoleta z niebianskich lez +9")
  pc.give_item2(14209)
  wait()
 end
end
end

flag, antiflag, type, subtype - MySQL.

***


Nie gram już w ogóle w metina,


ale jeśli potrzeba komuś pomoc z questem


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


***

Opublikowano

Witam mam pytanko jakiej funkcji muszę użyć aby gracze z początkiem [O1]nick ale to nie ma być jeden nick tylko wiele mogli używać danego questa np. Zwykły gracz nie rozpocznie questa ale gracz specjalny z początkiem [O1] mógł rozpocząć ten quest :] a 2 pytanie jaka funkcja odpowiada aby graczowi po użyciu itema zmienił się nic na [O1]Nick ???

Opublikowano

nie ma prawa jej być (tak mi się zdaje). bo nie ma w quescie funkcji która pokarze ten liścik po lewej stronie.

 

 

a naprawisz mi go bo musi być po lewej stronie w questach i jak zabije tego Hea-Tae to jak zabije kolejnego znowu mogę uzyskać 6/7 bon

sygnafranc.png

Opublikowano

 

quest rip begin
state start begin
	when login or levelup with pc.get_level() >= 100 begin
		setstate(list)
	end
end
state list begin
	when letter begin
		send_letter("Zabij RIP'a ")
	end
	when button or info begin
		say("Zabij ripa a dostaniesz nagrodę ")
		say("")
		setstate(zabij)
	end
end
state zabij begin
	when 1093.kill begin
		setstate(idz)
	end
end
state idz begin
	when letter begin
		send_letter("Idz do "..mob_name(20086).." ")
			local v = find_npc_by_vnum(20086)
				if v != 0 then
					target.vid("__TARGET__", v, "20086")
				end
	end
	when button or info begin
		say("Idz do "..mob_name(20086).." ")
		say("")
		end
		when __TARGET__.target.click begin
		target.delete("__TARGET__")
		say("Wybierz bonus dla siebie: ")
		say("")
		local s = select("+1000 HP", "+300 ataku", "+20% krytyk")
			if s == 1 then
				say_title(mob_name(20086)..":")
				say("Przydzielono bonus +1000 HP na stałe ")
				say("")
				affect.add(apply.MAX_HP, 1000, 60*60*24*365*60)
				setstate(koniec)
			end
			if s == 1 then
				say_title(mob_name(20086)..":")
				say("Przydzielono bonus +300 ataku na stałe ")
				say("")
				affect.add(apply.GRADE_BONUS, 300, 60*60*24*365*60)
				setstate(koniec)
			end
			if s == 1 then
				say_title(mob_name(20086)..":")
				say("Przydzielono bonus +20% krytyka na stałe ")
				say("")
				affect.add(apply.POINT_CRITICAL_PCT, 20, 60*60*24*365*60)
				setstate(koniec)
			end
	end
end
state koniec begin
end
end

 

Nie działa, wchodze do gry klikam w misjach Zabij rip'a wyświeta sie ta widomość klikam ok zabijam ripera i nic :)

Opublikowano

Nie działa, wchodze do gry klikam w misjach Zabij rip'a wyświeta sie ta widomość klikam ok zabijam ripera i nic :)

Quest jest dobrze napisany.

 

@rower..

Jeśli chcesz pisać questy to naucz się wszystkiego, a nie zadawaj głupich pytań.

type i subtype w MySQL nadają znaczenia, działania itemów.

***


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

Quest jest dobrze napisany.

 

@rower..

Jeśli chcesz pisać questy to naucz się wszystkiego, a nie zadawaj głupich pytań.

type i subtype w MySQL nadają znaczenia, działania itemów.

 

Pomożesz z Questem na Fryzurki z tego tematu?

 

http://www.mpcforum.pl/topic/488603-tutdl-6-nowych-fryzur-hot/

Z fartem dla dzieciaków na osiedlach,

bo nawet Ci z szarych blkoów mają Wielkie serca.

Jt6Q7Jv.png

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...