function SetMuramana()
if AutoCarry.Orbwalker.target ~= nil and ItemMenu.muraMana and not MuramanaIsActive() and (AutoCarry.MainMenu.AutoCarry or AutoCarry.MainMenu.MixedMode) then
MuramanaOn()
elseif AutoCarry.Orbwalker.target == nil and ItemMenu.muraMana and MuramanaIsActive() then
MuramanaOff()
end
end
--[[ Summoner Spells ]]--
local ignite, barrier, healthBefore, healthBeforeTimer, nextUpdate, nextCheck = nil, nil, 0, 0, 0, 0, 0
function SummonerOnLoad()
ignite = (player:GetSpellData(SUMMONER_1).name == "SummonerDot" and SUMMONER_1 or (player:GetSpellData(SUMMONER_2).name == "SummonerDot" and SUMMONER_2 or nil))
barrier = (player:GetSpellData(SUMMONER_1).name == "SummonerBarrier" and SUMMONER_1 or (player:GetSpellData(SUMMONER_2).name == "SummonerBarrier" and SUMMONER_2 or nil))
end
function SummonerOnTick()
if ignite and SummonerMenu.Ignite and myHero:CanUseSpell(ignite) == READY then
for _, enemy in pairs(GetEnemyHeroes()) do
if ValidTarget(enemy, 600) and enemy.health <= 50 + (20 * player.level) then
CastSpell(ignite, enemy)
end
end
end
if barrier and SummonerMenu.Barrier and myHero:CanUseSpell(barrier) == READY then
if GetTickCount() >= nextCheck then
local co = ((myHero.health / myHero.maxHealth * 100) - 20)*(0.3-0.1)/(100-20)+0.1
local proc = myHero.maxHealth * co
if healthBefore - myHero.health > proc and myHero.health < myHero.maxHealth * 0.3 then
CastSpell(barrier)
end
nextCheck = GetTickCount() + 100
if GetTickCount() >= nextUpdate then
healthBefore = myHero.health
healthBeforeTimer = GetTickCount()
nextUpdate = GetTickCount() + 1000
end
end
end
end
--[[ Plugins ]]--
if FileExist(LIB_PATH .."SidasAutoCarryPlugin - "..myHero.charName..".lua") then
hasPlugin = true
end
AutoCarry.GetAttackTarget = function(isCaster)
if not isCaster and ValidTarget(AutoCarry.Orbwalker.target) then
return AutoCarry.Orbwalker.target
else
AutoCarry.SkillsCrosshair:update()
return AutoCarry.SkillsCrosshair.target
end
end
AutoCarry.GetKillableMinion = function()
return killableMinion
end
AutoCarry.GetMinionTarget = function()
if killableMinion then
return killableMinion
elseif pluginMinion then
return pluginMinion
else
return nil
end
end
AutoCarry.EnemyMinions = function()
return enemyMinions
end
AutoCarry.AllyMinions = function()
return allyMinions
end
AutoCarry.GetJungleMobs = function()
return jungleMobs
end
AutoCarry.GetLastAttacked = function()
return lastAttacked
end
function OnApplyParticle(Unit, Particle)
if PluginOnApplyParticle then PluginOnApplyParticle(Unit, Particle) end
end
--[[ Callbacks ]]--
function OnLoad()
enemyMinions = minionManager(MINION_ENEMY, 2000, player, MINION_SORT_HEALTH_ASC)
allyMinions = minionManager(MINION_ALLY, 2000, player, MINION_SORT_HEALTH_ASC)
if getChampTable()[myHero.charName] then
ChampInfo = getChampTable()[myHero.charName]
end
OrbwalkingOnLoad()
SkillsOnLoad()
LastHitOnLoad()
SummonerOnLoad()
AutoCarry.EnemyTable = GetEnemyHeroes()
PriorityOnLoad()
setMenus()
StreamingMenu.DisableDrawing = false
if VIP_USER and PerformanceMenu.VipCol then
require "Collision"
PrintChat(">> Sida's Auto Carry: VIP Collision Enabled")
useVIPCol = true
end
if PluginOnLoad then PluginOnLoad() end
if not AutoCarry.OverrideCustomChampionSupport then LoadCustomChampionSupport() end
if CustomOnLoad then CustomOnLoad() end
PrintChat(">> Sida's Auto Carry: Revamped!")
end
function OnTick()
OrbwalkingOnTick()
LastHitOnTick()
SkillsOnTick()
SummonerOnTick()
setMovement()
SetMuramana()
if PluginOnTick then PluginOnTick() end
AutoCarry.CurrentlyShooting = (GetTickCount() + GetLatency()/2 < lastAttack + previousWindUp + 20 + 30)
if StreamingMenu.DisableDrawing and not hudDisabled then
for i = 0, 10 do
PrintChat("")
end
hudDisabled = true
DisableOverlay()
end
if (AutoCarry.MainMenu.AutoCarry and ItemMenu.UseItemsAC) or (AutoCarry.MainMenu.LastHit and ItemMenu.UseItemsLastHit) or (AutoCarry.MainMenu.MixedMode and ItemMenu.UseItemsMixed) then
UseItemsOnTick()
end
if AutoCarry.MainMenu.AutoCarry then
if AutoCarry.Orbwalker.target ~= nil and EnemyInRange(AutoCarry.Orbwalker.target) then
if timeToShoot() and AutoCarry.CanAttack then
attackEnemy(AutoCarry.Orbwalker.target)
elseif heroCanMove() then
moveToCursor()
end
elseif heroCanMove() then
moveToCursor()
end
end
if AutoCarry.MainMenu.LastHit then
if not ValidTarget(killableMinion) then killableMinion = getKillableCreep(1) end
if ValidTarget(killableMinion) and timeToShoot() and AutoCarry.CanAttack then
attackEnemy(killableMinion)
--elseif ValidTarget(turretMinion.obj) and timeToShoot() and AutoCarry.CanAttack and turretMinion.timeToHit > getTimeToHit(turretMinion.obj, projSpeed) then
-- attackEnemy(turretMinion.obj)
elseif heroCanMove() and FarmMenu.moveLastHit then
moveToCursor()
end
end
if AutoCarry.MainMenu.MixedMode then
if AutoCarry.Orbwalker.target ~= nil and EnemyInRange(AutoCarry.Orbwalker.target) then
if timeToShoot() and AutoCarry.CanAttack then
attackEnemy(AutoCarry.Orbwalker.target)
elseif heroCanMove() then
moveToCursor()
end
else
if not ValidTarget(killableMinion) then killableMinion = getKillableCreep(1) end
if ValidTarget(killableMinion) and timeToShoot() and AutoCarry.CanAttack then
attackEnemy(killableMinion)
elseif heroCanMove() and FarmMenu.moveMixed then
moveToCursor()
end
end
end
if AutoCarry.MainMenu.LaneClear then
if not ValidTarget(killableMinion) then killableMinion = getKillableCreep(1) end
if ValidTarget(killableMinion) and timeToShoot() and AutoCarry.CanAttack then
attackEnemy(killableMinion)
else
local tMinion = getHighestMinion()
if tMinion and ValidTarget(tMinion) and timeToShoot() and AutoCarry.CanAttack then
pluginMinion = tMinion
attackEnemy(tMinion)
else
if PerformanceMenu.JungleFarm then
local tMinion = getJungleMinion()
if tMinion and ValidTarget(tMinion) and timeToShoot() and AutoCarry.CanAttack then
pluginMinion = tMinion
attackEnemy(tMinion)
elseif heroCanMove() and FarmMenu.moveClear then
moveToCursor()
end
elseif heroCanMove() and FarmMenu.moveClear then
moveToCursor()
end
end
end
end
if CustomOnTick then CustomOnTick() end
end
function OnProcessSpell(unit, spell)
OrbwalkingOnProcessSpell(unit, spell)
LastHitOnProcessSpell(unit, spell)
if CustomOnProcessSpell then CustomOnProcessSpell(unit, spell) end
if PluginOnProcessSpell then PluginOnProcessSpell(unit, spell) end
end
function OnCreateObj(obj)
if myHero.dead or ChampInfo == nil then return end
if PerformanceMenu.JungleFarm then LastHitOnCreateObj(obj) end
if CustomOnCreateObj then CustomOnCreateObj(obj) end
if PluginOnCreateObj then PluginOnCreateObj(obj) end
end
function OnDeleteObj(obj)
if PerformanceMenu.JungleFarm then LastHitOnDeleteObj(obj) end
if CustomOnDeleteObj then CustomOnDeleteObj(obj) end
if PluginOnDeleteObj then PluginOnDeleteObj(obj) end
end
function OnAnimation(unit, animation)
if PluginOnAnimation then PluginOnAnimation(unit, animation) end
end
--function OnSendPacket(packet)
-- if PluginOnSendPacket then PluginOnSendPacket(packet) end
--end
function OnDraw()
if not DisplayMenu.disableAllDrawing then
if DisplayMenu.myRange and not disableRangeDraw then
DrawCircle(myHero.x, myHero.y, myHero.z, getTrueRange(), 0x19A712)
end
DrawCircle(myHero.x, myHero.y, myHero.z, AutoCarry.MainMenu.HoldZone, 0xFFFFFF)
OrbwalkingOnDraw()
LastHitOnDraw()
if CustomOnDraw then CustomOnDraw() end
if PluginOnDraw then PluginOnDraw() end
end
end
function OnWndMsg(msg, key)
if PluginOnWndMsg then PluginOnWndMsg(msg, key) end
end
--[[ Data ]]--
function getChampTable()
return {
Ahri = { projSpeed = 1.6},
Anivia = { projSpeed = 1.05},
Annie = { projSpeed = 1.0},
Ashe = { projSpeed = 2.0},
Brand = { projSpeed = 1.975},
Caitlyn = { projSpeed = 2.5},
Cassiopeia = { projSpeed = 1.22},
Corki = { projSpeed = 2.0},
Draven = { projSpeed = 1.4},
Ezreal = { projSpeed = 2.0},
FiddleSticks = { projSpeed = 1.75},
Graves = { projSpeed = 3.0},
Heimerdinger = { projSpeed = 1.4},
Janna = { projSpeed = 1.2},
Jayce = { projSpeed = 2.2},
Karma = { projSpeed = 1.2},
Karthus = { projSpeed = 1.25},
Kayle = { projSpeed = 1.8},
Kennen = { projSpeed = 1.35},
KogMaw = { projSpeed = 1.8},
Leblanc = { projSpeed = 1.7},
Lucian = { projSpeed = 2.0},
Lulu = { projSpeed = 2.5},
Lux = { projSpeed = 1.55},
Malzahar = { projSpeed = 1.5},
MissFortune = { projSpeed = 2.0},
Morgana = { projSpeed = 1.6},
Nidalee = { projSpeed = 1.7},
Orianna = { projSpeed = 1.4},
Quinn = { projSpeed = 1.85},
Ryze = { projSpeed = 2.4},
Sivir = { projSpeed = 1.4},
Sona = { projSpeed = 1.6},
Soraka = { projSpeed = 1.0},
Swain = { projSpeed = 1.6},
Syndra = { projSpeed = 1.2},
Teemo = { projSpeed = 1.3},
Tristana = { projSpeed = 2.25},
TwistedFate = { projSpeed = 1.5},
Twitch = { projSpeed = 2.5},
Urgot = { projSpeed = 1.3},
Vayne = { projSpeed = 2.0},
Varus = { projSpeed = 2.0},
Veigar = { projSpeed = 1.05},
Viktor = { projSpeed = 2.25},
Vladimir = { projSpeed = 1.4},
Xerath = { projSpeed = 1.2},
Ziggs = { projSpeed = 1.5},
Zilean = { projSpeed = 1.25},
Zyra = { projSpeed = 1.7},
}
end
function getSpellList()
local spellArray = nil
if myHero.charName == "Ezreal" then
spellArray = {
{ spellKey = _Q, range = 1100, speed = 2.0, delay = 250, width = 70, configName = "mysticShot", displayName = "Q (Mystic Shot)", enabled = true, skillShot = true, minions = true, reset = false, reqTarget = true },
{ spellKey = _W, range = 1050, speed = 1.6, delay = 250, width = 90, configName = "essenceFlux", displayName = "W (Essence Flux)", enabled = true, skillShot = true, minions = false, reset = false, reqTarget = true },
}
elseif myHero.charName == "KogMaw" then
spellArray = {
{ spellKey = _Q, range = 625, speed = 1.3, delay = 260, width = 200, configName = "causticSpittle", displayName = "Q (Caustic Spittle)", enabled = true, skillShot = false, minions = false, reset = true, reqTarget = true },
{ spellKey = _W, range = 625, speed = 1.3, delay = 260, width = 200, configName = "bioArcaneBarrage", displayName = "W (Bio-Arcane Barrage)", enabled = true, forceRange = true, forceToHitBox = true, skillShot = false, minions = false, reset = false, reqTarget = false },
{ spellKey = _E, range = 850, speed = 1.3, delay = 260, width = 200, configName = "voidOoze", displayName = "E (Void Ooze)", enabled = true, skillShot = true, minions = false, reset = false, reqTarget = true },
{ spellKey = _R, range = 1700, speed = math.huge, delay = 1000, width = 200, configName = "livingArtillery", displayName = "R (Living Artillery)", enabled = true, skillShot = true, minions = false, reset = false, reqTarget = true },
}
elseif myHero.charName == "Sivir" then
spellArray = {
{ spellKey = _Q, range = 1000, speed = 1.33, delay = 250, width = 120, configName = "boomerangBlade", displayName = "Q (Boomerang Blade)", enabled = true, skillShot = true, minions = false, reset = false, reqTarget = true },
{ spellKey = _W, range = getTrueRange(), speed = 1, delay = 0, width = 200, configName = "Ricochet", displayName = "W (Ricochet)", enabled = true, skillShot = false, minions = false, reset = true, reqTarget = true },
}
elseif myHero.charName == "Graves" then
spellArray = {
{ spellKey = _Q, range = 750, speed = 2, delay = 250, width = 200, configName = "buckShot", displayName = "Q (Buck Shot)", enabled = true, skillShot = true, minions = false, reset = false, reqTarget = true },
{ spellKey = _W, range = 700, speed = 1400, delay = 300, width = 500, configName = "smokeScreen", displayName = "W (Smoke Screen)", enabled = false, skillShot = true, minions = false, reset = false, reqTarget = true },
{ spellKey = _E, range = 580, speed = 1450, delay = 250, width = 200, configName = "quickDraw", displayName = "E (Quick Draw)", enabled = true, skillShot = false, minions = false, reset = true, reqTarget = false, atMouse = true },
}
elseif myHero.charName == "Caitlyn" then
spellArray = {
{ spellKey = _Q, range = 1300, speed = 2.1, delay = 625, width = 100, configName = "piltoverPeacemaker", displayName = "Q (Piltover Peacemaker)", enabled = true, skillShot = true, minions = true, reset = false, reqTarget = true },
}
elseif myHero.charName == "Corki" then
spellArray = {
{ spellKey = _Q, range = 600, speed = 2, delay = 200, width = 500, configName = "phosphorusBomb", displayName = "Q (Phosphorus Bomb)", enabled = true, skillShot = true, minions = false, reset = false, reqTarget = true },
{ spellKey = _R, range = 1225, speed = 2, delay = 200, width = 50, configName = "missileBarrage", displayName = "R (Missile Barrage)", enabled = true, skillShot = true, minions = true, reset = false, reqTarget = true },
}
elseif myHero.charName == "Teemo" then
spellArray = {
{ spellKey = _Q, range = 580, speed = 2, delay = 0, width = 200, configName = "blindingDart", displayName = "Q (Blinding Dart)", enabled = true, skillShot = false, minions = false, reset = false, reqTarget = true },
}
elseif myHero.charName == "TwistedFate" then
spellArray = {
{ spellKey = _Q, range = 1200, speed = 1.45, delay = 250, width = 200, configName = "wildCards", displayName = "Q (Wild Cards)", enabled = true, skillShot = true, minions = false, reset = false, reqTarget = true },
}
elseif myHero.charName == "Vayne" then
spellArray = {
{ spellKey = _Q, range = 580, speed = 1.45, delay = 250, width = 200, configName = "tumble", displayName = "Q (Tumble)", enabled = true, skillShot = false, minions = false, reset = true, reqTarget = false, atMouse = true },
{ spellKey = _R, range = 580, speed = 1.45, delay = 250, width = 200, configName = "finalHour", displayName = "R (Final Hour)", enabled = true, skillShot = false, minions = false, reset = false, reqTarget = false},
}
elseif myHero.charName == "MissFortune" then
spellArray = {
{ spellKey = _Q, range = 650, speed = 1.45, delay = 250, width = 200, configName = "doubleUp", displayName = "Q (Double Up)", enabled = true, skillShot = false, minions = false, reset = true, reqTarget = true},
{ spellKey = _W, range = 580, speed = 1.45, delay = 250, width = 200, configName = "impureShots", displayName = "W (Impure Shots)", enabled = true, skillShot = false, minions = false, reset = false, reqTarget = false},
{ spellKey = _E, range = 800, speed = math.huge, delay = 500, width = 500, configName = "makeItRain", displayName = "E (Make It Rain)", enabled = false, skillShot = true, minions = false, reset = false, reqTarget = true },
}
elseif myHero.charName == "Tristana" then
spellArray = {
{ spellKey = _Q, range = 580, speed = 1.45, delay = 250, width = 200, configName = "rapidFire", displayName = "Q (Rapid Fire)", enabled = true, skillShot = false, minions = false, reset = false, reqTarget = false},
{ spellKey = _E, range = 550, speed = 1.45, delay = 250, width = 200, configName = "explosiveShot", displayName = "E (Explosive Shot)", enabled = true, skillShot = false, minions = false, reset = false, reqTarget = true},
}
elseif myHero.charName == "Draven" then
spellArray = {
{ spellKey = _E, range = 950, speed = 1.37, delay = 300, width = 130, configName = "standAside", displayName = "E (Stand Aside)", enabled = true, skillShot = true, minions = false, reset = false, reqTarget = true},
}
--[[ Added Champs ]]
elseif myHero.charName == "Kennen" then
spellArray = {
{ spellKey = _Q, range = 1050, speed = 1.65, delay = 180, width = 80, configName = "thunderingShuriken", displayName = "Q (Thundering Shuriken)", enabled = true, skillShot = true, minions = true, reset = false, reqTarget = true },
}
elseif myHero.charName == "Ashe" then
spellArray = {
{ spellKey = _W, range = 1200, speed = 2.0, delay = 120, width = 85, configName = "Volley", displayName = "W (Volley)", enabled = true, skillShot = true, minions = true, reset = false, reqTarget = true },
}
elseif myHero.charName == "Syndra" then
spellArray = {
{ spellKey = _Q, range = 800, speed = math.huge, delay = 400, width = 100, configName = "darkSphere", displayName = "Q (Dark Sphere)", enabled = true, skillShot = true, minions = false, reset = false, reqTarget = true },
}
elseif myHero.charName == "Jayce" then
spellArray = {
{ spellKey = _Q, range = 1600, speed = 2.0, delay = 350, width = 90, configName = "shockBlast", displayName = "Q (Shock Blast)", enabled = true, skillShot = true, minions = true, reset = false, reqTarget = true },
}
elseif myHero.charName == "Nidalee" then
spellArray = {
{ spellKey = _Q, range = 1500, speed = 1.3, delay = 125, width = 80, configName = "javelinToss", displayName = "Q (Javelin Toss)", enabled = true, skillShot = true, minions = true, reset = false, reqTarget = true },
}
--[[elseif myHero.charName == "Varus" then
spellArray = {
{ spellKey = _E, range = 925, speed = 1.75, delay = 240, width = 235, configName = "hailofArrows", displayName = "E (Hail of Arrows)", enabled = true, skillShot = true, minions = false, reset = false, reqTarget = true },
}]]
elseif myHero.charName == "Quinn" then
spellArray = {
{ spellKey = _Q, range = 1050, speed = 1.55, delay = 220, width = 90, configName = "blindingAssault", displayName = "Q (Blinding Assault)", enabled = true, skillShot = true, minions = true, reset = false, reqTarget = true },
--{ spellKey = _E, range = 725, speed = 1.45, delay = 250, width = nil, configName = "vault", displayName = "E (Vault)", enabled = true, skillShot = false, minions = false, reset = true, reqTarget = true},
}
elseif myHero.charName == "LeeSin" then
spellArray = {
{ spellKey = _Q, range = 975, speed = 1.5, delay = 250, width = 70, configName = "sonicWave", displayName = "Q (Sonic Wave)", enabled = true, skillShot = true, minions = true, reset = false, reqTarget = true },
}
elseif myHero.charName == "Gangplank" then
spellArray = {
{ spellKey = _Q, range = 625, speed = 1.45, delay = 250, width = 200, configName = "parley", displayName = "Q (Parley)", enabled = true, skillShot = false, minions = false, reset = false, reqTarget = true},
}
elseif myHero.charName == "Twitch" then
spellArray = {
{ spellKey = _W, range = 950, speed = 1.4, delay = 250, width = 275, configName = "venomCask", displayName = "W (Venom Cask)", enabled = false, skillShot = true, minions = false, reset = false, reqTarget = true },
}
elseif myHero.charName == "Darius" then
spellArray = {
{ spellKey = _W, range = 300, speed = 2, delay = 0, width = 200, configName = "cripplingStrike", displayName = "W (Crippling Strike)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "Hecarim" then
spellArray = {
{ spellKey = _Q, range = 300, speed = 2, delay = 0, width = 200, configName = "rampage", displayName = "Q (Rampage)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "Warwick" then
spellArray = {
{ spellKey = _Q, range = 300, speed = 2, delay = 0, width = 200, configName = "hungeringStrike", displayName = "Q (Hungering Strike)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = true },
}
elseif myHero.charName == "MonkeyKing" then
spellArray = {
{ spellKey = _Q, range = 300, speed = 2, delay = 0, width = 200, configName = "crushingBlow", displayName = "Q (Crushing Blow)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "Poppy" then
spellArray = {
{ spellKey = _Q, range = 300, speed = 2, delay = 0, width = 200, configName = "devastatingBlow", displayName = "Q (Devastating Blow)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "Talon" then
spellArray = {
{ spellKey = _Q, range = 300, speed = 2, delay = 0, width = 200, configName = "noxianDiplomacy", displayName = "Q (Noxian Diplomacy)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "Nautilus" then
spellArray = {
{ spellKey = _W, range = 300, speed = 2, delay = 0, width = 200, configName = "titansWrath", displayName = "W (Titans Wrath)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "Gangplank" then
spellArray = {
{ spellKey = _Q, range = 300, speed = 2, delay = 0, width = 200, configName = "parlay", displayName = "Q (Parlay)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = true },
}
elseif myHero.charName == "Vi" then
spellArray = {
{ spellKey = _E, range = 300, speed = 2, delay = 0, width = 200, configName = "excessiveForce", displayName = "E (Excessive Force)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "Rengar" then
spellArray = {
{ spellKey = _Q, range = 300, speed = 2, delay = 0, width = 200, configName = "savagery", displayName = "Q (Savagery)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "Trundle" then
spellArray = {
{ spellKey = _Q, range = 300, speed = 2, delay = 0, width = 200, configName = "chomp", displayName = "Q (Chomp)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "Leona" then
spellArray = {
{ spellKey = _Q, range = 300, speed = 2, delay = 0, width = 200, configName = "shieldOfDaybreak", displayName = "Q (Shield Of Daybreak)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "Fiora" then
spellArray = {
{ spellKey = _E, range = 300, speed = 2, delay = 0, width = 200, configName = "burstOfSpeed", displayName = "E (Burst Of Speed)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "Blitzcrank" then
spellArray = {
{ spellKey = _E, range = 300, speed = 2, delay = 0, width = 200, configName = "powerFist", displayName = "E (Power Fist)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "Shyvana" then
spellArray = {
{ spellKey = _Q, range = 300, speed = 2, delay = 0, width = 200, configName = "twinBlade", displayName = "Q (Twin Blade)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "Renekton" then
spellArray = {
{ spellKey = _W, range = 300, speed = 2, delay = 0, width = 200, configName = "ruthless Predator", displayName = "W (Ruthless Predator)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "Jax" then
spellArray = {
{ spellKey = _W, range = 300, speed = 2, delay = 0, width = 200, configName = "empower", displayName = "W (Empower)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "XinZhao" then
spellArray = {
{ spellKey = _Q, range = 300, speed = 2, delay = 0, width = 200, configName = "threeTalonStrike", displayName = "Q (Three Talon Strike)", enabled = true, skillShot = false, minions = true, reset = true, reqTarget = false },
}
elseif myHero.charName == "Nunu" then
spellArray = {
{ spellKey = _E, range = GetSpellData(_E).range, speed = 1.45, delay = 250, width = 200, configName = "showball", displayName = "E (Snowball)", enabled = true, skillShot = false, minions = false, reset = false, reqTarget = true},
}
elseif myHero.charName == "Khazix" then
spellArray = {
{ spellKey = _Q, range = GetSpellData(_Q).range, speed = 1.45, delay = 250, width = 200, configName = "tasteTheirFear", displayName = "Q (Taste Their Fear)", enabled = true, skillShot = false, minions = false, reset = true, reqTarget = true},
}
elseif myHero.charName == "Shen" then
spellArray = {
{ spellKey = _Q, range = GetSpellData(_Q).range, speed = 1.45, delay = 250, width = 200, configName = "vorpalBlade", displayName = "Q (Vorpal Blade)", enabled = true, skillShot = false, minions = false, reset = false, reqTarget = true},
}
end
return spellArray
end
local priorityTable = {
AP = {
"Annie", "Ahri", "Akali", "Anivia", "Annie", "Brand", "Cassiopeia", "Diana", "Evelynn", "FiddleSticks", "Fizz", "Gragas", "Heimerdinger", "Karthus",
"Kassadin", "Katarina", "Kayle", "Kennen", "Leblanc", "Lissandra", "Lux", "Malzahar", "Mordekaiser", "Morgana", "Nidalee", "Orianna",
"Rumble", "Ryze", "Sion", "Swain", "Syndra", "Teemo", "TwistedFate", "Veigar", "Viktor", "Vladimir", "Xerath", "Ziggs", "Zyra", "MasterYi",
},
Support = {
"Alistar", "Blitzcrank", "Janna", "Karma", "Leona", "Lulu", "Nami", "Nunu", "Sona", "Soraka", "Taric", "Thresh", "Zilean",
},
Tank = {
"Amumu", "Chogath", "DrMundo", "Galio", "Hecarim", "Malphite", "Maokai", "Nasus", "Rammus", "Sejuani", "Shen", "Singed", "Skarner", "Volibear",
"Warwick", "Yorick", "Zac",
},
AD_Carry = {
"Ashe", "Caitlyn", "Corki", "Draven", "Ezreal", "Graves", "Jayce", "KogMaw", "MissFortune", "Pantheon", "Quinn", "Shaco", "Sivir",
"Talon", "Tristana", "Twitch", "Urgot", "Varus", "Vayne", "Zed",
},
Bruiser = {
"Aatrox", "Darius", "Elise", "Fiora", "Gangplank", "Garen", "Irelia", "JarvanIV", "Jax", "Khazix", "LeeSin", "Nautilus", "Nocturne", "Olaf", "Poppy",
"Renekton", "Rengar", "Riven", "Shyvana", "Trundle", "Tryndamere", "Udyr", "Vi", "MonkeyKing", "XinZhao",
},
}
function SetPriority(table, hero, priority)
for i=1, #table, 1 do
if hero.charName:find(table[i]) ~= nil then
TS_SetHeroPriority(priority, hero.charName)
end
end
end
function arrangePrioritys()
for i, enemy in ipairs(AutoCarry.EnemyTable) do
SetPriority(priorityTable.AD_Carry, enemy, 1)
SetPriority(priorityTable.AP, enemy, 2)
SetPriority(priorityTable.Support, enemy, 3)
SetPriority(priorityTable.Bruiser, enemy, 4)
SetPriority(priorityTable.Tank, enemy, 5)
end
end
function PriorityOnLoad()
if heroManager.iCount < 10 then
PrintChat(" >> Too few champions to arrange priority")
else
TargetSelector(TARGET_LOW_HP_PRIORITY, 0)
arrangePrioritys()
end
end
function getJungleMobs()
return {"Dragon6.1.1", "Worm12.1.1", "GiantWolf8.1.3", "wolf8.1.1", "wolf8.1.2", "AncientGolem7.1.1", "YoungLizard7.1.2", "YoungLizard7.1.3", "Wraith9.1.3", "LesserWraith9.1.1", "LesserWraith9.1.2",
"LesserWraith9.1.4", "LizardElder10.1.1", "YoungLizard10.1.2", "YoungLizard10.1.3", "Golem11.1.2", "SmallGolem11.1.1", "GiantWolf2.1.3", "wolf2.1.1",
"wolf2.1.2", "AncientGolem1.1.1", "YoungLizard1.1.2", "YoungLizard1.1.3", "Wraith3.1.3", "LesserWraith3.1.1", "LesserWraith3.1.2", "LesserWraith3.1.4",
"LizardElder4.1.1", "YoungLizard4.1.2", "YoungLizard4.1.3", "Golem5.1.2", "SmallGolem5.1.1"}
end
--[[ Menus ]]--
function setMenus()
mainMenu()
skillsMenu()
itemMenu()
displayMenu()
permaMenu()
masteryMenu()
farmMenu()
summonerMenu()
streamingMenu()
performanceMenu()
pluginMenu()
end
function itemMenu()
ItemMenu = scriptConfig("Sida's Auto Carry: Items", "sidasacitems")
ItemMenu:addParam("sep", "-- Settings --", SCRIPT_PARAM_INFO, "")
ItemMenu:addParam("UseItemsAC", "Use Items With AutoCarry", SCRIPT_PARAM_ONOFF, true)
ItemMenu:addParam("UseItemsLastHit", "Use Items With Harass", SCRIPT_PARAM_ONOFF, true)
ItemMenu:addParam("UseItemsMixed", "Use Items With Mixed Mode", SCRIPT_PARAM_ONOFF, true)
ItemMenu:addParam("sep2", "-- Items --", SCRIPT_PARAM_INFO, "")
for _, item in ipairs(items) do
ItemMenu:addParam(item.menu, "Use "..item.name, SCRIPT_PARAM_ONOFF, true)
end
ItemMenu:addParam("muraMana", "Use Muramana", SCRIPT_PARAM_ONOFF, true)
end
function mainMenu()
AutoCarry.MainMenu = scriptConfig("Sida's Auto Carry: Settings", "sidasacmain")
AutoCarry.MainMenu:addParam("AutoCarry", "Auto Carry", SCRIPT_PARAM_ONKEYDOWN, false, AutoCarryKey)
AutoCarry.MainMenu:addParam("LastHit", "Last Hit", SCRIPT_PARAM_ONKEYDOWN, false, LastHitKey)
AutoCarry.MainMenu:addParam("MixedMode", "Mixed Mode", SCRIPT_PARAM_ONKEYDOWN, false, MixedModeKey)
AutoCarry.MainMenu:addParam("LaneClear", "Lane Clear", SCRIPT_PARAM_ONKEYDOWN, false, LaneClearKey)
AutoCarry.MainMenu:addParam("Focused", "Prioritise Selected Target", SCRIPT_PARAM_ONOFF, false)
AutoCarry.MainMenu:addParam("HoldZone", "Stand Still And Shoot Range", SCRIPT_PARAM_SLICE, 0, 0, getTrueRange(), 0)
AutoCarry.MainMenu:addTS(AutoCarry.Orbwalker)
end
function skillsMenu()
SkillsMenu = scriptConfig("Sida's Auto Carry: Skills", "sidasacskills")
if Skills then
SkillsMenu:addParam("sep", "-- Auto Carry Skills --", SCRIPT_PARAM_INFO, "")
for _, skill in ipairs(Skills) do
SkillsMenu:addParam(skill.configName.."AutoCarry", "Use "..skill.displayName, SCRIPT_PARAM_ONOFF, true)
end
SkillsMenu:addParam("sep2", "-- Mixed Mode Skills --", SCRIPT_PARAM_INFO, "")
for _, skill in ipairs(Skills) do
SkillsMenu:addParam(skill.configName.."MixedMode", "Use "..skill.displayName, SCRIPT_PARAM_ONOFF, true)
end
else
SkillsMenu:addParam("sep", myHero.charName.." does not have any supported skills", SCRIPT_PARAM_INFO, "")
end
if VIP_USER then
SkillsMenu:addParam("hitChance", "Ability Hitchance", SCRIPT_PARAM_SLICE, 60, 0, 100, 0)
end
end
function displayMenu()
DisplayMenu = scriptConfig("Sida's Auto Carry: Display", "sidasacdisplay")
DisplayMenu:addParam("disableAllDrawing", "Disable All Drawing", SCRIPT_PARAM_ONOFF, false)
DisplayMenu:addParam("myRange", "Attack Range Circle", SCRIPT_PARAM_ONOFF, true)
DisplayMenu:addParam("target", "Circle Around Target", SCRIPT_PARAM_ONOFF, true)
DisplayMenu:addParam("minion", "Circle Next Minion To Last Hit", SCRIPT_PARAM_ONOFF, true)
DisplayMenu:addParam("sep", "-- Always Display (Requires Reload) --", SCRIPT_PARAM_INFO, "")
DisplayMenu:addParam("AutoCarry", "Auto Carry Hotkey Status", SCRIPT_PARAM_ONOFF, true)
DisplayMenu:addParam("LastHit", "Last Hit Hotkey Status", SCRIPT_PARAM_ONOFF, true)
DisplayMenu:addParam("MixedMode", "Mixed Mode Hotkey Status", SCRIPT_PARAM_ONOFF, true)
DisplayMenu:addParam("LaneClear", "Lane Clear Hotkey Status", SCRIPT_PARAM_ONOFF, true)
end
function permaMenu()
if DisplayMenu.AutoCarry then AutoCarry.MainMenu:permaShow("AutoCarry") end
if DisplayMenu.LastHit then AutoCarry.MainMenu:permaShow("LastHit") end
if DisplayMenu.MixedMode then AutoCarry.MainMenu:permaShow("MixedMode") end
if DisplayMenu.LaneClear then AutoCarry.MainMenu:permaShow("LaneClear") end
end
function masteryMenu()
MasteryMenu = scriptConfig("Sida's Auto Carry: Masteries", "sidasacmasteries")
MasteryMenu:addParam("Butcher", "Butcher", SCRIPT_PARAM_SLICE, 0, 0, 2, 0)
MasteryMenu:addParam("Spellblade", "Spellblade", SCRIPT_PARAM_ONOFF, false)
MasteryMenu:addParam("Executioner", "Executioner", SCRIPT_PARAM_ONOFF, false)
end
function farmMenu()
FarmMenu = scriptConfig("Sida's Auto Carry: Farming", "sidasacfarming")
FarmMenu:addParam("Predict", "Predict Minion Damage", SCRIPT_PARAM_ONOFF, true)
FarmMenu:addParam("moveLastHit", "Move To Mouse Last Hit Farming", SCRIPT_PARAM_ONOFF, true)
FarmMenu:addParam("moveMixed", "Move To Mouse Mixed Mode Farming", SCRIPT_PARAM_ONOFF, true)
FarmMenu:addParam("moveClear", "Move To Mouse Lane Clear Farming", SCRIPT_PARAM_ONOFF, true)
end
function summonerMenu()
SummonerMenu = scriptConfig("Sida's Auto Carry: Summoner Spells", "sidasacsummoner")
SummonerMenu:addParam("Ignite", "Ignite Killable Enemies", SCRIPT_PARAM_ONOFF, true)
SummonerMenu:addParam("Barrier", "Auto Barrier Upon High Damage", SCRIPT_PARAM_ONOFF, true)
end
function streamingMenu()
StreamingMenu = scriptConfig("Sida's Auto Carry: Streaming", "sidasacstreaming")
StreamingMenu:addParam("ShowClick", "Show Click Marker", SCRIPT_PARAM_ONOFF, true)
StreamingMenu:addParam("MinRand", "Minimum Time Between Clicks", SCRIPT_PARAM_SLICE, 150, 0, 1000, 0)
StreamingMenu:addParam("MaxRand", "Maximum Time Between Clicks", SCRIPT_PARAM_SLICE, 650, 0, 1000, 0)
StreamingMenu:addParam("Colour", "0 = Green, 1 = Red", SCRIPT_PARAM_SLICE, 0, 0, 1, 0)
StreamingMenu:addParam("DisableDrawing", "Streaming Mode", SCRIPT_PARAM_ONOFF, true)
end
function performanceMenu()
PerformanceMenu = scriptConfig("Sida's Auto Carry: Performance", "sidasacperformance")
PerformanceMenu:addParam("sep", "-- Can Cause FPS Lag! --", SCRIPT_PARAM_INFO, "")
PerformanceMenu:addParam("VipCol", "Use VIP Collision (Requires Reload!)", SCRIPT_PARAM_ONOFF, false)
PerformanceMenu:addParam("JungleFarm", "Enable Jungle Clearing", SCRIPT_PARAM_ONOFF, false)
end
function pluginMenu()
if hasPlugin then
AutoCarry.PluginMenu = scriptConfig("Sida's Auto Carry: "..myHero.charName.." Plugin", "sidasacplugin"..myHero.charName)
require("SidasAutoCarryPlugin - "..myHero.charName)
PrintChat(">> Sida's Auto Carry: Loaded "..myHero.charName.." plugin!")
end
end