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 wzoru mi na quest czyli żebym mógł sobie wpisywać id npc itp

polega na :

 

Na wbiciu dajmy na to 40 lvl pokazuje się quest na zabicie mobów i dropniencia czegoś

Rozpoczyna sie tak

Witaj udaj się do blblba

idziesz do tej osoby a ona mowi musisz zdobyc to . Dropi to w

gdy dropniesz pokazuje sie ze wykonałeś i idziesz do tej osoby co zleciła a ona ze masz isć do blblbl po nagrode

to tyle

 

Nagroda max + i 5

emo2kopials4.png

 

"Masz prawo wyboru miejsca, w którym będziesz robił, co Ci każą."

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

a ja wam znowu przytruje tym questem :D

 

 

quest d_ponlok begin
       state start begin
               when 20016.chat."Wyzwanie" with pc.get_map_index() == 41 begin --- ID to index mapki
                               say_title(mob_name(20016)..":")
                       if pc.getqf("raz") == 0 then
                               say("Witaj "..pc.get_name().."! ")
                               say("Mozesz u mnie odbyć pewną misje. ")
                               say("")
                               say("Misja ta polega na zniszczeniu kilku kamieni ")
                               say("metin i kilku potworków. ")

                               if party.get_near_count() < 1 then
                                       say("Wybacz ale wasza drużyna musi mieć dwie osoby. ")
                                       party.chat("Wasza drużyna musi mieć dwie osoby. ")
                                       return
                               end

                               if pc.get_level() < 50 then
                                       say("Mogę wpuszczać tylko osoby z 50 poziomem. ")
                                       party.chat("Wasz lider nie posiada 50 poziomu. ")                                  

                               else
                                       say("Spełniasz Warunki: ")
                                       say_title("Drużyna posiada dwóch członków. ")
                                       say("")
                                       say_title("Wasz lider ma większy bądź równy 50 poziom. ")
                                       say("")
                                       say_reward("Chcesz się przenieść aby ją wykonać? ")

                                       local s = select("Tak", "Nie")                    
                                               if s == 1 then
                                                       say_title(mob_name(20016)..":")
                                                       say("Zostaniesz przeniesiony na inna mape. ")
                                                                                                               pc.setqf("kopson", 1)
                                                       pc.setqf("raz", get_time()+60*60*23)
                                                       d.join(181)
                                               end
                               end

                       else
                               say("Nie mozesz tego zrobić wiecej niż raz dziennie. ")
                               say("")
                       end

                       if pc.getqf("raz") <= get_time() then
                               pc.setqf("raz", 0)
                       end
               end

			when 8001.kill with pc.in_dungeon() and pc.get_map_index() == 181 begin
                       d.notice("Metin zniszczony. ")
                       d.jump_all(103)
               end
               when login with pc.in_dungeon() and pc.get_map_index() == 103 begin -- hujarty a nie otwarty-.-
                                       if pc.getqf("kopson") ==1 then
                       d.spawn_mob(8001, 728, 733)        -- zrobił bym to przez d.regen_file ale nie wiem
                       d.spawn_mob(8001, 728, 733)        -- co tu za mooby mają się respić.
                       d.spawn_mob(8001, 728, 733)        -- x and y to kaordy.
                       d.spawn_mob(8001, 728, 733)
                       d.spawn_mob(8001, 728, 733)
                       timer('event', 120)  --- 2 minuty
                                       else
                                               pc.warp(70000, 25000)
											end
               end

               when event.timer begin
                       if pc.getqf("rip") == 0 then
                               d.spawn_mob(1093, 728, 733)
                               pc.setqf("rip", 60*60*23)
                       end

                       if pc.getqf("rip") <= get_time() then
                               pc.setqf("rip", 0)
                       end
               end
               when logout with  pc.get_map_index() == 103 begin
                       local empire = pc.get_empire() 
                               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

               when 1093.kill with pc.in_dungeon() and pc.get_map_index() == 103 begin -- rip zabity w dangeonie i na mapie
                       d.notice("Riper ubity w ciągu 10sek wrócisz do miasta. ")
                       timer("wroc", 10)
               end

               when wroc.timer begin
                          d.exit_all()
               end
       end
end

 

 

chciałem dodatkowo zrobić, że po wejściu na mape, trzeba ubić metin(jakiś) po ubiciu go teleportuje na jakąś mape, gdzie jest boss ubija się go i po 10sek loga.

ale jak wiecie nie znam się na questach i chyba coś z ibałem :D

 

znaczy błąd jest taki, nie chce prze teleportować na mapke z m1.

dałem na początku index 41 to jest jinno m1 i z tej mapy powinno teleportować, no ale tego nie robi.

 

Proszę o mała pomoc z tym...

Opublikowano

 

quest d_ponlok begin
       state start begin
               when 20016.chat."Wyzwanie" with pc.get_map_index() == 41 begin --- ID to index mapki
                               say_title(mob_name(20016)..":")
                       if pc.getqf("raz") == 0 then
                               say("Witaj "..pc.get_name().."! ")
                               say("Mozesz u mnie odbyć pewną misje. ")
                               say("")
                               say("Misja ta polega na zniszczeniu kilku kamieni ")
                               say("metin i kilku potworków. ")

                               if party.get_near_count() < 1 then
                                       say("Wybacz ale wasza drużyna musi mieć dwie osoby. ")
                                       party.chat("Wasza drużyna musi mieć dwie osoby. ")
                                       return
                               end

                               if pc.get_level() < 50 then
                                       say("Mogę wpuszczać tylko osoby z 50 poziomem. ")
                                       party.chat("Wasz lider nie posiada 50 poziomu. ")                                  

                               else
                                       say("Spełniasz Warunki: ")
                                       say_title("Drużyna posiada dwóch członków. ")
                                       say("")
                                       say_title("Wasz lider ma większy bądź równy 50 poziom. ")
                                       say("")
                                       say_reward("Chcesz się przenieść aby ją wykonać? ")

                                       local s = select("Tak", "Nie")                    
                                               if s == 1 then
                                                       say_title(mob_name(20016)..":")
                                                       say("Zostaniesz przeniesiony na inna mape. ")
                                                                                                               pc.setqf("kopson", 1)
                                                       pc.setqf("raz", get_time()+60*60*23)
                                                       d.join(181)
                                               end
                               end

                       else
                               say("Nie mozesz tego zrobić wiecej niż raz dziennie. ")
                               say("")
                       end

                       if pc.getqf("raz") <= get_time() then
                               pc.setqf("raz", 0)
                       end
               end

                               when 8001.kill with pc.in_dungeon() and pc.get_map_index() == 181 begin
                       d.notice("Metin zniszczony. ")
                       say("Metin zniszczony. ")
                       d.join(103)
               end
               when login with pc.in_dungeon() and pc.get_map_index() == 103 begin -- hujarty a nie otwarty-.-
                                       if pc.getqf("kopson") ==1 then
                       d.spawn_mob(8001, 728, 733)        -- zrobił bym to przez d.regen_file ale nie wiem
                       d.spawn_mob(8001, 728, 733)        -- co tu za mooby mają się respić.
                       d.spawn_mob(8001, 728, 733)        -- x and y to kaordy.
                       d.spawn_mob(8001, 728, 733)
                       d.spawn_mob(8001, 728, 733)
                       timer('event', 120)  --- 2 minuty
                                       else
                                               pc.warp(70000, 25000)
                                                                                               end
               end

               when event.timer begin
                       if pc.getqf("rip") == 0 then
                               d.spawn_mob(1093, 728, 733)
                               pc.setqf("rip", 60*60*23)
                       end

                       if pc.getqf("rip") <= get_time() then
                               pc.setqf("rip", 0)
                       end
               end
               when logout with  pc.get_map_index() == 103 begin
                       local empire = pc.get_empire() 
                               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

               when 1093.kill with pc.in_dungeon() and pc.get_map_index() == 103 begin -- rip zabity w dangeonie i na mapie
                       d.notice("Riper ubity w ciągu 10sek wrócisz do miasta. ")
                       timer("wroc", 10)
               end

               when wroc.timer begin
                          d.exit_all()
               end
       end
end

 

 

po co ci te questy skoro nie masz serwa?:P

 

nie wiem czy zadziala bo nie mam jak sprawdzic ale powinno d.jump jest na tej mapie wiec nie moze byc warpa

QmxvbmR5blhfX19ldW5lX19fNTI0X19fTlVMTF9fXzNfX18xMDBfX19ub25lLnBuZ19fXzhfX19ub25lX19fMDAwMDAwX19fc29sbw==.png
Opublikowano

@Blondynx

po co ci te questy skoro nie masz serwa?

do mnie to? :D

ja mam taki serwer w domu do własnego użytku lubie czasami tam coś dodać no i chce go fajnie o questować, ale na questach się nie znam xD

 

@edit

dalej nieteleportuje

moze w tym kawałku

 say_title(mob_name(20016)..":")
                                                       say("Zostaniesz przeniesiony na inna mape. ")
                                                                                                               pc.setqf("kopson", 1)
                                                       pc.setqf("raz", get_time()+60*60*23)
                                                       d.join(181)
                                               end

d.join(181) jest nie odpowiednie, bo jak już pisaliście d.join jest pod dungeon

 

a dungeon zaczyna się dopiero chyba tutaj

when 8004.kill with pc.in_dungeon() and pc.get_map_index() == 181 begin
                       d.notice("Metin zniszczony. ")
                       say("Metin zniszczony. ")
                       d.join(103)
               end

 

przynajmniej ja tak myśle,a niezbyt się znam

 

jest może jakaś inna funkcja co przenosi całe pt na inna mape??

Opublikowano

pan.loka sie nie sluchaj bo mowi same glupoty

 

nie ma czegos takiego jak otworzenie dungeonu lol

 

dungeon zaczyna sie od tego

 

d.join(103) 
lub d.new jump all 

 

popelnilem blad bo troche spiacy bylem ;<

 

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

 

 

ma byc tak

 

when 8004.kill with pc.in_dungeon() and pc.get_map_index() == 181 begin 
                       d.notice("Metin zniszczony. ") 
                       say("Metin zniszczony. ") 
                       d.new_jump_all(103,kordy)
               end

 

ale po co ci warp z mapki na mapke?

QmxvbmR5blhfX19ldW5lX19fNTI0X19fTlVMTF9fXzNfX18xMDBfX19ub25lLnBuZ19fXzhfX19ub25lX19fMDAwMDAwX19fc29sbw==.png
Opublikowano

Chciał bym was prosić o napisanie mi jednego, nieskomplikowanego questa.

 

Potrzebny mi on do turnieju PvP. A jego tresc ma zawierac :

-Podchodzisz do npc id (20045). Po kliknięciu na niego pojawia sie napis "Chce Wyzwac Kogos No PVP". Po czym wpisujemy Imię osoby z którą chcesz walczyc (Musi byc koło gracza)

różnica poziomu postaci to 30lvl

-Jesli gracz który został wyzwany przyjmie wyzwanie to obie postacie teleportuje na mape pvp (Współzedne X Y)

-Po czym pojawia sie napis na czacie o bitwie

-po zakonczeniu pojedynku obie postacie wracają do m2 a na czacie pojawia sie wynik

-No i oczywiscie blokada czyli maxymalnie 2 osoby na arenie

 

 

Mapa ma 4 miejsca do walki i chciałbym aby królestwa sie na siebie na nałaziły czyli 1 ring niebieskie królestwo 2 czerwone a 3 niebieskie :D

I ten pojedynek aby był ogłaszany na królestwach swoich

Z góry dziekuje

Opublikowano

Albo naprawcie mi ten :D

 

quest arena_manager begin
       state start begin
               when 20017.chat."Arena" begin
                       if game.get_event_flag("arena_close") > 0 then
                               say("Arena jest aktualnie zamknieta!")
                               say("")
                               return
                       end

                       if not npc.lock() then
                               say("...")
                               say("")
                               return
                       end

                       local useMinLevel = game.get_event_flag("arena_use_min_level")

                       if useMinLevel == 0 then
                               useMinLevel = 30 ;
                       end

                       if pc.get_level() < useMinLevel then
                               say("Musisz posiadac "..useMinLevel.." poziom, aby walczyc")
                               say("na arenie!")
                               npc.unlock()
                               return
                       else

                               say("Wpisz nick osoby, z ktora chcesz walczyc!")
                               say("")

                               local sname = input()

                               if sname == "" then
                                       say("Nie znasz imienia Twojego przeciwnika?")
                                       npc.unlock()
                                       return
                               else
                                       say("Gracz o nicku: "..sname.." nie istnieje!")
                                       say("")

                                       local opp_vid = find_pc_by_name(sname)

                                       if opp_vid == 0 then
                                               say(Gracz o nicku: "..sname.." nie istnieje!")
                                               say("")
                                               npc.unlock()
                                               return
                                       elseif opp_vid == pc.get_vid() then
                                               say("Oszalales?")
                                               say("Nie mozesz walczyc sam z soba!")
                                               npc.unlock()
                                               return
                                       end

                                       local old = pc.select(opp_vid)
                                       local opp_level = pc.get_level()
                                       pc.select(old)

                                       if opp_level < useMinLevel then
                                               say("Twoj przeciwnik nie ma wystarczajacego poziomu,")
                                               say("aby z Toba walczyl!")
                                               npc.unlock()
                                               return
                                       end
                                       if not npc.is_near_vid(opp_vid, 10) then
                                               say("Twoj przeciwnik nie znajduje sie")
                                               say("blisko Ciebie!")
                                               say(sname.." musi tutaj przyjsc!")
                                               npc.unlock()
                                               return ;
                                       end

                                       local a = arena.is_in_arena(opp_vid)
                                       if a == 0 then
                                               say(sname.." jest aktualnie na arenie!")
                                               say("")
                                               npc.unlock()
                                               return ;
                                       end

                                       local agree = confirm(opp_vid, pc.name.."Czy chcesz walczyc?", 30)
                                       if agree != CONFIRM_OK then
                                               say(sname.." bedzie z Toba walczyl!")
                                               say("")
                                               npc.unlock()
                                               return
                                       end

                                       s = arena.start_duel(sname, 3)

                                       if s == 0 then
                                               say("ĄX˛{¤Fżů»~.")
                                               say("¬O§_»Ý­n¦A¦¸±µ¨üąďľÔÁÜ˝Đ?")
                                               say("")
                                       elseif s == 2 then
                                               say("ąď¤č¦b»P¨äĄLޱ?aąďľÔ.")
                                               say("")
                                       elseif s == 3 then
                                               say("˛{¦bҦłŞş¤j˝młő§ˇ¦b¨ĎĄÎ.")
                                               say("˝Đµy«á¦A¦¸ąÁ¸ŐÁÜ˝Đ.")
                                               say("")
                                       end
                               end
                       end
                       npc.unlock()
               end

               when 20017.chat."Lista walk" begin
                       local g = arena.get_duel_list()
                       local arena_name = {}
                       local arena_observer = {}

                       table.foreachi(g,
                               function(n, p)
                                       arena_name[n] = p[1].." vs "..p[2]
                                       arena_observer[n] = { p[3], p[4], p[5] }
                               end
                       )

                       table.insert(arena_name, "Ăöł¬")
                       table.insert(arena_observer, 0)

                       local count = table.getn(g)
                       if count == 0 then
                               say("˛{¦b¨S¦łąďľÔi¦ć¤¤.")
                               say("")
                               return ;
                       else
                               say("˛{¦b"..count.."­ÓąďľÔi¦ć·í¤¤.")
                               say("")
                               wait()
                       end

                       if table.getn(g) != 0 then
                               local s = select_table(arena_name)

                               if table.getn(arena_observer) == s then
                                       return ;
                               end

                               if table.getn(arena_observer) >= s then
                                       arena.add_observer(arena_observer[s][1], arena_observer[s][2], arena_observer[s][3])
                               end
                       end
               end
       end
end

i dodajcie do niego funkcje ogłaszen :D :D

Opublikowano

A więc witam mi chodzi o quest który teleportuje kogoś na daną mapę ale trzeba przynieść item który dropi z metka/potwora (drop ma być w queście )dziękuję .

 

quest telep begin
state start begin
	when kill with not npc.is_pc() begin
		local dr = number(1, 200)
			if dr >= 24 and dr <= 40 then
				pc.give_item2(id_item, ilość)
			end
	end
	when id_npc.chat."Teleport" begin
			say_title(mob_name(id_npc)..":")
		if pc.count_item(id_item, ilość) > 0 then
			say("Witaj, przeniose cie na mape, ale musisz mi dac ")
			say("ten item, wiem ze go masz... ")
			say("")
			say_item_vnum(id_item)
			say("")
			say_reward("Chcesz isę przeniesć? ")
			local s = select("Tak", "Nie")
				if s == 2 then
					return
				end
				if s == 1 then
					say("Zostaniesz przeniesiony. ")
					say("")
					pc.remove_item(id_item)
					wait()
					pc.warp(x, y)
				end
		else
			say("Moge cie przeniesc na mape ale musisz miec ")
			say("pewny item. ")
			say("")
			say_reward("Ten item : ")
			say_item_vnum(id_item)
			say("")
			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

Siemka :> mam problem !!!

 

kto mi zrobi ten quest aby na start dawało 86 lvl ???

 

 

daje + lub - kto woli

 

 

pozdrawiam!!!

 

 

quest:

 

----------------------------------------------------
-- Metin2 Triadica.net
-- Kapitan Quest By Bambus3k
-- First Login 
----------------------------------------------------
quest first_login begin
       state start begin
               when login begin
                       if pc.getqf("bambus3k") == 0 then
                               pc.setqf("bambus3k", 1)

                       say_reward(string.format("Witamy na Najleszym Prywatnym Serwerze ,,KozieBobkiMT2''!"))
                       say("")
                       say_title("GameAdmin: [GA]PaTrOL")
                       say("Raty na serwerze:")
                       say("EXP: 2000%")
                       say("DROP: 2000%")
                       say("Yang: 2000%")
                       say("A teraz zapoznaj się z serwerem !")
                       say_reward(string.format("Życzymy miłej gry, Team KozieBobkiMT2."))

                       pc . give_item2 ( "14009" , 1 ) 
                       pc . give_item2 ( "15009" , 1 ) 
                       pc . give_item2 ( "13009" , 1 )
                       pc . give_item2 ( "16009" , 1 )
                       pc . give_item2 ( "17009" , 1 )
                       pc . give_item2 ( "50052" , 1 )
                       pc . give_item2 ( "71095" , 10 )
                       pc . give_item2 ( "27003" , 200 )
                       pc . give_item2 ( "27006" , 200 )


                       pc . set_skill_level ( 131 , 10 ) 
                       pc . change_money(1000000)
                       horse.set_level ( 11 )
                       horse.ride()


       if pc.job==0 then --WOJOWNIK
       pc . give_item2 ( "19" , 1 )
       pc . give_item2 ( "3009" , 1 )
       pc . give_item2 ( "11209" , 1 )
       pc . give_item2 ( "12209" , 1 )
       end
       if pc.job==1 then --NINJA
       pc . give_item2 ( "1009" , 1 )
       pc . give_item2 ( "2009" , 1 )
       pc . give_item2 ( "11409" , 1 )
       pc . give_item2 ( "12349" , 1 )
       end
       if pc.job==2 then -- SURA
       pc . give_item2 ( "19" , 1 )
       pc . give_item2 ( "11609" , 1 )
       pc . give_item2 ( "12489" , 1 )
       end
       if pc.job==3 then -- SZAMAN
       pc . give_item2 ( "5009" , 1 )
       pc . give_item2 ( "7009" , 1 )
       pc . give_item2 ( "11809" , 1 )
       pc . give_item2 ( "12629" , 1 )
       end
       clear_letter ( )
               end
   end
       end
       state Bambus3k begin
       end
end

Opublikowano

Siemka :> mam problem !!!

 

kto mi zrobi ten quest aby na start dawało 86 lvl ???

 

 

daje + lub - kto woli

 

 

pozdrawiam!!!

 

 

quest:

 

----------------------------------------------------
-- Metin2 Triadica.net
-- Kapitan Quest By Bambus3k
-- First Login 
----------------------------------------------------
quest first_login begin
       state start begin
               when login begin
                       if pc.getqf("bambus3k") == 0 then
                               pc.setqf("bambus3k", 1)

                       say_reward(string.format("Witamy na Najleszym Prywatnym Serwerze ,,KozieBobkiMT2''!"))
                       say("")
                       say_title("GameAdmin: [GA]PaTrOL")
                       say("Raty na serwerze:")
                       say("EXP: 2000%")
                       say("DROP: 2000%")
                       say("Yang: 2000%")
                       say("A teraz zapoznaj się z serwerem !")
                       say_reward(string.format("Życzymy miłej gry, Team KozieBobkiMT2."))

                       pc . give_item2 ( "14009" , 1 ) 
                       pc . give_item2 ( "15009" , 1 ) 
                       pc . give_item2 ( "13009" , 1 )
                       pc . give_item2 ( "16009" , 1 )
                       pc . give_item2 ( "17009" , 1 )
                       pc . give_item2 ( "50052" , 1 )
                       pc . give_item2 ( "71095" , 10 )
                       pc . give_item2 ( "27003" , 200 )
                       pc . give_item2 ( "27006" , 200 )


                       pc . set_skill_level ( 131 , 10 ) 
                       pc . change_money(1000000)
                       horse.set_level ( 11 )
                       horse.ride()


       if pc.job==0 then --WOJOWNIK
       pc . give_item2 ( "19" , 1 )
       pc . give_item2 ( "3009" , 1 )
       pc . give_item2 ( "11209" , 1 )
       pc . give_item2 ( "12209" , 1 )
       end
       if pc.job==1 then --NINJA
       pc . give_item2 ( "1009" , 1 )
       pc . give_item2 ( "2009" , 1 )
       pc . give_item2 ( "11409" , 1 )
       pc . give_item2 ( "12349" , 1 )
       end
       if pc.job==2 then -- SURA
       pc . give_item2 ( "19" , 1 )
       pc . give_item2 ( "11609" , 1 )
       pc . give_item2 ( "12489" , 1 )
       end
       if pc.job==3 then -- SZAMAN
       pc . give_item2 ( "5009" , 1 )
       pc . give_item2 ( "7009" , 1 )
       pc . give_item2 ( "11809" , 1 )
       pc . give_item2 ( "12629" , 1 )
       end
       clear_letter ( )
               end
   end
       end
       state Bambus3k begin
       end
end

 

 

Powinno działać...

 

----------------------------------------------------
-- Metin2 Triadica.net
-- Kapitan Quest By Bambus3k
-- First Login 
----------------------------------------------------
quest first_login begin
state start begin
	when login begin
		if pc.getqf("bambus3k") == 0 then
			pc.setqf("bambus3k", 1)

		say_reward(string.format("Witamy na Najleszym Prywatnym Serwerze ,,KozieBobkiMT2''!"))
		say("")
		say_title("GameAdmin: [GA]PaTrOL")
		say("Raty na serwerze:")
		say("EXP: 2000%")
		say("DROP: 2000%")
		say("Yang: 2000%")
		say("A teraz zapoznaj się z serwerem !")
		say_reward(string.format("Życzymy miłej gry, Team KozieBobkiMT2."))

		pc . give_item2 ( "14009" , 1 ) 
		pc . give_item2 ( "15009" , 1 ) 
		pc . give_item2 ( "13009" , 1 )
		pc . give_item2 ( "16009" , 1 )
		pc . give_item2 ( "17009" , 1 )
		pc . give_item2 ( "50052" , 1 )
		pc . give_item2 ( "71095" , 10 )
		pc . give_item2 ( "27003" , 200 )
		pc . give_item2 ( "27006" , 200 )

			if pc.get_level() < 86 then   --- jeśli gracz ma niższy lvl niż 86 będzie dawało 50kk expa
			pc.give_exp2( 50000000 )
			else
			setstate(Bambus3k)
			end

		pc . set_skill_level ( 131 , 10 ) 
		pc . change_money(1000000)
		horse.set_level ( 11 )
		horse.ride()


if pc.job==0 then --WOJOWNIK
pc . give_item2 ( "19" , 1 )
pc . give_item2 ( "3009" , 1 )
pc . give_item2 ( "11209" , 1 )
pc . give_item2 ( "12209" , 1 )
end
if pc.job==1 then --NINJA
pc . give_item2 ( "1009" , 1 )
pc . give_item2 ( "2009" , 1 )
pc . give_item2 ( "11409" , 1 )
pc . give_item2 ( "12349" , 1 )
end
if pc.job==2 then -- SURA
pc . give_item2 ( "19" , 1 )
pc . give_item2 ( "11609" , 1 )
pc . give_item2 ( "12489" , 1 )
end
if pc.job==3 then -- SZAMAN
pc . give_item2 ( "5009" , 1 )
pc . give_item2 ( "7009" , 1 )
pc . give_item2 ( "11809" , 1 )
pc . give_item2 ( "12629" , 1 )
end
clear_letter ( )
	end
end
end
state Bambus3k 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.


***

Opublikowano

 

Powinno działać...

Spoiler

 

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

-- Metin2 Triadica.net

-- Kapitan Quest By Bambus3k

-- First Login

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

quest first_login begin

state start begin

when login begin

if pc.getqf("bambus3k") == 0 then

pc.setqf("bambus3k", 1)

 

say_reward(string.format("Witamy na Najleszym Prywatnym Serwerze ,,KozieBobkiMT2''!"))

say("")

say_title("GameAdmin: [GA]PaTrOL")

say("Raty na serwerze:")

say("EXP: 2000%")

say("DROP: 2000%")

say("Yang: 2000%")

say("A teraz zapoznaj się z serwerem !")

say_reward(string.format("Życzymy miłej gry, Team KozieBobkiMT2."))

 

pc . give_item2 ( "14009" , 1 )

pc . give_item2 ( "15009" , 1 )

pc . give_item2 ( "13009" , 1 )

pc . give_item2 ( "16009" , 1 )

pc . give_item2 ( "17009" , 1 )

pc . give_item2 ( "50052" , 1 )

pc . give_item2 ( "71095" , 10 )

pc . give_item2 ( "27003" , 200 )

pc . give_item2 ( "27006" , 200 )

 

if pc.get_level() < 86 then --- jeśli gracz ma niższy lvl niż 86 będzie dawało 50kk expa

pc.give_exp2( 50000000 )

else

setstate(Bambus3k)

end

 

pc . set_skill_level ( 131 , 10 )

pc . change_money(1000000)

horse.set_level ( 11 )

horse.ride()

 

 

if pc.job==0 then --WOJOWNIK

pc . give_item2 ( "19" , 1 )

pc . give_item2 ( "3009" , 1 )

pc . give_item2 ( "11209" , 1 )

pc . give_item2 ( "12209" , 1 )

end

if pc.job==1 then --NINJA

pc . give_item2 ( "1009" , 1 )

pc . give_item2 ( "2009" , 1 )

pc . give_item2 ( "11409" , 1 )

pc . give_item2 ( "12349" , 1 )

end

if pc.job==2 then -- SURA

pc . give_item2 ( "19" , 1 )

pc . give_item2 ( "11609" , 1 )

pc . give_item2 ( "12489" , 1 )

end

if pc.job==3 then -- SZAMAN

pc . give_item2 ( "5009" , 1 )

pc . give_item2 ( "7009" , 1 )

pc . give_item2 ( "11809" , 1 )

pc . give_item2 ( "12629" , 1 )

end

clear_letter ( )

end

end

end

state Bambus3k begin

end

end

 

 

 

ale... np jak wgram tego questa.. i zrobie postac 1 lvl to dostane 86 ??? bo chce żeby na start sie dostawalo 86 lvl...

Opublikowano

Co mam źle w tym queście ? Jak zabijam metiny 85 lvl to ich nie zalicza.

quest zniszcz_wszystkie_metiny begin
       state start begin
                       when login or levelup with pc.get_level() >= 75 begin
                                       set_state(pierwszy)
                               end
               end

               state pierwszy begin
                       when letter begin
                                       send_letter("Zabij Metiny")
                               end

                               when button or info begin
                                       say_title("Zabij Metiny")
                                               --
                                               --
                                               say("Musisz zabić:")
                                               say("20 Metinów Tu-Young")
                               end

                               when 8026.kill begin
                                       local count = pc.setqf("ilosc")+20

                                               if count < 20 then
                                               pc.getqf("ilosc", count)

                                               if count == 20 then
                                               say("Zabiłeś 20 Metinów")
                                               say("Tu-Young.")
                                               say_reward("Otzymałeś 100.000.000 Yang.")
                                               say_reward("Otrzymałeś rangę: Rycerski.")
                                               set_state(__complete__)
                                               pc.change_money(100000000)
                                               pc.change_alignment(40000)
											pc . give_item ( "50037" , 2 )
											pc . give_item2 ( "28631" , 1 )
                                               end
                                               end
                               end
               end
               state __complete__ begin
               end

Kocham mpcforum.pl!!!

18706.png

Opublikowano

Co mam źle w tym queście ? Jak zabijam metiny 85 lvl to ich nie zalicza.

quest zniszcz_wszystkie_metiny begin
       state start begin
                       when login or levelup with pc.get_level() >= 75 begin
                                       set_state(pierwszy)
                               end
               end

               state pierwszy begin
                       when letter begin
                                       send_letter("Zabij Metiny")
                               end

                               when button or info begin
                                       say_title("Zabij Metiny")
                                               --
                                               --
                                               say("Musisz zabić:")
                                               say("20 Metinów Tu-Young")
                               end

                               when 8026.kill begin
                                       local count = pc.setqf("ilosc")+20

                                               if count < 20 then
                                               pc.getqf("ilosc", count)

                                               if count == 20 then
                                               say("Zabiłeś 20 Metinów")
                                               say("Tu-Young.")
                                               say_reward("Otzymałeś 100.000.000 Yang.")
                                               say_reward("Otrzymałeś rangę: Rycerski.")
                                               set_state(__complete__)
                                               pc.change_money(100000000)
                                               pc.change_alignment(40000)
											pc . give_item ( "50037" , 2 )
											pc . give_item2 ( "28631" , 1 )
                                               end
                                               end
                               end
               end
               state __complete__ begin
               end

 

local count = pc.setqf("ilosc")+20

powinno być ("ilosc")+1

 

@EDIT

Prosze o questa, ktorym bedzie mozna teleportowac sie na 6 map.

Warpy wpisze sobie sam.

ID Npc tez.

 

 

quest tp begin
state start begin
	when id_npc.chat."Teleporter" begin
		say_title(mob_name(id_npc)..":")
		say("Wybierz gdzie chcesz się przenieść. ")
		say("")
		local s = select("Nazwa1", "Nazwa2", "Nazwa3", "Nazwa4", "Nazwa5", "Nazwa6", "Anuluj")
			if s == 7 then
				return
			end
			if s == 1 then
				say("Zostaniesz przeniesiony. ")
				say("")
				wait()
				pc.warp(x, y)
			end
			if s == 2 then
				say("Zostaniesz przeniesiony. ")
				say("")
				wait()
				pc.warp(x, y)
			end
			if s == 3 then
				say("Zostaniesz przeniesiony. ")
				say("")
				wait()
				pc.warp(x, y)
			end
			if s == 4 then
				say("Zostaniesz przeniesiony. ")
				say("")
				wait()
				pc.warp(x, y)
			end
			if s == 5 then
				say("Zostaniesz przeniesiony. ")
				say("")
				wait()
				pc.warp(x, y)
			end
			if s == 6 then
				say("Zostaniesz przeniesiony. ")
				say("")
				wait()
				pc.warp(x, y)
			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

Powie mi ktoś co mam źle w tym queście? podczas kompilacji wywala błąd:

syntax error : [string "start"]:15: unexpected symbol near `when'
pralka.quest:164:Abort

 

 

 

Kod skryptu:

 

quest pralka begin
       state start begin
               when 20091.chat."Broń na 90 lvl" begin
                       say("Wybierz jaką broń chcesz zrobić")
                       local s=select("Święty miecz+0", "Zabójca Żół. Smoka+0", "Kusza+0", "Smoczy Dzwon+0", "Wachlarz Leż. Smoka+0", "Tasak+0", "Świetliste Noże", "Anuluj")

                                         if s == 4 then
                                               return
                                      	elseif s == 1 then
							say("Aby zrobić ten przedmiot potrzebujesz:")
							say("Miecz Szponu Ducha+9")
							say("Biały gwóźdź")
							say(" ")
							say("Czy napewno chcesz to zrobić?")
                      							local a=select("Tak", "Nie, przyjdę później")
                       						if a == 2 then
									return
									elseif a == 1 then
										if pc.countitem(159)>0 with pc.countitem(99210)>0 then
											say("Proszę bardzo ! Oto twoj przedmiot")
											pc.give_item2("280")
											pc.remove_item(159, 1)
											pc.remove_item(99210, 1)
										elseif
											return
											say("Chciałeś mnie oszukać !")
											say("Wróć kiedy będziesz miał wszystko,")
											say("co jest potrzebne !")
										end
									end
                       			elseif s==2 then
							say("Aby zrobić ten przedmiot potrzebujesz:")
							say("Złodziej Dusz+9")
							say("Biały gwóźdź")
							say(" ")
							say("Czy napewno chcesz to zrobić?")
                      							local b=select("Tak", "Nie, przyjdę później")
                       						if b == 2 then
									return
									elseif b == 1 then
										if pc.countitem(3159)>0 with pc.countitem(99210)>0 then
											say("Proszę bardzo ! Oto twoj przedmiot")
											pc.give_item2("3170")
											pc.remove_item(3159, 1)
											pc.remove_item(99210, 1)
										elseif
											return
											say("Chciałeś mnie oszukać !")
											say("Wróć kiedy będziesz miał wszystko,")
											say("co jest potrzebne !")
										end
									end
                      				elseif s==3 then
							say("Aby zrobić ten przedmiot potrzebujesz:")
							say("Boski Łuk Moreli+9")
							say("Biały gwóźdź")
							say(" ")
							say("Czy napewno chcesz to zrobić?")
                      							local c=select("Tak", "Nie, przyjdę później")
                       						if c == 2 then
									return
									elseif c == 1 then
										if pc.countitem(2139)>0 with pc.countitem(99210)>0 then
											say("Proszę bardzo ! Oto twoj przedmiot")
											pc.give_item2("2190")
											pc.remove_item(2139, 1)
											pc.remove_item(99210, 1)
										elseif
											return
											say("Chciałeś mnie oszukać !")
											say("Wróć kiedy będziesz miał wszystko,")
											say("co jest potrzebne !")
										end
									end
                       			elseif s==4 then
							say("Aby zrobić ten przedmiot potrzebujesz:")
							say("Dzwon Nieba i Ziemi+9")
							say("Biały gwóźdź")
							say(" ")
							say("Czy napewno chcesz to zrobić?")
                      							local d=select("Tak", "Nie, przyjdę później")
                       						if d == 2 then
									return
									elseif d == 1 then
										if pc.countitem(5109)>0 with pc.countitem(99210)>0 then
											say("Proszę bardzo ! Oto twoj przedmiot")
											pc.give_item2("5140")
											pc.remove_item(5109, 1)
											pc.remove_item(99210, 1)
										elseif
											return
											say("Chciałeś mnie oszukać !")
											say("Wróć kiedy będziesz miał wszystko,")
											say("co jest potrzebne !")
										end
									end
                      				elseif s==5 then
							say("Aby zrobić ten przedmiot potrzebujesz:")
							say("Niebiański Ptasi Wachlarz+9")
							say("Biały gwóźdź")
							say(" ")
							say("Czy napewno chcesz to zrobić?")
                      							local e=select("Tak", "Nie, przyjdę później")
                       						if e == 2 then
									return
									elseif e == 1 then
										if pc.countitem(7139)>0 with pc.countitem(99210)>0 then
											say("Proszę bardzo ! Oto twoj przedmiot")
											pc.give_item2("7180")
											pc.remove_item(7139, 1)
											pc.remove_item(99210, 1)
										elseif
											return
											say("Chciałeś mnie oszukać !")
											say("Wróć kiedy będziesz miał wszystko,")
											say("co jest potrzebne !")
										end
									end
                       			elseif s==6 then
							say("Aby zrobić ten przedmiot potrzebujesz:")
							say("Zatruty Miecz+9")
							say("Biały gwóźdź")
							say(" ")
							say("Czy napewno chcesz to zrobić?")
                      							local f=select("Tak", "Nie, przyjdę później")
                       						if f == 2 then
									return
									elseif f == 1 then
										if pc.countitem(189)>0 with pc.countitem(99210)>0 then
											say("Proszę bardzo ! Oto twoj przedmiot")
											pc.give_item2("220")
											pc.remove_item(189, 1)
											pc.remove_item(99210, 1)
										elseif
											return
											say("Chciałeś mnie oszukać !")
											say("Wróć kiedy będziesz miał wszystko,")
											say("co jest potrzebne !")
										end
									end
                      				elseif s==7 then
							say("Aby zrobić ten przedmiot potrzebujesz:")
							say("Nóż Błyskawicy+9")
							say("Biały gwóźdź")
							say(" ")
							say("Czy napewno chcesz to zrobić?")
                      							local g=select("Tak", "Nie, przyjdę później")
                       						if g == 2 then
									return
									elseif g == 1 then
										if pc.countitem(1119)>0 with pc.countitem(99210)>0 then
											say("Proszę bardzo ! Oto twoj przedmiot")
											pc.give_item2("1150")
											pc.remove_item(1119, 1)
											pc.remove_item(99210, 1)
										elseif
											return
											say("Chciałeś mnie oszukać !")
											say("Wróć kiedy będziesz miał wszystko,")
											say("co jest potrzebne !")
										end
									end
                       end
               end
               end
end

 

 

 

 

Poprawi go ktoś??

Opublikowano

Powie mi ktoś co mam źle w tym queście? podczas kompilacji wywala błąd:

syntax error : [string "start"]:15: unexpected symbol near `when'
pralka.quest:164:Abort

 

 

 

Kod skryptu:

 

quest pralka begin
       state start begin
               when 20091.chat."Broń na 90 lvl" begin
                       say("Wybierz jaką broń chcesz zrobić")
                       local s=select("Święty miecz+0", "Zabójca Żół. Smoka+0", "Kusza+0", "Smoczy Dzwon+0", "Wachlarz Leż. Smoka+0", "Tasak+0", "Świetliste Noże", "Anuluj")

                                         if s == 4 then
                                               return
                                      	elseif s == 1 then
							say("Aby zrobić ten przedmiot potrzebujesz:")
							say("Miecz Szponu Ducha+9")
							say("Biały gwóźdź")
							say(" ")
							say("Czy napewno chcesz to zrobić?")
                      							local a=select("Tak", "Nie, przyjdę później")
                       						if a == 2 then
									return
									elseif a == 1 then
										if pc.countitem(159)>0 with pc.countitem(99210)>0 then
											say("Proszę bardzo ! Oto twoj przedmiot")
											pc.give_item2("280")
											pc.remove_item(159, 1)
											pc.remove_item(99210, 1)
										elseif
											return
											say("Chciałeś mnie oszukać !")
											say("Wróć kiedy będziesz miał wszystko,")
											say("co jest potrzebne !")
										end
									end
                       			elseif s==2 then
							say("Aby zrobić ten przedmiot potrzebujesz:")
							say("Złodziej Dusz+9")
							say("Biały gwóźdź")
							say(" ")
							say("Czy napewno chcesz to zrobić?")
                      							local b=select("Tak", "Nie, przyjdę później")
                       						if b == 2 then
									return
									elseif b == 1 then
										if pc.countitem(3159)>0 with pc.countitem(99210)>0 then
											say("Proszę bardzo ! Oto twoj przedmiot")
											pc.give_item2("3170")
											pc.remove_item(3159, 1)
											pc.remove_item(99210, 1)
										elseif
											return
											say("Chciałeś mnie oszukać !")
											say("Wróć kiedy będziesz miał wszystko,")
											say("co jest potrzebne !")
										end
									end
                      				elseif s==3 then
							say("Aby zrobić ten przedmiot potrzebujesz:")
							say("Boski Łuk Moreli+9")
							say("Biały gwóźdź")
							say(" ")
							say("Czy napewno chcesz to zrobić?")
                      							local c=select("Tak", "Nie, przyjdę później")
                       						if c == 2 then
									return
									elseif c == 1 then
										if pc.countitem(2139)>0 with pc.countitem(99210)>0 then
											say("Proszę bardzo ! Oto twoj przedmiot")
											pc.give_item2("2190")
											pc.remove_item(2139, 1)
											pc.remove_item(99210, 1)
										elseif
											return
											say("Chciałeś mnie oszukać !")
											say("Wróć kiedy będziesz miał wszystko,")
											say("co jest potrzebne !")
										end
									end
                       			elseif s==4 then
							say("Aby zrobić ten przedmiot potrzebujesz:")
							say("Dzwon Nieba i Ziemi+9")
							say("Biały gwóźdź")
							say(" ")
							say("Czy napewno chcesz to zrobić?")
                      							local d=select("Tak", "Nie, przyjdę później")
                       						if d == 2 then
									return
									elseif d == 1 then
										if pc.countitem(5109)>0 with pc.countitem(99210)>0 then
											say("Proszę bardzo ! Oto twoj przedmiot")
											pc.give_item2("5140")
											pc.remove_item(5109, 1)
											pc.remove_item(99210, 1)
										elseif
											return
											say("Chciałeś mnie oszukać !")
											say("Wróć kiedy będziesz miał wszystko,")
											say("co jest potrzebne !")
										end
									end
                      				elseif s==5 then
							say("Aby zrobić ten przedmiot potrzebujesz:")
							say("Niebiański Ptasi Wachlarz+9")
							say("Biały gwóźdź")
							say(" ")
							say("Czy napewno chcesz to zrobić?")
                      							local e=select("Tak", "Nie, przyjdę później")
                       						if e == 2 then
									return
									elseif e == 1 then
										if pc.countitem(7139)>0 with pc.countitem(99210)>0 then
											say("Proszę bardzo ! Oto twoj przedmiot")
											pc.give_item2("7180")
											pc.remove_item(7139, 1)
											pc.remove_item(99210, 1)
										elseif
											return
											say("Chciałeś mnie oszukać !")
											say("Wróć kiedy będziesz miał wszystko,")
											say("co jest potrzebne !")
										end
									end
                       			elseif s==6 then
							say("Aby zrobić ten przedmiot potrzebujesz:")
							say("Zatruty Miecz+9")
							say("Biały gwóźdź")
							say(" ")
							say("Czy napewno chcesz to zrobić?")
                      							local f=select("Tak", "Nie, przyjdę później")
                       						if f == 2 then
									return
									elseif f == 1 then
										if pc.countitem(189)>0 with pc.countitem(99210)>0 then
											say("Proszę bardzo ! Oto twoj przedmiot")
											pc.give_item2("220")
											pc.remove_item(189, 1)
											pc.remove_item(99210, 1)
										elseif
											return
											say("Chciałeś mnie oszukać !")
											say("Wróć kiedy będziesz miał wszystko,")
											say("co jest potrzebne !")
										end
									end
                      				elseif s==7 then
							say("Aby zrobić ten przedmiot potrzebujesz:")
							say("Nóż Błyskawicy+9")
							say("Biały gwóźdź")
							say(" ")
							say("Czy napewno chcesz to zrobić?")
                      							local g=select("Tak", "Nie, przyjdę później")
                       						if g == 2 then
									return
									elseif g == 1 then
										if pc.countitem(1119)>0 with pc.countitem(99210)>0 then
											say("Proszę bardzo ! Oto twoj przedmiot")
											pc.give_item2("1150")
											pc.remove_item(1119, 1)
											pc.remove_item(99210, 1)
										elseif
											return
											say("Chciałeś mnie oszukać !")
											say("Wróć kiedy będziesz miał wszystko,")
											say("co jest potrzebne !")
										end
									end
                       end
               end
               end
end

 

 

 

 

Poprawi go ktoś??

 

Zacznijmy od tego, że do dłuższych questów używa się spoiler...

 

Polskie znaki czy "

np.

say("Biały gwóźdź")

musi być:

say("Biały gwóźdź ")

 

 

@EDIT2

Dziękuję.

Bo ten błąd to nie jest taki błąd, tylko w grze by questa nie było.

 

Sprawdzę jeszcze raz questa bo na razie nie widzę błędu...

***


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 devildown begin
state start begin
	when login begin
		if pc.get_map_index() == 206 then
			pc.set_warp_location(206, 3917, 12931)
		end
	end

	when 30122.chat."Das Geheimnis Ascarias" begin
		say_title("Kriegergeist")
		say("")
		say("Ich war einst Krieger der Kaiserlichen Armee.")
		say("Vor vielen Jahren gab es einen Ort, der von einem")
		say("Drache bewacht wurde. Heute kennt man ihn unter dem")
		say("Name - Tal von Ascaria. Eigentlich wurde es mir")
		say("verboten Informationen über die Lage dieses Ortes zu")
		say("geben aber ich könnte dich trotzdem")
		say("dort hin teleportieren.")
		say("")
		say_reward("Soll ich dich ins Tal von Ascaria teleportieren?")

		local s = select("Teleportieren", "Hier bleiben")
			if s == 1 then
				pc.warp(391700, 1293100)
			else
				return
			end
	end

	when 8028.kill with pc.get_map_index()==206 begin
		local jump1 = number(1, 20)
		if jump1<=10 then
			chat("Das muss der Teil einer Karte sein.")
			chat("Bringe ihn dem Surageist.")
			game.drop_item(30136, 1)
		else
			chat("An diesem Metin war anscheinend keine Karte..")
		end
	end

	when 9.chat."Teil einer Karte" begin

		if pc.count_item(30136)>=1 then
			say("Du hast eine Karte gefunden?!")
			say("Lass mal sehen!")
			pc.removeitem("30136", 1)
			wait()
			say("Okay, ich denke als nächstes..")
			say("Ja das ist okay.. Bis später!")
			wait()				
			d.new_jump_all(206, 3182, 12142)
			d.setf("devillevel", 1)
		else
			say("Ich habe gehört, dass man an den Metinsteine,")
			say("hier in der Umgebung Teile von Karten finden kann,")
			say("wenn man sie zerstört. Wenn du mir ein solches")
			say("Teil bringen könntest, köntne ich dich in das")
			say("nächste Gebiet teleportieren, da ich dann das")
			say("Gebiet genauer untersuchen könnte.")
		end
	end

	when login with pc.in_dungeon() and d.getf("devillevel") == 1 begin

		-- Removed Schlüsselsteine aus deinem Inventar falls vorhanden, um Bugusing vorzubeugen. --
			local boxto7= pc.count_item(30300)  
			pc.remove_item(30300,boxto7)
		--------------------------------------------------------------------------------------------

			local vid = d.spawn_mob(2522, 268, 311)
			d.regen_file("data/dungeon/dd_regen2.txt")
			d.set_unique("real", vid)
			d.setf("devillevel", 1)
			d.notice("Zerstört das legendäre Feuer der Macht.");

	end

	when 2522.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("devillevel", 2)
			d.jump_all(3542, 12825)
		end
	end

	when 20083.chat."Geheimnissvolle Gänge" with pc.in_dungeon() and d.getf("devillevel") == 2 begin
		say_title("Poeng-Hong")
		say("")
		say("Diese Gänge.. Sie bringen mich um")
		say("meinen Verstand.. Ich laufe nun schon")
		say("den ganzen Tag in ihnen herum, aber ich habe")
		say("keine Ahnung, wo ich noch lang gehen soll.")
		say("Ich suche doch nur meinen Bruder..")
		say("")
		say("Wenn ich ihn doch nur finden würde..")
		wait()
		d.setf("devillevel", 3)
		timer("devildown_spawnport", 1)
		d.jump_all(3347, 12810)			
	end		

	when devildown_spawnport.timer begin
		d.regen_file("data/dungeon/dd_warps.txt")
	end

	when 20088.chat."Chuck-Sal" with pc.in_dungeon() and d.getf("devillevel") == 3 begin
		say_title("Chuck-Sal")
		say("")
		say("Mein Bruder Chuck-Sal?")
		say("Du hast ihn getroffen?")
		say("Ja ich bin sein Bruder.. Es wäre")
		say("sehr nett von ihm, ihm zu sagen wo ich")
		say("bin, wenn du ihn noch einmal sehen solltest.")
		say("")
		wait()

		d.setf("devillevel", 4)
		timer("devildown_jump1", 1)
	end		

	when devildown_jump1.timer begin
		d.regen_file("data/dungeon/dd_regen3.txt")
		local vid = d.spawn_mob(1191, 803, 290)
		d.set_unique("real", vid)
		d.jump_all(3619, 12075)
		d.notice("Sucht die Eishexe und tötet sie, damit der Wächter");
		d.notice("des Untergrundes sich nicht länger verstecken muss.");
	end

	when 1191.kill with pc.in_dungeon() and d.getf("devillevel") == 4 begin
		if d.is_unique_dead("real") then
			d.spawn_mob(20351 , 740 , 207)
			d.setf("devillevel", 5)
		end
	end

	when 20351.chat."Wächter des Untergrundes" with pc.in_dungeon() and d.getf("devillevel") == 5 begin	
		say_title("Wächter des Untergrundes")
		say("Man nennt mich den Wächter des Untergundes.")
		say("Ich bin schon eine weile hier und kenne das Gebiet")
		say("ein wenig besser wie du, wenn ich das so sagen darf.")
		say("")
		say("Ich könnte euch alle zu den alten Siegeln teleportieren.")
		say("Ich selbst traue mich dort nicht hin.")
		say("Mir ist der Ort irgendwie unheimlich.")
		say("")
		wait()
		d.setf("devillevel", 6)
		timer("devildown_jump2", 2)			
	end

	when devildown_jump2.timer begin
		d.jump_all(4426, 12370)
			d.regen_file("data/dungeon/dd_regen4.txt")
			d.spawn_mob(2501, 1241, 250)
			d.spawn_mob(2502, 1246, 242)
			d.spawn_mob(2503, 1255, 243)
			d.spawn_mob(2504, 1259, 250)
			d.spawn_mob(2505, 1254, 258)
			d.spawn_mob(2506, 1246, 258)
			d.setf("devildownstone_count", 6)
			timer('devildownstone1', 300)
			d.notice("Um das Portal zum Roten Drache zu aktivieren, müssen");
			d.notice("die alten Siegel zerstört werden. Ihr habt nur 20 Minuten,");
			d.notice("um alle 6 Siegel zu öffnen.");	
	end

	when devildownstone1.timer begin
		d.notice("Verbleibende Zeit: 15 Minut")
		timer('devildownstone2', 300)
	end

	when devildownstone2.timer begin
		d.notice("Verbleibende Zeit: 10 Minut")
		timer('devildownstone3', 300)
	end

	when devildownstone3.timer begin
		d.notice("Verbleibende Zeit: 5 Minut")
		timer('devildownstone4', 300)
	end

	when devildownstone4.timer begin
		d.notice("Die Zeit ist abgelaufen")
		d.notice("Ihr werdet nun nach draußen teleportiert")
		d.exit_all()
	end

	when 2542.kill with pc.in_dungeon() and d.getf("devillevel") == 6 begin
		local KILL_COUNT_FOR_DROP_DEVIL_KEY = 15
		local n =d.getf("count") + 1
		d.setf("count", n) 

		if n == KILL_COUNT_FOR_DROP_DEVIL_KEY then
			game.drop_item(50084, 1)
			d.setf("count", 0)
		end
	end

	when 30121.take with item.vnum == 50084 and d.getf("devillevel") == 6 begin
		npc.purge()
		item.remove()
		d.setf("devildownstone_count", d.getf("devildownstone_count") - 1)
		if d.getf("devildownstone_count") <= 0 then
			d.setf("devillevel", 7)
				-- Setzt die Timer von der Vorletzen EBENE auf 800000 Sec.
				-- Um das nachträgliche herausfliegen zu vermeiden.
				timer('devildownstone1', 800000)
				timer('devildownstone2', 800000)
				timer('devildownstone3', 800000)
				timer('devildownstone4', 800000)
				--------------------------------------------------------
			d.notice("Ihr habt alle alten Siegel geöffnet.")
			d.notice("Das Portal zum Roten Drache hat sich geöffnet.")
			timer("devildown_nexttimer", 3)
		else
			d.notice("Es verbleibt eine Anzahl von "..d.getf("devildownstone_count").." Siegeln")
		end
	end

	when devildown_nexttimer.timer begin
		d.jump_all(4374, 12740)
		-- Firstspawn !!!
		d.regen_file("data/dungeon/dd_boss1.txt")
		------------------
		timer("devildown_bosstimer1", 60)
	end

	when devildown_bosstimer1.timer begin
		-- 2. Spawn !!!
		d.regen_file("data/dungeon/dd_boss2.txt")
		------------------
		timer("devildown_bosstimer2", 60)
	end

	when devildown_bosstimer2.timer begin
		-- 3. Spawn !!!
		d.regen_file("data/dungeon/dd_boss3.txt")
		------------------
		timer("devildown_bosstimer3", 60)
	end

	when devildown_bosstimer3.timer begin
		-- 4. Spawn !!!
		d.regen_file("data/dungeon/dd_boss4.txt")
		------------------
		timer("devildown_bosstimer4", 60)
	end

	when devildown_bosstimer4.timer begin
		-- 5. Spawn !!!
		d.regen_file("data/dungeon/dd_boss5.txt")
		------------------
		timer("devildown_bosstimer5", 60)
	end

	when devildown_bosstimer5.timer begin
		-- 6. Spawn !!!
		d.regen_file("data/dungeon/dd_boss6.txt")
		------------------
		timer("devildown_bosstimer_last", 60)
	end

	when devildown_bosstimer_last.timer begin
		-- Endspawn mit Drache !!!
		d.regen_file("data/dungeon/dd_boss7.txt")
		local vid = d.spawn_mob(2526, 1302, 708)
		d.set_unique("real", vid)
		------------------
	end

	when 2526.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("devillevel", 0)
			d.notice("Ihr habt den Roten Drache, den Wächter des Tals von Ascaria besiegt.");
			d.notice("Ihr werdet in 20 Sekunden zurück zum Anfang teleportiert..");
			timer("devildown_escapetimer", 20)
		end
	end

	when devildown_escapetimer.timer begin
		d.exit_all()
	end

end
end

 

 

 

Poprawi mi ktoś ten quest? Bo spolszczyć to sobie spolszczę ale gdzieś jest błąd bo mam core dumped, będę wdzięczny za poprawienie questu

talonq.png

Będzie miło jeśli dasz mi tego "+" za pomoc : ).

Opublikowano

 

quest devildown begin
state start begin
	when login begin
		if pc.get_map_index() == 206 then
			pc.set_warp_location(206, 3917, 12931)
		end
	end

	when 30122.chat."Das Geheimnis Ascarias" begin
		say_title("Kriegergeist")
		say("")
		say("Ich war einst Krieger der Kaiserlichen Armee.")
		say("Vor vielen Jahren gab es einen Ort, der von einem")
		say("Drache bewacht wurde. Heute kennt man ihn unter dem")
		say("Name - Tal von Ascaria. Eigentlich wurde es mir")
		say("verboten Informationen über die Lage dieses Ortes zu")
		say("geben aber ich könnte dich trotzdem")
		say("dort hin teleportieren.")
		say("")
		say_reward("Soll ich dich ins Tal von Ascaria teleportieren?")

		local s = select("Teleportieren", "Hier bleiben")
			if s == 1 then
				pc.warp(391700, 1293100)
			else
				return
			end
	end

	when 8028.kill with pc.get_map_index()==206 begin
		local jump1 = number(1, 20)
		if jump1<=10 then
			chat("Das muss der Teil einer Karte sein.")
			chat("Bringe ihn dem Surageist.")
			game.drop_item(30136, 1)
		else
			chat("An diesem Metin war anscheinend keine Karte..")
		end
	end

	when 9.chat."Teil einer Karte" begin

		if pc.count_item(30136)>=1 then
			say("Du hast eine Karte gefunden?!")
			say("Lass mal sehen!")
			pc.removeitem("30136", 1)
			wait()
			say("Okay, ich denke als nächstes..")
			say("Ja das ist okay.. Bis später!")
			wait()				
			d.new_jump_all(206, 3182, 12142)
			d.setf("devillevel", 1)
		else
			say("Ich habe gehört, dass man an den Metinsteine,")
			say("hier in der Umgebung Teile von Karten finden kann,")
			say("wenn man sie zerstört. Wenn du mir ein solches")
			say("Teil bringen könntest, köntne ich dich in das")
			say("nächste Gebiet teleportieren, da ich dann das")
			say("Gebiet genauer untersuchen könnte.")
		end
	end

	when login with pc.in_dungeon() and d.getf("devillevel") == 1 begin

		-- Removed Schlüsselsteine aus deinem Inventar falls vorhanden, um Bugusing vorzubeugen. --
			local boxto7= pc.count_item(30300)  
			pc.remove_item(30300,boxto7)
		--------------------------------------------------------------------------------------------

			local vid = d.spawn_mob(2522, 268, 311)
			d.regen_file("data/dungeon/dd_regen2.txt")
			d.set_unique("real", vid)
			d.setf("devillevel", 1)
			d.notice("Zerstört das legendäre Feuer der Macht.");

	end

	when 2522.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("devillevel", 2)
			d.jump_all(3542, 12825)
		end
	end

	when 20083.chat."Geheimnissvolle Gänge" with pc.in_dungeon() and d.getf("devillevel") == 2 begin
		say_title("Poeng-Hong")
		say("")
		say("Diese Gänge.. Sie bringen mich um")
		say("meinen Verstand.. Ich laufe nun schon")
		say("den ganzen Tag in ihnen herum, aber ich habe")
		say("keine Ahnung, wo ich noch lang gehen soll.")
		say("Ich suche doch nur meinen Bruder..")
		say("")
		say("Wenn ich ihn doch nur finden würde..")
		wait()
		d.setf("devillevel", 3)
		timer("devildown_spawnport", 1)
		d.jump_all(3347, 12810)			
	end		

	when devildown_spawnport.timer begin
		d.regen_file("data/dungeon/dd_warps.txt")
	end

	when 20088.chat."Chuck-Sal" with pc.in_dungeon() and d.getf("devillevel") == 3 begin
		say_title("Chuck-Sal")
		say("")
		say("Mein Bruder Chuck-Sal?")
		say("Du hast ihn getroffen?")
		say("Ja ich bin sein Bruder.. Es wäre")
		say("sehr nett von ihm, ihm zu sagen wo ich")
		say("bin, wenn du ihn noch einmal sehen solltest.")
		say("")
		wait()

		d.setf("devillevel", 4)
		timer("devildown_jump1", 1)
	end		

	when devildown_jump1.timer begin
		d.regen_file("data/dungeon/dd_regen3.txt")
		local vid = d.spawn_mob(1191, 803, 290)
		d.set_unique("real", vid)
		d.jump_all(3619, 12075)
		d.notice("Sucht die Eishexe und tötet sie, damit der Wächter");
		d.notice("des Untergrundes sich nicht länger verstecken muss.");
	end

	when 1191.kill with pc.in_dungeon() and d.getf("devillevel") == 4 begin
		if d.is_unique_dead("real") then
			d.spawn_mob(20351 , 740 , 207)
			d.setf("devillevel", 5)
		end
	end

	when 20351.chat."Wächter des Untergrundes" with pc.in_dungeon() and d.getf("devillevel") == 5 begin	
		say_title("Wächter des Untergrundes")
		say("Man nennt mich den Wächter des Untergundes.")
		say("Ich bin schon eine weile hier und kenne das Gebiet")
		say("ein wenig besser wie du, wenn ich das so sagen darf.")
		say("")
		say("Ich könnte euch alle zu den alten Siegeln teleportieren.")
		say("Ich selbst traue mich dort nicht hin.")
		say("Mir ist der Ort irgendwie unheimlich.")
		say("")
		wait()
		d.setf("devillevel", 6)
		timer("devildown_jump2", 2)			
	end

	when devildown_jump2.timer begin
		d.jump_all(4426, 12370)
			d.regen_file("data/dungeon/dd_regen4.txt")
			d.spawn_mob(2501, 1241, 250)
			d.spawn_mob(2502, 1246, 242)
			d.spawn_mob(2503, 1255, 243)
			d.spawn_mob(2504, 1259, 250)
			d.spawn_mob(2505, 1254, 258)
			d.spawn_mob(2506, 1246, 258)
			d.setf("devildownstone_count", 6)
			timer('devildownstone1', 300)
			d.notice("Um das Portal zum Roten Drache zu aktivieren, müssen");
			d.notice("die alten Siegel zerstört werden. Ihr habt nur 20 Minuten,");
			d.notice("um alle 6 Siegel zu öffnen.");	
	end

	when devildownstone1.timer begin
		d.notice("Verbleibende Zeit: 15 Minut")
		timer('devildownstone2', 300)
	end

	when devildownstone2.timer begin
		d.notice("Verbleibende Zeit: 10 Minut")
		timer('devildownstone3', 300)
	end

	when devildownstone3.timer begin
		d.notice("Verbleibende Zeit: 5 Minut")
		timer('devildownstone4', 300)
	end

	when devildownstone4.timer begin
		d.notice("Die Zeit ist abgelaufen")
		d.notice("Ihr werdet nun nach draußen teleportiert")
		d.exit_all()
	end

	when 2542.kill with pc.in_dungeon() and d.getf("devillevel") == 6 begin
		local KILL_COUNT_FOR_DROP_DEVIL_KEY = 15
		local n =d.getf("count") + 1
		d.setf("count", n) 

		if n == KILL_COUNT_FOR_DROP_DEVIL_KEY then
			game.drop_item(50084, 1)
			d.setf("count", 0)
		end
	end

	when 30121.take with item.vnum == 50084 and d.getf("devillevel") == 6 begin
		npc.purge()
		item.remove()
		d.setf("devildownstone_count", d.getf("devildownstone_count") - 1)
		if d.getf("devildownstone_count") <= 0 then
			d.setf("devillevel", 7)
				-- Setzt die Timer von der Vorletzen EBENE auf 800000 Sec.
				-- Um das nachträgliche herausfliegen zu vermeiden.
				timer('devildownstone1', 800000)
				timer('devildownstone2', 800000)
				timer('devildownstone3', 800000)
				timer('devildownstone4', 800000)
				--------------------------------------------------------
			d.notice("Ihr habt alle alten Siegel geöffnet.")
			d.notice("Das Portal zum Roten Drache hat sich geöffnet.")
			timer("devildown_nexttimer", 3)
		else
			d.notice("Es verbleibt eine Anzahl von "..d.getf("devildownstone_count").." Siegeln")
		end
	end

	when devildown_nexttimer.timer begin
		d.jump_all(4374, 12740)
		-- Firstspawn !!!
		d.regen_file("data/dungeon/dd_boss1.txt")
		------------------
		timer("devildown_bosstimer1", 60)
	end

	when devildown_bosstimer1.timer begin
		-- 2. Spawn !!!
		d.regen_file("data/dungeon/dd_boss2.txt")
		------------------
		timer("devildown_bosstimer2", 60)
	end

	when devildown_bosstimer2.timer begin
		-- 3. Spawn !!!
		d.regen_file("data/dungeon/dd_boss3.txt")
		------------------
		timer("devildown_bosstimer3", 60)
	end

	when devildown_bosstimer3.timer begin
		-- 4. Spawn !!!
		d.regen_file("data/dungeon/dd_boss4.txt")
		------------------
		timer("devildown_bosstimer4", 60)
	end

	when devildown_bosstimer4.timer begin
		-- 5. Spawn !!!
		d.regen_file("data/dungeon/dd_boss5.txt")
		------------------
		timer("devildown_bosstimer5", 60)
	end

	when devildown_bosstimer5.timer begin
		-- 6. Spawn !!!
		d.regen_file("data/dungeon/dd_boss6.txt")
		------------------
		timer("devildown_bosstimer_last", 60)
	end

	when devildown_bosstimer_last.timer begin
		-- Endspawn mit Drache !!!
		d.regen_file("data/dungeon/dd_boss7.txt")
		local vid = d.spawn_mob(2526, 1302, 708)
		d.set_unique("real", vid)
		------------------
	end

	when 2526.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("devillevel", 0)
			d.notice("Ihr habt den Roten Drache, den Wächter des Tals von Ascaria besiegt.");
			d.notice("Ihr werdet in 20 Sekunden zurück zum Anfang teleportiert..");
			timer("devildown_escapetimer", 20)
		end
	end

	when devildown_escapetimer.timer begin
		d.exit_all()
	end

end
end

 

 

 

Poprawi mi ktoś ten quest? Bo spolszczyć to sobie spolszczę ale gdzieś jest błąd bo mam core dumped, będę wdzięczny za poprawienie questu

 

A jaki błąd jest?

***


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

local count = pc.setqf("ilosc")+20

powinno być ("ilosc")+1

 

@EDIT

 

 

 

quest tp begin
state start begin
	when id_npc.chat."Teleporter" begin
		say_title(mob_name(id_npc)..":")
		say("Wybierz gdzie chcesz się przenieść. ")
		say("")
		local s = select("Nazwa1", "Nazwa2", "Nazwa3", "Nazwa4", "Nazwa5", "Nazwa6", "Anuluj")
			if s == 7 then
				return
			end
			if s == 1 then
				say("Zostaniesz przeniesiony. ")
				say("")
				wait()
				pc.warp(x, y)
			end
			if s == 2 then
				say("Zostaniesz przeniesiony. ")
				say("")
				wait()
				pc.warp(x, y)
			end
			if s == 3 then
				say("Zostaniesz przeniesiony. ")
				say("")
				wait()
				pc.warp(x, y)
			end
			if s == 4 then
				say("Zostaniesz przeniesiony. ")
				say("")
				wait()
				pc.warp(x, y)
			end
			if s == 5 then
				say("Zostaniesz przeniesiony. ")
				say("")
				wait()
				pc.warp(x, y)
			end
			if s == 6 then
				say("Zostaniesz przeniesiony. ")
				say("")
				wait()
				pc.warp(x, y)
			end
	end
end
end

 

 

 

Dzieki, leci plus.

 

 

@Edit

Nie chce chodzic.

Klikam na Seon-Hae, ale nic sie nie dzieje.

Moze cos zle zrobilem. Oto Quest:

 

 

quest tp begin
       state start begin
               when id_npc.chat."Seon-Hae" begin
                       say_title(mob_name(20095)..":")
                       say("Wybierz gdzie chcesz się przenieść. ")
                       say("")
                       local s = select("Ognista Kraina", "Lodowa Kraina", "Oaza", "Pustynia Zin", "Nazwa5", "Nazwa6", "Anuluj")
                               if s == 7 then
                                       return
                               end
                               if s == 1 then
                                       say("Zostaniesz przeniesiony. ")
                                       say("")
                                       wait()
                                       pc.warp(5454, 5416)
                               end
                               if s == 2 then
                                       say("Zostaniesz przeniesiony. ")
                                       say("")
                                       wait()
                                       pc.warp(10251, 9667)
                               end
                               if s == 3 then
                                       say("Zostaniesz przeniesiony. ")
                                       say("")
                                       wait()
                                       pc.warp(8975, 9001)
                               end
                               if s == 4 then
                                       say("Zostaniesz przeniesiony. ")
                                       say("")
                                       wait()
                                       pc.warp(22128, 22369)
                               end
                               if s == 5 then
                                       say("Zostaniesz przeniesiony. ")
                                       say("")
                                       wait()
                                       pc.warp(x, y)
                               end
                               if s == 6 then
                                       say("Zostaniesz przeniesiony. ")
                                       say("")
                                       wait()
                                       pc.warp(x, y)
                               end
               end
       end
end

 

Opublikowano

@UP jak masz warpy to dopisz dwa 0 na koncu :D

@EDIT

 

quest tp begin
       state start begin
               when 20095.chat."Tepaj" begin
                       say_title(mob_name(20095)..":")
                       say("Wybierz gdzie chcesz się przenieść. ")
                       say("")
                       local s = select("Ognista Kraina", "Lodowa Kraina", "Oaza", "Pustynia Zin", "Nazwa5", "Nazwa6", "Anuluj")
                               if s == 7 then
                                       return
                               end
                               if s == 1 then
                                       say("Zostaniesz przeniesiony. ")
                                       say("")
                                       wait()
                                       pc.warp(545400, 541600)
                               end
                               if s == 2 then
                                       say("Zostaniesz przeniesiony. ")
                                       say("")
                                       wait()
                                       pc.warp(1025100, 966700)
                               end
                               if s == 3 then
                                       say("Zostaniesz przeniesiony. ")
                                       say("")
                                       wait()
                                       pc.warp(897500, 900100)
                               end
                               if s == 4 then
                                       say("Zostaniesz przeniesiony. ")
                                       say("")
                                       wait()
                                       pc.warp(2212800, 2236900)
                               end
                               if s == 5 then
                                       say("Zostaniesz przeniesiony. ")
                                       say("")
                                       wait()
                                       pc.warp(x, y)
                               end
                               if s == 6 then
                                       say("Zostaniesz przeniesiony. ")
                                       say("")
                                       wait()
                                       pc.warp(x, y)
                               end
               end
       end
end

tutaj masz gotowy :D

dCrwk2h.gif

Opublikowano

syntax error : [string "startpc . in_dungeon ( )"):5: unexpected symbol near 'when'

zombie.quest:286:Abort (core dumped)

 

syntax error : [string "startpc . in_dungeon ( )"):5: unexpected symbol near 'when'

zombie.quest:286:Abort (core dumped)

talonq.png

Będzie miło jeśli dasz mi tego "+" za pomoc : ).

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...