R8Sentinel

energy_error

Nov 14th, 2017
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. quest energy_system begin
  2. state start begin
  3. when 20001.chat."Cristal fermecat" begin
  4. chat("Poti obtine cristale fermecate de la nivelul 35.")
  5. chat("Schimba caracterul.")
  6. set_state(energy_start)
  7. return 0
  8. end
  9. end
  10.  
  11. state energy_start begin
  12. function setting ()
  13. return
  14. {
  15. ["prob_acc_table"] =
  16. {
  17. ["35to50"] = {10,25,45,65,80,88,94,97,99,100},
  18. ["51to70"] = {20,40,60,75,85,91,96,98,99,100},
  19. ["upto70"] = {30,55,70,80,90,95,97,98,99,100}
  20. },
  21. ["item_num_table"] ={0,1,2,3,4,6,8,10,12,15},
  22. ["energy_stone"] = 51001,
  23. ["charging_stone"] = 51002,
  24. }
  25. end
  26. function getItemNum ( str, r )
  27. local setting = energy_system.setting()
  28. for i = 1, 10 do
  29. if r < setting.prob_acc_table[str][i] then
  30. return setting.item_num_table[i]
  31. end
  32. end
  33. return 0
  34. end
  35.  
  36. when 20001.take begin
  37. if pc.get_level() < 35 then
  38. chat("Trebuie sa ai nivel 35.")
  39. return
  40. end
  41. local item_vnum = item.vnum
  42. local levelLimit = item.get_level_limit(item_vnum)
  43. local setting = energy_system.setting()
  44. if levelLimit == nil then
  45. say_title("Alchimist")
  46. say("Poti aduce arme, armuri si accesorii (nivel 49+)")
  47. wait()
  48. elseif item.get_type() == ITEM_WEAPON and item.get_sub_type() == WEAPON_ARROW then
  49. say_title("Alchimist")
  50. say("Poti aduce arme, armuri si accesorii (nivel 49+)")
  51. wait()
  52. elseif item.is_binded() then
  53. say_title("Alchimist")
  54. say("Acest item este blocat.")
  55. wait()
  56. elseif levelLimit < 35 then
  57. -- kind of impossible condition?
  58. say_title("Alchimist")
  59. say("Poti aduce arme, armuri si accesorii (nivel 49+)")
  60. else
  61. say_title(mob_name(20001))
  62. say(item_name(item_vnum))
  63. say("Schimbi obiectul cu cristale?")
  64. local s = select("Da","Nu")
  65. if s == 1 then
  66. item.remove()
  67. local r = number (1, 100)
  68. local n
  69. if levelLimit >= 49 and levelLimit <= 74 then
  70. n = energy_system.getItemNum ("35to50",r)
  71. elseif levelLimit > 75 and levelLimit <= 90 then
  72. n = energy_system.getItemNum ("51to70",r)
  73. else
  74. n = energy_system.getItemNum ("upto70",r)
  75. end
  76. if (n == 0) then
  77. chat("Obiectul este praf, nu iti pot oferi cristale fermecate.")
  78. else
  79. pc.give_item2(setting.energy_stone, n)
  80. chat("Ai primit "..n.." cristale fermecate.")
  81. end
  82. end
  83. end
  84. end
  85. end
  86. end
Advertisement
Add Comment
Please, Sign In to add comment