--[[
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, 1, 0, 4, 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) end
if RHREADY then CastSpell(RavenousHydraSlot) end
end
if GetDistance(ts.target) < 500 then
if ROREADY then CastSpell(RanduinSlot) end
end
local enemyChampCount=GetEnemyChampsCount(range)
if JaxMenu.useUlt and enemyChampCount>=JaxMenu.minChamps+1 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