arthasdk icon

Jax The Rapist With Menu and Items

arthasdk | PRO | 01/25/13 05:41:04 PM UTC | 0 ⭐ | 231 👁️ | Never ⏰ | []
Lua |

7.28 KB

|

None

|

0 👍

/

0 👎

--[[
        JAX the Rapist by jbman 
        
        new Menu, AutoUlti added (rather copy-pasted) by ArthasDK from HeX's Wukong Combo and extragoz scripts
 
]]
 
if myHero.charName == "Jax" then
    PrintChat(" >> Jax the Rapist loaded! With Items and Menu")
    
    --require "AllClass"
    
    --SETTINGS
    --local showRanges = true
    local focusedTarget = true
 
    local RefreshRate = 50  
    local targetCircle = 100    
    
    --Attack Cast
    local lastBasicAttack = 0
    local swingDelay = 0.15
    local swing = 0
    
    
    -- Target Prediction
    local range = 710
    local ETriggerRange = 600
    
    local targetSelected = true 
        
    --[[ Code ]]
    local ts = TargetSelector(TARGET_LOW_HP, range,DAMAGE_PHYSICAL) 
        
    function OnProcessSpell(unit, spell)
        if unit.isMe and (spell.name:find("BasicAttack" or "CritAttack") ~= nil) then
            swing = 1
            lastBasicAttack = os.clock()
        end
    end
 
-- SCRIPT---
    --arthasdk edit start
    local BRKSlot, HXGSlot, BWCSlot, TiaSlot, RavHSlot, RanduinSlot = nil, nil, nil, nil, nil, nil
    local ignite = nil
            
    function GetEnemyChampsCount(range)
        local count=0
        for i=1, heroManager.iCount do
            local target = heroManager:GetHero(i)
            if target ~= nil and target.dead == false and target.team ~= player.team and target.visible == true and player:GetDistance(target) < range then--385 then
                count=count+1
            end
        end
        return count
    end
    
    
    
    function OnLoad()
        local maxEnemyChamps=0
        for i=1, heroManager.iCount do
            local champ = heroManager:GetHero(i)
            if champ.team ~= player.team then   maxEnemyChamps=maxEnemyChamps+1 end
        end
        
        JaxMenu = scriptConfig("Jax SBTW by jbman", "jaxcombo")
        JaxMenu:addParam("scriptActive", "Combo", SCRIPT_PARAM_ONKEYDOWN, false, 32)
        JaxMenu:addParam("drawcirclesSelf", "Draw Circles(Self)", SCRIPT_PARAM_ONOFF, false)
        JaxMenu:addParam("useUlt", "Use Ultimate in Combo", SCRIPT_PARAM_ONOFF, false)
        JaxMenu:addParam("minChamps", "Min. Champ for Auto Ulti", SCRIPT_PARAM_SLICE, 2, 1, 5, 0)
        JaxMenu:addParam("autoignite", "Auto Ignite", SCRIPT_PARAM_ONOFF, true)
        JaxMenu:permaShow("scriptActive")
        ts.name = "Jax"
        JaxMenu:addTS(ts)
        if myHero:GetSpellData(SUMMONER_1).name:find("SummonerDot") then ignite = SUMMONER_1
        elseif myHero:GetSpellData(SUMMONER_2).name:find("SummonerDot") then ignite = SUMMONER_2 end    
    end
 
    --arthasdk edit end
 
function OnTick()
    if myHero.dead then
        return
    end
    if os.clock() > lastBasicAttack + 0.5 then
        swing = 0
    end
    --arthasdk edit end
    BRKSlot,  HXGSlot, BWCSlot = GetInventorySlotItem(3153),  GetInventorySlotItem(3146), GetInventorySlotItem(3144)
    TiamatSlot, RavenousHydraSlot, RanduinSlot = GetInventorySlotItem(3077), GetInventorySlotItem(3074), GetInventorySlotItem(3143)
    DFGREADY = (DFGSlot ~= nil and myHero:CanUseSpell(DFGSlot) == READY)
    HXGREADY = (HXGSlot ~= nil and myHero:CanUseSpell(HXGSlot) == READY)
    BWCREADY = (BWCSlot ~= nil and myHero:CanUseSpell(BWCSlot) == READY)
    BRKREADY = (BRKSlot ~= nil and myHero:CanUseSpell(BRKSlot) == READY)
    TIAREADY = (TiamatSlot ~= nil and myHero:CanUseSpell(TiamatSlot) == READY)
    RHREADY  = (RavenousHydraSlot ~= nil and myHero:CanUseSpell(RavenousHydraSlot) == READY)
    ROREADY  = (RanduinSlot ~= nil and myHero:CanUseSpell(RanduinSlot) == READY)
    --arthasdk edit end
    ts:update()
    
    
    if IsKeyDown(88) then       
        if swing == 0 and ValidTarget(ts.target, range) then
            myHero:Attack(ts.target)
            CastSpell(_Q, ts.target)
        end
        if swing == 1 then
            if ValidTarget(ts.target, range) and myHero:CanUseSpell(_Q) == READY and os.clock() - lastBasicAttack > swingDelay then                 
                CastSpell(_Q, ts.target)                                        
        elseif myHero:CanUseSpell(_W) == READY and player:CanUseSpell(_Q) == COOLDOWN and os.clock() - lastBasicAttack > swingDelay then
                CastSpell(_W)
            end 
        end
    end
    
    if IsKeyDown(90) then
        if ValidTarget(ts.target, range) then
            myHero:Attack(ts.target)
        end     
        if swing == 1 then
            if ValidTarget(ts.target, range) and myHero:CanUseSpell(_Q) == READY and os.clock() - lastBasicAttack > swingDelay then                 
                CastSpell(_Q)                                       
        elseif myHero:CanUseSpell(_W) == READY and player:CanUseSpell(_Q) == COOLDOWN and os.clock() - lastBasicAttack > swingDelay then
                CastSpell(_W)
            end 
        end
    end
        
    --[[if IsKeyDown(32) then       --SBTW part
        if swing == 0 and ValidTarget(ts.target, range) then
            myHero:Attack(ts.target)
            CastSpell(_Q, ts.target)            
            if swing == 0 and ValidTarget(ts.target, ETriggerRange) and player:CanUseSpell(_E) == READY then
                CastSpell(_E)
            end
        end
        if swing == 1 then
            if myHero:CanUseSpell(_E) == READY and os.clock() - lastBasicAttack > swingDelay then                   
                CastSpell(_E)                                       
        elseif myHero:CanUseSpell(_W) == READY and player:CanUseSpell(_E) == COOLDOWN and os.clock() - lastBasicAttack > swingDelay then
                CastSpell(_W)
            end 
        end
    end]]
    
    if JaxMenu.scriptActive and ts.target ~= nil then
        if DFGREADY then CastSpell(DFGSlot, ts.target) end
        if HXGREADY then CastSpell(HXGSlot, ts.target) end
        if BWCREADY then CastSpell(BWCSlot, ts.target) end
        if BRKREADY then CastSpell(BRKSlot, ts.target) end
        if GetDistance(ts.target) < 400 then
            if TIAREADY then CastSpell(TiamatSlot, ts.target) end
            if RHREADY then CastSpell(RavenousHydraSlot, ts.target) end
        end
        if GetDistance(ts.target) < 500 then
            if ROREADY then CastSpell(RanduinSlot, ts.target) end
        end
        
        local enemyChampCount=GetEnemyChampsCount(range)
        if JaxMenu.useUlt and ( enemyChampCount>=JaxMenu.minChamps or player.Health<=.7*player.maxHealth ) and player:CanUseSpell(_R) == READY then
            CastSpell(_R)
        end
        
        if swing == 0 and ValidTarget(ts.target, range) then
            myHero:Attack(ts.target)
            CastSpell(_Q, ts.target)            
            if swing == 0 and ValidTarget(ts.target, ETriggerRange) and player:CanUseSpell(_E) == READY then
                CastSpell(_E)
            end
        end
        if swing == 1 then
            if myHero:CanUseSpell(_E) == READY and os.clock() - lastBasicAttack > swingDelay then                   
                CastSpell(_E)                                       
        elseif myHero:CanUseSpell(_W) == READY and player:CanUseSpell(_E) == COOLDOWN and os.clock() - lastBasicAttack > swingDelay then
                CastSpell(_W)
            end 
        end
    end
    
    --arthasdk copy pasted code
    if ignite ~= nil and myHero:CanUseSpell(ignite) == READY then
        if IREADY then
            local ignitedmg = 0    
            for j = 1, heroManager.iCount, 1 do
                local enemyhero = heroManager:getHero(j)
                if ValidTarget(enemyhero,600) then
                    ignitedmg = 50 + 20 * myHero.level
                    if enemyhero.health <= (ignitedmg - 50) then
                        CastSpell(ignite, enemyhero)
                    end
                end
            end
        end
    end
    --arthasdk copy pasted code
    
end
    
  
 
    function OnDraw()
        if myHero.dead then
            return
        end
        if focusedTarget then           
            if ValidTarget(ts.target) then
                DrawCircle(ts.target.x, ts.target.y, ts.target.z, targetCircle, 0xFFFF0000)
            end
        end         
 
        --[[if showRanges then            
            if myHero:CanUseSpell(_Q) == READY then
                DrawCircle(myHero.x, myHero.y, myHero.z, range, 0xFF00FF00)
            end         
        end]]
        
        if JaxMenu.drawcirclesSelf then            
            if myHero:CanUseSpell(_Q) == READY then
                DrawCircle(myHero.x, myHero.y, myHero.z, range, 0xFF00FF00)
            end         
        end
        
    end
end

Comments