Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. -- Auto Mana Spell
  2. SupportModule.AutoManaSpell = {}
  3. AutoManaSpell = SupportModule.AutoManaSpell
  4.  
  5. local nextMana = {}
  6.  
  7. local settings = {
  8. [RestoreType.cast] = 'AutoManaSpell',
  9. [RestoreType.item] = 'AutoManaItem'
  10. }
  11.  
  12. function AutoManaSpell.onManaChange(player, mana, maxMana, oldMana, restoreType, tries)
  13. local tries = tries or 10
  14.  
  15. local Panel = SupportModule.getPanel()
  16. if not Panel:getChildById(settings[restoreType]):isChecked() then
  17. return -- has since been unchecked
  18. end
  19.  
  20. if restoreType == RestoreType.cast then
  21. local spellText = Panel:getChildById('ManaSpellText'):getText()
  22. local manaValue = Panel:getChildById('ManaBar'):getValue()
  23.  
  24. local delay = 1100
  25. if player:getManaPercent() < manaValue then
  26. g_game.talk(spellText)
  27.  
  28.  
  29. delay = 1100
  30. end
  31.  
  32. nextMana[RestoreType.cast] = scheduleEvent(function()
  33. local player = g_game.getLocalPlayer()
  34. if not player then return end
  35.  
  36. mana, maxMana = player:getMana(), player:getMaxMana()
  37. if player:getManaPercent() < manaValue and tries > 0 then
  38. tries = tries - 1
  39. AutoManaSpell.onManaChange(player, mana, maxMana, mana, restoreType, tries)
  40. else
  41. removeEvent(nextMana[RestoreType.cast])
  42. end
  43. end, delay)
  44. end
  45. end
  46.  
  47.  
  48. function AutoManaSpell.executeCast(player, mana, maxMana, oldMana)
  49. AutoManaSpell.onManaChange(player, mana, maxMana, oldMana, RestoreType.cast)
  50. end
  51.  
  52. function AutoManaSpell.ConnectCastListener(listener)
  53. if g_game.isOnline() then
  54. local player = g_game.getLocalPlayer()
  55. addEvent(AutoManaSpell.onManaChange(player, player:getMana(),
  56. player:getMaxMana(), player:getMana(), RestoreType.cast))
  57. end
  58.  
  59. connect(LocalPlayer, { onManaChange = AutoManaSpell.executeCast })
  60. end
  61.  
  62. function AutoManaSpell.DisconnectCastListener(listener)
  63. disconnect(LocalPlayer, { onManaChange = AutoManaSpell.executeCast })
  64. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement