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

Siemka. Naprawcie tego questa ?

----------------------------------
--			  Main Quest LV1
--			  Glowny Quest LV1						
----------------------------------
quest main_quest_lv1 begin
						    state start begin
														    when login or levelup with pc.get_level() == 1 begin
																						    set_state( gotoinfomation )
														    end
						    end
						    state gotoinfomation begin
														    when letter begin
																						    send_letter("Witamy w CodMT2")
														    end
														    when button or info begin
																						    say_title("Witamy na CodMT2")

																						    ----"12345678901234567890123456789012345678901234567890"|
			  say ( "Witamy na serwerze CodMT2," )
			  say ( "na start dostaniesz:" )
			  pc . change_money ( 500000 )
			  horse.set_level ( 21 )
			  pc . give_item2 ( "50053" , 1 )
																																														    pc . give_item2 ( "11619" , 1 )
																																														    pc . give_item2 ( "11819" , 1 )
			  pc . give_item2 ( "11419" , 1 )
			  pc . give_item2 ( "11219" , 1 )
			  pc . give_item2 ( "1179" , 1 )
			  pc . give_item2 ( "22010" , 35 )
			  pc . give_item2 ( "2159" , 1 )
			  pc . give_item2 ( "8000" , 200 )
			  pc . give_item2 ( "70038" , 200 )
			  pc . give_item2 ( "5119" , 1 )
			  pc . give_item2 ( "299" , 1 )
			  pc . give_item2 ( "80009" , 1 )
			  pc . give_exp2 ( 10000 )
			  say_reward ( "Dostales 500k yang" )
			  say_reward ( "Dostales Militara" )
			  say_reward ( "Dostales eq" )
			  say_reward ( "Dostales 31 lvl" )
			  say("")
			  set_state( gototeacher )
			 end
		    end
						    state gototeacher begin
														    when letter begin
																						    local v=find_npc_by_vnum(20354)
																						    if 0==v then
																						    else
																														    target.vid("__TARGET__", v, "Znajdz Straznika Miejskiego")
																						    end
														    end
														    when letter begin
																						    send_letter("Witamy w Metin2!")
														    end
														    when button or info begin
																						    say_title("Znajdz Straznika Miejskiego")
																						    say("")
																						    ----------"12345678901234567890123456789012345678901234567890"|
																						    say_reward("Porozmawiaj ze Straznikiem Miejskim.")
																						    say_reward("Znajdz NPC,na ktorego wskazuje strzalka i na")
																						    say_reward("niego kliknij.Jesli nie widzisz zadnego NPC,")
															  say_reward("podazaj za czerwonym znaczkiem na Mini-mapie.")
																						    say("")
														    end
														    when __TARGET__.target.click begin
																						    target.delete("__TARGET__")
																						    say("Straznik Miejski:")
																						    ----"12345678901234567890123456789012345678901234567890"|
																						    say("Jestes nowy?Widze,ze nie zrobili jeszcze z")
																						    say("ciebie zolnierza.")
																						    say("Miales wogole juz jakis")
																						    say("trening?Spojrz na siebie!")
																						    say("Wiesz w ogole jak uzyc broni?Sluchaj!")
																						    say("Musimy byc czujni,jesli chcemy przetrwac na")
																						    say("tej wojnie.Dopoki nie osiagniesz 10 poziomu")
																						    say("bede ci pomagal.Nie bedzie latwo!Ruszaj!")

																						    say("")
																						    wait()
																						    say("Teraz idz i naucz sie podstaw! :")
																						    say("Kiedy osiagniesz wyzszy poziom,przyjdz do")
																						    say("wioski i ze mna porzmawiaj")
																						    say("Czemu jeszcze tu stoisz?")
															  say("Za samo stanie w miejscu nie dostaje sie Punktow")
															  say("Doswiadczenia")
																						    say("")
																						    clear_letter()
																						    set_quest_state("find_squareguard", "find")
																						    set_quest_state("main_quest_lv2","run")
																						    set_state( __COMPLETE__ )
														    end
						    end
						    state __COMPLETE__ begin
						    end
end

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

Cześć,

Może mi ktoś powiedzieć jak zapisywać indexy map w questach?

 

Tutaj część mojego questa:

 

when 193.kill with pc.get_map_index() == 1 and pc.get_map_index() == 2 and pc.get_map_index() == 3 begin

pc . give_item2 ( "50109" , 1)

pc . give_item2 ( "50111" , 1)

end

Może mi ktoś napisać jak to przerobić aby tylko na mapach o indexie 1, 2 i 3 dawało mi te przedmioty po zabiciu tego mobka?

Z góry dzięki, będą like :]

Pozdrawiam.

ESTAVIA.PL

Opublikowano

Mam problem :

quest teleport_po_killu begin
state start begin
    when 2497.kill begin
  if pc.getqf("mob_attack") == 0 then
    pc.setqf("mob_attack", 1)
    if pc.getqf("mob_attack") == 1 then
	 pc . warp ( 590500 , 110500 )
    end
  end
 end
end
end

 

wystarczy że raz się zabije mooba to już póżniej po jego zabiciu nic się nie dzieje ;/

nie umieszczamy linków zewnętrznych.

Opublikowano

Cześć,

Może mi ktoś powiedzieć jak zapisywać indexy map w questach?

 

Tutaj część mojego questa:

 

when 193.kill with pc.get_map_index() == 1 and pc.get_map_index() == 2 and pc.get_map_index() == 3 begin

pc . give_item2 ( "50109" , 1)

pc . give_item2 ( "50111" , 1)

end

Może mi ktoś napisać jak to przerobić aby tylko na mapach o indexie 1, 2 i 3 dawało mi te przedmioty po zabiciu tego mobka?

Z góry dzięki, będą like :]

Pozdrawiam.

Między indexami map daj or (z ang. lub) zamiast and (z ang. i). Jak nie zadziała to jeszcze zmień with na and.

Opublikowano

Witam, napiszę ktoś questa w którym GM musi iść do NPC, żeby aktywować drop szkatułek. Gdy będzie aktywować na chacie pojawi się napis "Event aktywowany". Szansa na drop szkatułek to 0,009%. Szkatułki będą dropić od 50lvl. Z góry dziękuje.

Opublikowano

Piszę dungeona...

Mam dylemat / problem.

Chciałbym, żeby po 10 sekund załadował się plik deviltower2_regen.txt ( pierwszy resp ).

Dopiero po zabiciu WSZYSTKICH mobów z tego regenu mogę napisać kolejny warunek / etap.

Jak to zrobić?

 

Ja to zrobiłem tak:

 

d.notice("Za 10 sekund pojawią się pierwsi mieszkańcy tej Wieży.")
d.notice("Przygotuj się...")
server_timer("resp_1", 10)
end
end

when resp_1.server_timer begin
pc.setqf("resp_1", 1)
d.regen_file("data/dungeon/deviltower2_regen.txt")
end

when login with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
if pc.getqf("resp_1") > 0 then
pc.setqf("resp_1", 0)
d.check_eliminated()
d.clear_regen()
d.notice("Świetnie, poradziłeś sobie z pierwszymi mieszkańcami.")
d.notice("Za 5 sekund zostaniesz przeniesiony dalej...")
server_timer("pietro_2" 5)
end
end

when pietro_2.server_timer begin
pc.setqf("pietro_2", 1)
d.new_jump_all(66, kordy, kordy)
end

dalej, dalej...

 

Nie sprawdzałem... Ale coś mi się nie podoba :D

KONIEC


-----------------------------------------


2013-08-15

Opublikowano
Witam mam takiego questa.

http://wklej.to/Y4TR8

z Tego tematu

 

http://www.mpcforum.pl/topic/630451-questice-run/

 

i chciałbym abyście mi go przerobili wiem że tam wszystko jest opisane ale ze mną trzeba jak z dzieckiem.

W tym filmiku:

 

http://www.youtube.com/watch?v=_ZkcuDfA_30

 

jest wszystko pokazane jak ma wyglądać tylko jest 1x nie mam tych samych itemków/mobów co on więc może podam niżej jaki moob ma się pojawić i za kogo. Opiszę po piętrach.

 

On ma <---- Moje ID z nazwą.

I piętro:

Lodowy Metin <-----11507 Lodowe Jajo

 

II piętro:

Śnieżny golem<-----8511 Lodowy Golem

Lodowy Monarcha<-----15002 Lodowy Władca (TO NPC)

 

III piętro:

Strażnik platformy<-----20079 Straznik Swiatyni Mocy(TO NPC)

 

IV piętro:

Lodowy palladyn<-----16065 Zywiolak Ziemi

 

V piętro:

Lodowy Monument<----15001 Monument Przejscia (Ten posąg co się kładzie te wodne kamienie)

Lodowy wojownik<----16089 Lodowy Nagi Wojownik

Kamień Wodny<----27991 Kamień Wodny

 

VI piętro:

Kryształ<-----11508 Krysztal

Lodowy Smok<----2499 Lodowy Smok

 

ID mapy:

komenda/królestwo/index/x/y

wymiar_lodowy, 0, 31, 5120, 4089

 

Wpuszczać na Lodowy wymiar ma nas Teleporter (9012 Teleporter) od 200lv'a

 

Pomoże ktoś :) Bo jak ja go edytuje to nie działa mi;/

 

Jeszcze podam kordy:

 

 

I Piętro:

Nasze położenie-123, 89

Resp Metina-106, 89

 

II Piętro:

Nasze położenie-433, 123

Lodowy Monarcha-385, 123

 

III Piętro:

Nasze położenie i strażników:

1-685, 190

2-685, 95

3-590, 95

4-590, 190

 

IV Piętro:

Nasze położenie-475, 454

Położenie Bossa-466, 444

 

V Piętro:

Nasze położenie:

1-705, 390

2-705, 425

3-705, 460

4-705, 495

5-705, 520

 

Położenie monumentów

1-755, 390

2-755, 425

3-755, 460

4-755, 495

5-755, 520

 

VI Piętro:

Nasze położenie-440, 450

Położenie Kryształów- Losowe

Położenie Smoka-200, 450

 

BARDZO PROSZĘ O EDYTOWANIE GO. Zależy mi na nim jak ja go edytuje to po w graniu mi nie działa.

SORRY ZA SPAM :)

8910814572903361049127.png

Opublikowano

Siema mam Questa na kilku handlarzy w 1. I kiedyś miałem 2x więcej w głównym menu, ale zostało zrobione na 1 i mam takiego buga, daje ss i kod:

 

 

 

quest shops begin
state start begin
when 9010.chat."Item Shop" begin
say_title("Pomocnik:")
say("")
say("Chcesz otworzyc Item Shop ?")
local s = select("Tak", "Nie")
if s == 1 then
npc.open_shop(5)
else
return
end
end
when 9010.chat."Rybak" begin
say_title("Pomocnik:")
say("")
say("Chcesz otworzyc Rybak ?")
local s = select("Tak", "Nie")
if s == 1 then
npc.open_shop(10)
else
return
end
end

when 9010.chat."Handlarz Zbroja" begin
say_title("Pomocnik:")
say("")
say("Chcesz otworzyc Handlarza Zbroja?")
local s = select("Tak", "Nie")
if s == 1 then
npc.open_shop(3)
else
return
end
end
when 9010.chat."Handlarz Bronia" begin
say_title("Pomocnik:")
say("")
say("Chcesz otworzyc Handlarza Bronia ?")
local s = select("Tak", "Nie")
if s == 1 then
npc.open_shop(1)
else
return
end
end
when 9010.chat."Brat B. Handlarza Zbroja" begin
say_title("Pomocnik:")
say("")
say("Chcesz otworzyc Brat B. Handlarza Zbroja ?")
local s = select("Tak", "Nie")
if s == 1 then
npc.open_shop(6)
else
return
end
end
when 9010.chat."Brat B. Handlarza Bronia" begin
say_title("Pomocnik:")
say("")
say("Chcesz otworzyc Brat B. Handlarza Bronia ?")
local s = select("Tak", "Nie")
if s == 1 then
npc.open_shop(7)
else
return
end
end
when 9010.chat."Handlarka Roznosciami" begin
say_title("Pomocnik:")
say("")
say("Chcesz otworzyc Handlarka Roznosciami?")
local s = select("Tak", "Nie")
if s == 1 then
npc.open_shop(2)
else
return
end
end
when 9010.chat."Więcej" begin
say_title("Pomocnik:")
say("")
say("jaki sklep chcesz otworzyć?")
local a = select("Różności","Bronie 65-75","Stalki +0 i tarcze","Więcej","Wyjdź ")
if a == 1 then
say_title("Pomocnik:")
say("")
say("Rodzaje:")
local b = select("KD","Ulepszacze Dobre1","Ulepszacze Dobre2","Wyjdź ")
if b == 1 then
say_title("Pomocnik:")
say("")
say("Te KD nie będą tanie, chcesz otworzyć ?")
local s = select("Tak", "Nie")
if s == 1 then
npc.open_shop(52)
else
return
end
elseif b == 2 then
say_title("Pomocnik:")
say("")
say("Te Ulepszacze 1 nie będą tanie, chcesz otworzyć ?")
local s = select("Tak", "Nie")
if s == 1 then
npc.open_shop(54)
else
return
end
elseif b == 3 then
say_title("Pomocnik:")
say("")
say("Te Ulepszacze 2 nie będą tanie, chcesz otworzyć ?")
local s = select("Tak", "Nie")
if s == 1 then
npc.open_shop(53)
else
return
end
elseif b == 4 then
return
end

elseif a == 2 then
say_title("Pomocnik:")
say("")
say("Te Bronie nie będą tanie, chcesz otworzyć ?")
local s = select("Tak", "Nie")
if s == 1 then
npc.open_shop(51)
else
return
end
elseif a == 3 then
say_title("Pomocnik:")
say("")
say("Te Stalki itp nie będą tanie, chcesz otworzyć ?")
local s = select("Tak", "Nie")
if s == 1 then
npc.open_shop(50)
else
return
end
elseif a == 4 then
say_title("Pomocnik:")
say("")
say("Rodzaje:")
local c = select("Coś tu bd","Wyjdź ")
if c == 1 then
say_title("Pomocnik:")
say("")
say("Coś Będzie napewno")
local s = select("Tak", "Nie")
if s == 1 then
npc.open_shop(52)
else
return
end
if c == 2 then
return
end
end
elseif a == 5 then
return
end
end
end
end

 

 

SS:

 

http://imageshack.us...441/beztytuuvws

http://imageshack.us.../28/beztytuu2wv

6fc086389b796c47.jpg
Siedzę na mpc gdy jest czas, dzięki temu dużo się od was uczę dzięki!!

Opublikowano

Moze ktos mi zrobic quest ze jak zakladam item o ID 71135 to mi daje

+50% punktów doświadczenia

+20% szybkości ataku

+20% szybkości zaklęć

+30% obrażeń

+10% maks. PŻ

Opublikowano

Ok. Wystarczył wtedy reset wszystkich questów ok. Teraz mam pytanko jak umieścić questa w itemie mam kod:

quest pd_cofka begin
state start begin
when ID.use begin
local x = pc.get_exp()
while true do
if item.select_cell(98) and item.get_vnum() == ID and pc.get_exp() >= 1 then
pc.give_exp2(-x)
chat("Exp zostal usuniety")
elseif item.select_cell(97) and item.get_vnum() == ID and pc.get_exp() >= 1 then
pc.give_exp2(-x)
chat("Exp zostal usuniety")
else
break
end
end
end
end
end

 

I gdzie mam podać tu id itemka czy coś. Quest zapisałem jako cofnij_exp.quest. Z góry dzieki

6fc086389b796c47.jpg
Siedzę na mpc gdy jest czas, dzięki temu dużo się od was uczę dzięki!!

Opublikowano

T@X!

Spróbuj:

 

quest warp_po_zalogowaniu begin
state start begin
when login begin
if pc.getqf("pierwszylogin") == 0 then
pc.setqf("pierwszylogin", 1)
pc.warp(kordyX00, kordyY00)
end
end
end
end

 

misiecki2:

zamień when ID.use begin
if item.select_cell(98) and item.get_vnum() == ID and pc.get_exp() >= 1 then
elseif item.select_cell(97) and item.get_vnum() == ID and pc.get_exp() >= 1 then

Wszystkie "ID" na id_przedmiotu, na przykład 80009

KONIEC


-----------------------------------------


2013-08-15

Opublikowano

Dzięki wprowadzam już questa. Dałem Like

 

To mam kolejne pytanie. Z nudów napisałem questa "Napad" :D, łatwe bo ja amator :D, chciałbym żeby to tak wyglądało:

----------------------
-----BY misiecki2-----
----------------------
quest shops begin
state start begin
when 9010.chat."Super Shop" begin
say_title("Napad")
say("Napad na Super Shop")
say("Napad:")
local a = select("To napad","Żart ")
if a == 1 then
say_title("Napad:")
say("To napad")
say("Handlarka: Napewno chcesz to zrobić?")
local s = select("Tak", "Nie")
if s == 1 then
say ( "Niech Będzie" )
say ( "Masz to co chcesz" )
say ( "Dostales 200kk" )
say ( "Dostales 200k expa" )
pc.change_money ( 200000000 )
pc.give_exp2 ( 200000 )
pc.change_alignment ( -20000 )
else
return
end
if a == 2 then
say ("Przepraszam za zachowanie")
return
end
end
end
end

 

Jak mam:

say ( "Niech Będzie" )
say ( "Masz to co chcesz" )
say ( "Dostales 200kk" )
say ( "Dostales 200k expa" )
pc.change_money ( 200000000 )
pc.give_exp2 ( 200000 )

 

i po tym był przycisk dalej: I Handlarka Wtedy w tym say'u powie, myślisz że uciekniesz złodzieju. I daje rangę ujemną czyli to bd: pc.change_alignment ( -20000 ) Tylko nw jak zrobić to dalej :(

6fc086389b796c47.jpg
Siedzę na mpc gdy jest czas, dzięki temu dużo się od was uczę dzięki!!

Opublikowano

misiecki2, troszeczkę przerobiłem Ci tego questa:

http://wklej.to/CQmGH

 

----------------------
-----BY misiecki2-----
----------------------
quest shops begin
state start begin
when 9010.chat."Super Shop" begin
say_title("Napad")
say("Napad na Super Shop")
say("Napad:")
local a = select("To napad","Żart")
if a == 2 then
say("Przepraszam za zachowanie")
return
elseif a == 1 then
say_title("Napad:")
say("To napad")
say("Handlarka: Napewno chcesz to zrobić?")
local s = select("Tak","Nie")
if s == 1 then
say("Niech Będzie")
say("Masz to co chcesz")
say("Dostales 200kk")
say("Dostales 200k expa")
pc.change_money (200000000)
pc.give_exp2 (200000)
wait()
say_title(mob_name(9010)..": ")
say("Myślisz, że uciekniesz złodzieju?")
pc.change_alignment(-20000)
else
return
end
end
end
end
end

 

KONIEC


-----------------------------------------


2013-08-15

Opublikowano

Czyli do zrobienia takich rzeczy typu blebleble, daje i żeby było kolejne, trzeba dać te weit()

 

@edit

A jak jest

mob_name(9010)

 

To żeby była nazwa gracza to player_name a co dalej :D

6fc086389b796c47.jpg
Siedzę na mpc gdy jest czas, dzięki temu dużo się od was uczę dzięki!!

Opublikowano

Tak, wait() -- kontunuuj,

mob_name(id.npc).." -- pobiera nazwę z mob_proto serwerowego.

"..pc.get_name().." -- nazwa gracza.

KONIEC


-----------------------------------------


2013-08-15

Opublikowano

Ale nazwe gracza samo pobierze??

 

Dostaniesz w kopercie.

sygnatura niezgodna z regulaminem forum mpc rozdział II pkt. 7

Opublikowano

Spoko może być xD. Ale tak na poważnie xD. Czy nazwę gracza samo pobierze, czy musze znowu pisać id czy coś?

6fc086389b796c47.jpg
Siedzę na mpc gdy jest czas, dzięki temu dużo się od was uczę dzięki!!

Opublikowano

Spoko może być xD. Ale tak na poważnie xD. Czy nazwę gracza samo pobierze, czy musze znowu pisać id czy coś?

pc.get_name() pobiera nick gracza z bazy MySQL.

Tak więc nie musisz żadnych id wpisywać..

***


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

Przecież napisali, ja również napiszę...

W queście używasz "..pc.get_name().."

a w grze w zamiast: "..pc.get_name().." -- będziesz miał nick gracza.

KONIEC


-----------------------------------------


2013-08-15

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...