arthasdk icon

SHOW HP v1.2

arthasdk | PRO | 11/15/12 09:59:17 AM UTC | 0 ⭐ | 273 👁️ | Never ⏰ | []
Lua |

2.47 KB

|

None

|

0 👍

/

0 👎

--[[
 
    AUTO HP modified By ArthasDK v1.2
    Press Shift to access the ingame OPTIONS
    Credits to :
 
        [main concept]  1. Darius Dunk v0.33 by Lux
                        2. Darius Ownage v1.1 written by Weee Modified by Delusional Logic
        [modes]         3. Script: Sida for providing the solution of the bug.
                        4. UnlimitedElise for menu.
        
 
]]
    require "AllClass"
    local enemyTable = {}
    local allyTable = {}
        
    function getFirst(Table)
        local enemy
        for i, champ in ipairs(Table) do
                enemy = champ
                break
        end
        return enemy
    end
    
    
    function updateTable()
        for i=1, heroManager.iCount do
                local hero = heroManager:GetHero(i)
                if  hero.team ~= myHero.team and not enemyTable[hero] then
                        table.insert(enemyTable,hero)
                end
                if  hero.team == myHero.team and hero.name ~= myHero.name and not allyTable[hero] then
                        table.insert(allyTable,hero)
                end
        end
    end
    
 
    function doDraw(unit,Table)
        local health = tostring(math.floor((unit.health)+0.5))
        PrintFloatText(unit,0,health)
        table.remove(Table,1)
    end
    
    function OnLoad()
        ShowHP = scriptConfig("ShowHP", "Show HP in Text")
        ShowHP:addParam("showAlly", "Ally", SCRIPT_PARAM_ONOFF, false)
        ShowHP:addParam("showEnemy", "Enemy", SCRIPT_PARAM_ONOFF, true)
        ShowHP:addParam("showSelf", "Self", SCRIPT_PARAM_ONOFF, true)
        ShowHP:permaShow("showAlly")
        ShowHP:permaShow("showEnemy")
    end
    
    
    function OnWndMsg(msg,key)      --important for menu
        SC__OnWndMsg(msg,key)
    end 
    
    function OnDraw()
        SC__OnDraw() -- also Important for menu
    end
    
    
    function OnTick()
        
        if ShowHP.showEnemy == true then 
            if enemyTable ~= nil then
                if #enemyTable <= 0 then
                        updateTable()  
                else
                        doDraw(getFirst(enemyTable),enemyTable)
                end
            end
        end
 
        if ShowHP.showAlly == true then 
            if allyTable ~= nil then
                if #allyTable <= 0 then
                        updateTable()  
                else
                        doDraw(getFirst(allyTable),allyTable)
                end
            end
 
        end
 
        if ShowHP.showSelf == true then 
            if not myHero.dead then PrintFloatText(myHero,0,"" .. math.ceil(myHero.health).. " hp") end
        end
    end
 
    PrintChat("AUTO HP script loaded! Cut-pasted by ArthasDK \n\t\tPress Shift to bring in the Menu to toggle Modes")

Comments