stoneharry

Untitled

Sep 7th, 2011
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 8.50 KB | None | 0 0
  1. TimeWalk = {}
  2.  
  3. TimeWalk_V = {}
  4.  
  5. TimeWalk_P = {}
  6.  
  7. TimeWalk_Form = {}
  8.  
  9. CooldownMirrorTime = {}
  10. ClickMirrorPrevent = {}
  11.  
  12. local Spell = 111
  13. local MAX_AURAS = 50 -- Change this to the amount of auras you want to revert the player to having.
  14.  
  15. -- Rounding Numbers
  16. -- example: roundNum(5.6)
  17. function roundNum(val, decimal)
  18.     if (decimal) then
  19.         return math.floor(((val * 10^decimal) + 0.5) / (10^decimal))
  20.     else
  21.         return math.floor(val+0.5)
  22.     end
  23. end
  24.  
  25. function TimeWalk.MainScript(event, player, spellid)
  26.     --if player:GetLevel() == 20 then
  27.     if spellid == 69939 then
  28.         --[[if ClickMirrorPrevent[player:GetName()] == "clicked" and ((os.clock()-CooldownMirrorTime[player:GetName()])) <= 300000 then
  29.             local num = (os.clock()-CooldownMirrorTime[player:GetName()])
  30.             num = num*1000
  31.             num = 300000-num
  32.             num = num/60000
  33.             player:SendBroadcastMessage("|cFFFF0000You need to wait "..num.." more minutes.")
  34.             num = roundNum(num, 2)
  35.             if num == 0 then
  36.                 player:SendAreaTriggerMessage("|cFFFF0000You need to wait less than a minute more.")
  37.             else
  38.                 player:SendAreaTriggerMessage("|cFFFF0000You need to wait "..num.." more minutes.")
  39.             end
  40.         else]]
  41.         --  ClickMirrorPrevent[player:GetName()] = "clicked"
  42.         --  CooldownMirrorTime[player:GetName()] = os.clock()
  43.             player:CastSpell(58834)
  44.             local creature = player:GetCreatureNearestCoords(player:GetX(), player:GetY(), player:GetZ(), 31216)
  45.             if creature ~= nil then
  46.                 creature:SetHealth((player:GetHealth()*0.5))
  47.                 creature:SetMaxHealth((player:GetHealth()*0.5))
  48.             end
  49.         --end
  50.     end
  51.         if (spellid == Spell) then
  52.             if player:HasAura(Spell) then
  53.                 -- do nothing
  54.             else
  55.                 player:CastSpell(50805)
  56.                 TimeWalk_V[player:GetName()] = {}
  57.                 TimeWalk_V[player:GetName()].map = player:GetMapId()
  58.                 TimeWalk_V[player:GetName()].x = player:GetX()
  59.                 TimeWalk_V[player:GetName()].y = player:GetY()
  60.                 TimeWalk_V[player:GetName()].z = player:GetZ()
  61.                 TimeWalk_V[player:GetName()].o = player:GetO()
  62.                 TimeWalk_P[player:GetName()] = {}
  63.                 TimeWalk_P[player:GetName()].hp = player:GetHealth()
  64.                 TimeWalk_P[player:GetName()].auras = TimeWalk.GetAuras(player)
  65.                 TimeWalk_Form[player:GetName()] = {
  66.                 Dire = 9634,
  67.                 Bear = 5487,
  68.                 Cat = 768,
  69.                 Life = 33891,
  70.                 Moonkin = 24858,
  71.                 Travel = 783,
  72.                 Aqua = 1066,
  73.                 Swift = 40120,
  74.                 Flight = 33943,
  75.                 Stealth = 1784,
  76.                 Vanish = 26889
  77.                 }
  78.                 if player:GetPlayerClass() == "Warrior" then
  79.                     TimeWalk_P[player:GetName()].rage = player:GetPower(1)
  80.                 elseif player:GetPlayerClass() == "Rogue" then
  81.                     TimeWalk_P[player:GetName()].energy = player:GetPower(3)
  82.                 elseif player:GetPlayerClass() == "Death Knight" then
  83.                     TimeWalk_P[player:GetName()].runes = player:GetPower(5)
  84.                     TimeWalk_P[player:GetName()].runepower = player:GetPower(6)
  85.                 elseif player:GetPlayerClass() == "Druid" then
  86.                     if player:HasAura(TimeWalk_Form[player:GetName()].Dire) then
  87.                         TimeWalk_P[player:GetName()].rage = player:GetPower(1)
  88.                         TimeWalk_Form[player:GetName()].save = TimeWalk_Form[player:GetName()].Dire
  89.                     elseif player:HasAura(TimeWalk_Form[player:GetName()].Bear) then
  90.                         TimeWalk_P[player:GetName()].rage = player:GetPower(1)
  91.                         TimeWalk_Form[player:GetName()].save = TimeWalk_Form[player:GetName()].Bear
  92.                     elseif player:HasAura(TimeWalk_Form[player:GetName()].Cat) then
  93.                         TimeWalk_P[player:GetName()].energy = player:GetPower(3)
  94.                         TimeWalk_Form[player:GetName()].save = TimeWalk_Form[player:GetName()].Cat
  95.                     elseif player:HasAura(TimeWalk_Form[player:GetName()].Life) then
  96.                         TimeWalk_P[player:GetName()].mana = player:GetPower(0)
  97.                         TimeWalk_Form[player:GetName()].save = TimeWalk_Form[player:GetName()].Life
  98.                     elseif player:HasAura(TimeWalk_Form[player:GetName()].Moonkin) then
  99.                         TimeWalk_P[player:GetName()].mana = player:GetPower(0)
  100.                         TimeWalk_Form[player:GetName()].save = TimeWalk_Form[player:GetName()].Moonkin
  101.                     elseif player:HasAura(TimeWalk_Form[player:GetName()].Travel) then
  102.                         TimeWalk_P[player:GetName()].mana = player:GetPower(0)
  103.                         TimeWalk_Form[player:GetName()].save = TimeWalk_Form[player:GetName()].Travel
  104.                     elseif player:HasAura(TimeWalk_Form[player:GetName()].Aqua) then
  105.                         TimeWalk_P[player:GetName()].mana = player:GetPower(0)
  106.                         TimeWalk_Form[player:GetName()].save = TimeWalk_Form[player:GetName()].Aqua
  107.                     elseif player:HasAura(TimeWalk_Form[player:GetName()].Swift) then
  108.                         TimeWalk_P[player:GetName()].mana = player:GetPower(0)
  109.                         TimeWalk_Form[player:GetName()].save = TimeWalk_Form[player:GetName()].Swift
  110.                     elseif player:HasAura(TimeWalk_Form[player:GetName()].Flight) then
  111.                         TimeWalk_P[player:GetName()].mana = player:GetPower(0)
  112.                         TimeWalk_Form[player:GetName()].save = TimeWalk_Form[player:GetName()].Flight
  113.                     else
  114.                         TimeWalk_P[player:GetName()].mana = player:GetPower(0)
  115.                         TimeWalk_Form[player:GetName()].save = 0
  116.                     end
  117.                 elseif player:GetPlayerClass() == "Mage" or "Priest" or "Warlock" or "Paladin" or "Shaman" or "Hunter" then
  118.                     TimeWalk_P[player:GetName()].mana = player:GetPower(0)
  119.                 end
  120.                 RegisterTimedEvent("TimeWalk.TeleportVisual", 10000, 1, player)
  121.             end
  122.         end
  123.     --end
  124. end
  125.  
  126. function TimeWalk.TeleportVisual(player, Event)
  127.     if player:HasAura(Spell) then
  128.         player:CastSpell(50805)
  129.         RegisterTimedEvent("TimeWalk.Teleport", 100, 1, player)
  130.     end
  131. end
  132.  
  133. function TimeWalk.Teleport(player, Event)
  134.     if player:HasAura(Spell) then
  135.         player:Teleport(TimeWalk_V[player:GetName()].map, TimeWalk_V[player:GetName()].x, TimeWalk_V[player:GetName()].y, TimeWalk_V[player:GetName()].z)
  136.         player:SetFacing(TimeWalk_V[player:GetName()].o)
  137.         player:SetHealth(TimeWalk_P[player:GetName()].hp)
  138.         TimeWalk.SetAuras(player, TimeWalk_P[player:GetName()].auras)
  139.         if player:GetPlayerClass() == "Warrior" then
  140.             player:SetPower(TimeWalk_P[player:GetName()].rage, 1)
  141.         elseif player:GetPlayerClass() == "Rogue" then
  142.             player:SetPower(TimeWalk_P[player:GetName()].energy, 3)
  143.         elseif player:GetPlayerClass() == "Death Knight" then
  144.             player:SetPower(TimeWalk_P[player:GetName()].runes, 5)
  145.             player:SetPower(TimeWalk_P[player:GetName()].runepower, 6)
  146.         elseif player:GetPlayerClass() == "Druid" then
  147.             player:RemoveAura(TimeWalk_Form[player:GetName()].Dire)
  148.             player:RemoveAura(TimeWalk_Form[player:GetName()].Bear)
  149.             player:RemoveAura(TimeWalk_Form[player:GetName()].Cat)
  150.             player:RemoveAura(TimeWalk_Form[player:GetName()].Life)
  151.             player:RemoveAura(TimeWalk_Form[player:GetName()].Moonkin)
  152.             player:RemoveAura(TimeWalk_Form[player:GetName()].Travel)
  153.             player:RemoveAura(TimeWalk_Form[player:GetName()].Aqua)
  154.             player:RemoveAura(TimeWalk_Form[player:GetName()].Swift)
  155.             player:RemoveAura(TimeWalk_Form[player:GetName()].Flight)
  156.             player:CastSpell(TimeWalk_Form[player:GetName()].save)
  157.             if player:HasAura(TimeWalk_Form[player:GetName()].Dire) or player:HasAura(TimeWalk_Form[player:GetName()].Bear) then
  158.                 player:SetPower(TimeWalk_P[player:GetName()].rage, 1)
  159.             elseif player:HasAura(TimeWalk_Form[player:GetName()].Cat) then
  160.                 player:SetPower(TimeWalk_P[player:GetName()].energy, 3)
  161.             elseif player:HasAura(TimeWalk_Form[player:GetName()].Life) or player:HasAura(TimeWalk_Form[player:GetName()].Moonkin) or player:HasAura(TimeWalk_Form[player:GetName()].Travel) or player:HasAura(TimeWalk_Form[player:GetName()].Aqua) or  player:HasAura(TimeWalk_Form[player:GetName()].Swift) or player:HasAura(TimeWalk_Form[player:GetName()].Flight) then
  162.                 player:SetPower(TimeWalk_P[player:GetName()].mana, 0)
  163.             else
  164.                 player:SetPower(TimeTalk_P[player:GetName()].mana, 0)
  165.             end
  166.         elseif player:GetPlayerClass() == "Mage" or "Priest" or "Warlock" or "Paladin" or "Shaman" or "Hunter" then
  167.             player:SetPower(TimeWalk_P[player:GetName()].mana, 0)
  168.         end
  169.     end
  170. end
  171. RegisterServerHook(10, "TimeWalk.MainScript")
  172.  
  173. function TimeWalk.GetAuras(pPlayer)
  174.     local auras = {}
  175.     for i=1-1, 140 do -- We do 1-1 since the aura range is 0 - 140.
  176.         if (auras[i] == nil) then
  177.             if (pPlayer:GetAuraObject(i)) then
  178.                 auras[i] = {}
  179.                 auras[i].id = pPlayer:GetAuraObject(i):GetSpellId()
  180.                 auras[i].dur = pPlayer:GetAuraObject(i):GetTimeLeft()
  181.                 auras[i].stacks = pPlayer:GetAuraStackCount(i)
  182.             end
  183.         end
  184.     end
  185.     return auras
  186. end
  187.  
  188. function TimeWalk.SetAuras(pPlayer, auras)
  189.     assert(type(auras) == "table", "Bad argument #2 to SetAuras - expected table, got "..type(auras))
  190.     for _, v in ipairs(auras) do
  191.         if (pPlayer:IsInWorld()) then
  192.             pPlayer:AddAura(v["id"], v["dur"], false)
  193.         else
  194.             return
  195.         end
  196.     end
  197. end
Advertisement
Add Comment
Please, Sign In to add comment