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

@UP

when 20075.chat.Chcesz dostac sie do minotaura?" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin

A " ?

powino być:

when 20075.chat."Chcesz dostac sie do minotaura?" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin

***


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.


***

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

up zostal mi jeszcze taki blad

10pietro.quest:717:Abort (core dumped)

jak mozesz podpowiedz co nie tak za to u gory wielkie DZ dostales +

 

Hmm. Mogę się mylić, ale wydaje mi się, że jest jeden end za dużo na końcu...

 

Usuń jeden end z końca i zobacz czy działa.

***


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

@PRO100ST prosze bardzo błędzik w endach usuniety :D

 

quest deviltower_zone begin
   state start begin
       when login begin
           if pc.get_map_index() == 66 then
               -- ¨Ă«D¦b1ĽÓÉ, °eŞđĄ~­±.
               -- ĽhĽĆ ˝dłň
               -- 1ĽÓ  88  577  236 737
               -- 2ĽÓ  91  343  238 504
               -- 3ĽÓ 104  107  248 269
               if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
                   pc.warp((5376+532)*100, (512+596+4)*100, 65)
               end
               pc.set_warp_location(65, 5376+532, 512+596+4)
           elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
               pc.set_warp_location(65, 5376+532, 512+596+4)
           end
       end
       when deviltower_man.chat.locale.deviltower_man_chat begin
           if pc.get_level() < 40 then
               say(locale.deviltower_man_say_you_cant)
           else
               say(locale.deviltower_man_say)
               local s = select(locale.deviltower_enter,locale.deviltower_no_enter)
               if s == 1 then
                   -- warp into!
                   pc.warp(216500,727000)
               end
           end
       end
       when devil_stone1.kill begin
           timer("devil_stone1_1", 6)
       end
       when devil_stone1_1.timer begin
               local mapto7= pc.count_item(30302)  -- ř·Ŕ¤ŁŞľ¬O§_¦s¦bŞşŻu¤`ĆFđ
               pc.remove_item(30302,mapto7)

               local boxto7= pc.count_item(30300)  -- ř·Ŕ¤ŁŞľ¬O§_¦s¦bŞş¤ŁŞľ¦WŞş˝c¤l
               pc.remove_item(30300,boxto7)

           d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
           d.regen_file("data/dungeon/deviltower2_regen.txt")
           d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
       end
       --when devil_stone2.kill begin
       --d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2])
       --end
       when devil_stone3.kill begin
           --d.jump_all_local(special.devil_tower[3][1], special.devil_tower[3][2])
           --d.set_exit_all_at_eliminate(6)
           --d.set_warp_at_eliminate(6, d.get_map_index(), 100, 100)
           --d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4)
           d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
           d.check_eliminated()
           --d.exit_all()
       end
       function get_4floor_stone_pos()
           local positions = {
               {368, 629},
               {419, 630},
               {428, 653},
               {422, 679},
               {395, 689},
               {369, 679},
               {361, 658},
           }
           for i = 1, 6 do
               local j = number(i, 7)
               if i != j then
                   local t = positions[i];
                   positions[i] = positions[j];
                   positions[j] = t;
               end
           end
           --for i = 1, 7 do
       --      positions[i][1] = positions[i][1] * 100
       --      positions[i][2] = positions[i][2] * 100
        --   end
           return positions
       end
       when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
           d.setf("level", 4)
           -- ¦A˛{¤jqÇŞ«¤Î»słyŻuĄŰŔYM°˛ĄŰŔY
           --d.regen_file("data/dungeon/deviltower4_regen.txt")
           local positions = deviltower_zone.get_4floor_stone_pos()
           for i = 1, 6 do
               chat(positions[i][1], positions[i][2])
               d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
           end
           chat(positions[7][1], positions[7][2])
           local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
           chat(vid)
           d.set_unique("real", vid)
           server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
           server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())

           d.notice("Brawo, udalo sie Tobie");
           d.notice("zniszczyc kamien metin!");
           d.notice("Macie 15 minut na nastepnym pietrze[ENTER] zanim zostaniecie wylogowani.");
           d.notice("Spieszcie sie!");
       end

       when devil_stone4_fail1.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Pozostalo 10 minut!")
               server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
           end
       end

       when devil_stone4_fail2.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Pozostalo 5 minut!")
               server_timer('devil_stone4_fail', 5*60, get_server_timer_arg())
           end
       end

       when devil_stone4_fail.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Nie udalo sie, zostaniecie wylogowany!")
               d.exit_all()
               clear_server_timer('devil_stone4_update', get_server_timer_arg())
           end
       end

       when devil_stone4_update.server_timer begin
           if d.select(get_server_timer_arg()) then
               if not d.is_unique_dead("real") then
                   for i = 1, 6 do
                       if d.getf("fakedead" .. i) == 0 then
                           if d.unique_get_hp_perc("fake" .. i) < 50 then
                               d.purge_unique("fake" .. i)
                               d.setf("fakedead" .. i, 1)
                               d.notice("To nie ten kamien!");
                           end
                       end
                   end
               else
                   --d.clear_regen()
                   --d.regen_file("data/dungeon/deviltower5_regen.txt")
                   server_timer("devil_stone4_end", 5, get_server_timer_arg())
                   d.notice("Udalo sie! Zabij wszystkie potwory na nastepnym");
                   d.notice("pietrze, aby zdobyc kamien otwarcia!")
                   clear_server_timer('devil_stone4_fail1', get_server_timer_arg())
                   clear_server_timer('devil_stone4_fail2', get_server_timer_arg())
                   clear_server_timer('devil_stone4_fail', get_server_timer_arg())
               end
           else
               server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())
           end
       end

       when devil_stone4_stop_timer.server_timer begin
           clear_server_timer('devil_stone4_update', get_server_timer_arg())
       end

       when devil_stone4_end.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.setf("level", 5)
               d.setf("stone_count", 5)
               d.notice("Brawo, jestes na 5 pietrze!")
               d.notice("Aby przejsc na 6 pietro musisz zabic")
               d.notice("wszystkie potwory tutaj, zdobyc kamien")
               d.notice("otwarcia i otworzyc pieczecie przed czasem!")
               d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
               server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg())
               clear_server_timer('devil_stone4_update', get_server_timer_arg())

               -- 5ĽÓÄ~Äň¦A˛{
               d.set_regen_file("data/dungeon/deviltower5_regen.txt")

               -- 5ĽÓ«Ę¦LĄŰ¦A˛{
               d.spawn_mob(20073, 421, 452)
               d.spawn_mob(20073, 380, 460)
               d.spawn_mob(20073, 428, 414)
               d.spawn_mob(20073, 398, 392)
               d.spawn_mob(20073, 359, 426)
           end
       end
       when devil_stone5_fail1.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Pozostalo 15 minut!")
               server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
           end
       end

       when devil_stone5_fail2.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Pozostalo 10 minut!")
               server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg())
           end
       end

       when devil_stone5_fail3.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Pozostalo 5 minut!")
               server_timer('devil_stone5_fail', 5*60, get_server_timer_arg())
           end
       end

       when devil_stone5_fail.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Nie udalo sie, zostaniesz wylogowany!")
               d.exit_all()
           end
       end

       --when devil_stone4.kill begin
           --d.setf("level", 5)
           --d.setf("stone_count", 4)
           --d.clear_regen()
           --d.regen_file("data/dungeon/deviltower5_regen.txt")
           --d.jump_all_local(special.devil_tower[4][1], special.devil_tower[4][2])
       --end

       when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
           local KILL_COUNT_FOR_DROP_KEY = 50
           --if is_test_server() then
               --KILL_COUNT_FOR_DROP_KEY = 1
           --end
           local n =d.getf("count") + 1
           d.setf("count", n) 
           if n == KILL_COUNT_FOR_DROP_KEY then
               -- ±Ľ¤UÂę°Í
               game.drop_item(50084, 1)
               d.setf("count", 0)
           end
       end
       when devil_stone5.take with item.vnum == 50084 begin
           npc.purge()
           item.remove()
           d.setf("stone_count", d.getf("stone_count") - 1)
           if d.getf("stone_count") <= 0 then
               d.setf("level", 6)
               d.clear_regen()
               d.regen_file("data/dungeon/deviltower6_regen.txt")

               d.notice("Brawo udalo sie! jestes na 6 pietrze!")
               d.notice("Zabij wszystkie potwory!")
               d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
               clear_server_timer('devil_stone5_fail1', get_server_timer_arg())
               clear_server_timer('devil_stone5_fail2', get_server_timer_arg())
               clear_server_timer('devil_stone5_fail3', get_server_timer_arg())
               clear_server_timer('devil_stone5_fail', get_server_timer_arg())
           else
               d.notice("Do otwarcia posostały "..d.getf("stone_count").." pieczęcie")
           end
       end

       when devil_stone6.kill begin
           -- ǰe¨ě·Ň¸tҦbŞş¦aąĎ
           -- §_«hˇA}ł]¤@­Ó·s·Ň¸t
           --d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2])
           d.kill_all()
          -- d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4)
           d.check_eliminated()
           local reward_alchemist = {20074, 20075, 20076}
           d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
           d.setqf("can_refine", 1)
       end

       --------------------------------------
       -- ĄŃi¤J7ĽÓ¦Ü¨ěąF8ĽÓ¤§«e
       --------------------------------------

       when 20074.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
               say(""..mob_name(20074).."")
               say("Zostaniesz przeniesiony")
               say("na 7 pietro Wiezy Demonow!")
               say("Lecz uwazaj...")
               say("Tam nie bedzie tak latwo jak wczesniej!")
               wait()
               if pc.level >=75 then
                       say("Kazdy z graczy zostanie przeniesiony!")
                       timer("devil_jump_7", 6)
                       return
               end
               say("Mozesz przejsc dalej!")
               say("")
               say("")
               wait()
               pc.warp(590500, 110500)
               return
   end
       when 20075.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
               say(""..mob_name(20075).."")
               say("Zostaniesz przeniesiony")
               say("na 7 pietro Wiezy Demonow!")
               say("Lecz uwazaj...")
               say("Tam nie bedzie tak latwo jak wczesniej!")
               wait()
               if pc.level >=75 then
                       say("Kazdy z graczy zostanie przeniesiony!")
                       timer("devil_jump_7", 6)
                       return
               end
               say("Mozesz przejsc dalej!")
               say("")
               say("")
               wait()
               pc.warp(590500, 110500)
               return
   end
       when 20076.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
               say(""..mob_name(20076).."")
               say("Zostaniesz przeniesiony")
               say("na 7 pietro Wiezy Demonow!")
               say("Lecz uwazaj...")
               say("Tam nie bedzie tak latwo jak wczesniej!")
               wait()
               if pc.level >=75 then
                       say("Kazdy z graczy zostanie przeniesiony!")
                       timer("devil_jump_7", 6)
                       return
               end
               say("Mozesz przejsc dalej!")
               say("")
               say("")
               wait()
               pc.warp(590500, 110500)
               return
   end

  when devil_jump_7.timer begin
               d.clear_regen()

               d.spawn_mob(8018, 639, 658)
               d.spawn_mob(8018, 611, 637)
               d.spawn_mob(8018, 596, 674)
               d.spawn_mob(8018, 629, 670)

               d.setf("level", 7)

               d.jump_all(2048+590, 6656+638)
       end

       when 8018.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
               local cont = d.getf("7_stone_kill") + 1
               d.setf("7_stone_kill", cont)

               if cont >= 4 then
                       d.setf("7_stone_kill", 0)
                       d.set_regen_file("data/dungeon/deviltower7_regen.txt")
               end     
       end

       when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
               game.drop_item(30300, 1)
       end

       when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
               pc.remove_item("30300", 1)

               local pct = number(1,10)

               if pct == 1 then
                       -- ±Ľ¤UŻu¦aąĎ
                       game.drop_item(30302, 1)
                       d.clear_regen()
               else
                       -- ±Ľ¤U°˛¦aąĎ
                       game.drop_item(30301, 1)

               end
       end

       when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
               -- ǰe¨ě8ĽÓ
               say("Przeniesiesz sie na 8 pietro!")
               pc.remove_item("30302", 1)
           timer("devil_jump_8", 6)
               d.clear_regen()
       end

       --------------------------------------------
       -- ĄŃi¤J8ĽÓ¦Ü¨ěąF9ĽÓ¤§«e
       --------------------------------------------
       when devil_jump_8.timer begin
               d.setf("level", 8)
               d.jump_all(2048+590, 6656+403)
               d.set_regen_file("data/dungeon/deviltower8_regen.txt")
               d.spawn_mob(20366, 640, 460)
               local _count= pc.count_item(30302)-- ř·ŔŻu¤`ĆFđ
               pc.remove_item(30302,_count)

       end

       when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
               local pct1 = number(1, 5)
               if pct1 == 1 then
                       local pct2 = number(1, 10)
                       if pct2 == 1 then
                               -- ±Ľ¤UŻuÂę°Í
                               game.drop_item(30304, 1)
                       else
                               -- ±Ľ¤U°˛Âę°Í
                               game.drop_item(30303, 1)
                       end
               else
                       return
               end
       end

       when 20366.take with item.vnum == 30304 begin
               -- 9ĽÓ«Ę¦L¸Ń°Ł
               d.notice("Zostaniecie przeniesieni na 9 pietro!")
               npc.purge()
               item.remove()
               timer("devil_jump_9", 6)
       end

       ---------------------------------------------
       -- ĄŃi¤J9ĽÓ¦Üµ˛§ô
       ---------------------------------------------
       when devil_jump_9.timer begin
               d.setf("level", 9)
               d.jump_all(2048+590, 6656+155)
               d.regen_file("data/dungeon/deviltower9_regen.txt")
       end

       when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
               d.kill_all()
               notice_all(pc.get_name().." zabil Umarlego Rozpruwacza!")
               timer("devil_end_jump", 60)
       end

       when devil_end_jump.timer begin
           d.exit_all()
       end

       when login begin
               if pc.get_map_index() == 65 then
                       if pc.getqf("priv_dt") > 0 then
                               pc.setqf("priv_dt", 0)
                       end
               end

           if pc.get_map_index() == 66 then
               if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
                   pc.warp((5376+532)*100, (512+596+4)*100, 65)
               end
               pc.set_warp_location(65, 5376+532, 512+596+4)
           elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
               pc.set_warp_location(65, 5376+532, 512+596+4)
           end
       end

       when deviltower_man.chat."Wejdź do Wieży Wygnańców" with party.is_leader() begin
               say_title("Strażnik Wieży Wygnańców:")
               if party.get_near_count() < 2 then
                       say("Wybacz, musisz mieć ze sobą 2 osoby w grupie.")
                       party.chat("Wasza grupa posiada zbyt mało członków.")
                       return
               end
           if pc.get_level() < 135 then
               say("Wybacz, mogę wpuszczać tylko osoby od 135 poziomu.")
               party.chat("Lider grupy nie posiada 135 poziomu.")
           else
               say("Nadajesz aby wejsc do wiezy")
               say("Czy aby na pewno chcesz wejść do Wieży?")
               say("Czeka tam na Ciebie i Twoich znajomych ogromne")
               say("niebezpieczeństwo.. Jesteś tego pewien?")
               local s = select("Wejdź!","Nie wchodzę..")

               if s == 1 then
                       pc.setqf("priv_dt", 1)
                   -- join into map!
                   d.join(66)
               end
           end
       end


       when login with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
                       --local i = nie ważne..
                       --chat("i: "..i) -- for test
                       if party.is_leader() == true and pc.getqf("priv_dt") > 0 then
                               pc.setqf("priv_dt", 0)
                               d.regen_file("data/dungeon/wygnancy.txt")
                               d.notice("Witajcie, w Wieży Wygnańców!")
                               d.notice("Zniszczie Tian-Shuan, by przedostać się dalej.")
                               d.spawn_mob(8034, 195, 690)
                       end
       end


       when 8034.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
           timer("wieza", 6)
               chat(special.devil_tower[1][1].." "..special.devil_tower[1][2])
       end
       when wieza.timer begin
           d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
           d.regen_file("data/dungeon/wygnancy2.txt")
           d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/wygnancy3.txt")
       end
       when 1191.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
           d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/wygnancy4.txt")
           d.check_eliminated()
               d.notice("Wiedzma zostala pokonana!!")
       end
       function get_4floor_stone_pos()
           local positions = {
               {368, 629},
               {419, 630},
               {428, 653},
               {422, 679},
               {395, 689},
               {369, 679},
               {361, 658},
           }
           for i = 1, 6 do
               local j = number(i, 7)
               if i != j then
                   local t = positions[i];
                   positions[i] = positions[j];
                   positions[j] = t;
               end
           end
           return positions
       end
       when 8031.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
           d.setf("levels", 4)
           local positions = deviltower_zone.get_4floor_stone_pos()
           for i = 1, 6 do
               chat(positions[i][1], positions[i][2])
               d.set_unique("fake" .. i , d.spawn_mob(8027, positions[i][1], positions[i][2]))
           end
           chat(positions[7][1], positions[7][2])
           local vid = d.spawn_mob(8027, positions[7][1], positions[7][2])
           chat(vid)
           d.set_unique("real", vid)
           server_loop_timer('devil_stone4_updates', 10, pc.get_map_index())
           server_timer('devil_stone4_fail1s', 5*60, pc.get_map_index())

           d.notice("Brawo, udało się Tobie zniszczyć Metin Zaglady.");
           d.notice("Musicie teraz znaleźć prawdziwy Kamień Metin,");
           d.notice("by dostać się na kolejne piętro.");
           d.notice("Macie na to 5 minut zanim zostaniecie wylogowani !");
           d.notice("Śpieszcie się!");
       end

       when devil_stone4_fail1s.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Pozostało 10 minut!")
               server_timer('devil_stone4_fail2s', 5*60, get_server_timer_arg())
           end
       end

       when devil_stone4_fail2s.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Pozostało 5 minut!")
               server_timer('devil_stone4_fails', 5*60, get_server_timer_arg())
           end
       end

       when devil_stone4_fails.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Nie udalo sie, zostaniecie wylogowany!")
               d.exit_all()
               clear_server_timer('devil_stone4_updates', get_server_timer_arg())
           end
       end

       when devil_stone4_updates.server_timer begin
           if d.select(get_server_timer_arg()) then
               if not d.is_unique_dead("real") then
                   for i = 1, 6 do
                       if d.getf("fakedead" .. i) == 0 then
                           if d.unique_get_hp_perc("fake" .. i) < 50 then
                               d.purge_unique("fake" .. i)
                               d.setf("fakedead" .. i, 1)
                               d.notice("To nie ten kamień!");
                           end
                       end
                   end
               else
                   server_timer("devil_stone4_ends", 5, get_server_timer_arg())
                   d.notice("Udało się wam zniszczyć prawdziwy Kamień Metin!");
                   d.notice("Zostaniecie przeniesieni na kolejne piętro.")
                   clear_server_timer('devil_stone4_fail1s', get_server_timer_arg())
                   clear_server_timer('devil_stone4_fail2s', get_server_timer_arg())
                   clear_server_timer('devil_stone4_fails', get_server_timer_arg())
               end
           else
               server_timer('devil_stone4_stop_timers', 1, get_server_timer_arg())
           end
       end

       when devil_stone4_stop_timers.server_timer begin
           clear_server_timer('devil_stone4_updates', get_server_timer_arg())
       end

       when devil_stone4_ends.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.setf("levels", 5)
               d.setf("stone_counts", 5)
               d.notice("Świetnie.. Przechodzicie na 5 piętro!")
               d.notice("Aby przejść na kolejne musicie zabić wszystkie potwory.")
               d.notice("Poczym podnieść Kamień Otwarcia i otworzyć,")
               d.notice("wszystkie pięć pieczęci przed czasem!")
               d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
               server_timer('devil_stone5_fail1s', 5*60, get_server_timer_arg())
               clear_server_timer('devil_stone4_updates', get_server_timer_arg())

               -- 5ĽÓÄ~Äň¦A˛{
               d.set_regen_file("data/dungeon/wygnancy5.txt")

               -- 5ĽÓ«Ę¦LĄŰ¦A˛{
               d.spawn_mob(20353, 421, 452)
               d.spawn_mob(20353, 380, 460)
               d.spawn_mob(20353, 428, 414)
               d.spawn_mob(20353, 398, 392)
               d.spawn_mob(20353, 359, 426)
               d.spawn_mob(1307, 363, 428)
               d.spawn_mob(1307, 430, 418)
               d.spawn_mob(1307, 400, 400)
               d.spawn_mob(1307, 390, 460)
               d.spawn_mob(1307, 425, 460)
           end
       end
       when devil_stone5_fail1s.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Do Końca pozostało 15 minut.")
               server_timer('devil_stone5_fail2s', 5*60, get_server_timer_arg())
           end
       end

       when devil_stone5_fail2s.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Do Końca pozostało 10 minut.")
               server_timer('devil_stone5_fail3s', 5*60, get_server_timer_arg())
           end
       end

       when devil_stone5_fail3s.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Do Końca pozostało 5 minut.")
               server_timer('devil_stone5_fails', 5*60, get_server_timer_arg())
           end
       end

       when devil_stone5_fails.server_timer begin
           if d.select(get_server_timer_arg()) then
               d.notice("Niestety... Nie udało się! Zostaniecie wylogowani.")
               d.exit_all()
           end
       end

       when 1307.kill with pc.in_dungeon() and d.getf("levels") == 5 begin
           local KILL_COUNT_FOR_DROP_KEYs = 100
           local n =d.getf("counts") + 1
           d.setf("counts", n) 
           if n == KILL_COUNT_FOR_DROP_KEYs then
               pc.give_item2(50084, 1)
               d.notice(pc.get_name().." Podniósł Kamień Otwarcia!")
               d.setf("counts", 0)
           end
       end
       when 20353.take with item.vnum == 50084 and d.getf("levels") == 5 begin
           npc.purge()
           item.remove()
           d.setf("stone_counts", d.getf("stone_counts") - 1)
           if d.getf("stone_counts") <= 0 then
               d.setf("levels", 6)
               d.clear_regen()
               d.regen_file("data/dungeon/wygnancy2.txt")

               d.notice("Brawo, udało się! Jesteście na 6 piętrze!")
               d.notice("Zabijcie wszystkie elity!")
               d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
               timer("mob",6)
               clear_server_timer('devil_stone5_fail1s', get_server_timer_arg())
               clear_server_timer('devil_stone5_fail2s', get_server_timer_arg())
               clear_server_timer('devil_stone5_fail3s', get_server_timer_arg())
               clear_server_timer('devil_stone5_fails', get_server_timer_arg())
           else
                               d.notice("Do otwarcia pozostały "..d.getf("stone_counts").." pieczęcie.")
           end
       end

       when mob.timer begin
               d.spawn_mob(20075, 425, 216);
               d.spawn_mob(1307, 427, 216);
       end

       when 1307.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
           d.kill_all()
           d.check_eliminated()
           local reward_alchemists = {20074, 20075, 20076}
           d.spawn_mob(reward_alchemists[number(1,3)], 425, 216);
           d.setqf("can_refine", 2)
       end


       --------------------------------------
       -- ĄŃi¤J7ĽÓ¦Ü¨ěąF8ĽÓ¤§«e
       --------------------------------------

       when 20074.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
               say_title(""..mob_name(20074).."")
               say("Możesz przejsć na 7 zwyklego DT")
               say("Lecz uważaj..")
               say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
               wait()
               if pc.level >=135 then
                       say_title(""..mob_name(20074).."")
                       say("Posiadasz odpowiedni level.")
                       say("Zostaniesz przeniesiony na 7 piętro.")
                       timer("devil_jump_7s", 6)
                       return
               end
               say_title(""..mob_name(20074).."")
               say("Wybacz.. nie posiadasz 135 poziomu")
               say("Nie mogę Cię przenieść na kolejne piętro.")
               wait()
               pc.warp(590500, 110500)
               return
		end
       when 20075.chat."Chcesz dostac sie do minotaura?" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
               say_title(""..mob_name(20074).."")
               say("Możesz przejsć na 7 zwyklego DT")
               say("Lecz uważaj..")
               say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
               wait()
               if pc.level >=110 then
                       say_title(""..mob_name(20074).."")
                       say("Posiadasz odpowiedni level.")
                       say("Zostaniesz przeniesiony na 7 piętro.")
                       timer("devil_jump_7s", 6)
                       return
               end
               say_title(""..mob_name(20074).."")
               say("Wybacz.. nie posiadasz 135 poziomu")
               say("Nie mogę Cię przenieść na kolejne piętro.")
               wait()
               pc.warp(590500, 110500)
               return
   end
       when 20076.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
               say_title(""..mob_name(20074).."")
               say("Możesz przejsć na 7 zwyklego DT")
               say("Lecz uważaj..")
               say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
               wait()
               if pc.level >=135 then
                       say_title(""..mob_name(20074).."")
                       say("Posiadasz odpowiedni level.")
                       say("Zostaniesz przeniesiony na 7 piętro.")
                       timer("devil_jump_7s", 6)
                       return
               end
               say_title(""..mob_name(20074).."")
               say("Wybacz.. nie posiadasz 135 poziomu")
               say("Nie mogę Cię przenieść na kolejne piętro.")
               wait()
               pc.warp(590500, 110500)
               return
   end

  when devil_jump_7s.timer begin
               d.clear_regen()
               d.spawn_mob(1095, 617, 676)
               d.setf("levels", 7)
               d.regen_file("data/dungeon/wygnancy7.txt")
               d.jump_all(2048+590, 6656+638)
       end
       ---------------------------------------------
       -- Niebieska Śmierć
       ---------------------------------------------
       when 1095.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
               timer("devil_jump_8S", 30)
               d.clear_regen()
               d.notice("Pokonaliście Niebieską Śmierć!")
               d.notice("Zostaniecie przeniesieni na piętro Minotaura!")
       end

       ---------------------------------------------
       -- Niebiański Smok
       ---------------------------------------------
       when devil_jump_8S.timer begin
               d.setf("levels", 8)
               d.jump_all(2048+590, 6656+155)
               d.spawn_mob(2604,630,195)
       end

       when 2604.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
               d.kill_all()
               local m_sex = pc.get_sex()
                                   if m_sex == 0 then
               notice_all(pc.get_name().." zabił Minotaura!")
                       else
               notice_all(pc.get_name().." zabiła Minotaura!")
                               end

               timer("devil_end_jumps", 60)
       end

       when devil_end_jumps.timer begin
           d.exit_all()
       end
end
state __GOOD__ begin
end
end

 

dCrwk2h.gif

Opublikowano

Powodzenia :)

Masz jakis problem z metin2 ? Napisz do mnie a dostaniesz odpowiedz :)

 

 

Kontakt GG :36699846

 

 

 

Dawajcie +  :D  :D  nie - )))

 

 

 

 

 

Pomogłem ? To daj tego 063ahg3oaksooi5kteoq.jpg To ci nie zaszkodzi i stracisz tylko 2 sek swojego życia :D

 

 

8qha1ewofhh672jfwnq5.jpg

 

cd697829292848f98e23859d292885d0.0.gif

Opublikowano

@Czekam na jakieś prośby o questy.

 

 

@EDIT

@DOWN

Ok.

 

@A ten u góry to co, nie spam?

***


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 wymiana_itemkow begin
state start begin
	when 20095.chat."Witaj!" begin
		local s = select("Wymiana Pereł ", "Wymiena Małży ", "Wymiena Srebrnych Szkatułek ", "Wymiana Złotych Szkatułek ", "Anuluj")
		if s == 5 then
			return
		end
		if s == 1 then
			say_title(mob_name(20095)..":")
			say("Witaj przyjacielu! ")
			say("Co cie tu sprowadza? ")
			say("Co chciałbyœ wymienić? ")
			say("")
			say_reward(pc.get_name()..":")
			say("Chciałbym wymienić Perły na ")
			say("Magicznš Muszelkę! ")
			say_item("", 29001 , "Magiczna Muszelka")
			say("")
			say_title(mob_name(20095)..":")
			say("Dobrze! Zobaczmy co się da zrobić! ")
			say("")
			wait()
			say_title(mob_name(20095)..":")
			say("Aby wymienić się ze mnš na ")
			say("Magicznš Muszelkę potrzebujesz ")
			say("10 - Biała Perła ")
			say("10 - Niebieska Perła ")
			say("5 - Czerwona Perła ")
			say("")
			say("Posiadasz tyle Perełek? ")
			say("")
			local s2 = select("Tak, mam tyle ", "Niestety nie.. ")
				if s2 == 2 then 
					return
				end
				if s2 == 1 then
					if pc.count_item(27992) >= 10 and pc.count_item(27993) >= 10 and pc.count_item(27994) >= 5 then
						say_title(mob_name(20095)..":")
						say("W takim razie mogę się z Tobš wymienić! ")
						say("")
						pc.removeitem(27992, 10)
						pc.removeitem(27993, 10)
						pc.removeitem(27994, 5)
						pc.give_item2(29001, 1)
						wait()
						say_title(mob_name(20095)..":")
						say("Dziękuję przyjacielu! ")
						say("Do zobaczenia! ")
						say("")
					else
						say_title(mob_name(20095)..":")
						say("Nie posiadasz wystarczajšcej iloœci ")
						say("perełek... Niestety nie wymienie się z Tobš! ")
						say("")
						say("Wróc kiedy będziesz miał ich wystarczajšco dużo! ")
					end
				end
		end
		if s == 2 then
			say_title(mob_name(20095)..":")
			say("Witaj przyjacielu! ")
			say("Co cie tu sprowadza? ")
			say("Co chciałbyœ wymienić? ")
			say("")
			say_reward(pc.get_name()..":")
			say("Chciałbym wymienić Małże na ")
			say("jednš z Pereł! ")
			say("")
			say_title(mob_name(20095)..":")
			say("Dobrze! Zobaczmy co się da zrobić! ")
			say("")
			wait()
			say_title(mob_name(20095)..":")
			say("Aby wymienić się ze mnš na ")
			say("któršœ Perłę potrzebujesz ")
			say("5 Małży - Biała Perła ")
			say("10 Małży - Niebieska Perła ")
			say("15 Małży - Czerwona Perła ")
			say("")
			say("Posiadasz tyle Małży? ")
			say("")
			local s3 = select("Białš Perłę ", "Niebieskš Perłę ", "Czerwonš Perłę", "Anuluj")
				if s3 == 4 then 
					return
				end
				if s3 == 1 with pc.count_item(27987) >= 5 then
					say_title(mob_name(20095)..":")
					say("Za 5 małży wymienie się z Tobš na ")
					say("Białš Perłę! ")
					say_item_vnum(27992)
					say("")
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.give_item2(27992, 1)

				elseif s3 == 2 with pc.count_item(27987) >= 10 then
					say_title(mob_name(20095)..":")
					say("Za 5 małży wymienie się z Tobš na ")
					say("Niebieskš Perłę! ")
					say_item_vnum(27993)
					say("")
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.give_item2(27993, 1)

				elseif s3 == 3 with pc.count_item(27987) >= 15 then
					say_title(mob_name(20095)..":")
					say("Za 5 małży wymienie się z Tobš na ")
					say("Czerwonš Perłę! ")
					say_item_vnum(27994)
					say("")
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.removeitem(27987, 1)
					pc.give_item2(27994, 1)
				end
		end
		if s == 3 then
			say_title(mob_name(20095)..":")
			say("Witaj przyjacielu! ")
			say("Co cie tu sprowadza? ")
			say("Co chciałbyœ wymienić? ")
			say("")
			say_reward(pc.get_name()..":")
			say("Chciałbym wymienić Srebrne Szkatułki na ")
			say("Złotš szkatułkę+ ! ")
			say_item("", 50012 , "Złota Szkatułka+ ")
			say("")
			say_title(mob_name(20095)..":")
			say("Dobrze! Zobaczmy co się da zrobić! ")
			say("")
			wait()
			say_title(mob_name(20095)..":")
			say("Aby wymienić się ze mnš na ")
			say("Magicznš Muszelkę potrzebujesz ")
			say("10 Srebrnych Szkatułek ")
			say("")
			say("Posiadasz tyle Szkatułek? ")
			say("")
			local s2 = select("Tak, mam tyle ", "Niestety nie.. ")
				if s2 == 2 then 
					return
				end
				if s2 == 1 with pc.count_item(50007) >= 10 then
					say_title(mob_name(20095)..":")
					say("Dobrze więc! Zamieńmy się! ")
					say("")
					pc.removeitem(50007, 1)
					pc.removeitem(50007, 1)
					pc.removeitem(50007, 1)
					pc.removeitem(50007, 1)
					pc.removeitem(50007, 1)
					pc.removeitem(50007, 1)
					pc.removeitem(50007, 1)
					pc.removeitem(50007, 1)
					pc.removeitem(50007, 1)
					pc.removeitem(50007, 1)
					pc.give_item2(50012, 1)
				else
					say("Nie posiadasz tylu Srebrnych Szkatułek ")
					say("nie wymienie się z Tobš... ")
					say("")
				end
		end
		if s == 4 then
			say_title(mob_name(20095)..":")
			say("Witaj przyjacielu! ")
			say("Co cie tu sprowadza? ")
			say("Co chciałbyœ wymienić? ")
			say("")
			say_reward(pc.get_name()..":")
			say("Chciałbym wymienić Złote Szkatułki na ")
			say("Złotš szkatułkę+ ! ")
			say_item("", 50012 , "Złota Szkatułka+ ")
			say("")
			say_title(mob_name(20095)..":")
			say("Dobrze! Zobaczmy co się da zrobić! ")
			say("")
			wait()
			say_title(mob_name(20095)..":")
			say("Aby wymienić się ze mnš na ")
			say("Magicznš Muszelkę potrzebujesz ")
			say("5 Złotych Szkatułek ")
			say("")
			say("Posiadasz tyle Szkatułek? ")
			say("")
			local s2 = select("Tak, mam tyle ", "Niestety nie.. ")
				if s2 == 2 then 
					return
				end
				if s2 == 1 with pc.count_item(50006) >= 5 then
					say_title(mob_name(20095)..":")
					say("Dobrze więc! Zamieńmy się! ")
					say("")
					pc.removeitem(50006, 1)
					pc.removeitem(50006, 1)
					pc.removeitem(50006, 1)
					pc.removeitem(50006, 1)
					pc.removeitem(50006, 1)
					pc.give_item2(50012, 1)
				else
					say("Nie posiadasz tylu Złotych Szkatułek ")
					say("nie wymienie się z Tobš... ")
					say("")
				end
		end
	end
end
end

Opublikowano

@UP

Jakiś błąd czy coś?

 

@OffTop

A stopka powinna zostać,

informuje ona o autorze questa...

***


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

Proszę o napisanie questu który polega na tym że przeciągając item na skrzynie wyskakuje wiadomość

" Czy chcesz otworzyć Skrzynie za pomocą tego klucza? "

Do wyboru TAK i NIE

Po wyborze TAK skrzynia zostaje otwarta i wypada z niej losowy przedmiot z listy

Klucz oraz skrzynia znika.

 

Po wyborze NIE quest się zamyka, nie ma żadnej reakcji.

 

ID przykładowe:

Skrzynia - 5555

Klucz - 2222

Opublikowano

Up.

Proszę:

 

quest skrzynia begin
state start begin
	when 5555.take with item.vnum == 2222 begin
		say_title("Czy chcesz otworzyć Skrzynie za pomocą tego klucza ? ")
			local s = select("Tak", "Nie")
				if s == 2 then
					return
				end

				if s == 1 then
					pc.remove_item(5555, 1)
                       pc.remove_item(2222, 1)
					local l = math.random(13)
						if l == 1 then
                           pc.give_item2()
                           elseif l == 2 then
                           pc.give_item2()
						elseif l == 3 then
                           pc.give_item2()
                           elseif l == 4 then
                           pc.give_item2()
                           elseif l == 5 then
						pc.give_item2()
						elseif l == 6 then
                           pc.give_item2()
                           elseif l == 7 then
                           pc.give_item2()
                           elseif l == 8 then
                           pc.give_item2()
                           elseif l == 9 then
                           pc.give_item2()
                           elseif l == 10 then
                           pc.give_item2()
                           elseif l == 11 then
                           pc.give_item2()
                           elseif l == 12 then
                           pc.give_item2()
                           elseif l == 13 then
                           pc.give_item2()
                           end
				end
	end
end
end	

Nieregulaminowa sygnatura

Opublikowano

mógłby ktoś coś poradzić z tym questem, wgrywa się dobrze, ale w grze już nie chce wystartować

 

Svope mi go raz poprawił ale to nic nie dało, dalej nie chce wystartować

 

proszę o pomoc z tym.

 

 

quest wonda_rim_quest_lv13  begin
       state start begin
                       end
                       state run begin
               when login or levelup or enter with pc.get_level() >= 13 begin
                       set_state(information)
               end     
       end

       state information begin
               when letter begin
                       local v = find_npc_by_vnum(20086)
                       if v != 0 then
                               target.vid("__TARGET__", v, "Analiza Wonda-Rim")
                       end
                       send_letter("Analiza Biologa - Wonda Rim")
               end

               when button or info begin
                       say_title("Analiza Biologa")
                       say("")
                       say("Biolog Wonda Rim,uczen Biologa Chaegirab,")
                       say("wlasnie Cie szuka.Prosze idz")
                       say("do niego i zaoferuj swoja pomoc.")
                       say("")
               end

               when __TARGET__.target.click or
                       20086.chat."Znajdz Wonda Rim" begin
                       target.delete("__TARGET__")
                       say("Wonda-Rim:")
                       ---                                                   l
                       say("Niebiosa,prosze pomozcie mi...")
                       say("Badam przeróżne przedmioty ")
                       say("które posiadają tylko najsilniejsze potwory,")
                       say("niestety niemam czasu ruszyć w wyprawe")
                       say("by sama je znaleźć.")
                       say("Prosze,pomoz mi.")
                       wait()
                       say("Aktualnie badam Szpony Wilków.")
                       say("Musze przeprowadzic kilka eksperymentow,")
                       say("dlatego potrzebuje kilku Szponów.")
                       say("Czy moglbys przyniesc mi 10 Szponów Lykosa?")
                       say("Prosze,pomoz mi!Zawsze przynos mi po jednym,")
                       say("abym miala czas na ich dokladne przebadanie!")
                       say("")                                                                                                                                                                                                                                                                                                           
                       set_state(go_to_disciple)
                       pc.setqf("collect_count",0) 
                       pc.setqf("drink_drug",0) 
               end
       end

       state go_to_disciple begin
               when letter begin
                       send_letter("Analiza Wonda-Rim - Szpony Lykosa!")

               end
               when button or info begin
                       say_title("Znajdz Szpony U Lykosa")
                       ---                                                   l
                       say("")
                       say("Biolog Wonda Rim,uczen Biologa Chaegirab,")
                       say("szuka Szponów Lykosa.")
                       say("Zawsze przynos jej po jednym, aby mial czas")
                 say("na ich dokladne przebadanie.")
                       say("Szponów Szukaj U Lykosa.")
                       say("")
                       say_item_vnum(100011) 
                       say_reward("Do tej pory zebrales".." "..pc.getqf("collect_count").." Szponów Lykosa.")
                       say("")
               end

               when 71035.use begin --°g´bĂĤô
                       if pc.getqf("drink_drug")==1 then
                               say("")
                               say("¤w¸g¨ĎĄÎ¤F1¦¸")
                               say("")

                               return
                       end
                       if pc.count_item(100011)==0 then
                               say("ĄÍŞ«ľÇŞĚ±ç¬f¦~:")
                               say("Ąý§ä¨ě?çŞáĄH«á,")
                               say("¤~¨ĎĄÎ°g´bĂĤô¤]¤Ł·|¦ł°ÝĂD.")
                               say("")
                               return
                       end
                       item.remove()   
                       pc.setqf("drink_drug",1)
               end


               when 191.kill begin
                       if pc.count_item(100011)<10-pc.getqf("collect_count") then
                               pc.give_item2(100011, 1)
                       end
               end

       when 20086.chat."Szpon Lykosa" with pc.count_item(100011) >0   begin
                               say("Wonda-Rim")
                               ---                                                   l
                               say("Oh!!Znalazles!")
                               say("Pozwol,ze rzuce okiem...")
                               say("Jeszcze chwilke.")
                               say("")
                               pc.remove_item(100011, 1)
                               wait()

                               local pass_percent
                               if pc.getqf("drink_drug")==0 then
                                       pass_percent=90
                               else            
                                       pass_percent=100
                               end

                               local s= number(1,100)
                               if s<= pass_percent  then
                                  if pc.getqf("collect_count")< 9 then     --5H¤U 
                                               local index =pc.getqf("collect_count")+1 
                                               pc.setqf("collect_count",index)     --¨ú±o¤@?É +1
                       say("Wonda-Rim")
                                               say("Oh!!Ten Szpon jest doskonalej jakosci!")
                                               say("Przynies mi jeszcze".." "..10-pc.getqf("collect_count").. " Szponów Lykosa.")
                                               say("Prosze,sprobuj je znalezc!")
                                               say("")
                                               pc.setqf("drink_drug",0)         --ĂĤôŞěl¤Ć
                                               return
                                       end
                                       say("Wonda-Rim")
                                       say("Oh,zebrales juz wszystkie?")
                                       say("Dobra robota...")
                                       say("Jako dowod mojej wdziecznosci otrzymasz")
                                       say("troche Yang i wynik moich prac.")
                                       say("Nagroda:")
                                       say_reward("Jako nagrode, Wonda-Rim dal ci 30000")
                                       say_reward("Punktow Doswiadczenia,250000 Yang, Kamienie ")
                                                                               say_reward("20% Silny na Zwięrzęta ")
                                       pc.setqf("collect_count",0)
                                       pc.setqf("drink_drug",0)        
                                       clear_letter()
                                       set_state(__complete)

                                       if pc.job==3 then               
                                                                                               pc.give_item2(29022)
                                                                                               pc.give_item2(29025)
                                               say_reward("Kamienie")
                                               return
                                       else    
                                                                                               pc.give_item2(29022)
                                                                                               pc.give_item2(29025)
                                               say_reward("Kamienie")

                                       end
                                       pc.change_money(250000)
                                       pc.give_exp2(30000)
                                                                               affect.add_collect(apply.ATTBONUS_ANIMAL, 20, 60*60*24*365*60)
                                       set_quest_state("wonda_rim_quest_lv18","run")

                               else                                                            
                               say("Wonda-Rim")
                               say("Bardzo mi przykro,ale ten Szpon jest zlej")
                               say("jakosci.Prosze,przynies mi nastepny.")
                               say("")
                               pc.setqf("drink_drug",0)         --ĂĤôŞěl¤Ć
                               return
                               end

       end
end


state __complete begin
       end
end

 

Opublikowano

@kopson mogą być 2 możliwości dlaczego ci ten quest nie działa. Po 1 sprawdź czy nadałeś chmody 777 po 2 musisz mieć wykonany quest tak jak z biologiem chodzi że gdy wykonasz zeby 30 lvl to sie odblokowuja 40lvl świadczy o tym state run.

Tutaj masz bez state run i sprawdź czy zadziała.

 

quest wonda_rim_quest_lv13  begin
       state start begin
               when login or levelup or enter with pc.get_level() >= 13 begin
                       set_state(information)
               end     
       end

       state information begin
               when letter begin
                       local v = find_npc_by_vnum(20086)
                       if v != 0 then
                               target.vid("__TARGET__", v, "Analiza Wonda-Rim")
                       end
                       send_letter("Analiza Biologa - Wonda Rim")
               end

               when button or info begin
                       say_title("Analiza Biologa")
                       say("")
                       say("Biolog Wonda Rim,uczen Biologa Chaegirab,")
                       say("wlasnie Cie szuka.Prosze idz")
                       say("do niego i zaoferuj swoja pomoc.")
                       say("")
               end

               when __TARGET__.target.click or
                       20086.chat."Znajdz Wonda Rim" begin
                       target.delete("__TARGET__")
                       say("Wonda-Rim:")
                       ---                                                   l
                       say("Niebiosa,prosze pomozcie mi...")
                       say("Badam przeróżne przedmioty ")
                       say("które posiadają tylko najsilniejsze potwory,")
                       say("niestety niemam czasu ruszyć w wyprawe")
                       say("by sama je znaleźć.")
                       say("Prosze,pomoz mi.")
                       wait()
                       say("Aktualnie badam Szpony Wilków.")
                       say("Musze przeprowadzic kilka eksperymentow,")
                       say("dlatego potrzebuje kilku Szponów.")
                       say("Czy moglbys przyniesc mi 10 Szponów Lykosa?")
                       say("Prosze,pomoz mi!Zawsze przynos mi po jednym,")
                       say("abym miala czas na ich dokladne przebadanie!")
                       say("")                                                                                                                                                                                                                                                                                                           
                       set_state(go_to_disciple)
                       pc.setqf("collect_count",0) 
                       pc.setqf("drink_drug",0) 
               end
       end

       state go_to_disciple begin
               when letter begin
                       send_letter("Analiza Wonda-Rim - Szpony Lykosa!")

               end
               when button or info begin
                       say_title("Znajdz Szpony U Lykosa")
                       ---                                                   l
                       say("")
                       say("Biolog Wonda Rim,uczen Biologa Chaegirab,")
                       say("szuka Szponów Lykosa.")
                       say("Zawsze przynos jej po jednym, aby mial czas")
                 say("na ich dokladne przebadanie.")
                       say("Szponów Szukaj U Lykosa.")
                       say("")
                       say_item_vnum(100011) 
                       say_reward("Do tej pory zebrales".." "..pc.getqf("collect_count").." Szponów Lykosa.")
                       say("")
               end

               when 71035.use begin --°g´bĂĤô
                       if pc.getqf("drink_drug")==1 then
                               say("")
                               say("¤w¸g¨ĎĄÎ¤F1¦¸")
                               say("")

                               return
                       end
                       if pc.count_item(100011)==0 then
                               say("ĄÍŞ«ľÇŞĚ±ç¬f¦~:")
                               say("Ąý§ä¨ě?çŞáĄH«á,")
                               say("¤~¨ĎĄÎ°g´bĂĤô¤]¤Ł·|¦ł°ÝĂD.")
                               say("")
                               return
                       end
                       item.remove()   
                       pc.setqf("drink_drug",1)
               end


               when 191.kill begin
                       if pc.count_item(100011)<10-pc.getqf("collect_count") then
                               pc.give_item2(100011, 1)
                       end
               end

       when 20086.chat."Szpon Lykosa" with pc.count_item(100011) >0   begin
                               say("Wonda-Rim")
                               ---                                                   l
                               say("Oh!!Znalazles!")
                               say("Pozwol,ze rzuce okiem...")
                               say("Jeszcze chwilke.")
                               say("")
                               pc.remove_item(100011, 1)
                               wait()

                               local pass_percent
                               if pc.getqf("drink_drug")==0 then
                                       pass_percent=90
                               else            
                                       pass_percent=100
                               end

                               local s= number(1,100)
                               if s<= pass_percent  then
                                  if pc.getqf("collect_count")< 9 then     --5H¤U 
                                               local index =pc.getqf("collect_count")+1 
                                               pc.setqf("collect_count",index)     --¨ú±o¤@?É +1
                       say("Wonda-Rim")
                                               say("Oh!!Ten Szpon jest doskonalej jakosci!")
                                               say("Przynies mi jeszcze".." "..10-pc.getqf("collect_count").. " Szponów Lykosa.")
                                               say("Prosze,sprobuj je znalezc!")
                                               say("")
                                               pc.setqf("drink_drug",0)         --ĂĤôŞěl¤Ć
                                               return
                                       end
                                       say("Wonda-Rim")
                                       say("Oh,zebrales juz wszystkie?")
                                       say("Dobra robota...")
                                       say("Jako dowod mojej wdziecznosci otrzymasz")
                                       say("troche Yang i wynik moich prac.")
                                       say("Nagroda:")
                                       say_reward("Jako nagrode, Wonda-Rim dal ci 30000")
                                       say_reward("Punktow Doswiadczenia,250000 Yang, Kamienie ")
                                                                               say_reward("20% Silny na Zwięrzęta ")
                                       pc.setqf("collect_count",0)
                                       pc.setqf("drink_drug",0)        
                                       clear_letter()
                                       set_state(__complete)

                                       if pc.job==3 then               
                                                                                               pc.give_item2(29022)
                                                                                               pc.give_item2(29025)
                                               say_reward("Kamienie")
                                               return
                                       else    
                                                                                               pc.give_item2(29022)
                                                                                               pc.give_item2(29025)
                                               say_reward("Kamienie")

                                       end
                                       pc.change_money(250000)
                                       pc.give_exp2(30000)
                                                                               affect.add_collect(apply.ATTBONUS_ANIMAL, 20, 60*60*24*365*60)
                                       set_quest_state("wonda_rim_quest_lv18","run")

                               else                                                            
                               say("Wonda-Rim")
                               say("Bardzo mi przykro,ale ten Szpon jest zlej")
                               say("jakosci.Prosze,przynies mi nastepny.")
                               say("")
                               pc.setqf("drink_drug",0)         --ĂĤôŞěl¤Ć
                               return
                               end

       end
end


state __complete begin
       end
end

 

dCrwk2h.gif

Opublikowano

@kopson

A mnie ciekawi to:

say_reward("Do tej pory zebrales".." "..pc.getqf("collect_count").." Szponów Lykosa.")

Po co to ".." ?

 

To też może być błąd. Ale jednak to co UP podał to może być największy błąd.

 

 

@EDIT

@DOWN

No tak... Ale state run oznacza, że musisz mieć wykonane wcześniej jakieś zadanie. (z tego co zrozumiałem od Svope)

Czyli miałeś tak:

quest wonda_rim_quest_lv13  begin
       state start begin
                       end
                       state run begin
               when login or levelup or enter with pc.get_level() >= 13 begin
                       set_state(information)
               end     
       end

A skoro jest to pierwsze takie zadanie powinno być tak:

quest wonda_rim_quest_lv13  begin
       state start begin
               when login or levelup or enter with pc.get_level() >= 13 begin
                       set_state(information)
               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

@upy

 

quest działa bez state run

 

ale mi o to chodzi żeby to było coś w stylu biologa, że dopiero po wykonaniu tego questa odblokowuje się nowy quest który można zaczynać od 18lv

da się coś z tym zrobić zeby tak było??

Opublikowano

@Pon.Lok

Quest jest błędny, szkata po mimo tego nie otwiera się...

quest cytrynowa begin
       state start begin
               when 50137.take with item.vnum == 50155 begin
                       say_title("Czy chcesz otworzyć Skrzynie za pomocą tego klucza ? ")
                               local s = select("Tak", "Nie")
                                       if s == 2 then
                                               return
                                       end

                                       if s == 1 then
                                               pc.remove_item(50137, 1)
                       pc.remove_item(50155, 1)
                                               local l = math.random(13)
                                                       if l == 1 then
                           pc.give_item2(1179)
                           elseif l == 2 then
                           pc.give_item2(5119)
                                                       elseif l == 3 then
                           pc.give_item2(3219)
                           elseif l == 4 then
                           pc.give_item2(7169)
                           elseif l == 5 then
                                                       pc.give_item2(27003)
                                                       elseif l == 6 then
                           pc.give_item2(2159)
                           elseif l == 7 then
                           pc.give_item2(299)
                           elseif l == 8 then
                           pc.give_item2(25040)
                           elseif l == 9 then
                           pc.give_item2(70003)
                           elseif l == 10 then
                           pc.give_item2(27987)
                           elseif l == 11 then
                           pc.give_item2(70102)
                           elseif l == 12 then
                           pc.give_item2(27102)
                           elseif l == 13 then
                           pc.give_item2(27105)
                           end
                                       end
               end
       end
end   

 

 

Czy to nie powinno być troszkę inaczej (moje przypuszczenia)

 

quest cytrynowa begin
       state start begin
               when 50137.take with item.vnum == 50155 begin
                       say_title("Czy chcesz otworzyć Skrzynie za pomocą tego klucza ? ")
                               local s = select("Tak", "Nie")
                                       if s == 2 then
                                               return
                                       end
                                       if s == 1 then
                                               pc.remove_item(50137, 1)
											pc.remove_item(50155, 1)
                                               local l = math.random(13)
                                                       if l == 1 then
                           pc.give_item2(1179)
                           elseif l == 2 then
                           pc.give_item2(5119)
                           elseif l == 3 then
                           pc.give_item2(3219)
                           elseif l == 4 then
                           pc.give_item2(7169)
                           elseif l == 5 then
                           pc.give_item2(27003)
                           elseif l == 6 then
                           pc.give_item2(2159)
                           elseif l == 7 then
                           pc.give_item2(299)
                           elseif l == 8 then
                           pc.give_item2(25040)
                           elseif l == 9 then
                           pc.give_item2(70003)
                           elseif l == 10 then
                           pc.give_item2(27987)
                           elseif l == 11 then
                           pc.give_item2(70102)
                           elseif l == 12 then
                           pc.give_item2(27102)
                           elseif l == 13 then
                           pc.give_item2(27105)
                           end
                                       end
               end
       end
end   

Opublikowano

quest comis_1 begin
	state start begin
		when login or levelup with pc.get_level >= 1 begin
			set_state(info)
		end
	end

	state info begin
		when letter begin
			local v = find_npc_by_vnum(20353)
			if v != 0 then
				target.vid("__TARGET__", v, "Commison")
			end
			send_letter("Znajdź Tablice Commision Center.")
	end
	when button or info begin
                       say_title("Misje")
                       say("")
                       say("Idz do tablicy")
                       say("Tam znajdziesz mnóstwo questów")
	end

	when __TARGET__.target.click or
			20353.chat."Commision Center" begin
			target.delete("__TARGET__")
                       	say("Commision:")
				say("No! Wkoncu sie zjawiles. Sluchaj.")
				say("")
				say("Mam dla Ciebie questy")
				say("które możesz uzupełniać ile razy chcesz!")
				say("a nagroda nie będzie się zmieniać")
				say("a wiec na początek zabij 20 dzikich psów")
				say("mam nadzieje że nie stchórzysz, narazie.")
                       	set_state("zabij")
                       	end
	end
	state zabij begin
			when letter begin
			send_letter("Pozabijaj je!")
		end
		when button or info begin
				say_title("Dzikie psy")
				say("Dzikie psy są tniedaleko")
				say("zabij 20")
		end
		 when 101.kill with pc.countitem(50512)==0 begin
		   local random = math.random(3)
		   if random == 1 then
		   pc.give_item2(50512, 1)
			   chat("Zdobyles Teczowy Kamien!")
		   chat("Wroc do kowala.")
		local v = find_npc_by_vnum(20353)
		if v != 0 then
			target.vid("__TARGET__", v, "Kowal")
		end
	end
end
	when 20353.chat."Receptura Wyrobu" with pc.countitem(50512)>0 begin
					target.delete("__TARGET__")
					say_title("Kowal:")
                       		say("Swietnie! Masz recepture!")
					say("Teraz bede mogl stworzyc Akcesorie!")
					say("")
					say("No oczywyscie, nagroda. Tak, nalezy Ci sie.")
					say("Wez te oto akcesoria.")
					say_reward("Akcesoria z Nieb. Lez +9!")
					say("")
                       		pc.remove_item(50512, 1)
                      			pc.give_item2(19)
					pc.give_item2(29)
					set_state(__COMPLETE__)
					end
end
state __COMPLETE__  begin
       end
end

error: http://w152.wrzuta.pl/obraz/powieksz/8JZjNsRrVHm

 

co mam nie tak?

ps. nie patrzcie na tekst :) ucze sie to narazie szkielet.

Kocham mpcforum.pl!!!

18706.png

Opublikowano

Nazwa Misji : Event Test

Misja od 15 lvl

Misja powinna polegać na tym że idziemy do kowala klikamy na niego on przenosi nas na

791100,791100 współrzędne następnie mamy za zadanie zabić tam 30 metinów po zabiciu ich

pojawia się boss Riper po zabiciu go przenosi nas spowrotem pod kowala ( Misje można robić 1 raz dziennie o 18:00 godzinie ).Jeśli da się to czy w quest można również ustawić że na tej mapie pokażą się

te metiny .

Jeżeli ktoś umie napisać taki quest to z góry dzięki

 

Nie sprawdzałem czy się wgra itd. - nie mam jak.

 

---------------------------------------------
---		Misja by Czarny dla Czarny-Questy
---				Z braku pomysłów ;P
---			Miłej zabawy. Pozdrawiam 
---------------------------------------------

quest kowal begin
state start begin
	when 20016.chat."Tralala " begin
			say_title(mob_name(20015)..":")
		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. ")
			say("")
			say("Chcesz się przenisć aby ją wykonać? ")
			say("")
			local s = select("Tak", "Nie")
				if s == 2 then
					return
				end
				if s == 1 then
					say_title(mob_name(20016)..":")
					say("Zostaniesz przeniesiony na inna mape. ")
					say("")
					pc.setqf("raz", get_time()+60*60*23)
					wait()
					pc.warp(791100, 791100)
				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 login with pc.get_map_index() == id_mapki begin
		mob.spawn(id_moba, kord_x, kord_y, 50, 50, ilosc)
		mob.spawn(id_moba, kord_x, kord_y, 50, 50, ilosc)
		mob.spawn(id_moba, kord_x, kord_y, 50, 50, ilosc)
		mob.spawn(id_moba, kord_x, kord_y, 50, 50, ilosc)
		mob.spawn(id_moba, kord_x, kord_y, 50, 50, ilosc)
		timer('event', 666)  --- 11 minut 6 sekund
	end
	when event.timer begin
		if pc.getqf("rip") == 0 then
			mob.spawn(1093, kord_x, kord_y, 50, 50, 1)
			pc.setqf("rip", 60*60*23)
		end
		if pc.getqf("rip") <= get_time() then
			pc.setqf("rip", 0)
		end
	end
	when logout 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 begin
		notice("Zostaniesz przeniesiony do pierwszej wioski. ")
		timer("wroc", 3)
	end
	when wroc.timer 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
end
end

 

 

W razie problemów z questem pisz tu.

***


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

@up

a dało by rade dorobić do tego questa, że da się wejść w 3 osobowym pt?

próbowałem to zrobić ale nie potrafie

Opublikowano

[szukam]quest - eq na start- na sf2010 ! itemy dodam sobie sam ale prosilbym zeby np kazda osoba miala osobno itemy i 8 itemow do dostania - a jakie to ja bym chcial se ustalic i

zeby dostawala 21 lv konia .. 86 lv na poczatek i 100kk na start

+

 

zbieram -

 

Opublikowano

[szukam]quest - eq na start- na sf2010 ! itemy dodam sobie sam ale prosilbym zeby np kazda osoba miala osobno itemy i 8 itemow do dostania - a jakie to ja bym chcial se ustalic i

zeby dostawala 21 lv konia .. 86 lv na poczatek i 100kk na start

 

quest give_basic_weapon begin
state start begin
	when login begin
		if pc.getqf("basic_weapon") == 0 then
			pc.setqf("basic_weapon", 1)
			local item = 19
			local item2 = 11209
			local item3 = 12209
			if pc.job == 1 then
				item = 1009
				item2 = 11409
				item3 = 12349
			elseif pc.job == 2 then
				item2 = 11609
				item3 = 12489
			elseif pc.job == 3 then
				item = 7009
				item2 = 11809
				item3 = 12629
			end
			if pc.countitem(item) == 0 and pc.weapon != item then
				pc.give_item2(item)
				pc.give_item2(item2)
				pc.give_item2(item3)
				pc.give_item2(item4)
				pc.give_item2(item5)
				pc.give_item2(item6)
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.advance()
				horse.ride()
				pc.give_item2(50053, 1)
				end
		end
	end
   end
end

 

Coś takiego.

Opublikowano

@UP nie lepiej zamiast horse.advance dac horse.set_level( 21 ) ??

O wiele łatwiej, ale to mi się ulotniło z głowy. Po za tym ja tylko edytuje questy a nie je tworze^^

 

Proszę o poprawę questa.

 

 

quest skrzynia begin
state start begin
	when 5555.take with item.vnum == 2222 begin
		say_title("Czy chcesz otworzyć Skrzynie za pomocą tego klucza ? ")
			local s = select("Tak", "Nie")
				if s == 2 then
					return
				end

				if s == 1 then
					pc.remove_item(5555, 1)
                       pc.remove_item(2222, 1)
					local l = math.random(13)
						if l == 1 then
                           pc.give_item2()
                           elseif l == 2 then
                           pc.give_item2()
						elseif l == 3 then
                           pc.give_item2()
                           elseif l == 4 then
                           pc.give_item2()
                           elseif l == 5 then
						pc.give_item2()
						elseif l == 6 then
                           pc.give_item2()
                           elseif l == 7 then
                           pc.give_item2()
                           elseif l == 8 then
                           pc.give_item2()
                           elseif l == 9 then
                           pc.give_item2()
                           elseif l == 10 then
                           pc.give_item2()
                           elseif l == 11 then
                           pc.give_item2()
                           elseif l == 12 then
                           pc.give_item2()
                           elseif l == 13 then
                           pc.give_item2()
                           end
				end
	end
end
end	

Nic po nałożeniu klucza na szkate się nie zmienia...

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...