Endymionek

<Endymion> Szkolenie koni

Sep 24th, 2013
394
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 13.07 KB | None | 0 0
  1. --[[ Endymion dla Revential.pl ]]--
  2. quest szkolenieKonia begin
  3.     state start begin
  4.         when 50050.use with not horse.is_dead() begin
  5.             local poziom = horse.get_level()
  6.            
  7.             if pc.is_skill_book_no_delay() then
  8.                 pc.remove_skill_book_no_delay()
  9.             end
  10.            
  11.             if pc.getqf("odczekanie") > get_time() then
  12.                 local time = (pc.getqf("odczekanie")-get_time())/3600
  13.                 local h = math.floor(time)
  14.                 local min = (time-h)*60
  15.                 local m = math.floor(min)
  16.                 chat("Nie możesz jeszcze szkolić konia.")
  17.                 chat("Spróbuj ponownie za "..h.." oraz "..m.." minut.")
  18.             else
  19.                 if poziom == 10 or poziom == 20 then
  20.                     chat("Aby wyszkolić konia wyżej, porozmawiaj z Stajennym!")
  21.                     return
  22.                 elseif poziom == 30 then
  23.                     chat("Twój poziom konia jest maksymalny!")
  24.                     return
  25.                 else
  26.                     if number(1, 100) >= 50 then
  27.                         pc.remove_item(50050, 1)
  28.                         chat("Udało się! Poziom Twojego konia wzrósł o jeden poziom!")
  29.                         horse.unride()
  30.                         horse.unsummon()
  31.                         horse.advance()
  32.                         horse.summon()
  33.                         if not pc.is_gm() then
  34.                             pc.setqf("odczekanie", get_time()+60*60*2)
  35.                         end
  36.                     else
  37.                         chat("Nie udało się! Poziom Towjego konia nie zmienił się!")
  38.                         if not pc.is_gm() then
  39.                             pc.setqf("odczekanie", get_time()+60*60*1)
  40.                         end
  41.                         pc.remove_item(50050, 1)
  42.                     end
  43.                 end
  44.             end
  45.         end
  46.        
  47.         when 20349.chat."Chcę szkolić konia!" with horse.get_level() == 10 or horse.get_level() == 20 and not horse.is_dead() begin
  48.             say_title(mob_name(npc.get_race())..":")
  49.             say()
  50.             say("Hmm... A więc chcesz szkolić swojego rumaka?")
  51.             say("To nie będzie takie proste jak Ci się wydaje...")
  52.             if horse.get_level() == 10 then
  53.                 say("Aby otrzymać konia Bojowego musisz mieć przy sobie")
  54.                 say("Medal Konny oraz 100.000 Yang. Ale nie myśl sobie,")
  55.                 say("że to wszystko... Musisz także zabić 75 Łuczników")
  56.                 say("występujących na Pustyni Yongbi. Możesz zabijać zarówno")
  57.                 say("Skorpionich Łuczników, jak i Wężowych Łuczników.")
  58.                 say("Na wykonanie zadania masz dokładnie 30 minut.")
  59.             elseif horse.get_level() == 20 then
  60.                 say("Aby otrzymać konia Militarnego musisz mieć przy sobie")
  61.                 say("Medal Konny oraz 300.000 Yang. Ale nie myśl sobie,")
  62.                 say("że to wszystko... Musisz także zabić 300 Łuczników")
  63.                 say("występujących w Wieży Demonów. Możesz zabijać zarówno")
  64.                 say("Demonich Łuczników, jak i Podłuch Demonich Łuczników.")
  65.                 say("Na wykonanie zadania masz dokładnie 30 minut.")
  66.             end
  67.             say_reward("Podejmujesz się tego wyznania?")
  68.             s = select("Tak! Spróbuję swoich sił!", "Rezygnuję.")
  69.                 if s == 1 then
  70.                     if pc.count_item(50050) < 1 then
  71.                         say_title(mob_name(npc.get_race())..":")
  72.                         say()
  73.                         say("Nie mogę dopuścić Cie do sprawdzianu,")
  74.                         say("gdyż nie posiadasz przy sobie Medalu Konnego!")
  75.                         say("Wróć do mnie gdy już go zdobędziesz!")
  76.                         say_item("Medal Konny", 50050, "")
  77.                     elseif horse.get_level() == 10 and pc.get_gold() < 100000 or horse.get_level() == 20 and pc.get_gold() < 300000 then
  78.                         say_title(mob_name(npc.get_race())..":")
  79.                         say()
  80.                         say("Nie mogę dopuścić Cie do sprawdzianu,")
  81.                         say("gdyż nie posiadasz przy sobie odpowiedniej ilości Yang.")
  82.                         say("Wróć do mnie gdy już je zdobędziesz zdobędziesz!")
  83.                         say()
  84.                     else
  85.                         say_title(mob_name(npc.get_race())..":")
  86.                         say()
  87.                         say("Posiadasz przy sobie Medal Konny oraz Yang.")
  88.                         say("Mogę przypuścić Cie do sprawdzianu!")
  89.                         say("Powodzenia!")
  90.                         pc.remove_item(50050, 1)
  91.                         say()
  92.                             if horse.get_level() == 10 then
  93.                                 pc.change_gold(-100000)
  94.                                 pc.setqf("szkolenie_czas", get_time() + 30*60)
  95.                                 setstate(bojowiec)
  96.                             elseif horse.get_level() == 20 then
  97.                                 pc.change_gold(-300000)
  98.                                 pc.setqf("szkolenie_czas_d", get_time() + 30*60)
  99.                                 setstate(militar)
  100.                             end
  101.                     end
  102.                 end
  103.         end
  104.     end
  105.    
  106.     state bojowiec begin
  107.         when 20349.chat."Chcę anulować misję..." begin
  108.             say_title(mob_name(npc.get_race())..":")
  109.             say()
  110.             say("Okej, a więc misja zostaje anulowana...")
  111.             say()
  112.             setstate(start)
  113.         end
  114.        
  115.         when letter begin
  116.             send_letter("Szkolenie konne")
  117.             q.set_counter("Pozostało:", 75-pc.getqf("zabite_luczniki"))
  118.             -- q.set_clock("Pozostało minut: ", (czas-get_time())/60)
  119.         end
  120.        
  121.         when login begin
  122.             local czas = math.floor((pc.getqf("szkolenie_czas")-get_time())/60)
  123.             if czas < 0 then
  124.                 say_title("Szkolenie konne:")
  125.                 say()
  126.                 say("Nie udało się zaliczyć misji!")
  127.                 say("Spróbuj następnym razem!")
  128.                 say()
  129.                 setstate(start)
  130.             end
  131.         end
  132.  
  133.         when info or button begin
  134.             say_title("Szkolenie konne:")
  135.             say()
  136.             say("Aby pomyślnie przejść szkolenie musisz zabić ")
  137.             say("100 Łuczników występujących na Pustyni Yongbi.")
  138.             say()
  139.             say("Pozostało do zabicia: ".. 75-pc.getqf("zabite_luczniki"))
  140.             say("Pozostało czasu: "..math.floor((pc.getqf("szkolenie_czas")-get_time())/60) .." minut")
  141.             say()
  142.         end
  143.        
  144.         when party_kill with npc.get_race() == 2105 or kill and npc.get_race() == 2105 begin
  145.             pc.setqf("zabite_luczniki", pc.getqf("zabite_luczniki")+1)
  146.             q.set_counter("Pozostało:", 75-pc.getqf("zabite_luczniki"))
  147.             --q.set_clock("Pozostało minut: ", (czas-get_time())/60)
  148.             if get_time() <= pc.getqf("szkolenie_czas") and pc.getqf("zabite_luczniki") == 75 then
  149.                 q.set_counter("Misja wykonana!")
  150.                 --q.set_clock("Misja wykonana!")
  151.                 setstate(udane)
  152.             elseif get_time() > pc.getqf("szkolenie_czas") then
  153.                 say_title("Szkolenie konne:")
  154.                 say()
  155.                 say("Nie udało się zaliczyć misji!")
  156.                 say("Spróbuj następnym razem!")
  157.                 say()
  158.                 setstate(start)
  159.             end
  160.         end
  161.        
  162.         when kill with npc.get_race() == 2105 or kill and npc.get_race() == 2105 begin
  163.             pc.setqf("zabite_luczniki", pc.getqf("zabite_luczniki")+1)
  164.             q.set_counter("Pozostało:", 75-pc.getqf("zabite_luczniki"))
  165.             --q.set_clock("Pozostało minut: ", (czas-get_time())/60)
  166.             if get_time() <= pc.getqf("szkolenie_czas") and pc.getqf("zabite_luczniki") == 75 then
  167.                 q.set_counter("Misja wykonana!")
  168.                 --q.set_clock("Misja wykonana!")
  169.                 setstate(udane)
  170.             elseif get_time() > pc.getqf("szkolenie_czas") then
  171.                 say_title("Szkolenie konne:")
  172.                 say()
  173.                 say("Nie udało się zaliczyć misji!")
  174.                 say("Spróbuj następnym razem!")
  175.                 say()
  176.                 setstate(start)
  177.             end
  178.         end
  179.        
  180.         when party_kill with npc.get_race() == 2107 or kill and npc.get_race() == 2107 begin
  181.             pc.setqf("zabite_luczniki", pc.getqf("zabite_luczniki")+1)
  182.             q.set_counter("Pozostało:", 75-pc.getqf("zabite_luczniki"))
  183.             -- q.set_clock("Pozostało minut: ", (czas-get_time())/60)
  184.             if get_time() >= pc.getqf("szkolenie_czas") and pc.getqf("zabite_luczniki") < 75 then
  185.             say_title("Szkolenie konne:")
  186.                 say()
  187.                 say("Nie udało się zaliczyć misji!")
  188.                 say("Spróbuj następnym razem!")
  189.                 say()
  190.                 setstate(start)
  191.             elseif get_time() <= pc.getqf("szkolenie_czas") and pc.getqf("zabite_luczniki") == 75 then
  192.                 q.set_counter("Misja wykonana!")
  193.                 --q.set_clock("Misja wykonana!")
  194.                 setstate(udane)
  195.             end
  196.         end
  197.         when kill with npc.get_race() == 2107 or kill and npc.get_race() == 2107 begin
  198.             pc.setqf("zabite_luczniki", pc.getqf("zabite_luczniki")+1)
  199.             q.set_counter("Pozostało:", 75-pc.getqf("zabite_luczniki"))
  200.             -- q.set_clock("Pozostało minut: ", (czas-get_time())/60)
  201.             if get_time() >= pc.getqf("szkolenie_czas") and pc.getqf("zabite_luczniki") < 75 then
  202.             say_title("Szkolenie konne:")
  203.                 say()
  204.                 say("Nie udało się zaliczyć misji!")
  205.                 say("Spróbuj następnym razem!")
  206.                 say()
  207.                 setstate(start)
  208.             elseif get_time() <= pc.getqf("szkolenie_czas") and pc.getqf("zabite_luczniki") == 75 then
  209.                 q.set_counter("Misja wykonana!")
  210.                 --q.set_clock("Misja wykonana!")
  211.                 setstate(udane)
  212.             end
  213.         end
  214.     end
  215.    
  216.     state militar begin
  217.         when 20349.chat."Chcę anulować misję..." begin
  218.             say_title(mob_name(npc.get_race())..":")
  219.             say()
  220.             say("Okej, a więc misja zostaje anulowana...")
  221.             say()
  222.             setstate(start)
  223.         end
  224.    
  225.         when login begin
  226.             local czas = math.floor((pc.getqf("szkolenie_czas_d")-get_time())/60)
  227.             if czas < 0 then
  228.                 say_title("Szkolenie konne:")
  229.                 say()
  230.                 say("Nie udało się zaliczyć misji!")
  231.                 say("Spróbuj następnym razem!")
  232.                 say()
  233.                 setstate(start)
  234.             end
  235.         end
  236.  
  237.         when letter begin
  238.             send_letter("Szkolenie konne")
  239.             q.set_counter("Pozostało:", 300-pc.getqf("zabite_luczniki_d"))
  240.         end
  241.        
  242.         when info or button begin
  243.             say_title("Szkolenie konne:")
  244.             say()
  245.             say("Aby pomyślnie przejść szkolenie musisz zabić ")
  246.             say("300 Łuczników występujących w Wieży Demonów.")
  247.             say()
  248.             say("Pozostało do zabicia: ".. 300-pc.getqf("zabite_luczniki_d"))
  249.             say("Pozostało czasu: "..math.floor((pc.getqf("szkolenie_czas_d")-get_time())/60) .." minut")
  250.             say()
  251.         end
  252.        
  253.         when party_kill with npc.get_race() == 1002 or kill and npc.get_race() == 1002 begin
  254.             pc.setqf("zabite_luczniki_d", pc.getqf("zabite_luczniki_d")+1)
  255.             q.set_counter("Pozostało:", 300-pc.getqf("zabite_luczniki_d"))
  256.             --q.set_clock("Pozostało minut: ", (czas-get_time())/60)
  257.             if get_time() <= pc.getqf("szkolenie_czas_d") and pc.getqf("zabite_luczniki_d") >= 300 then
  258.                 q.set_counter("Misja wykonana!")
  259.                 --q.set_clock("Misja wykonana!")
  260.                 setstate(udane)
  261.             elseif get_time() > pc.getqf("szkolenie_czas_d") then
  262.             say_title("Szkolenie konne:")
  263.                 say()
  264.                 say("Nie udało się zaliczyć misji!")
  265.                 say("Spróbuj następnym razem!")
  266.                 say()
  267.                 setstate(start)
  268.             end
  269.         end
  270.        
  271.         when kill with npc.get_race() == 1002 or kill and npc.get_race() == 1002 begin
  272.             pc.setqf("zabite_luczniki_d", pc.getqf("zabite_luczniki_d")+1)
  273.             q.set_counter("Pozostało:", 300-pc.getqf("zabite_luczniki_d"))
  274.             --q.set_clock("Pozostało minut: ", (czas-get_time())/60)
  275.             if get_time() <= pc.getqf("szkolenie_czas_d") and pc.getqf("zabite_luczniki_d") >= 300 then
  276.                 q.set_counter("Misja wykonana!")
  277.                 --q.set_clock("Misja wykonana!")
  278.                 setstate(udane)
  279.             elseif get_time() > pc.getqf("szkolenie_czas_d") then
  280.             say_title("Szkolenie konne:")
  281.                 say()
  282.                 say("Nie udało się zaliczyć misji!")
  283.                 say("Spróbuj następnym razem!")
  284.                 say()
  285.                 setstate(start)
  286.             end
  287.         end
  288.        
  289.         when party_kill with npc.get_race() == 1032 or kill and npc.get_race() == 1032 begin
  290.             pc.setqf("zabite_luczniki_d", pc.getqf("zabite_luczniki_d")+1)
  291.             q.set_counter("Pozostało:", 300-pc.getqf("zabite_luczniki_d"))
  292.             --q.set_clock("Pozostało minut: ", (czas-get_time())/60)
  293.             if get_time() <= pc.getqf("szkolenie_czas_d") and pc.getqf("zabite_luczniki_d") >= 300 then
  294.                 q.set_counter("Misja wykonana!")
  295.                 --q.set_clock("Misja wykonana!")
  296.                 setstate(udane)
  297.             else
  298.                 say_title("Szkolenie konne:")
  299.                 say()
  300.                 say("Nie udało się zaliczyć misji!")
  301.                 say("Spróbuj następnym razem!")
  302.                 say()
  303.                 setstate(start)
  304.             end
  305.         end
  306.        
  307.         when kill with npc.get_race() == 1032 or kill and npc.get_race() == 1032 begin
  308.             pc.setqf("zabite_luczniki_d", pc.getqf("zabite_luczniki_d")+1)
  309.             q.set_counter("Pozostało:", 300-pc.getqf("zabite_luczniki_d"))
  310.             --q.set_clock("Pozostało minut: ", (czas-get_time())/60)
  311.             if get_time() <= pc.getqf("szkolenie_czas_d") and pc.getqf("zabite_luczniki_d") >= 300 then
  312.                 q.set_counter("Misja wykonana!")
  313.                 --q.set_clock("Misja wykonana!")
  314.                 setstate(udane)
  315.             else
  316.                 say_title("Szkolenie konne:")
  317.                 say()
  318.                 say("Nie udało się zaliczyć misji!")
  319.                 say("Spróbuj następnym razem!")
  320.                 say()
  321.                 setstate(start)
  322.             end
  323.         end
  324.     end
  325.    
  326.     state udane begin
  327.         when letter begin
  328.             send_letter("Porozmawiaj z Stajennym")
  329.         end
  330.        
  331.         when info or button begin
  332.             say_title("Porozmawiaj z Stajennym:")
  333.             say()
  334.             say("Szkolenie konne zakończyło się powodzeniem!")
  335.             say("Udaj się do Stajennego i powiedź mu o tym!")
  336.             say()
  337.         end
  338.        
  339.         when 20349.chat."Ukończyłem szkolenie!" with horse.get_level() == 10 or horse.get_level() == 20 and not horse.is_dead() begin
  340.             say_title(mob_name(npc.get_race())..":")
  341.             say("No, no... Widzę, że zasługujesz na wyższy poziom Konia.")
  342.             say("Moi ludzie sporządzą dokumenty, oraz przygotują ")
  343.             say("odpowiednio konia. Przyjdź do mnie jutro.")
  344.             say()
  345.             pc.setqf("oczekiwanie", get_time()+number(12,24)*60*60)
  346.             clear_letter()
  347.             set_state(odbierz_konia)
  348.         end
  349.     end
  350.    
  351.     state odbierz_konia begin
  352.         when 20349.chat."Przyszedłem odebrać konia!" begin
  353.             if pc.getqf("oczekiwanie") > get_time() then
  354.                 say_title(mob_name(npc.get_race())..":")
  355.                 say("Jesteś u mnie zbyt szybko!")
  356.                 say("Dokumenty są już gotowe, ale koń jeszcze nie.")
  357.                 say("Przyjdź do mnie jutro.")
  358.                 say()
  359.             else
  360.                 say_title(mob_name(npc.get_race())..":")
  361.                 say()
  362.                 say("Prosze! Oto Twój nowy koń!")
  363.                 say("Nie zapomnij go karmić!")
  364.                 say()
  365.                 if horse.get_level() == 10 then
  366.                     pc.give_item2(50052, 1)
  367.                 elseif horse.get_level() == 20 then
  368.                     pc.give_item2(50053, 1)
  369.                 end
  370.                 horse.unride()
  371.                 horse.unsummon()
  372.                 horse.advance()
  373.                 horse.summon()
  374.                 set_state(start)
  375.             end
  376.         end
  377.     end
  378. end
Advertisement
Add Comment
Please, Sign In to add comment