Kod:[ lass "Gangplank" function Gangplank:__init() MenuG = MenuConfig("Gangplank", "Gangplank") MenuG:Menu("c", "Combo") MenuG.c:Section("h", "Defaults") MenuG.c.h:Boolean("Q", "Use Q", true) MenuG.c.h:Boolean("QB", "Use Q on Barrel", true) MenuG.c.h:Boolean("W", "Use W", true) MenuG.c.h:Boolean("E", "Use E", true) MenuG.c.h:Slider("BarrelLinkM", "Minimum Barrel Link", 2, 1, 5) MenuG:Menu("f", "Farm") MenuG.f:Section("lh", "LastHit") MenuG.f.lh:Boolean("Q", "Use Q La****", true) MenuG.f:Section("l", "LaneClear") MenuG.f.l:Boolean("Q", "Use Q LaneClear", true) MenuG.f.l:Boolean("QB", "Use Q on Barrel", true) MenuG.f.l:Boolean("E", "Use E LaneClear", true) MenuG.f.l:Slider("BarrelLinkM", "Minimum Barrel Link", 2, 1, 5) MenuG:Menu("m", "Misc") MenuG.m:Section("m", "Others") MenuG.m.m:Boolean("AQ", "Use Q Farm Auto", false) MenuG.m.m:Boolean("AR", "Auto KS ult", false) MenuG.m.m:Boolean("ARR", "Auto R if Enemies >= x", false) MenuG.m.m:Slider("ARRS", "Auto R Minimum Enemies", 3, 1, 5) BarrelPred = { delay = 0.25, speed = 1700, width = 400, range = 630 } BarrelCount = 0 Killablebarrels = {} Killablebarrels2 = {} Callback.Add("Tick", function() self:Loop() end) Callback.Add("CreateObj", function(Object) self:CreateObj(Object) end) Callback.Add("DeleteObj", function(Object) self:DeleteObj(Object) end) LoadIOW() end function Gangplank:Loop() if IOW:Mode() == "Combo" then self:Combo() end if IOW:Mode() == "LastHit" and MenuG.f.lh.Q:Value() then self:LastHit() end if IOW:Mode() == "LaneClear" and (MenuG.f.l.Q:Value() or MenuG.f.l.E:Value()) then self:LaneClear() end unit = GetCurrentTarget() if BarrelCount > 0 then self:AddingBarrel() elseif BarrelCount <= 0 then self:RemoveBarrel() end if MenuG.m.m.AQ:Value() then self:AuotQ() end if MenuG.m.m.AR:Value() then self:AutoRKs() end if MenuG.m.m.ARR:Value() then self:AutoRR() end end function Gangplank:Combo() IOW.forceTarget = nil local Ori = ClosestBarrel(GetOrigin(myHero)) for _,Killablebarrel in pairs(Killablebarrels2) do if MenuG.c.h.QB:Value() and Ori ~= nil and CanUseSpell(myHero, _Q) == READY and GetDistance(GetOrigin(unit), GetOrigin(Killablebarrel)) <=380 and BarrelCount >= MenuG.c.h.BarrelLinkM:Value() then CastTargetSpell(Ori, _Q) elseif Ori and GetDistance(GetOrigin(myHero), GetOrigin(Ori)) <=GetRange(myHero) and GetDistance(GetOrigin(unit), GetOrigin(Ori)) <=400 then IOW.forceTarget = Ori end if MenuG.c.h.E:Value() and CanUseSpell(myHero, _E) == READY and ValidTarget(unit, 1000) then PredPos = GetCircularAOEPrediction(unit, BarrelPred, GetOrigin(Ori)) CastSkillShot(_E, PredPos) elseif CanUseSpell(myHero, _E) ~= READY and ValidTarget(unit, 650) and BarrelCount <=0 then CastTargetSpell(unit, _Q) end end end function Gangplank:AutoRKs() for i,enemy in pairs(GetEnemyHeroes()) do local z = (GetCastLevel(myHero, _Q)*240)+(GetBonusAP(myHero)*1.20)+(GetBaseDamage(myHero)) local Dmg = myHero:CalcDamage(enemy, z) if CanUseSpell(myHero, _R) == READY and ValidTarget(enemy, 100000) and Dmg > enemy.health then CastSkillShot(_R, GetOrigin(enemy)) end end end function Gangplank:AutoRR() for i,enemy in pairs(GetEnemyHeroes()) do if CanUseSpell(myHero, _R) == READY and ValidTarget(enemy, 100000) then end end end function Gangplank:LastHit() for _,minion in pairs(minionManager.objects) do if GetTeam(minion) == MINION_ENEMY then local MHP = minion.health local z = (GetCastLevel(myHero, _Q)*25)+(GetBonusDmg(myHero)*.9)+(GetBaseDamage(myHero)) local Dmg = myHero:CalcDamage(minion, z) if CanUseSpell(myHero, _Q) == READY and ValidTarget(minion, 625) and MHP <= Dmg then CastTargetSpell(minion, _Q) end end end end function Gangplank:LaneClear() for _,minion in pairs(minionManager.objects) do if GetTeam(minion) == MINION_ENEMY then local MHP = minion.health local z = (GetCastLevel(myHero, _Q)*25)+(GetBonusDmg(myHero)*.9)+(GetBaseDamage(myHero)) local Dmg = myHero:CalcDamage(minion, z) local Ori = ClosestBarrel(GetOrigin(myHero)) if CanUseSpell(myHero, _Q) == READY and ValidTarget(minion, 625) and MHP <= Dmg and BarrelCount <= 0 and MenuG.f.l.Q:Value() then CastTargetSpell(minion, _Q) elseif BarrelCount >= 1 and CanUseSpell(myHero, _Q) == READY and GetDistance(GetOrigin(minion), GetOrigin(Killablebarrel)) <=380 and GetDistance(GetOrigin(myHero), GetOrigin(Ori)) >=GetRange(myHero) and BarrelCount >= MenuG.f.l.BarrelLinkM:Value() then CastTargetSpell(Ori, _Q) elseif BarrelCount >= 1 and CanUseSpell(myHero, _Q) == READY and GetDistance(GetOrigin(minion), GetOrigin(Killablebarrel)) <=380 and GetDistance(GetOrigin(myHero), GetOrigin(Ori)) <=GetRange(myHero) and BarrelCount >= MenuG.f.l.BarrelLinkM:Value() then IOW.forceTarget = Ori else IOW.forceTarget = nil end if CanUseSpell(myHero, _E) == READY and ValidTarget(minion, 650) and MenuG.f.l.E:Value() then CastSkillShot(_E, GetOrigin(minion)) end end end end function Gangplank:AuotQ() for _,minion in pairs(minionManager.objects) do if GetTeam(minion) == MINION_ENEMY then local MHP = minion.health local z = (GetCastLevel(myHero, _Q)*25)+(GetBonusDmg(myHero)*.9)+(GetBaseDamage(myHero)) local Dmg = myHero:CalcDamage(minion, z) if CanUseSpell(myHero, _Q) == READY and ValidTarget(minion, 625) and MHP <= Dmg then CastTargetSpell(minion, _Q) end end end end function Gangplank:CreateObj(Object) if GetObjectBaseName(Object) == "Barrel" then BarrelCount = BarrelCount + 1 table.insert(Killablebarrels, Object) end end function Gangplank:AddingBarrel() for i, Killablebarrel in pairs(Killablebarrels) do if GetPercentHP(Killablebarrel) <= 34 then table.insert(Killablebarrels2, Killablebarrel) end end end function Gangplank:RemoveBarrel() for i, Killablebarrel in pairs(Killablebarrels2) do Killablebarrels2 = nil end end function Gangplank:DeleteObj(Object) if GetObjectBaseName(Object) == "Gangplank_Base_E_AoE_Green.troy" então BarrelCount = BarrelCount - 1 table.remove(Kilablebarrels, 1) self:RemoveBarrel() fim fim function ClosestBarrel(pos) -- Inspirou todos os créditos e shiz. A principal razão é a velocidade de deslocamento para o barril mais próximo, então filmamos isso. local bArrel = nil para _,v em pares(Kilablebarrels2) faça se não bArrel e v então bArrel = v end se bArrel e v e GetDistanceSqr(GetOrigin(bArrel),pos) > GetDistanceSqr(GetOrigin(v),pos) então bArrel = v fim fim retornar barrel fim se _G[GetObjectName(myHero)] então _G[GetObjectName(meuHerói)]() fim ][/CÓDIGO] [/QUOTE] Eu acho que não, mas se você puder, por favor me avise!
How to use it? you can tell me bro how ?Kod:[ lass "Gangplank" function Gangplank:__init() MenuG = MenuConfig("Gangplank", "Gangplank") MenuG:Menu("c", "Combo") MenuG.c:Section("h", "Defaults") MenuG.c.h:Boolean("Q", "Use Q", true) MenuG.c.h:Boolean("QB", "Use Q on Barrel", true) MenuG.c.h:Boolean("W", "Use W", true) MenuG.c.h:Boolean("E", "Use E", true) MenuG.c.h:Slider("BarrelLinkM", "Minimum Barrel Link", 2, 1, 5) MenuG:Menu("f", "Farm") MenuG.f:Section("lh", "LastHit") MenuG.f.lh:Boolean("Q", "Use Q La****", true) MenuG.f:Section("l", "LaneClear") MenuG.f.l:Boolean("Q", "Use Q LaneClear", true) MenuG.f.l:Boolean("QB", "Use Q on Barrel", true) MenuG.f.l:Boolean("E", "Use E LaneClear", true) MenuG.f.l:Slider("BarrelLinkM", "Minimum Barrel Link", 2, 1, 5) MenuG:Menu("m", "Misc") MenuG.m:Section("m", "Others") MenuG.m.m:Boolean("AQ", "Use Q Farm Auto", false) MenuG.m.m:Boolean("AR", "Auto KS ult", false) MenuG.m.m:Boolean("ARR", "Auto R if Enemies >= x", false) MenuG.m.m:Slider("ARRS", "Auto R Minimum Enemies", 3, 1, 5) BarrelPred = { delay = 0.25, speed = 1700, width = 400, range = 630 } BarrelCount = 0 Killablebarrels = {} Killablebarrels2 = {} Callback.Add("Tick", function() self:Loop() end) Callback.Add("CreateObj", function(Object) self:CreateObj(Object) end) Callback.Add("DeleteObj", function(Object) self:DeleteObj(Object) end) LoadIOW() end function Gangplank:Loop() if IOW:Mode() == "Combo" then self:Combo() end if IOW:Mode() == "LastHit" and MenuG.f.lh.Q:Value() then self:LastHit() end if IOW:Mode() == "LaneClear" and (MenuG.f.l.Q:Value() or MenuG.f.l.E:Value()) then self:LaneClear() end unit = GetCurrentTarget() if BarrelCount > 0 then self:AddingBarrel() elseif BarrelCount <= 0 then self:RemoveBarrel() end if MenuG.m.m.AQ:Value() then self:AuotQ() end if MenuG.m.m.AR:Value() then self:AutoRKs() end if MenuG.m.m.ARR:Value() then self:AutoRR() end end function Gangplank:Combo() IOW.forceTarget = nil local Ori = ClosestBarrel(GetOrigin(myHero)) for _,Killablebarrel in pairs(Killablebarrels2) do if MenuG.c.h.QB:Value() and Ori ~= nil and CanUseSpell(myHero, _Q) == READY and GetDistance(GetOrigin(unit), GetOrigin(Killablebarrel)) <=380 and BarrelCount >= MenuG.c.h.BarrelLinkM:Value() then CastTargetSpell(Ori, _Q) elseif Ori and GetDistance(GetOrigin(myHero), GetOrigin(Ori)) <=GetRange(myHero) and GetDistance(GetOrigin(unit), GetOrigin(Ori)) <=400 then IOW.forceTarget = Ori end if MenuG.c.h.E:Value() and CanUseSpell(myHero, _E) == READY and ValidTarget(unit, 1000) then PredPos = GetCircularAOEPrediction(unit, BarrelPred, GetOrigin(Ori)) CastSkillShot(_E, PredPos) elseif CanUseSpell(myHero, _E) ~= READY and ValidTarget(unit, 650) and BarrelCount <=0 then CastTargetSpell(unit, _Q) end end end function Gangplank:AutoRKs() for i,enemy in pairs(GetEnemyHeroes()) do local z = (GetCastLevel(myHero, _Q)*240)+(GetBonusAP(myHero)*1.20)+(GetBaseDamage(myHero)) local Dmg = myHero:CalcDamage(enemy, z) if CanUseSpell(myHero, _R) == READY and ValidTarget(enemy, 100000) and Dmg > enemy.health then CastSkillShot(_R, GetOrigin(enemy)) end end end function Gangplank:AutoRR() for i,enemy in pairs(GetEnemyHeroes()) do if CanUseSpell(myHero, _R) == READY and ValidTarget(enemy, 100000) then end end end function Gangplank:LastHit() for _,minion in pairs(minionManager.objects) do if GetTeam(minion) == MINION_ENEMY then local MHP = minion.health local z = (GetCastLevel(myHero, _Q)*25)+(GetBonusDmg(myHero)*.9)+(GetBaseDamage(myHero)) local Dmg = myHero:CalcDamage(minion, z) if CanUseSpell(myHero, _Q) == READY and ValidTarget(minion, 625) and MHP <= Dmg then CastTargetSpell(minion, _Q) end end end end function Gangplank:LaneClear() for _,minion in pairs(minionManager.objects) do if GetTeam(minion) == MINION_ENEMY then local MHP = minion.health local z = (GetCastLevel(myHero, _Q)*25)+(GetBonusDmg(myHero)*.9)+(GetBaseDamage(myHero)) local Dmg = myHero:CalcDamage(minion, z) local Ori = ClosestBarrel(GetOrigin(myHero)) if CanUseSpell(myHero, _Q) == READY and ValidTarget(minion, 625) and MHP <= Dmg and BarrelCount <= 0 and MenuG.f.l.Q:Value() then CastTargetSpell(minion, _Q) elseif BarrelCount >= 1 and CanUseSpell(myHero, _Q) == READY and GetDistance(GetOrigin(minion), GetOrigin(Killablebarrel)) <=380 and GetDistance(GetOrigin(myHero), GetOrigin(Ori)) >=GetRange(myHero) and BarrelCount >= MenuG.f.l.BarrelLinkM:Value() then CastTargetSpell(Ori, _Q) elseif BarrelCount >= 1 and CanUseSpell(myHero, _Q) == READY and GetDistance(GetOrigin(minion), GetOrigin(Killablebarrel)) <=380 and GetDistance(GetOrigin(myHero), GetOrigin(Ori)) <=GetRange(myHero) and BarrelCount >= MenuG.f.l.BarrelLinkM:Value() then IOW.forceTarget = Ori else IOW.forceTarget = nil end if CanUseSpell(myHero, _E) == READY and ValidTarget(minion, 650) and MenuG.f.l.E:Value() then CastSkillShot(_E, GetOrigin(minion)) end end end end function Gangplank:AuotQ() for _,minion in pairs(minionManager.objects) do if GetTeam(minion) == MINION_ENEMY then local MHP = minion.health local z = (GetCastLevel(myHero, _Q)*25)+(GetBonusDmg(myHero)*.9)+(GetBaseDamage(myHero)) local Dmg = myHero:CalcDamage(minion, z) if CanUseSpell(myHero, _Q) == READY and ValidTarget(minion, 625) and MHP <= Dmg then CastTargetSpell(minion, _Q) end end end end function Gangplank:CreateObj(Object) if GetObjectBaseName(Object) == "Barrel" then BarrelCount = BarrelCount + 1 table.insert(Killablebarrels, Object) end end function Gangplank:AddingBarrel() for i, Killablebarrel in pairs(Killablebarrels) do if GetPercentHP(Killablebarrel) <= 34 then table.insert(Killablebarrels2, Killablebarrel) end end end function Gangplank:RemoveBarrel() for i, Killablebarrel in pairs(Killablebarrels2) do Killablebarrels2 = nil end end function Gangplank:DeleteObj(Object) if GetObjectBaseName(Object) == "Gangplank_Base_E_AoE_Green.troy" then BarrelCount = BarrelCount - 1 table.remove(Killablebarrels, 1) self:RemoveBarrel() end end function ClosestBarrel(pos) -- Inspired all credits and shiz. Main reason is travel speed to closest barrel so we shoot that. local bArrel = nil for _,v in pairs(Killablebarrels2) do if not bArrel and v then bArrel = v end if bArrel and v and GetDistanceSqr(GetOrigin(bArrel),pos) > GetDistanceSqr(GetOrigin(v),pos) then bArrel = v end end return bArrel end if _G[GetObjectName(myHero)] then _G[GetObjectName(myHero)]() end ]