----New series of simple scripts that just work..nothing fancy -- . -- .:7Ys5XGdZFCT;, -- .;vCSls77777;7cl51vs7;;;, -- .;;Yl:,,77:;Y2XUh0dd0PPP#0DG5, -- .77:, .;5FGGbh8M@G1YscY777YYs07 -- vl;,;s2XF7;,.;7c2S#P7;7cv777Y2l -- 7b;lD7;, :5dM#C;;TlhFv7c7777Y7 -- :@0h@C ;U0;S@7S@@@X;7TUFFSY7cO; -- 7b@Fc1G dZ7Y7S;75T@@@v7S@5YC7; -- .U@9Y;;;T;,l;0;,P@:.9@@c,2@07F7 ,77v --.. 78P177;;,75.l585Yb@PX0@O.vhM;ll7C7:;, ;GE97 --:,;: Tb1l777:;v57;@S;7Sl71#@8.cd9,YE5lbZXGSls;; .:sG@: -- .7vY7,. ,. lc7YYY,7Zc;YG@@: ;TlX@@;sEl:cdZ2F51l5lS29@@;7Y0s -- ,7SPPl;;. .;7O:.El YEsT8@v;7lPMv2T7lhd0F2SOUd8@@@M@F sUD; -- .75CY;. 72. .CX770@MFPd777lb@@bZXXbM@@@@dG9D;:cUMY. -- .7157,.. 7s2 , :5@hEM@@F. ,s2C2ZZEd@@ECT7;;Y1s:;OhUCX7 -- :2h27;;Y; 771G ., ,;:. ;Yl77771h@#27;:.,.7T:755Eh1sbFs;: ;Y -- :lG@857;. ,s5l9,. .;cFMTYYclddGs7..,;7TY7CFv11USlEDGUl7;S95 -- :YXOl;. .;252#7 ,;;77;;sl;cv777C00Z7Y777777Y1vOMh5CUG;7Sls22PP#C -- :75F1;. .. ..:YlS0d;,7v1;;7;;7Y7;Y20bl7v;;,777:7vlZP@@EZ1sl5GDF29@dPv;. -- 7O@81;7;;,. .;2:;.7l7U#X:T7.,;;,7sT75ZGh2:7YF1FF57s7Y7CSP@MhPEl;TYlM8#@@@9XY;. . -- 1Md1Y;;;;. 79:.7l;:7YY7U@c;c;;:,75CTZFPP1;.::;77;7EEUZEX5SD@@8U7177@@hF2UD@@@8F7;,:;Y7:,:. -- :7lE5;:,,;.: 7D7..YlY::Ts;G@l7;. ;C11dUXb7:;;;,;. .Sd@@ClZPO2M955FTl98889Z5TYsSdDd0l;:,;77287 -- ;CPO777;5slTC:.;7l7:;ss7P#U7.;1c1hCD957,;s7Y;,.c5@@@@G1G5UFCscSZ@MZMP9DM9l;:7ll0bPFl;;7;;7.7 -- Y@D;c@hXGb87;;;527;Y5108@D5FUG59Xs;scl11F7.;OZ@@b@@@ddZX0D0#@MD9dOGD0EDPsY77;71U2XD2vCs77: -- 5DUMZ7OlFd25cs5EEZ2DM#@@0bdd#8c;:..77sG@l,YCO@@Mdd#@M@@@#8P09dGMZTlUOZU9EGc7;;;729. YFc -- ,,577Ss8D;.;710U9@@@@; ;Yv7svY7YcsYs2E@U 57G@@#D9dbMMDD99Pdb92EP7;Y1SFSZ#@0UCY;l; -- ;7; 7UU57. ::.,..YU277TYvYY7Y2bMMbM8@@ 57G@dDhddM8#90XD98dUYE@2777Y1SCh#GcSPY: -- ;lSc7,. 5@@#@@@@GEGPZZ0#h#@@ U7O@bdbhdhD99Ohd90P2s2@#5l7;YvsS. .. -- 7E8PS777slU2GM@0ZZ0925OXG9@8 F51@8#b#dhEU5F0DUGXXSc1@@9927;: -- :P@@Zs7lscCDGEFFUXUhbdhM@@;lE7MbPEXPZSvSEOSCG9GESSU;,c7: -- ;,. 7Y1EdPX5l7v7vsS2d@0;G7b@PZ5Tv75ZS125PU0b17 -- .,. .;cv7YlO0lO#2;,.;Y7;;7cOb2clS@0GSCC90l757O1CPd; -- ,;;;;7X0@#P8@GhC2YUs;.:T27;;:;sDv57#@8M8MGl7CcYSFFU, -- ;77;;7EDd5O#0TlZMEl757,.:7Tvc;::557GCM@E5vl1FYY1U5 -- :7v;:;5UhvDhs7TF9DMF5Y7;:,::;7YY;:7TS0Ud#EDE1cvsXS -- ,:;:::7s8777779Gd@ZE@O7YY;::;;;77;;:Y1b#P8@dX2FSXT -- .,,. :Y7@77YScUbC0@lCD@9777:,:Yl;;7;:::;PbdDbhbhG5Y:, -- .;;7;:ls8SYTFlv95lb@S72b@@CY7:;,vTcY7;:..,cOZh88h2F22lY7;;;:, .,. . -- .;7;;7ZG05OS25sh572#@G;YZ@@b@X7. ,;cCS77:..;;7SFSlTY;;777777lD@@@@@@. -- ;Y7.;OGhsUG9ElhO7YEbMd7;vD@UX@9T. .:YUES7;:.,.,;777Y7;,,::7F@@@@@@M; -- .;77,:lDMSsF9UZ@Z7lShM@@F;75MdY1@@0: ,,;;vO22s7:;..;7;;;;,;;YD@@MP9dS -- 7c;7;;h@OscOCXbU7OOZb@8@MT;YlbG77h@8:.;:,;;Y5OsY;.77lbhEZDhGM@@dh#O; -- 77Cl72@Scv2c2PS7SGDE#Pb@@97;YshP77P@9,,:,...:7Y7;;Yshh##M@@#O2ZZE; -- 5@0: SXTslCUl7FUS125C198@Dc;77U0l7Sb#;,.;;:TZD8M#0@P577;71FEXll; -- ES ,UUC1l55CX95SvvYvvlF9Zl777SGY;sM#;77v#@9Fs5UEP8b9Fl7;;77C5, -- vSUFXF9hdX0EFlTT2Tvc5XPSv7vvcT5@PS5@@MdZS77;;777lOEXF257 -- :SlEF2CGZ0@MD9OF5llSlSTllSC5cYTOSX@9@8Pd8@M@hZ57;CdMb0C: -- ;;PGlc77Y;70UF8G77vc12E2S5F29GE1l58@@#ZS1clllv59@dC59GG2 -- ,.X; .sZ;;YYhdU7; .;75OGF5TY777;.,7UE9OFlc7;;@@@ZsYY7vUd. -- :7C7Y9#@0bdG7 ,... l@#OTT7772Ps -- .;;vsPPT; .S##lY7S9bMG7 -- :U#h@M2UP#S7. -- .dSc777Y77;; -- -- -- -- -- .Y.. -- .:vXgdBBQKgs. XQq.i:vJ -- ..KRBBBBBBBBBEX1BBBD1.:1BBP:7:7YQ2X. -- iY7BBBQBQBBBBBdr 5QL..rBQBB 7Md1QgQ: -- YgBBQBQBQBQBBu:: K UBBR 7UPQB.B: -- rYRQBQBQBMBQBBBi77. M PBBQ . iBL77. -- .iMBBQQQBQBQBQBQQgi i:. BuJSBBBBB ... .i .r -- :bv:rZQBQBQBgBQBPBQE: qBQBQB:.iUuU.7iSr7QqrrKBBBQKvJ5ggB -- .:. .vZQBQBBBRBQBQqiBQBQr. rIqY: Sq.XBBQDPI: .ui .r PQBBBQBBBQBQQ: -- .::.rPJqdgdEBQBQBZBPgBBQBQBRP: rYUQBBBQB:Q:.:jr. .dU P :siIBBBBQBQLB. -- . .KSIBQMQJBgsiUBBQDBMQdDQBQBQQs. :q IBBgKii:JL ig 2v :U5: .QBgB2gEBB. -- rBBQgI7riULiQK7MZ7BQS7BMBZQRBQBQBQZ: :LdQBBQR :77ri.. :d 75 E s7I i jIB.BIBD -- 7:IJu5BQB7iUgXIiJrgLsRrvBddMBBBQBQBQBPY. Qi vQBQBiuuY:. P5 .vI Z i71 g uQiZvQB -- . ..QZdSiIBEP1rr1Mq.1vYYdq.rD52dP5BQ5YSir P. :7dji.:. d7 7s Q YIJ .B iB:ELBQ -- rrJK1s7uJj571IQE vBviQ:UMvB.UQBBB2d. .::7r:R2YqYZ U7 iY Dr .1iDPBQi.2B BYQB -- .B sq::7.Yi5 ..IBBvvQgdb5PDggBQDbLiX ..IRIrPPMbPqP: j. Su ::irr1Y:U B i17vMBQBB.2BqBP -- QdJgv.:.rr17 5i7Q2B:sIDr7E.Ysru7r: .jRRP:.idZr. U :K i..:vr1SB:17I7KuugQL .QiQ1i:ii:rvqBuBQ -- QSgQqi::77YQ.L:Ug:.QSMggEXrIUr.. .L2QQB7: iqj 2. v: .::vviqQUJJ5uIvd5:vXPbgXv5B: .IKXRP7EQBBBIZQQrEX -- .rirKZKJB:KgErrLQBEPj1dPQPJ.: U: L5 Lq. P Ld7S7JjSP2qPEXUvri7JsKEQBb.E.s::B. :2QBBQBQYiMQBQBQi -- vr.j1Ud.rQuu5EBJJ25DB7: QY.irU.JQ q: ::s:YvPYQPduSrr727vs1KPEBQBQBQi7v : vBr:BX .u:LgBEREBQBBBQB -- iijDU .X1BrU2PIRUi . ..:.BUQ.B :gBiS...7rYsR7Z7MBjrIIgZgdQRQQBggqBQBQBQ: 1 :BQE BQv 7qZvbMBBRXBZr: -- . .i .UQBQBZQurrBQ K Qi YQjQKZDEDEUQBQgvviBQBBQ7BQBBBQBQBQPJL:. UBBM1srBBQB LBBPu:i:77UQBuBBi:Qd -- :PQBQ.IP YB E Ki:iBiKSBBBRBddvX: 71Qu7B LQMdBDQQBr: YrX.vbBQjQBBB::QBQBQBQBQi rBBQ2iBQ. -- :SQQQL5i. r .:ii uii:.UsSQBQM: : .QB EQ QB UBr B : rBQu5BQBBBX.. .BBQB .QBQBQd:Bq -- .vvBsb7irq. BvrYJv7:7..D Pj QQBr .J7qEDBdr rQ.L. s iZr BQ P.7 1BuBQBBBQBQK7 BBBQ BBBQBQBDSv..LYi -- :uJriJrr:Y iQ .dr.. .v Dr. :2 .L.JPBBBQPLgQBBBiUr:.i:rQY:BQ BB BQ: LBLXqKSXvIK ..1Li::dQBQBBQ.iJMB: :B -- v5J7Bqrq7Q25SQ7 B. Prv:irir:i IBBBvi:i .BQBg.iQBBZBMBgBIBQBQP: gv BQ .ruZXs.. iBQBBBQB2 rvJis.BLriii. -- r7qdUQBYXP2QB qvr:: Q: UK. .. .i7 r:gQ17S. :7BBQ riILrs:: .rBBBY gd QB .DdZbvgDBQ. rKBBUMQZBgb1QQi.v2 ..j7K:iv7:vrriPBE -- Ri7Y2 RS .: u: Q: j:. . . ir7BPiQ.XY1r:. i: 7s .: UuUi QB:7B. 7vqv 1BQBQBBqLXQi 7i .ri EL BQ -- Qr7ur:7r:7i.7:gR7sXBQ1BEPg:v2.:ZL.:I B: ruB.. : ...7. :BBBQ .Q B vL :BBBQBQB: P gg ZYE :i 1Q7 SPE7vv.:QU --:MQSBEgQuKZ7BQBqIS77BQK7vQB vIRYgBBB51grE. .7 B i:v :r.i:vS.i.:.:r:Qi ri. gBBBQBB: 7 .Kii.: i qBKd Y iQrPBQ. --budQiibU7777.ir7iqIqYbQ7iJX2 vJqM.Q7 RXSI: 1Q 7 :.5 gr :75117s: YBb7v1J:ii.B 7QBBBQBBBQBBB : i . BB d1L :i .BP --PSvZ55BJBRQiMbsI.v57vv:r2Ssqd5rUDiQ77BBBQQYBBZBE:... r... L r :..: 5EBgBQRBgi j YQQQBQBQBBBvQQ2..sB5Q2K.:i.qBQDQB: -- . .775sK7gQZP12PusE2.L.QvrsPKviiru7XLLrLX2LdZQBdv. :.. . .: :Qv.BQBBQ.SQg5BBBQZQQQRDB BBi L2Qid:K L.::uBBQBQY -- 1Kr:7vLDZ7PI1XuRY 7ivgX7sBrviiSbr...:.BKI:ru. . 7 .i .. i:. rDBQ YQi QBBBZMQP BZi:BQ BQ. Q QdiR.b:7.B7.UBQBQs -- r vM7rrSErJvuSbIBYKPr:rbiY1Js.g7Prs2Y. ..7rr2i.::i::.r7:.iBQBq... vQBgBQBgQQ DB.Pr 7QBJ7rgs Qb7B.M2ui:d BgB: -- :.irIP.1Quqi7v5:XDP5 BvB7iQDBiBUZvQjSX1.. 17Y.:vBdL:r:::.irirsdQqSBQBBBgBQ.r: iQBQi7Lri . . Pv.. -- : iB.su.D:: K.M Yq.UiQJ.rrr.D.5rrQKbBQY:1jIQSrLvY iv1YQDQbii:... .. .:v7..JJBQBQQ SuKXRdXqdgBDQZQUdDg5BSuJSIXIUrvJ: -- . i :iP5 Bur7E:jiUbr7gXdiiri7di.gPjQvg1:SIQBQEXBQsPPIIL. :r2rvPP7vv5PqXSi:::.SZQQBQBQBBBQBQBQBQBQBq5BBBBQBBBs -- : . .i:D r.7:QYiS.ibIvBiYdrBURii7siKBrjb2B.SBZPUPdsRBjBEvBQQQs.. ri7vKv7.::.:i::.::i:vv1:L1dQBBgL:iqZ57 -- i 7 : .B2:1bLsrr:Pj Z:X5:v i5udQ:.gBr7JIgBQ.v7XJIiDXU. J1KSBBM1BQqBBMD:777v5i:i:.i:ir7rr. -- ...i Yu Pii1gv2u7ZP:QUBiPBMXZ.PBY5KggSiSiJiBQBXrSrqB5X.LRPur.:.77EMBQBQBBBZKi:r: -- :. i: u.vi:LJi.r:7.i: :IS:SrB:J..Bi IQ.d:5UrBBr7BQBgB7jr2vB:2: -- . v :. . . ----New series of simple scripts that just work..nothing fancy if myHero.charName ~= "Jax" then return end require "DamageLib" keybindings = { [ITEM_1] = HK_ITEM_1, [ITEM_2] = HK_ITEM_2, [ITEM_3] = HK_ITEM_3, [ITEM_4] = HK_ITEM_4, [ITEM_5] = HK_ITEM_5, [ITEM_6] = HK_ITEM_6} local castSpell = {state = 0, tick = GetTickCount(), casting = GetTickCount() - 1000, mouse = mousePos} local barHeight = 8 local barWidth = 103 local barXOffset = 0 local barYOffset = 0 function SetMovement(bool) if _G.EOWLoaded then EOW:SetMovements(bool) EOW:SetAttacks(bool) elseif _G.SDK then _G.SDK.Orbwalker:SetMovement(bool) _G.SDK.Orbwalker:SetAttack(bool) else GOS.BlockMovement = not bool GOS.BlockAttack = not bool end if bool then castSpell.state = 0 end end class "Jax" local Scriptname,Version,Author,LVersion = "JaxExpress","v1.0","Tocsin","7.17" function CurrentTarget(range) if _G.SDK then return _G.SDK.TargetSelector:GetTarget(range, _G.SDK.DAMAGE_TYPE_PHYSICAL); elseif _G.EOW then return _G.EOW:GetTarget(range) else return _G.GOS:GetTarget(range,"AD") end end function Jax:__init() self:LoadSpells() self:LoadMenu() Callback.Add("Tick", function() self:Tick() end) Callback.Add("Draw", function() self:Draw() end) local orbwalkername = "" if _G.SDK then orbwalkername = "IC'S orbwalker" elseif _G.EOW then orbwalkername = "EOW" elseif _G.GOS then orbwalkername = "Noddy orbwalker" else orbwalkername = "Orbwalker not found" end PrintChat(Scriptname.." "..Version.." - Loaded...."..orbwalkername) end function Jax:LoadSpells() Q = { range = myHero:GetSpellData(_Q).range, delay = myHero:GetSpellData(_Q).delay, speed = myHero:GetSpellData(_Q).speed, width = myHero:GetSpellData(_Q).width } W = { range = myHero:GetSpellData(_W).range, delay = myHero:GetSpellData(_W).delay, speed = myHero:GetSpellData(_W).speed, width = myHero:GetSpellData(_W).width } E = { range = myHero:GetSpellData(_E).range, delay = myHero:GetSpellData(_E).delay, speed = myHero:GetSpellData(_E).speed, width = myHero:GetSpellData(_E).width } R = { range = myHero:GetSpellData(_R).range, delay = myHero:GetSpellData(_R).delay, speed = myHero:GetSpellData(_R).speed, width = myHero:GetSpellData(_R).width } end function Jax:LoadMenu() self.Menu = MenuElement({type = MENU, id = "JaxExpress", name = Scriptname}) self.Menu:MenuElement({id = "ComboMode", name = "Combo", type = MENU}) self.Menu.ComboMode:MenuElement({id = "UseQ", name = "Q: Leap Strike", value = true}) self.Menu.ComboMode:MenuElement({id = "UseW", name = "W: Empower", value = true}) self.Menu.ComboMode:MenuElement({id = "UseE", name = "E: Counter Strike", value = true}) self.Menu.ComboMode:MenuElement({id = "Key", name = "Toggle: E Insta -- Delay Key", key = string.byte("T"), toggle = true}) self.Menu.ComboMode:MenuElement({id = "UseR", name = "R: Grandmaster's Might", value = true}) self.Menu.ComboMode:MenuElement({id = "comboActive", name = "Combo key", key = string.byte(" ")}) self.Menu.ComboMode:MenuElement({id = "UseHYDRA", name = "Use hydra", value = true}) self.Menu.ComboMode:MenuElement({id = "DrawDamage", name = "Draw damage on HPbar", value = true}) self.Menu:MenuElement({id = "HarassMode", name = "Harass", type = MENU}) self.Menu.HarassMode:MenuElement({id = "UseQ", name = "Q: Leap Strike", value = true}) self.Menu.HarassMode:MenuElement({id = "UseW", name = "W: Empower", value = true}) self.Menu.HarassMode:MenuElement({id = "UseE", name = "E: Counter Strike", value = true}) self.Menu.HarassMode:MenuElement({id = "harassActive", name = "Harass key", key = string.byte("C")}) self.Menu:MenuElement({id = "ClearMode", name = "Clear", type = MENU}) self.Menu.ClearMode:MenuElement({id = "UseQ", name = "Q: Leap Strike", value = true}) self.Menu.ClearMode:MenuElement({id = "UseW", name = "W: Empower", value = true}) self.Menu.ClearMode:MenuElement({id = "UseE", name = "E: Counter Strike", value = true}) self.Menu.ClearMode:MenuElement({id = "clearActive", name = "Clear key", key = string.byte("V")}) self.Menu:MenuElement({id = "CustomSpellCast", name = "Use custom spellcast", tooltip = "Can fix some casting problems with wrong directions and so", value = true}) self.Menu:MenuElement({id = "delay", name = "Custom spellcast delay", value = 100, min = 0, max = 200, step = 5,tooltip = "increase this one if spells is going completely wrong direction", identifier = ""}) self.Menu:MenuElement({id = "blank", type = SPACE , name = ""}) self.Menu:MenuElement({id = "blank", type = SPACE , name = "Script Ver: "..Version.. " - LoL Ver: "..LVersion.. ""}) self.Menu:MenuElement({id = "blank", type = SPACE , name = "by "..Author.. ""}) end function GetInventorySlotItem(itemID) assert(type(itemID) == "number", "GetInventorySlotItem: wrong argument types ( expected)") for _, j in pairs({ ITEM_1, ITEM_2, ITEM_3, ITEM_4, ITEM_5, ITEM_6}) do if myHero:GetItemData(j).itemID == itemID and myHero:GetSpellData(j).currentCd == 0 then return j end end return nil end function UseHydra() local HTarget = CurrentTarget(125) if HTarget then local hydraitem = GetInventorySlotItem(3748) or GetInventorySlotItem(3077) if hydraitem and myHero.attackData.state == STATE_WINDDOWN then Control.CastSpell(keybindings[hydraitem],HTarget.pos) Control.Attack(HTarget) end end end function UseHydraminion() for i = 1, Game.MinionCount() do local minion = Game.Minion(i) if minion and minion.team == 300 or minion.team ~= myHero.team then local hydraitem = GetInventorySlotItem(3748) or GetInventorySlotItem(3077) if hydraitem and myHero.attackData.state == STATE_WINDDOWN then Control.CastSpell(keybindings[hydraitem]) Control.Attack(minion) end end end end function UseBotrk() local BTarget = CurrentTarget(400) if BTarget then local botrkitem = GetInventorySlotItem(3153) or GetInventorySlotItem(3144) if botrkitem then Control.CastSpell(keybindings[botrkitem],BTarget.pos) end end end function IsRecalling() for K, Buff in pairs(GetBuffs(myHero)) do if Buff.name == "recall" and Buff.duration > 0 then return true end end return false end function ValidTarget(target, range) range = range and range or math.huge return target ~= nil and target.valid and target.visible and not target.dead and target.distance <= range end function Jax:Tick() if myHero.dead or Game.IsChatOpen() == true or IsRecalling() == true then return end if self.Menu.HarassMode.harassActive:Value() and self:EnemyInRange(700) then self:Harass() end if self.Menu.ComboMode.comboActive:Value() and self:EnemyInRange(700) then self:Combo() end if self.Menu.ClearMode.clearActive:Value() then self:Jungle() end end function Jax:HasBuff(unit, buffname) for i = 0, unit.buffCount do local buff = unit:GetBuff(i) if buff.name == buffname and buff.count > 0 then return true end end return false end function Jax:IsReady(spell) return Game.CanUseSpell(spell) == 0 end function Jax:CheckMana(spellSlot) return myHero:GetSpellData(spellSlot).mana < myHero.mana end function Jax:CanCast(spellSlot) return self:IsReady(spellSlot) and self:CheckMana(spellSlot) end function EnableMovement() SetMovement(true) end function ReturnCursor(pos) Control.SetCursorPos(pos) DelayAction(EnableMovement,0.1) end function LeftClick(pos) Control.mouse_event(MOUSEEVENTF_LEFTDOWN) Control.mouse_event(MOUSEEVENTF_LEFTUP) DelayAction(ReturnCursor,0.05,{pos}) end function Jax:Draw() local textPos = myHero.pos:To2D() if self:CanCast(_Q) then Draw.Circle(myHero.pos, 700, 3, Draw.Color(255, 000, 222, 255)) end if self.Menu.ComboMode.DrawDamage:Value() then for i, hero in pairs(self:GetEnemyHeroes()) do local barPos = hero.hpBar if not hero.dead and hero.pos2D.onScreen and barPos.onScreen and hero.visible then local QDamage = (self:CanCast(_Q) and getdmg("Q",hero,myHero) or 0) local WDamage = (self:CanCast(_W) and getdmg("W",hero,myHero) or 0) local EDamage = (self:CanCast(_E) and getdmg("E",hero,myHero) or 0) local damage = QDamage + WDamage + EDamage if damage > hero.health then Draw.Text("killable", 24, hero.pos2D.x, hero.pos2D.y,Draw.Color(0xFF00FF00)) else local percentHealthAfterDamage = math.max(0, hero.health - damage) / hero.maxHealth local xPosEnd = barPos.x + barXOffset + barWidth * hero.health/hero.maxHealth local xPosStart = barPos.x + barXOffset + percentHealthAfterDamage * 100 Draw.Line(xPosStart, barPos.y + barYOffset, xPosEnd, barPos.y + barYOffset, 10, Draw.Color(0xFF00FF00)) end end end end if self.Menu.ComboMode.Key:Value() then Draw.Text("Insta E: On", 20, textPos.x - 33, textPos.y + 50, Draw.Color(255, 000, 255, 000)) --above built in smite msg incase jungle jax else Draw.Text("Insta E: Off", 20, textPos.x - 33, textPos.y + 50, Draw.Color(255, 225, 000, 000)) end end function Jax:CastSpell(spell,pos) local customcast = self.Menu.CustomSpellCast:Value() if not customcast then Control.CastSpell(spell, pos) return else local delay = self.Menu.delay:Value() local ticker = GetTickCount() if castSpell.state == 0 and ticker > castSpell.casting then castSpell.state = 1 castSpell.mouse = mousePos castSpell.tick = ticker if ticker - castSpell.tick < Game.Latency() then SetMovement(false) Control.SetCursorPos(pos) Control.KeyDown(spell) Control.KeyUp(spell) DelayAction(LeftClick,delay/1000,{castSpell.mouse}) castSpell.casting = ticker + 500 end end end end function Jax:Combo() if self.Menu.ComboMode.UseHYDRA:Value() and not self:HasBuff(myHero, "Empower") and self:EnemyInRange(124) then if myHero.attackData.state == STATE_WINDDOWN and not self:CanCast(_W) then UseHydra() end end ----------------------------JaxCounterStrike if self:CanCast(_E) and self:EnemyInRange(720) then local ETarget = CurrentTarget(720) if self.Menu.ComboMode.UseE:Value() and self.Menu.ComboMode.Key:Value() == false and ETarget and not self:HasBuff(myHero, "JaxCounterStrike") then if self:EnemyInRange(125) and myHero.pos:DistanceTo(ETarget.pos) < 130 then Control.CastSpell(HK_E) end end if self.Menu.ComboMode.UseE:Value() and self.Menu.ComboMode.Key:Value() == true and ETarget and not self:HasBuff(myHero, "JaxCounterStrike") then if self:EnemyInRange(720) and self:CanCast(_Q) and myHero.pos:DistanceTo(ETarget.pos) < 720 then Control.CastSpell(HK_E) end end end if self:CanCast(_Q) and self:EnemyInRange(695) then local QTarget = CurrentTarget(695) if self.Menu.ComboMode.UseQ:Value() and QTarget then if self:EnemyInRange(695) and myHero.pos:DistanceTo(QTarget.pos) > 250 then Control.CastSpell(HK_Q, QTarget) end end end if self:CanCast(_W) and self:EnemyInRange(175) then local WTarget = CurrentTarget(175) if self.Menu.ComboMode.UseW:Value() and WTarget then if self:EnemyInRange(175) and myHero.attackData.state == STATE_WINDDOWN then Control.CastSpell(HK_W) Control.Attack(WTarget) end end end if self:CanCast(_R) and self:EnemyInRange(700) then local RTarget = CurrentTarget(700) if self.Menu.ComboMode.UseR:Value() and RTarget then if myHero.health/myHero.maxHealth < .60 and myHero.pos:DistanceTo(RTarget.pos) < 250 then Control.CastSpell(HK_R) end end end if self:EnemyInRange(400) and not self:CanCast(_Q) then local BTarget = CurrentTarget(400) if BTarget then if myHero.pos:DistanceTo(BTarget.pos) < 400 then UseBotrk() end end end end function Jax:GetEnemyHeroes() self.EnemyHeroes = {} for i = 1, Game.HeroCount() do local Hero = Game.Hero(i) if Hero.isEnemy then table.insert(self.EnemyHeroes, Hero) end end return self.EnemyHeroes end function Jax:EnemyInRange(range) local count = 0 for i, target in ipairs(self:GetEnemyHeroes()) do if target.pos:DistanceTo(myHero.pos) < range then count = count + 1 end end return count end function Jax:Harass() if self.Menu.ComboMode.UseHYDRA:Value() and not self:HasBuff(myHero, "Empower") and self:EnemyInRange(124) then if myHero.attackData.state == STATE_WINDDOWN and not self:CanCast(_W) then UseHydra() end end if self:CanCast(_E) and self:EnemyInRange(720) then local ETarget = CurrentTarget(720) if self.Menu.HarassMode.UseE:Value() and self.Menu.ComboMode.Key:Value() == false and ETarget and not self:HasBuff(myHero, "JaxCounterStrike") then if self:EnemyInRange(125) and myHero.pos:DistanceTo(ETarget.pos) < 130 then Control.CastSpell(HK_E) end end if self.Menu.HarassMode.UseE:Value() and self.Menu.ComboMode.Key:Value() == true and ETarget and not self:HasBuff(myHero, "JaxCounterStrike") then if self:EnemyInRange(720) and self:CanCast(_Q) and myHero.pos:DistanceTo(ETarget.pos) < 720 then Control.CastSpell(HK_E) end end end if self:CanCast(_Q) and self:EnemyInRange(700) then local QTarget = CurrentTarget(700) if self.Menu.HarassMode.UseQ:Value() and QTarget then if self:EnemyInRange(700) and myHero.pos:DistanceTo(QTarget.pos) > 250 then Control.CastSpell(HK_Q, QTarget) end end end if self:CanCast(_W) and self:EnemyInRange(175) then local WTarget = CurrentTarget(175) if self.Menu.HarassMode.UseW:Value() and WTarget then if self:EnemyInRange(175) and myHero.attackData.state == STATE_WINDDOWN then Control.CastSpell(HK_W) Control.Attack(WTarget) end end end end function Jax:Jungle() for i = 1, Game.MinionCount() do local minion = Game.Minion(i) if minion and minion.team == 300 or minion.team ~= myHero.team then if self:CanCast(_E) and minion then if self.Menu.ClearMode.UseE:Value() and self.Menu.ComboMode.Key:Value() == false and not self:HasBuff(myHero, "JaxCounterStrike") then if myHero.pos:DistanceTo(minion.pos) < 175 then Control.CastSpell(HK_E) end end if self.Menu.ClearMode.UseE:Value() and self.Menu.ComboMode.Key:Value() == true and not self:HasBuff(myHero, "JaxCounterStrike") then if myHero.pos:DistanceTo(minion.pos) < 700 and self:CanCast(_Q) then Control.CastSpell(HK_E) end end end if self.Menu.ComboMode.UseHYDRA:Value() and not self:HasBuff(myHero, "Empower") and minion then if myHero.attackData.state == STATE_WINDDOWN and not self:CanCast(_W) and myHero.pos:DistanceTo(minion.pos) < 150 then UseHydraminion() end end if self:CanCast(_Q) and minion then if self.Menu.ClearMode.UseQ:Value() and ValidTarget(minion, 700) then if myHero.pos:DistanceTo(minion.pos) > 250 then Control.CastSpell(HK_Q, minion) end end end if self:CanCast(_W) and minion then if self.Menu.ClearMode.UseW:Value() and ValidTarget(minion, 175) then if myHero.pos:DistanceTo(minion.pos) < 175 and myHero.attackData.state == STATE_WINDDOWN then Control.CastSpell(HK_W) Control.Attack(minion) end end end end end end function OnLoad() Jax() end