Endymionek

<Endymion> Szkolenie księgami

Sep 14th, 2013
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 13.52 KB | None | 0 0
  1. --[[ Szkolenie umiejętności księgami
  2.      Napisane przez Endymiona
  3.      Wykonane na potrzeby MPC Modders Team
  4.      Zapraszam na www.MPCforum.pl
  5. ]]--
  6.  
  7. quest szkolenieKsiegami begin
  8.     state start begin
  9.         when 71094.use begin
  10.             if pc_is_rada() then
  11.                 syschat("Efekt jest już aktywny!")
  12.                 return
  13.             end
  14.             pc_give_rada()
  15.             --cmdchat("rada_on")
  16.             item.remove()
  17.         end
  18.        
  19.         when 50300.use begin
  20.             skill = pc.get_skill_level(item.get_socket(0))
  21.             if skill >= 30 or skill < 20 then
  22.                 syschat("Nie możesz szkolić umiejętności tą księgą!")
  23.                 return
  24.             end -- if poziom skilla
  25.            
  26.             if pc.get_exp() <= 49999 then
  27.                 syschat("Nie masz wystarczająco dużo punktów doświadczenia,")
  28.                 syschat("aby szkolić umiejętność przy pomocy księgi.")
  29.                 return
  30.             end -- if mamy exp
  31.            
  32.             if get_time() < pc.getqf("ksiega"..item.get_socket(0)) and not pc.is_skill_book_no_delay() then
  33.                 local time = (pc.getqf("ksiega"..item.get_socket(0)) - get_time()) / 3600
  34.                 local h = math.floor(time)
  35.                 local min = (time - h)*60
  36.                 local m = math.floor(min)
  37.                 syschat("Potrzeba czasu, aby zrozumieć wiedzę zawartą w księdze.")
  38.                 chat("Pozostały czas: "..h.." godzin, "..m.." min.")
  39.                 return
  40.             end -- if czas
  41.            
  42.             local szansa = number(1, 100)
  43.             if pc_is_rada() then
  44.                 sukces = 100
  45.                 pc_remove_rada()
  46.             else
  47.                 sukces = 30
  48.             end
  49.             if szansa <= sukces then -- szansa na szkolenie, aktualnie jest to 30%
  50.                 pc.setqf("ksiega_count"..item.get_socket(0), pc.getqf("ksiega_count"..item.get_socket(0))+1)
  51.                 if pc.getqf("ksiega_count"..item.get_socket(0)) == pc.get_skill_level(item.get_socket(0))-19 then
  52.                     pc.set_skill_level(item.get_socket(0), pc.get_skill_level(item.get_socket(0))+1)
  53.                     syschat("Brawo! Udało się!")
  54.                     chat("Pomyślnie zrozumiałeś wiedzę zawartą w księdze.")
  55.                     pc.setqf("ksiega_count"..item.get_socket(0), 0)
  56.                 else
  57.                     chat("Pomyślnie zrozumiałeś wiedzę zawartą w księdze.")
  58.                     syschat("Musisz przeczytać jeszcze ".. (pc.get_skill_level(item.get_socket(0))-19)-pc.getqf("ksiega_count"..item.get_socket(0)).." ksiąg umiejętności.")
  59.                     return
  60.                 end -- if liczba przeczytanych
  61.             else
  62.                 syschat("Wrrr. Nie udało się!")
  63.                 chat("Szkolenie umiejętności zakończyło się niepowodzeniem.")
  64.             end -- if szansa
  65.             pc.setqf("ksiega"..item.get_socket(0), get_time()+60*60*24)
  66.             pc.give_exp(-50000)
  67.             item.remove()
  68.            
  69.             if pc.is_skill_book_no_delay() then
  70.                 pc.remove_skill_book_no_delay()
  71.             end -- if aktywne egzo
  72.         end -- when ksiega umiejetnosci
  73.        
  74.         when 50304.use or 50305.use or 50306.use begin
  75.             skill = pc.get_skill_level(122)
  76.             if pc.get_level() < 30 then -- nie mozna szkolic combo
  77.                 syschat("Aby szkolić tą umiejętność potrzebujesz przynajmniej 30 poziomu!")
  78.                 return
  79.             elseif pc.get_level() < 50 and skill == 1 then -- nie mozan wbic max poziomu, bo nie mamy 50
  80.                 syschat("Aby szkolić tą umiejętność potrzebujesz przynajmniej 50 poziomu!")
  81.                 return
  82.             elseif skill == 2 then -- maksymalny poziom combo
  83.                 syschat("Umiejętność jest już rozwinięta!")
  84.                 return
  85.             end
  86.            
  87.             if pc.get_exp() <= 49999 then
  88.                 syschat("Nie masz wystarczająco dużo punktów doświadczenia,")
  89.                 syschat("aby szkolić umiejętność przy pomocy księgi.")
  90.                 return
  91.             end -- if mamy exp
  92.            
  93.             if get_time() < pc.getqf("combo") and not pc.is_skill_book_no_delay() then
  94.                 local time = (pc.getqf("combo") - get_time()) / 3600
  95.                 local h = math.floor(time)
  96.                 local min = (time - h)*60
  97.                 local m = math.floor(min)
  98.                 syschat("Potrzeba czasu, aby zrozumieć wiedzę zawartą w księdze.")
  99.                 chat("Pozostały czas: "..h.." godzin, "..m.." min.")
  100.                 return
  101.             end -- if czas
  102.            
  103.             local szansa = number(1, 100)
  104.             if pc_is_rada() then
  105.                 sukces = 100
  106.                 pc_remove_rada()
  107.             else
  108.                 rodzaj = item.get_vnum()-50303
  109.                 sukces = rodzaj*30
  110.             end
  111.             if szansa <= sukces then then -- szansa na szkolenie. norm = 25%; zaaw = 50%; mistrz = 75%
  112.                 pc.set_skill_level(122, pc.get_skill_level(122)+1)
  113.                 syschat("Brawo! Udało się!")
  114.                 chat("Pomyślnie zrozumiałeś wiedzę zawartą w księdze.")
  115.             else
  116.                 syschat("Wrrr. Nie udało się!")
  117.                 chat("Szkolenie umiejętności zakończyło się niepowodzeniem.")
  118.             end -- if szansa
  119.             pc.setqf("combo", get_time()+60*60*24)
  120.             pc.give_exp(-50000)
  121.             item.remove()
  122.            
  123.             if pc.is_skill_book_no_delay() then
  124.                 pc.remove_skill_book_no_delay()
  125.             end -- if aktywne egzo
  126.         end -- when combo
  127.        
  128.         when 50301.use or 50302.use or 50303.use begin
  129.             skill = pc.get_skill_level(121)
  130.             if skill == 40 then -- maks poziom
  131.                 syschat("Umiejętność jest rozwinięta maksymalnie.")
  132.                 return
  133.             elseif item.get_vnum() == 50301 and skill > 19 then -- za wysoki poziom dowodzenia
  134.                 syschat("Nie możesz szkolić umiejętności tą księgą!")
  135.                 return
  136.             elseif item.get_vnum() == 50302 and skill > 29 or skill < 20  then
  137.                 syschat("Nie możesz szkolić umiejętności tą księgą!")
  138.                 return
  139.             elseif item.get_vnum() == 50303 and skill < 30 then
  140.                 syschat("Nie możesz szkolić umiejętności tą księgą!")
  141.                 return
  142.             end -- if widelki poziomowe
  143.            
  144.             if pc.get_exp() <= 49999 then
  145.                 syschat("Nie masz wystarczająco dużo punktów doświadczenia,")
  146.                 syschat("aby szkolić umiejętność przy pomocy księgi.")
  147.                 return
  148.             end -- if mamy exp
  149.            
  150.             if get_time() < pc.getqf("dowodzenie") and not pc.is_skill_book_no_delay() then
  151.                 local time = (pc.getqf("dowodzenie") - get_time()) / 3600
  152.                 local h = math.floor(time)
  153.                 local min = (time - h)*60
  154.                 local m = math.floor(min)
  155.                 syschat("Potrzeba czasu, aby zrozumieć wiedzę zawartą w księdze.")
  156.                 chat("Pozostały czas: "..h.." godzin, "..m.." min.")
  157.                 return
  158.             end -- if czas
  159.            
  160.             local szansa = number(1, 100)
  161.             if pc_is_rada() then
  162.                 sukces = 100
  163.                 pc_remove_rada()
  164.             else
  165.                 sukces = 30
  166.             end
  167.             if szansa <= sukces then -- szansa na szkolenie, ustawione na 30%
  168.                 pc.setqf("dowodzenie_count", pc.getqf("dowodzenie_count")+1)
  169.                 if item.get_vnum() == 50301 then
  170.                     ilosc_need = 1
  171.                 elseif item.get_vnum() == 50302 or item.get_vnum() == 50303 then
  172.                     ilosc_need = pc.get_skill_level(122)-19
  173.                 end
  174.                 if pc.getqf("dowodzenie_count") == ilosc_need then
  175.                     pc.set_skill_level(item.get_socket(0), pc.get_skill_level(122)+1)
  176.                     syschat("Brawo! Udało się!")
  177.                     chat("Pomyślnie zrozumiałeś wiedzę zawartą w księdze.")
  178.                     pc.setqf("dowodzenie_count", 0)
  179.                 else
  180.                     chat("Pomyślnie zrozumiałeś wiedzę zawartą w księdze.")
  181.                     syschat("Musisz przeczytać jeszcze "..ilosc_need-pc.getqf("dowodzenie_count").." ksiąg dowodzenia.")
  182.                     return
  183.                 end -- if liczba przeczytanych
  184.             else
  185.                 syschat("Wrrr. Nie udało się!")
  186.                 chat("Szkolenie umiejętności zakończyło się niepowodzeniem.")
  187.             end -- if szansa
  188.             pc.setqf("dowodzenie", get_time()+60*60*24)
  189.             pc.give_exp(-50000)
  190.             item.remove()
  191.            
  192.             if pc.is_skill_book_no_delay() then
  193.                 pc.remove_skill_book_no_delay()
  194.             end -- if aktywne egzo
  195.         end -- when dowodzenie
  196.        
  197.         when 50600.use begin
  198.             skill = pc.get_skill_level(124)
  199.             if skill == 40 then -- maks poziom
  200.                 syschat("Umiejętność jest rozwinięta maksymalnie.")
  201.                 return
  202.             end
  203.            
  204.             if pc.get_exp() <= 19999 then
  205.                 syschat("Nie masz wystarczająco dużo punktów doświadczenia,")
  206.                 syschat("aby szkolić umiejętność przy pomocy księgi.")
  207.                 return
  208.             end -- if mamy exp
  209.            
  210.             if get_time() < pc.getqf("gornictwo") and not pc.is_skill_book_no_delay() then
  211.                 local time = (pc.getqf("gornictwo") - get_time()) / 3600
  212.                 local h = math.floor(time)
  213.                 local min = (time - h)*60
  214.                 local m = math.floor(min)
  215.                 syschat("Potrzeba czasu, aby zrozumieć wiedzę zawartą w księdze.")
  216.                 chat("Pozostały czas: "..h.." godzin, "..m.." min.")
  217.                 return
  218.             end -- if czas
  219.            
  220.             local szansa = number(1, 100)
  221.             if pc_is_rada() then
  222.                 sukces = 100
  223.                 pc_remove_rada()
  224.             else
  225.                 sukces = 30
  226.             end
  227.             if szansa <= sukces then -- szansa na szkolenie, 30%
  228.                 pc.set_skill_level(124, pc.get_skill_level(124)+1)
  229.                 syschat("Brawo! Udało się!")
  230.                 chat("Pomyślnie zrozumiałeś wiedzę zawartą w księdze.")
  231.             else
  232.                 syschat("Wrrr. Nie udało się!")
  233.                 chat("Szkolenie umiejętności zakończyło się niepowodzeniem.")
  234.             end -- if szansa
  235.             pc.setqf("gornictwo", get_time()+60*60*24)
  236.             pc.give_exp(-20000)
  237.             item.remove()
  238.            
  239.             if pc.is_skill_book_no_delay() then
  240.                 pc.remove_skill_book_no_delay()
  241.             end -- if aktywne egzo
  242.         end -- when gornictwo
  243.        
  244.         when 50314.use or 50315.use or 50316.use begin
  245.             skill = pc.get_skill_level(129)
  246.             if skill == 40 then -- maks poziom
  247.                 syschat("Umiejętność jest rozwinięta maksymalnie.")
  248.                 return
  249.             elseif skill > 19 and item.get_vnum() == 50314 then
  250.                 syschat("Nie możesz szkolić umiejętności tą księgą!")
  251.                 return
  252.             elseif skill > 29 or skill < 20 and item.get_vnum() == 50315 then
  253.                 syschat("Nie możesz szkolić umiejętności tą księgą!")
  254.                 return
  255.             elseif skill < 30 and item.get_vnum() == 50316 then
  256.                 syschat("Nie możesz szkolić umiejętności tą księgą!")
  257.                 return
  258.             end
  259.            
  260.             if pc.get_exp() <= 49999 then
  261.                 syschat("Nie masz wystarczająco dużo punktów doświadczenia,")
  262.                 syschat("aby szkolić umiejętność przy pomocy księgi.")
  263.                 return
  264.             end -- if mamy exp
  265.            
  266.             if get_time() < pc.getqf("poli") and not pc.is_skill_book_no_delay() then
  267.                 local time = (pc.getqf("poli") - get_time()) / 3600
  268.                 local h = math.floor(time)
  269.                 local min = (time - h)*60
  270.                 local m = math.floor(min)
  271.                 syschat("Potrzeba czasu, aby zrozumieć wiedzę zawartą w księdze.")
  272.                 chat("Pozostały czas: "..h.." godzin, "..m.." min.")
  273.                 return
  274.             end -- if czas
  275.            
  276.             local szansa = number(1, 100)
  277.             if pc_is_rada() then
  278.                 sukces = 100
  279.                 pc_remove_rada()
  280.             else
  281.                 sukces = 30
  282.             end
  283.             if szansa <= sukces then -- szansa na szkolenie, 30%
  284.                 pc.set_skill_level(129, pc.get_skill_level(129)+1)
  285.                 syschat("Brawo! Udało się!")
  286.                 chat("Pomyślnie zrozumiałeś wiedzę zawartą w księdze.")
  287.             else
  288.                 syschat("Wrrr. Nie udało się!")
  289.                 chat("Szkolenie umiejętności zakończyło się niepowodzeniem.")
  290.             end -- if szansa
  291.             pc.setqf("poli", get_time()+60*60*24)
  292.             pc.give_exp(-50000)
  293.             item.remove()
  294.            
  295.             if pc.is_skill_book_no_delay() then
  296.                 pc.remove_skill_book_no_delay()
  297.             end -- if aktywne egzo
  298.         end -- when poli
  299.        
  300.         when 50311.use or 50312.use or 50313.use begin
  301.             jezyk = item.get_vnum()-50185
  302.             skill = pc.get_skill_level(jezyk)
  303.             if skill == 40 then -- maks poziom
  304.                 syschat("Umiejętność jest rozwinięta maksymalnie.")
  305.                 return
  306.             end
  307.            
  308.             if pc.get_exp() <= 19999 then
  309.                 syschat("Nie masz wystarczająco dużo punktów doświadczenia,")
  310.                 syschat("aby szkolić umiejętność przy pomocy księgi.")
  311.                 return
  312.             end -- if mamy exp
  313.            
  314.             if get_time() < pc.getqf("jezyk"..item.get_vnum()) and not pc.is_skill_book_no_delay() then
  315.                 local time = (pc.getqf("jezyk"..item.get_vnum()) - get_time()) / 3600
  316.                 local h = math.floor(time)
  317.                 local min = (time - h)*60
  318.                 local m = math.floor(min)
  319.                 syschat("Potrzeba czasu, aby zrozumieć wiedzę zawartą w księdze.")
  320.                 chat("Pozostały czas: "..h.." godzin, "..m.." min.")
  321.                 return
  322.             end -- if czas
  323.            
  324.             local szansa = number(1, 100)
  325.             if pc_is_rada() then
  326.                 sukces = 100
  327.                 pc_remove_rada()
  328.             else
  329.                 sukces = 30
  330.             end
  331.             if szansa <= sukces then -- szansa na szkolenie, 30%
  332.                 pc.set_skill_level(jezyk, pc.get_skill_level(jezyk)+1)
  333.                 syschat("Brawo! Udało się!")
  334.                 chat("Pomyślnie zrozumiałeś wiedzę zawartą w księdze.")
  335.             else
  336.                 syschat("Wrrr. Nie udało się!")
  337.                 chat("Szkolenie umiejętności zakończyło się niepowodzeniem.")
  338.             end -- if szansa
  339.             pc.setqf("jezyk"..item.get_vnum(), get_time()+60*60*24)
  340.             pc.give_exp(-20000)
  341.             item.remove()
  342.            
  343.             if pc.is_skill_book_no_delay() then
  344.                 pc.remove_skill_book_no_delay()
  345.             end -- if aktywne egzo
  346.         end -- when jezyk
  347.        
  348.         when 50061.use begin
  349.             skill = pc.get_skill_level(131)
  350.             if skill == 10 then -- maks poziom
  351.                 syschat("Umiejętność jest rozwinięta maksymalnie.")
  352.                 return
  353.             end
  354.            
  355.             if pc.get_exp() <= 19999 then
  356.                 syschat("Nie masz wystarczająco dużo punktów doświadczenia,")
  357.                 syschat("aby szkolić umiejętność przy pomocy księgi.")
  358.                 return
  359.             end -- if mamy exp
  360.            
  361.             if get_time() < pc.getqf("przyw_kon") and not pc.is_skill_book_no_delay() then
  362.                 local time = (pc.getqf("przyw_kon") - get_time()) / 3600
  363.                 local h = math.floor(time)
  364.                 local min = (time - h)*60
  365.                 local m = math.floor(min)
  366.                 syschat("Potrzeba czasu, aby zrozumieć wiedzę zawartą w księdze.")
  367.                 chat("Pozostały czas: "..h.." godzin, "..m.." min.")
  368.                 return
  369.             end -- if czas
  370.            
  371.             local szansa = number(1, 100)
  372.             if pc_is_rada() then
  373.                 sukces = 100
  374.                 pc_remove_rada()
  375.             else
  376.                 sukces = 30
  377.             end
  378.             if szansa <= sukces then -- szansa na szkolenie, 30%
  379.                 pc.set_skill_level(131, pc.get_skill_level(131)+1)
  380.                 syschat("Brawo! Udało się!")
  381.                 chat("Pomyślnie zrozumiałeś wiedzę zawartą w księdze.")
  382.             else
  383.                 syschat("Wrrr. Nie udało się!")
  384.                 chat("Szkolenie umiejętności zakończyło się niepowodzeniem.")
  385.             end -- if szansa
  386.             pc.setqf("przyw_kon", get_time()+60*60*24)
  387.             pc.give_exp(-20000)
  388.             item.remove()
  389.            
  390.             if pc.is_skill_book_no_delay() then
  391.                 pc.remove_skill_book_no_delay()
  392.             end -- if aktywne egzo
  393.         end -- when przyw_kon
  394.     end -- state
  395. end -- quest
Advertisement
Add Comment
Please, Sign In to add comment