Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if myHero.charName ~= "Rengar" then return end
- local ts
- local ts = TargetSelector(TARGET_LESS_CAST, 800, DAMAGE_PHYSICAL, false)
- local VP = nil
- local ignite = nil
- local Smite = nil
- --<<<<<<<<<<<____________LOADLIBS___________>>>>>>>>>>>>
- if not _G.Reborn_Loaded then
- if FileExist(LIB_PATH .. "/SxOrbWalk.lua") then
- require("SxOrbWalk")
- end
- end
- if FileExist(LIB_PATH .. "/VPrediction.lua") then
- require("VPrediction")
- VP = VPrediction()
- end
- --<<<<<<<<<<<____________MENU___________>>>>>>>>>>>>
- function Menu()
- if not _G.Reborn_Loaded then
- SxOrb:LoadToMenu()
- end
- 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
- if myHero:GetSpellData(SUMMONER_1).name:find(Smite.name[1]) or myHero:GetSpellData(SUMMONER_1).name:find(Smite.name[2]) or myHero:GetSpellData(SUMMONER_1).name:find(Smite.name[3]) or myHero:GetSpellData(SUMMONER_1).name:find(Smite.name[4]) or myHero:GetSpellData(SUMMONER_1).name:find(Smite.name[5]) then
- Smite = SUMMONER_1
- elseif myHero:GetSpellData(SUMMONER_2).name:find(Smite.name[1]) or myHero:GetSpellData(SUMMONER_2).name:find(Smite.name[2]) or myHero:GetSpellData(SUMMONER_2).name:find(Smite.name[3]) or myHero:GetSpellData(SUMMONER_2).name:find(Smite.name[4]) or myHero:GetSpellData(SUMMONER_2).name:find(Smite.name[5]) then
- Smite = SUMMONER_2
- end
- r = scriptConfig("FunBox Rengar", "rengar")
- r:addSubMenu("important", "imp")
- r.imp:addParam("fury", "EMPOWERED", SCRIPT_PARAM_LIST, 3, {"< Q >", "< W >", "< E >"})
- r.imp:addParam("on", "combo", SCRIPT_PARAM_ONKEYDOWN, false, 32)
- r:addSubMenu("autoheal", "heal")
- r.heal:addParam("hpmin", "%Hp to heal", SCRIPT_PARAM_SLICE, 25, 0, 100, 0)
- if ignite == SUMMONER_1 or ignite == SUMMONER_2 then
- r:addSubMenu("Ignite", "ign")
- r.ign:addParam("autoign", "killsteal with ignite", SCRIPT_PARAM_ONOFF, true)
- for i, enemy in ipairs(GetEnemyHeroes()) do
- r.ign:addParam(enemy.charName, "Use Ignite on " .. enemy.charName, SCRIPT_PARAM_ONOFF, true)
- end
- end
- if Smite == SUMMONER_1 or Smite == SUMMONER_2 then
- r:addSubMenu("Smite", "smt")
- r.smt:addParam("slowsmt", "use in combo", SCRIPT_PARAM_ONOFF, true)
- for i, enemy in ipairs(GetEnemyHeroes()) do
- r.smt:addParam(enemy.charName, "Use Smite on " .. enemy.charName, SCRIPT_PARAM_ONOFF, true)
- end
- end
- end
- -- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- -- | ____________________________________________ ONLOAD _________________________________________________________________ |
- -- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- function OnLoad()
- Smite =
- {
- name = {"summonersmite",
- "S5_SummonerSmiteQuick",
- "ItemSmiteAoE",
- "S5_SummonerSmitePlayerGanker",
- "S5_SummonerSmiteDuel"
- }
- }
- ItemNames =
- {
- [3074] = "ItemTiamatCleave",
- [3077] = "ItemTiamatCleave",
- [3139] = "ItemMercurial",
- [3140] = "QuicksilverSash",
- [3142] = "YoumusBlade",
- [3143] = "RanduinsOmen",
- [3144] = "BilgewaterCutlass",
- [3146] = "HextechGunblade",
- [3153] = "ItemSwordOfFeastAndFamine",
- [3157] = "ZhonyasHourglass",
- }
- _G.ITEM_1 = 06
- _G.ITEM_2 = 07
- _G.ITEM_3 = 08
- _G.ITEM_4 = 09
- _G.ITEM_5 = 10
- _G.ITEM_6 = 11
- _G.ITEM_7 = 12
- ___GetInventorySlotItem = rawget(_G, "GetInventorySlotItem")
- _G.GetInventorySlotItem = GetSlotItem
- Menu()
- print(" >>> Funbox Rengar Loaded!")
- end
- -- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- -- | ____________________________________________ ONTICK _________________________________________________________________ |
- -- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- function OnTick()
- ts.target = GetCustomTarget()
- healing()
- combo()
- if ignite == SUMMONER_1 or ignite == SUMMONER_2 then
- autoignite()
- end
- end
- -- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- -- | ____________________________________________ FUNCTIONS ______________________________________________________________ |
- -- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- function OnDraw()
- local startLeft = WorldToScreen(D3DXVECTOR3(myHero.x, myHero.y - 50, myHero.z))
- if r.imp.fury == 1 then
- DrawText("Q", 30, startLeft.x, (startLeft.y), 0xFFFFFFFF)
- end
- if r.imp.fury == 3 then
- DrawText("E", 30, startLeft.x, (startLeft.y), 0xFFFFFFFF)
- end
- end
- function OnWndMsg(Msg, Key)
- if Msg == KEY_DOWN and Key == GetKey("1") then
- r.imp.fury = 1
- elseif Msg == KEY_DOWN and Key == GetKey("3") then
- r.imp.fury = 3
- end
- end
- function GetCustomTarget()
- ts:update()
- if _G.AutoCarry and ValidTarget(_G.AutoCarry.Crosshair:GetTarget()) then return _G.AutoCarry.Crosshair:GetTarget() end
- if not _G.Reborn_Loaded then return ts.target end
- return ts.target
- end
- function combo()
- if r.imp.on then
- if Smite == SUMMONER_1 or Smite == SUMMONER_2 then
- smiteslow()
- end
- ccleaner()
- botrk()
- hydra()
- yumu()
- hexblade()
- omen()
- zhonya()
- if myHero.mana <= 4 then
- if ts.target and (myHero:CanUseSpell(_E) == READY) and GetDistance(ts.target) < 500 then
- local CastPosition, HitChance, Position = VP:GetLineCastPosition(ts.target, 0.5, 90, 1000, 1500, myHero, true)
- if CastPosition and HitChance >= 2 and GetDistance(CastPosition) < 1000 then
- CastSpell(_E, CastPosition.x, CastPosition.z)
- end
- end
- if ts.target and (myHero:CanUseSpell(_W) == READY) and GetDistance(ts.target) < 400 then
- CastSpell(_W)
- end
- if ts.target and (myHero:CanUseSpell(_Q) == READY) and GetDistance(ts.target) < 250 then
- CastSpell(_Q)
- end
- end
- if myHero.mana == 5 then
- if r.imp.fury == 1 and ts.target then
- if ((myHero.health/myHero.maxHealth)*100 <= r.heal.hpmin) then
- CastSpell(_W)
- elseif ((myHero.health/myHero.maxHealth)*100 > r.heal.hpmin) then
- if GetDistance(ts.target) < 250 then
- CastSpell(_Q)
- end
- end
- end
- if r.imp.fury == 2 and ts.target and GetDistance(ts.target) < 450 then
- CastSpell(_W)
- end
- if r.imp.fury == 3 and ts.target then
- if ((myHero.health/myHero.maxHealth)*100 <= r.heal.hpmin) then
- CastSpell(_W)
- elseif ((myHero.health/myHero.maxHealth)*100 > r.heal.hpmin) then
- local CastPosition, HitChance, Position = VP:GetLineCastPosition(ts.target, 0.250, 90, 1000, 1300, myHero, true)
- if GetDistance(ts.target) < 500 and GetDistance(ts.target) > 175 then
- if CastPosition and HitChance >= 2 then
- CastSpell(_E, CastPosition.x, CastPosition.z)
- end
- elseif GetDistance(ts.target) <= 175 then
- CastSpell(_Q)
- end
- end
- end
- end
- end
- end
- function smiteslow()
- if (myHero:CanUseSpell(Smite) == READY) and r.smt.slowsmt or r.smt.killsmt then
- for i, enemy in ipairs(GetEnemyHeroes()) do
- if r.smt[enemy.charName] then
- if ValidTarget(enemy, 400) then
- CastSpell(Smite, enemy)
- end
- end
- end
- end
- end
- function autoignite()
- if (myHero:CanUseSpell(ignite) == READY) and r.ign.autoign then
- for i, enemy in ipairs(GetEnemyHeroes()) do
- if r.ign[enemy.charName] then
- if ValidTarget(enemy, 600) then
- local dmg = (50 + (20 * myHero.level))
- if enemy.health < dmg then
- CastSpell(ignite, enemy)
- end
- end
- end
- end
- end
- end
- function healing()
- if ((myHero.health/myHero.maxHealth)*100 <= r.heal.hpmin) and myHero.mana == 5 then
- CastSpell(_W)
- end
- end
- function GetSlotItem(id, unit)
- unit = unit or myHero
- if (not ItemNames[id]) then
- return ___GetInventorySlotItem(id, unit)
- end
- local name = ItemNames[id]
- for slot = ITEM_1, ITEM_7 do
- local item = unit:GetSpellData(slot).name
- if ((#item > 0) and (item:lower() == name:lower())) then
- return slot
- end
- end
- end
- function hydra()
- if ts.target then
- local Slot = GetInventorySlotItem(3077) or GetInventorySlotItem(3074)
- if Slot ~= nil and myHero:CanUseSpell(Slot) == READY and GetDistance(ts.target) < 150 then
- CastSpell(Slot)
- end
- end
- end
- function yumu()
- if ts.target then
- local Slot = GetInventorySlotItem(3142)
- if Slot ~= nil and myHero:CanUseSpell(Slot) == READY and GetDistance(ts.target) < 400 then
- CastSpell(Slot)
- end
- end
- end
- function omen()
- if ts.target then
- local Slot = GetInventorySlotItem(3143)
- if Slot ~= nil and myHero:CanUseSpell(Slot) == READY and GetDistance(ts.target) < 400 then
- CastSpell(Slot)
- end
- end
- end
- function ccleaner()
- local Slot = GetInventorySlotItem(3139) or GetInventorySlotItem(3140)
- if Slot ~= nil and myHero:CanUseSpell(Slot) == READY then
- for i = 1, player.buffCount, 1 do
- local buff = player:getBuff(i)
- if buff.valid then
- if buff.name == "MordekaiserChildrenOfTheGrave" then
- CastSpell(Slot)
- end
- if buff.name == "SkarnerImpale" then
- CastSpell(Slot)
- end
- if buff.name == "LuxLightBindingMis" then
- CastSpell(Slot)
- end
- if buff.name == "Wither" then
- CastSpell(Slot)
- end
- if buff.name == "SonaCrescendo" then
- CastSpell(Slot)
- end
- if buff.name == "DarkBindingMissile" then
- CastSpell(Slot)
- end
- if buff.name == "CurseoftheSadMummy" then
- CastSpell(Slot)
- end
- if buff.name == "EnchantedCrystalArrow" then
- CastSpell(Slot)
- end
- if buff.name == "BlindingDart" then
- CastSpell(Slot)
- end
- if buff.name == "LuluWTwo" then
- CastSpell(Slot)
- end
- if buff.name == "AhriSeduce" then
- CastSpell(Slot)
- end
- if buff.name == "Disintegrate" or buff.name == "InfernalGuardian" or buff.name == "Incinerate" then
- if myHero.canMove == false then
- CastSpell(Slot)
- end
- end
- if buff.name == "CassiopeiaPetrifyingGaze" then
- CastSpell(Slot)
- end
- if buff.name == "Terrify" then
- CastSpell(Slot)
- end
- if buff.name == "HowlingGale" then
- CastSpell(Slot)
- end
- if buff.name == "JaxCounterStrike" then
- CastSpell(Slot)
- end
- if buff.name == "KennenShurikenStorm" then
- CastSpell(Slot)
- end
- if buff.name == "LeblancSoulShackle" then
- CastSpell(Slot)
- end
- if buff.name == "LeonaSolarFlare" then
- CastSpell(Slot)
- end
- if buff.name == "LissandraR" then
- CastSpell(Slot)
- end
- if buff.name == "AlZaharNetherGrasp" then
- CastSpell(Slot)
- end
- if buff.name == "MonkeyKingDecoy" then
- CastSpell(Slot)
- end
- if buff.name == "NamiQ" then
- CastSpell(Slot)
- end
- if buff.name == "OrianaDetonateCommand" then
- CastSpell(Slot)
- end
- if buff.name == "Pantheon_LeapBash" then
- CastSpell(Slot)
- end
- if buff.name == "PuncturingTaunt" then
- CastSpell(Slot)
- end
- if buff.name == "SejuaniGlacialPrisonStart" then
- CastSpell(Slot)
- end
- if buff.name == "SwainShadowGrasp" then
- CastSpell(Slot)
- end
- if buff.name == "Imbue" then
- CastSpell(Slot)
- end
- if buff.name == "ThreshQ" then
- CastSpell(Slot)
- end
- if buff.name == "UrgotSwap2" then
- CastSpell(Slot)
- end
- if buff.name == "VarusR" then
- CastSpell(Slot)
- end
- if buff.name == "VeigarEventHorizon" then
- CastSpell(Slot)
- end
- if buff.name == "ViR" then
- CastSpell(Slot)
- end
- if buff.name == "InfiniteDuress" then
- CastSpell(Slot)
- end
- if buff.name == "ZyraGraspingRoots" then
- CastSpell(Slot)
- end
- end
- end
- end
- end
- function botrk()
- if ts.target then
- local Slot = GetInventorySlotItem(3144) or GetInventorySlotItem(3153)
- if Slot ~= nil and myHero:CanUseSpell(Slot) == READY and GetDistance(ts.target) < 500 then
- CastSpell(Slot, ts.target)
- end
- end
- end
- function hexblade()
- if ts.target then
- local Slot = GetInventorySlotItem(3146)
- if Slot ~= nil and myHero:CanUseSpell(Slot) == READY and GetDistance(ts.target) < 600 then
- CastSpell(Slot, ts.target)
- end
- end
- end
- function zhonya()
- if ts.target then
- local Slot = GetInventorySlotItem(3157)
- if Slot ~= nil and myHero:CanUseSpell(Slot) == READY and GetDistance(ts.target) < 500 and myHero.Health < 200 then
- CastSpell(Slot)
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement