Guest User

Untitled

a guest
Sep 23rd, 2013
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.39 KB | None | 0 0
  1. quest training_grandmaster_skill begin
  2. state start begin
  3. when 50513.use begin
  4. if pc.get_skill_group() == 0 then
  5. say_title("Zaawansowane Szkolenie Umiejętności")
  6. say("Nie wybrałeś jeszcze drogi duchowej."..pc.get_skill_group())
  7. return
  8. end
  9. if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
  10. if pc.is_skill_book_no_delay() then
  11. pc.remove_skill_book_no_delay()
  12. say_title("Zaawansowane Szkolenie Umiejętności")
  13. say("Trening spowoduje usunięcie efektu")
  14. say("Zwoju Egzorcyzmu.")
  15. wait()
  16. say_title("Zaawansowane Szkolenie Umiejętności")
  17. else
  18. say_title("Zaawansowane Szkolenie Umiejętności")
  19. say("Musisz użyć Zwoju Egzorcyzmu zanim ponownie")
  20. say("rozpoczniesz trening przed upływem 24 godzin.")
  21. return
  22. end
  23. end
  24. local result = training_grandmaster_skill.BuildGrandMasterSkillList(pc.get_job(), pc.get_skill_group())
  25. local vnum_list = result[1]
  26. local name_list = result[2]
  27. if table.getn(vnum_list) == 0 then
  28. say("Nie możesz trenować żadnej umiejętności.")
  29. return
  30. end
  31. say("Proszę wybrać umiejętność, którą chcesz trenować.")
  32. say("")
  33. local menu_list = {}
  34. table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
  35. table.insert(menu_list, "Anuluj")
  36. local s=select_table(menu_list)
  37. if table.getn(menu_list) == s then
  38. return
  39. end
  40. local skill_name=name_list[s]
  41. local skill_vnum=vnum_list[s]
  42. local skill_level = pc.get_skill_level(skill_vnum)
  43. local title=string.format("Trening %s Wielki Mistrz", skill_name)
  44. say_title(title)
  45. say("Podczas treningu Umiejętności, może się zdarzyć,")
  46. say("że twoja Umiejętność zostanie ulepszona.")
  47. say("")
  48. local s=select("Dalej", "Anuluj")
  49. if s==2 then
  50. return
  51. end
  52. pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))
  53. if pc.count_item(50513) >= 1 then
  54. pc.set_skill_level(skill_vnum, pc.get_skill_level(skill_vnum)+1)
  55. pc.remove_item(50513, 1)
  56. say_title(title)
  57. if 40 == pc.get_skill_level(skill_vnum) then
  58. say_reward("Powodzenie!")
  59. say("Gratulacje! Udało się!")
  60. say(string.format("%s jest teraz na poziomie Wielki Mistrz.", skill_name))
  61. say("To oznacza, że osiągnąłeś poziom Perfekcyjny tej")
  62. say("umiejętności. Dalsze jej szkolenie jest")
  63. say("niemożliwe.")
  64. else
  65. say_reward("Powodzenie!")
  66. say("Gratulacje! Udało się!")
  67. say(string.format("%s jest teraz na poziomie Wielki Mistrz.", skill_name))
  68. end
  69. else
  70. chat("<informacja>Zgłoszenie zostało wysłane. Jeszcze raz i dostaniesz bana.")
  71. end
  72. end
  73. function BuildGrandMasterSkillList(job, group)
  74. GRAND_MASTER_SKILL_LEVEL = 30
  75. PERFECT_MASTER_SKILL_LEVEL = 40
  76. local skill_list = special.active_skill_list[job+1][group]
  77. local ret_vnum_list = {}
  78. local ret_name_list = {}
  79. table.foreach(skill_list,
  80. function(i, skill_vnum)
  81. local skill_level = pc.get_skill_level(skill_vnum)
  82. if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
  83. table.insert(ret_vnum_list, skill_vnum)
  84. local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
  85. if name == nil then name=skill_vnum end
  86. table.insert(ret_name_list, name)
  87. end
  88. end)
  89. return {ret_vnum_list, ret_name_list}
  90. end
  91. end
  92. end
Advertisement
Add Comment
Please, Sign In to add comment