Functions:
1 - Spells(Slot, Delay, Speed, Width, Range, Collision, collNum, Aoe, Type, Name, HitChance)
-- Slot: _Q, _W, _E, _R,...
-- Delay, Speed, Width, Range: Spell Data
-- Collision: boolean(true/false) -- Ex: EzrealQ: true, EzrealW: false
-- collNumber: collision Number -- Ex: LuxQ: 2, MorganaQ: 1
-- Aoe: boolean(true/false) -- Ex: XerathQ: true
-- Type: "linear" or "circular" or "cone" -- Ex: KogMawE: "linear", KogMawR: "circular"
-- Name: Spell of name, write name you want but it must inside " "
Spells:GetHitChance(number or Link to HitChance on Menu) -- Update HitChance
Spells:Cast1(enemyHero) -- CastSkillShot
Spells:Cast2(enemyHero, currentSpellRange) -- CastSkillShot2
Example:
-- Xerath Q, E, R -- hc = MenuConfig("hitchance", "Hit Chance") hc:Slider("Q", "Q HitChance, 25, 0, 100, 1) hc:Slider("E", "E HitChance, 25, 0, 100, 1) hc:Slider("R", "R HitChance, 25, 0, 100, 1) -- Spells(Slot, Delay, Speed, Width, Range, Collision, collNum, Aoe, Type, Name, hitchance) local Q = Spells(_Q, 0.575, math.huge, 100, 1500, false, 0, true, "linear", "Xerath Q", hc.Q:Value()/100) -- FullQRange local E = Spells(_E, 0.3, 1200, 60, myHero:GetSpellData(_E).range, true, 1, false, "linear", "Xerath E", hc.E:Value()/100) -- R have a different range each every level so: local R1 = Spells(_R, 0.675, math.huge, 140, 3200, false, 0, true, "circular", "Xerath RLvl1", hc.R:Value()/100) local R2 = Spells(_R, 0.675, math.huge, 140, 4400, false, 0, true, "circular", "Xerath RLvl2", hc.R:Value()/100) local R3 = Spells(_R, 0.675, math.huge, 140, 5600, false, 0, true, "circular", "Xerath RLvl3", hc.R:Value()/100) OnTick(function(myHero) local target = GetCurrentTarget() local QCharging = ..yourMathhere.. local CurrentQRange = ..yourMathhere.. if ValidTarget(target, 1500) and IsReady(_Q) then if QCharging == false then CastSkillShot(_Q, GetMousePos()) elseif QCharging == true then Q:GetHitChance(hc.Q:Value()/100) -- Update HitChance Q:Cast2(target, CurrentQRange) end end if ValidTarget(target, myHero:GetSpellData(_E).range) and IsReady(_E) then E:GetHitChance(hc.E:Value()/100) E:Cast1(target) end if ValidTarget(target, 2000 + 1200*myHero:GetSpellData(_R).level) and IsReady(_R) then if myHero:GetSpellData(_R).level == 1 then R1:GetHitChance(hc.R:Value()/100) R1:Cast1(target) elseif myHero:GetSpellData(_R).level == 2 then R2:GetHitChance(hc.R:Value()/100) R2:Cast1(target) elseif myHero:GetSpellData(_R).level == 3 then R3:GetHitChance(hc.R:Value()/100) R3:Cast1(target) end end end) ----------[[ You can put Spells:GetHitChance(value) outside OnTick to improve FPS ]]---------- Ex: hc = MenuConfig("hitchance", "Hit Chance") hc:Slider("Q", "Q HitChance, 25, 0, 100, 1, function() GetSpellHc(hc.Q:Value()/100) end) local Q = Spells(_Q, 0.575, math.huge, 100, 1500, false, 0, true, "linear", "Xerath Q", hc.Q:Value()/100) function GetSpellHc(value) Q:GetHitChance(value) end OnTick(function(myHero) Q:Cast1(GetCurrentTarget()) end) --[[ You can update SpellData value too, using this: UpdateValue("whatData", number) -- You can change value of "Delay", "Speed", "Width", "Range", "CollNum" Q:UpdateValue("Delay", 0.8) --> Delay will change from 0.575 to 0.8 --]]
2 - Mix:Mode()
Return current mode of current orbwalker, will return: "Combo", "Harass", "LaneClear", "LastHit", "NotActive"
OnTick(function(myHero) if Mix:Mode() == "Combo" then ... end if Mix:Mode() == "Harass" then ... end if Mix:Mode() == "LaneClear" then ... end if Mix:Mode() == "LastHit" then ... end end)
3 - Mix:HealthPredict(unit, time, predictNameyouWant)
Return health of unit after timeDelta -- Name can be: "GoS": GoSHealthPredict, "OP": OpenPredictHP, "OW": HealthPredict of current OW
OnDraw(function(myHero) for m, minion in paris(minionManager.objects) do if minion.team == MINION_ENEMY and ValidTarget(minion, myHero.range) and myHero.totalDamage > Mix:HealthPredict(minion, GetWindUp(myHero)+GetDistance(minion)/1800, "OW") then DrawCircle(minion.pos, 100, 1, 1, GoS.White) end end end
4 - Mix:GetMob(range)
Return current mob depending on current Orbwalker.
OnTick(function(myHero) local mob = Mix:GetMob(1500) if mob then MoveToXYZ(mob.pos.x, mob.pos.y, mob.pos.z) end end)
4 - Mix:GetSlotByName(Name)
Return slot of the name or nil
If you don't know the name, you can using this: Mix:GetOtherSlot("Ignite") -- return Ignite slot or nil. "Ignite" can change to "Smite" or "Flash" or "Barrier" or "Cleanse" or "Teleport" or "Clarity" or "Heal"
You can get Item slot with the name too but you must put it inside "Loop"
You can get ward slot by using this: Mix:GetWardSlot("whatWard") -- "Yellow", "Sight", "Vision", "Blue" -- put inside loop too
local Heal = Mix:GetSlotByName("summonerheal") local Ignite = Mix:GetOtherSlot("Ignite") OnTick(function(myHero) local target = GetCurrentTarget() local YellowTrinket = Mix:GetWardSlot("Yellow") if Heal and IsReady(Heal) and myHero.health < 200 then CastSpell(Heal) end if Ignite and IsReady(Ignite) and ValidTarget(target, 600) then CastTarGetSpell(target, Ignite) end if YellowTrinket and ValidTarget(target, 700) then CastSkillShot(YellowTrinket, target.pos) end end)
5 - BlockMovement(true/false), BlockAttack(true/false), BlockOrb(true/false)
Will block Move, Attack depending on current Orbwalker.
Credits to:
Inspired (Inspired)
Deftsu (DAC)
Platypus
(PW)
MeoBeo (GoSWalk)
jouzuna (OpenPredict)
Icesythe7 (someCode)
* Talk me if I forgot someone
Requirement
And all file of Preiction, Orbwalker
*Talk me if functions not work or you have some bugs
if FileExist(COMMON_PATH.."MixLib.lua") then
require('MixLib')
LoadMixLib()
else
PrintChat("MixLib not found. Please wait for download.")
DownloadFileAsync("https://raw.githubusercontent.com/VTNEETS/NEET-Scripts/master/MixLib.lua", COMMON_PATH.."MixLib.lua", function() PrintChat("Update Complete, please 2x F6!") return end)
end