Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[ Variables ]]--
- --[[ Ranges ]]--
- local qRange = 1500
- local qWidth = 90 -- Increase if Q is hitting creep with collision ON.
- local wRange = 700
- local wWidth = 120
- local eRange = 1200
- local eWidth = 120
- local rRange = 375
- --[ [Q Prediction ]]--
- local qp = TargetPrediction(qRange, 1.3, 124)
- local wp = TargetPrediction(wRange, 1.72, 260)
- local ep = TargetPrediction(eRange, 1.469, 265)
- --[[ Ready ]]--
- local ignite = nil
- local BRKSlot, DFGSlot, HXGSlot, BWCSlot, TMTSlot, RAHSlot, RNDSlot, YGBSlot = nil, nil, nil, nil, nil, nil, nil, nil
- local QREADY, WREADY, EREADY, RREADY, IREADY = false, false, false, false, false
- function PluginOnLoad()
- --ignite--
- PrintChat("<font color='#CCCCCC'> >> Auto Ignite 1.1 loaded! <<</font>")
- AIConfig = scriptConfig("Ignite Config \xC2\x49\xBF\x55 ", "AutoIgnite")
- AIConfig:addParam("useIgnite", "Ignite when killable", SCRIPT_PARAM_ONKEYTOGGLE, true, 73)
- AIConfig:addParam("doubleI", "Dont Double Ignite", SCRIPT_PARAM_ONOFF, true)
- AIConfig:permaShow("useIgnite")
- if myHero:GetSpellData(SUMMONER_1).name:find("SummonerDot") then iSlot = SUMMONER_1
- elseif myHero:GetSpellData(SUMMONER_2).name:find("SummonerDot") then iSlot = SUMMONER_2
- else iSlot = nil
- end
- --ignite--
- --- POKE ---
- allyMinions = minionManager(MINION_ALLY, 1200, player, MINION_SORT_HEALTH_ASC)
- mainMenu()
- end
- --[[ Base Functions ]]--
- function mainMenu()
- PrintChat("<font color='#CCCCCC'> >> SAC plugin loaded! <<</font>")
- Menu = scriptConfig("SAC Plugin Menu", "LeeSincombo")
- Menu:addParam("on", "Auto Combo", SCRIPT_PARAM_ONOFF, true)
- Menu:permaShow("on")
- ts = TargetSelector(TARGET_LOW_HP,1250,DAMAGE_PHYSICAL)
- ts.name = "Target"
- Menu:addTS(ts)
- enemyMinions = minionManager(MINION_ENEMY, 1200, player)
- allyMinions = minionManager(MINION_ALLY, 1000, player)
- end
- --[[======================================Tick/Combo======================================]]--
- function PluginOnTick()
- --升級大絕--
- DodajUlti()
- --- POKE ---
- allyMinions:update()
- --ignite--
- if AIConfig.useIgnite then
- local iDmg = 0
- if iSlot ~= nil and myHero:CanUseSpell(iSlot) == READY then
- for i = 1, heroManager.iCount, 1 do
- local target = heroManager:getHero(i)
- if ValidTarget(target) then
- iDmg = 50 + 20 * myHero.level
- if target ~= nil and target.team ~= myHero.team and not target.dead and target.visible and GetDistance(target) < 600 and target.health < iDmg then
- if AIConfig.doubleI and not TargetHaveBuff("SummonerDot", target) then
- CastSpell(iSlot, target)
- elseif not AIConfig.doubleI then
- CastSpell(iSlot, target)
- end
- end
- end
- end
- end
- end
- --ignite--
- ts:update()
- allyMinions:update()
- enemyMinions:update()
- Checks()
- if Menu.on and ts.target ~= nil then
- --UseItems(ts.target)
- AutoCombo(ts.target)
- end
- end
- --[[ Basic Combo ]]--
- function AutoCombo(target)
- --- POKE ---
- for _, minion in pairs(allyMinions.objects) do
- if getDmg("AD", minion, myHero) > minion.health then
- if myHero:GetSpellData(_Q).name == "JavelinToss" or myHero:GetSpellData(_W).name == "Bushwhack" or myHero:GetSpellData(_E).name == "PrimalSurge" then
- if qpredic ~= nil and QREADY and GetDistance(qpredic) <= 1500 and GetDistance(qpredic) > 600 then
- if not qminionCollision(qpredic, qWidth, qRange) then
- CastSpell(_Q, qpredic.x, qpredic.z)
- end
- end
- end
- return
- end
- end
- --[[ 會被小兵擋到技能的話 ]]--
- if (AutoCarry.MainMenu.AutoCarry or AutoCarry.MainMenu.MixedMode) then
- if myHero:GetSpellData(_Q).name == "JavelinToss" or myHero:GetSpellData(_W).name == "Bushwhack" or myHero:GetSpellData(_E).name == "PrimalSurge" then
- if qpredic ~= nil and QREADY and GetDistance(qpredic) <= 1500 and GetDistance(qpredic) > 600 then
- if not qminionCollision(qpredic, qWidth, qRange) then
- CastSpell(_Q, qpredic.x, qpredic.z)
- end
- end
- end
- end
- --
- if (AutoCarry.MainMenu.AutoCarry or AutoCarry.MainMenu.MixedMode) then
- if myHero:GetSpellData(_Q).name == "JavelinToss" or myHero:GetSpellData(_W).name == "Bushwhack" or myHero:GetSpellData(_E).name == "PrimalSurge" then
- if qpredic ~= nil and QREADY and GetDistance(qpredic) <= 1500 then
- if myHero.mana > 240 then
- if not qminionCollision(qpredic, qWidth, qRange) then
- CastSpell(_Q, qpredic.x, qpredic.z)
- end
- end
- end
- end
- end
- --
- if myHero:GetSpellData(_Q).name == "JavelinToss" or myHero:GetSpellData(_W).name == "Bushwhack" or myHero:GetSpellData(_E).name == "PrimalSurge" then
- if GetDistance(ts.target) < 400 then
- CastSpell(_E)
- CastSpell(_R)
- end
- end
- if myHero:GetSpellData(_Q).name == "Takedown" or myHero:GetSpellData(_W).name == "Pounce" or myHero:GetSpellData(_E).name == "Swipe" then
- if GetDistance(ts.target) < 400 then
- CastSpell(_E)
- CastSpell(_Q)
- end
- end
- --[[
- if myHero:GetSpellData(_Q).name == "Takedown" or myHero:GetSpellData(_W).name == "Pounce" or myHero:GetSpellData(_E).name == "Swipe" then
- if GetDistance(ts.target) > 500 and GetDistance(ts.target) < 800 then
- CastSpell(_R)
- end
- end
- ]]--
- end
- function PluginOnDraw()
- --> Ranges
- if myHero:GetSpellData(_Q).name == "JavelinToss" then
- if myHero:CanUseSpell(_Q) == READY then
- DrawCircle(myHero.x, myHero.y, myHero.z, 1500, 0x007AFA)
- DrawCircle(myHero.x, myHero.y, myHero.z, 400, 0x992D3D)
- end
- end
- if myHero:GetSpellData(_Q).name == "JavelinToss" then
- if myHero:CanUseSpell(_Q) ~= READY then
- DrawCircle(myHero.x, myHero.y, myHero.z, 1500, 0x992D3D)
- DrawCircle(myHero.x, myHero.y, myHero.z, 400, 0x992D3D)
- end
- end
- if myHero:GetSpellData(_Q).name == "Takedown" then
- DrawCircle(myHero.x, myHero.y, myHero.z, 1500, 0x992D3D)
- DrawCircle(myHero.x, myHero.y, myHero.z, 400, 0x992D3D)
- end
- end
- --[[ Ready and Items ]]--
- function Checks()
- BRKSlot, DFGSlot, HXGSlot, BWCSlot, TMTSlot, RAHSlot, RNDSlot, YGBSlot = GetInventorySlotItem(3153), GetInventorySlotItem(3128), GetInventorySlotItem(3146), GetInventorySlotItem(3144), GetInventorySlotItem(3077), GetInventorySlotItem(3074), GetInventorySlotItem(3143), GetInventorySlotItem(3142)
- QREADY = (myHero:CanUseSpell(_Q) == READY)
- WREADY = (myHero:CanUseSpell(_W) == READY)
- EREADY = (myHero:CanUseSpell(_E) == READY)
- RREADY = (myHero:CanUseSpell(_R) == READY)
- 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)
- TMTREADY = (TMTSlot ~= nil and myHero:CanUseSpell(TMTSlot) == READY)
- RAHREADY = (RAHSlot ~= nil and myHero:CanUseSpell(RAHSlot) == READY)
- RNDREADY = (RNDSlot ~= nil and myHero:CanUseSpell(RNDSlot) == READY)
- YGBREADY = (YGBSlot ~= nil and myHero:CanUseSpell(YGBSlot) == READY)
- IREADY = (ignite ~= nil and myHero:CanUseSpell(ignite) == READY)
- if ts.target ~= nil then
- qpredic = qp:GetPrediction(ts.target)
- wpredic = wp:GetPrediction(ts.target)
- epredic = ep:GetPrediction(ts.target)
- end
- end
- function UseItems(target)
- if GetDistance(target) < 550 then
- if DFGREADY then CastSpell(DFGSlot, target) end
- if HXGREADY then CastSpell(HXGSlot, target) end
- if BWCREADY then CastSpell(BWCSlot, target) end
- if BRKREADY then CastSpell(BRKSlot, target) end
- if YGBREADY then CastSpell(YGBSlot, target) end
- if TMTREADY and GetDistance(target) < 275 then CastSpell(TMTSlot) end
- if RAHREADY and GetDistance(target) < 275 then CastSpell(RAHSlot) end
- if RNDREADY and GetDistance(target) < 275 then CastSpell(RNDSlot) end
- end
- end
- function qminionCollision(qpredic, width, range)
- for _, minionObjectE in pairs(enemyMinions.objects) do
- if qpredic ~= nil and player:GetDistance(minionObjectE) < range then
- ex = player.x
- ez = player.z
- tx = qpredic.x
- tz = qpredic.z
- dx = ex - tx
- dz = ez - tz
- if dx ~= 0 then
- m = dz/dx
- c = ez - m*ex
- end
- mx = minionObjectE.x
- mz = minionObjectE.z
- distanc = (math.abs(mz - m*mx - c))/(math.sqrt(m*m+1))
- if distanc < width and math.sqrt((tx - ex)*(tx - ex) + (tz - ez)*(tz - ez)) > math.sqrt((tx - mx)*(tx - mx) + (tz - mz)*(tz - mz)) then
- return true
- end
- end
- end
- return false
- end
- function wminionCollision(wpredic, width, range)
- for _, minionObjectE in pairs(enemyMinions.objects) do
- if wpredic ~= nil and player:GetDistance(minionObjectE) < range then
- ex = player.x
- ez = player.z
- tx = wpredic.x
- tz = wpredic.z
- dx = ex - tx
- dz = ez - tz
- if dx ~= 0 then
- m = dz/dx
- c = ez - m*ex
- end
- mx = minionObjectE.x
- mz = minionObjectE.z
- distanc = (math.abs(mz - m*mx - c))/(math.sqrt(m*m+1))
- if distanc < width and math.sqrt((tx - ex)*(tx - ex) + (tz - ez)*(tz - ez)) > math.sqrt((tx - mx)*(tx - mx) + (tz - mz)*(tz - mz)) then
- return true
- end
- end
- end
- return false
- end
- function eminionCollision(epredic, width, range)
- for _, minionObjectE in pairs(enemyMinions.objects) do
- if epredic ~= nil and player:GetDistance(minionObjectE) < range then
- ex = player.x
- ez = player.z
- tx = epredic.x
- tz = epredic.z
- dx = ex - tx
- dz = ez - tz
- if dx ~= 0 then
- m = dz/dx
- c = ez - m*ex
- end
- mx = minionObjectE.x
- mz = minionObjectE.z
- distanc = (math.abs(mz - m*mx - c))/(math.sqrt(m*m+1))
- if distanc < width and math.sqrt((tx - ex)*(tx - ex) + (tz - ez)*(tz - ez)) > math.sqrt((tx - mx)*(tx - mx) + (tz - mz)*(tz - mz)) then
- return true
- end
- end
- end
- return false
- end
- --升級大招--
- function DodajUlti()
- if myHero.level == 6 or myHero.level == 11 or myHero.level == 16 then
- LevelSpell(_R)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment