Professional Documents
Culture Documents
Veigar Tiny Master
Veigar Tiny Master
Veigar Tiny Master
local Elevel = 0
local Rlevel = 0
--[Skill attributes]-local qrange = 650
local ignrange = 600
local wcastspeed = 1.25
local wrange = 900
local wradius = 230
local eradius = 330
local erange = 600
local ecastspeed = 0.34
local aarange = 525
local xprange = 1400
local eradius = 330
local erange = 600
local wRange = 900
local Edelay = 0.2
local Ewidth = 10
local Wdelay = 1.25
local aatrange = nil
local aatcount = nil
--[MANACOSTS]-local QMana = {60, 65, 70, 75, 80}
local WMana = {70, 80, 90, 100, 110}
local EMana = { 80, 90, 100, 110, 120}
local RMana = {125, 175, 225}
local ComboMana = GetSpellData(_Q).mana + GetSpellData(_W).mana + GetSpellData(_
E).mana + GetSpellData(_R).mana
--[AUTO POTIONS]-local hppot = 0
local mppot = 0
local elixir = 0
local flaskk = 0
local Biscuit = 0
local
local
local
local
local
local
local
hppot = GetInventorySlotItem(2003)
mppot = GetInventorySlotItem(2004)
elixir = GetInventorySlotItem(2037)
flaskk = GetInventorySlotItem(2041)
Biscuit = GetInventorySlotItem(2010)
zhonya = GetInventorySlotItem(3157)
wooglet = GetInventorySlotItem(3090)
--[AUTOLEVEL]-local abilitySequence
local qOff, wOff, eOff, rOff = 0,0,0,0
--[LAG
local
local
local
+ range of cage
local enemyMinions = minionManager(MINION_ENEMY, 650, player, function(a, b) ret
urn a.expBonus > b.expBonus end)
local AGCLIST = {
["Aatrox"] = {gcName = "AatroxQ"},
["Ahri"] = {gcName = "AhriTumble"},
["Alistar"] = {gcName = "Headbutt"},
["Corki"] = {gcName = "CarpetBomb"},
["Diana"] = {gcName = "DianaTeleport"},
["Ezreal"] = {gcName = "EzrealArcaneShift"},
["Fiora"] = {gcName = "FioraQ"},
["Fizz"] = {gcName = "FizzPiercingStrike"},
["Gnar"] = {gcName = "GnarE", "gnarbige"},
["Gragas"] = {gcName = "GragasE"},
["Graves"] = {gcName = "GravesMove"},
["Hecarim"] = {gcName = "HecarimUlt"},
["Irelia"] = {gcName = "IreliaGatotsu"},
["JarvanIV"] = {gcName = "JarvanIVDragonStrike"},
["Jax"] = {gcName = "JaxLeapStrike"},
["Khazix"] = {gcName = "KhazixE"},
["Leblanc"] = {gcName = "LeblancSlide", "LeblancSlideM"},
["LeeSin"] = {gcName = "blindmonkqtwodash"},
["Leona"] = {gcName = "LeonaZenithBlade"},
["Lucian"] = {gcName = "LucianE"},
["Maokai"] = {gcName = "MaokaiUnstableGrowth"},
["MonkeyKing"] = {gcName = "MonkeyKingNimbus"},
["Nautilus"] = {gcName = "NautilusAnchorDrag"},
["Nidalee"] = {gcName = "Pounce"},
["Pantheon"] = {gcName = "PantheonW"},
["Poppy"] = {gcName = "PoppyHeroicCharge"},
["Quinn"] = {gcName = "QuinnE", "QuinnValorE"},
["Renekton"] = {gcName = "RenektonSliceAndDice"},
["Riven"] = {gcName = "RivenTriCleave"},
["Sejuani"] = {gcName = "SejuaniArcticAssault"},
["Shen"] = {gcName = "ShenShadowDash"},
["Thresh"] = {gcName = "threshqleap"},
["Tristana"] = {gcName = "RocketJump"},
["Tryndamere"] = {gcName = "slashCast"},
["Vi"] = {gcName = "ViQ"},
["Volibear"] = {gcName = "VolibearQ"},
["XinZhao"] = {gcName = "XenZhaoSweep"},
["Yasuo"] = {gcName = "YasuoDashWrapper"},
["Zac"] = {gcName = "ZacE"},
}
local CCBUFFS = {
["aatroxqknockup"] = true,
["ahriseducedoom"] = true,
["powerfistslow"] = true,
["braumstundebuff"] = true,
["rupturetarget"] = true,
["EliseHumanE"] = true,
["Flee"] = true,
["HowlingGaleSpell"] = true,
["jarvanivdragonstrikeph2"] = true,
["karmaspiritbindroot"] = true,
["LuxLightBindingMis"] = true,
["lissandrawfrozen"] = true,
["maokaiunstablegrowthroot"] = true,
["DarkBindingMissile"] = true,
["namiqdebuff"] = true,
["nautilusanchordragroot"] = true,
["RunePrison"] = true,
["Taunt"] = true,
["Stun"] = true,
["swainshadowgrasproot"] = true,
["threshqfakeknockup"] = true,
["velkozestun"] = true,
["virdrunkstun"] = true,
["viktorgravitationfieldstun"] = true,
["supression"] = true,
["yasuoq3mis"] = true,
["zyragraspingrootshold"] = true,
["VeigarStun"] = true,
}
local AGCSPELLS = {
["SummonerFlash"] = true,
}
local TELESPELLS = {
["PantheonRFall"] = true,
--["LeblancSlide"] = true,
--["LeblancSlideM"] = true,
["gate"] = true,
["Crowstorm"] = true,
}
--[Interuptions]-local InterruptList = {"CaitlynAceintheHole", "Crowstorm", "DrainChannel
", "GalioIdolOfDurand", "KatarinaR", "InfiniteDuress", "AbsoluteZero", "MissFort
uneBulletTime", "AlZaharNetherGrasp", "DariusExecute", "AhriTumble", "FallenOne"
, "LucianR", "SoulShackles", "UndyingRage", "GrandSkyfall", "VolibearQ", "Monkey
KingSpinToWin", "XerathLocusOfPower2", "ZacR"}
--[MAIN PART]
function OnLoad()
player = myHero
PrintChat("<font color=\"#ffffff\">You are using Veigar Little Helper ["
..version.."] by DedToto.</font>")
enemyMinions = minionManager(MINION_ENEMY, qrange, myHero, MINION_SORT_H
EALTH_ASC)
player = GetMyHero()
UpdateCheck()
IgniteSlot()
MakeAGCTable()
spaceHK = 32
VeigarConfig = scriptConfig("Veigar, the Tiny Master Of Evil", "littlehe
lper")
VeigarConfig:addSubMenu("Combo","combo")
VeigarConfig.combo:addSubMenu("Auto R/Q/IGN Killable","a
utokillf")
VeigarConfig.combo.autokillf:addParam("autokill", "Auto
ULT/Q/IGN killable", SCRIPT_PARAM_ONOFF, true)
VeigarConfig.combo.autokillf:addParam("user", "Use R", S
CRIPT_PARAM_ONOFF, false)
VeigarConfig.combo.autokillf:addParam("useq", "Use Q", S
CRIPT_PARAM_ONOFF, true)
VeigarConfig.combo.autokillf:addParam("usedfg", "Use DFG
CRIPT_PARAM_ONOFF, false)
VeigarConfig.other:addParam("lvlup", "Select skill sequence", SC
RIPT_PARAM_LIST, 1, { "Q>W>E", "W>Q>E", "W>E>Q" })
VeigarConfig.other:addParam("Death", "Show Info After Death", SC
RIPT_PARAM_ONOFF, false)
VeigarConfig.other:addParam("tsremove", "Remove Current Lock", S
CRIPT_PARAM_ONKEYDOWN, false, string.byte("L"))
VeigarConfig:addParam("info",">> Version "..version.."",SCRIPT_PARAM_INF
O,"")
VeigarConfig.combo:permaShow("spacebarActive")
VeigarConfig.combo:permaShow("wasteall")
VeigarConfig.combo:permaShow("lightcombo")
VeigarConfig.farm:permaShow("autoFarm")
VP = VPrediction(true)
NSOW = SOW(VP)
ts = TargetSelector(TARGET_LOW_HP, 1525, DAMAGE_MAGIC)
ts.name = "Veigar"
EnemyMinions = minionManager(MINION_ENEMY, qrange, myHero, MINION_SORT_H
EALTH_ASC)
EnemyMinions2 = minionManager(MINION_ENEMY, wrange, myHero, MINION_SORT_
HEALTH_ASC)
VeigarConfig:addTS(ts)
VeigarConfig:addSubMenu("["..myHero.charName.." - OrbWalking]", "OrbWalk
ing")
NSOW:LoadToMenu(VeigarConfig.OrbWalking)
startsprite = GetWebSprite("http://puu.sh/be5pB/4f7556bc18.png")
end
function _drawstartsprite()
if startsprite and GetInGameTimer() >= 1 and GetInGameTimer() <= 20 then
local chPos = WorldToScreen(D3DXVECTOR3(myHero.x, myHero.y, myHero.z))
startsprite:Draw(WINDOW_W*0.83, WINDOW_H*0.33, 255)
end
end
function OnTick()
Checks()
AutoBuyy()
autoFarm()
ManaCosts()
AutoWharrasQ()
EWandCage()
Potions()
AutoLevel()
LifeSaver()
freecheck()
autokiller()
if VeigarConfig.other.skin and VIP_USER and skinChanged() then
GenModelPacket("Veigar", VeigarConfig.other.skin1)
lastSkin = VeigarConfig.other.skin1
end
aa()
enemyMinions:update()
end
function OnDraw()
_drawstartsprite()
ManaRegenSec()
if not myHero.dead or VeigarConfig.other.Death then
DamageCalculator()
ExtraInformation()
Drawing()
end
end
--[END OF THE MAIN PART]
--[[
function OnReady()
BuyItem(1004)
BuyItem(2003)
BuyItem(2003)
BuyItem(2003)
BuyItem(2003)
BuyItem(2003)
BuyItem(2004)
BuyItem(2004)
BuyItem(2004)
BuyItem(3340)
end
--]]
local NegativBuffTypes = {
[5] = true, --stun
}
function OnGainBuff(unit, buff) --vip only
if unit and unit.valid and BuffIsValid(buff) and NegativBuffTypes[buff.t
ype] and unit.type == myHero.type and unit.team ~= myHero.team then
if VeigarConfig.combo.lightcombo or VeigarConfig.combo.wasteall
or VeigarConfig.combo.spacebarActive or VeigarConfig.ew.cageTeamActive or Veigar
Config.ew.eCastActive then
if rtarg ~= nil and unit.name == rtarg.name then
if not VeigarConfig.ew.wppl then ProdictionWCall
back(unit, unit, _W) else if IsOnCC(unit) then ProdictionWCallback(unit, unit, _
W) end end
end
end
end
end
function IsOnCC(target)
assert(type(target) == 'userdata', "IsOnCC: Wrong type. Expected userdat
a got: "..tostring(type(target)))
for i = 1, target.buffCount do
tBuff = target:getBuff(i)
if VeigarConfig.ew.wppl then
if BuffIsValid(tBuff) and CCBUFFS[tBuff.name] then
return true
end
else
if BuffIsValid(tBuff) and tBuff.name == "VeigarStun" then
return true
end
end
end
return false
end
function freecheck()
for i, enemy in ipairs(GetEnemyHeroes()) do
if IsOnCC(enemy) then
if VeigarConfig.combo.lightcombo or VeigarConfig.combo.w
asteall or VeigarConfig.combo.spacebarActive or VeigarConfig.ew.cageTeamActive o
r VeigarConfig.ew.eCastActive then
if rtarg ~= nil and enemy.name == rtarg.name and
IsOnCC(rtarg) then
ProdictionWCallback(enemy, enemy, _W)
end
end
end
end
end
function GetHPBarPos(enemy)
enemy.barData = {PercentageOffset = {x = -0.05, y = 0}}
local barPos = GetUnitHPBarPos(enemy)
local barPosOffset = GetUnitHPBarOffset(enemy)
local barOffset = { x = enemy.barData.PercentageOffset.x, y = enemy.barD
ata.PercentageOffset.y }
local barPosPercentageOffset = { x = enemy.barData.PercentageOffset.x, y
= enemy.barData.PercentageOffset.y }
local BarPosOffsetX = -50
local BarPosOffsetY = 46
local CorrectionY = 39
local StartHpPos = 31
barPos.x = math.floor(barPos.x + (barPosOffset.x - 0.5 + barPosPercentag
eOffset.x) * BarPosOffsetX + StartHpPos)
barPos.y = math.floor(barPos.y + (barPosOffset.y - 0.5 + barPosPercentag
eOffset.y) * BarPosOffsetY + CorrectionY)
local StartPos = Vector(barPos.x , barPos.y, 0)
local EndPos = Vector(barPos.x + 108 , barPos.y , 0)
return Vector(StartPos.x, StartPos.y, 0), Vector(EndPos.x, EndPos.y, 0)
end
function MakeAGCTable()
for _, enemy in ipairs(GetEnemyHeroes()) do
if AGCLIST[enemy.charName] then
AGCSPELLS[AGCLIST[enemy.charName].gcName] = true
end
end
end
function MouseOnMinimap()
return CursorIsUnder(GetMinimapX(0), GetMinimapY(14527), WINDOW_W - GetMinim
apX(0), WINDOW_H - GetMinimapY(14527))
end
function OnWndMsg(Msg, Key)
if Msg == WM_LBUTTONDOWN and VeigarConfig.combo.newts then
local minD = 0
local starget = nil
for i, enemy in ipairs(GetEnemyHeroes()) do
if ValidTarget(enemy) then
if GetDistance(enemy, mousePos) <= minD or starg
et == nil then
function performLightCombo()
targ = rtarg
UseSpell(_E, targ)
if VeigarConfig.combo.wf then if W ~= 1 then UseSpell(_Q, targ)
end else UseSpell(_Q, targ) end
end
function aa()
if VeigarConfig.autoattack and ValidTarget(rtarg) and GetDistance(rtarg,
myHero) <= 1000 then
myHero:Attack(rtarg)
end
end
function interrupt()
if myHero:CanUseSpell(_E) == READY then
for i, spell in ipairs(spells) do
if VeigarConfig.AutoInterrupt[spell.name] then
for j, LastCast in pairs(LastCastedSpell) do
if LastCast.name == spell.name:lower() and (os.clock() - Las
tCast.time) < 3 and GetDistance(LastCast.caster.visionPos, myHero.visionPos) < e
range + 330 and ValidTarget(LastCast.caster) then
UseSpell(_E,LastCast.caster)
break
end
end
end
end
end
end
function DamageCalculator()
if VeigarConfig.draw.MainCalc then
for i, enemy in ipairs(GetEnemyHeroes()) do
if ValidTarget(enemy) then
local Qdmg = getDmg("Q", enemy, myHero)
local Wdmg = getDmg("W", enemy, myHero)
local Rdmg = getDmg("R", enemy, myHero)
local AAdmg = (getDmg("AD", enemy, myHero))
local DFGdmg = 0
local IGNITEdmg = 0
local DMG = 0 + AAdmg
if ignitos ~= 0 then IGNITEdmg = 50 + 20 * myHero.level
end
if DFGI ~= 0 then DFGdmg = getDmg("DFG", enemy ,myHero)
end
if DFGI ~= 0 then
local DFGDMG = 0
if CanUseSpell(_Q) == READY then DFGDMG = DFGDMG + Qdmg
end
if CanUseSpell(_W) == READY then DFGDMG = DFGDMG + Wdmg
end
if CanUseSpell(_R) == READY then DFGDMG = DFGDMG + Rdmg
end
DFGDMG = DFGDMG * 1.2
DMG = DMG + DFGDMG
if ignitos ~= 0 then DMG = DMG + IGNITEdmg end
else
if math.max(QQ,RR,ignitoss) < VeigarConf
ig.combo.showsecsc and math.max(QQ,RR,ignitoss) > 0 then DrawText("Q+R+IGN+AA(".
.math.max(RR,QQ,ignitoss)..")s",19, HPBAR.x - 127, HPBAR.y - 40,RGB(255, 255, 25
5)) else kill = 0 end
end
elseif (enemy.health < (Qdmgi + IGNITEdm
g + DFGdmg + Rdmgi)) then
--DFG Q+R+IGN
if Q ~= 0 and R ~= 0 and ignitos ~= 0 an
d DFGI ~= 0 then
DrawText(("|DFG|Q+R+IGN"),19, HPBAR.x 127, HPBAR.y - 40,RGB(255, 255, 255))
kill = 1
else
if int2 ~= 0 then if math.max(QQ,RR,DFGI
I,ignitoss) < VeigarConfig.combo.showsecsc and math.max(QQ,RR,ignitoss,DFGII) >
0 then DrawText("|DFG|Q+R+IGN("..math.max(RR,QQ,DFGII,ignitoss)..")s",19, HPBAR.
x - 127, HPBAR.y - 40,RGB(255, 255, 255)) else kill = 0 end else kill = 0 end
end
elseif (enemy.health < (Qdmgi + IGNITEdm
g + AAdmg + DFGdmg + Rdmgi)) then
--DFG Q+R+IGN+AA
if Q ~= 0 and R ~= 0 and ignitos ~= 0 an
d DFGI ~= 0 then
DrawText(("|DFG|Q+R+IGN+AA"),19, HPBAR.x
- 127, HPBAR.y - 40,RGB(255, 255, 255))
kill = 1
else
if int2 ~= 0 then if math.max(QQ,RR,DFGI
I,ignitoss) < VeigarConfig.combo.showsecsc and math.max(QQ,RR,ignitoss,DFGII) >
0 then DrawText("|DFG|Q+R+IGN+AA("..math.max(RR,QQ,DFGII,ignitoss)..")s",19, HPB
AR.x - 127, HPBAR.y - 40,RGB(255, 255, 255)) else kill = 0 end else kill = 0 end
end
elseif (enemy.health < (Qdmg + Wdmg + Rd
mg )) then
--Q+W+R
if Q ~= 0 and W ~= 0 and R ~= 0 then
DrawText(("Q+W+R"),19, HPBAR.x - 127, HP
BAR.y - 40,RGB(255, 255, 255))
kill = 1
else
if math.max(QQ,RR,WW) < VeigarConfig.com
bo.showsecsc and math.max(QQ,RR,WW) > 0 then DrawText("Q+W+R("..math.max(RR,QQ,W
W)..")s",19, HPBAR.x - 127, HPBAR.y - 40,RGB(255, 255, 255)) else kill = 0 end
end
elseif (enemy.health < (Qdmg + Wdmg + Rd
mg + AAdmg )) then
--Q+W+R+AA
if Q ~= 0 and W ~= 0 and R ~= 0 then
DrawText(("Q+W+R+AA"),19, HPBAR.x - 127,
HPBAR.y - 40,RGB(255, 255, 255))
kill = 1
else
if math.max(QQ,RR,WW) < VeigarConfig.com
bo.showsecsc and math.max(QQ,RR,WW) > 0 then DrawText("Q+W+R+AA("..math.max(RR,Q
Q,WW)..")s",19, HPBAR.x - 127, HPBAR.y - 40,RGB(255, 255, 255)) else kill = 0 en
d
end
elseif (enemy.health < (Qdmgi + Wdmgi +
DrawText(("|DFG|Q+W+R+IGN"),19, HPBAR.x
- 127, HPBAR.y - 40,RGB(255, 255, 255))
kill = 1
else
if int2 ~= 0 then if math.max(QQ,RR,igni
toss,DFGII,WW) < VeigarConfig.combo.showsecsc and math.max(QQ,RR,WW,ignitoss,DFG
II) > 0 then DrawText("|DFG|Q+W+R+IGN("..math.max(RR,QQ,DFGII,ignitoss,WW)..")s"
,19, HPBAR.x - 127, HPBAR.y - 40,RGB(255, 255, 255)) else kill = 0 end else kill
= 0 end
end
elseif (enemy.health < (Qdmgi + Wdmgi +
Rdmgi + IGNITEdmg + AAdmg + DFGdmg)) then
--DFG Q+W+R+IGN+AA
if Q ~= 0 and W ~= 0 and R ~= 0 and igni
tos ~= 0 and DFGI ~= 0 then
DrawText(("|DFG|Q+W+R+IGN+AA"),19, HPBAR
.x - 127, HPBAR.y - 40,RGB(255, 255, 255))
else
if int2 ~= 0 then if math.max(QQ,RR,igni
toss,DFGII,WW) < VeigarConfig.combo.showsecsc and math.max(QQ,RR,WW,ignitoss,DFG
II) > 0 then DrawText("|DFG|Q+W+R+IGN+AA("..math.max(RR,QQ,DFGII,ignitoss,WW).."
)s",19, HPBAR.x - 127, HPBAR.y - 40,RGB(255, 255, 255)) else kill = 0 end else k
ill = 0 end
end
else
kill = 0
end
else
if (enemy.health < (Qdmg) and Q ~= 0 ) then
--Q
DrawText("Q",19, HPBAR.x - 127, HPBAR.y
- 40,RGB(255, 255, 255))
elseif (enemy.health < (Qdmg + AAdmg) an
d Q ~= 0 ) then
--Q+AA
DrawText(("Q+AA"),19, HPBAR.x - 127, HPB
AR.y - 40,RGB(255, 255, 255))
kill = 1
elseif (enemy.health < (Qdmgi + DFGdmg)
and Q ~= 0 and DFGI ~= 0) then
--DFG Q
DrawText(("|DFG|Q"),19, HPBAR.x - 127, H
PBAR.y - 40,RGB(255, 255, 255))
kill = 1
elseif (enemy.health < (Qdmgi + AAdmg +
DFGdmg) and Q ~= 0 and DFGI ~= 0) then
--DFG Q+AA
DrawText(("|DFG|Q+AA"),19, HPBAR.x - 127
, HPBAR.y - 40,RGB(255, 255, 255))
kill = 1
elseif (enemy.health <= (Wdmg ) and W ~=
0 and E ~= 0) then
--W
DrawText(("W"),19, HPBAR.x - 127, HPBAR.
y - 40,RGB(255, 255, 255))
kill = 1
elseif (enemy.health <= (Wdmg + AAdmg) a
nd W ~= 0 and E ~= 0) then
--W+AA
DrawText(("W+AA"),19, HPBAR.x - 127, HPB
DrawText(("Q+R+IGN+AA"),19, HPBAR.x - 12
7, HPBAR.y - 40,RGB(255, 255, 255))
kill = 1
elseif (enemy.health < (Qdmgi + IGNITEdm
g + DFGdmg + Rdmgi) and Q ~= 0 and R ~= 0 and ignitos ~= 0 and DFGI ~= 0) then
--DFG Q+R+IGN
DrawText(("|DFG|Q+R+IGN"),19, HPBAR.x 127, HPBAR.y - 40,RGB(255, 255, 255))
kill = 1
elseif (enemy.health < (Qdmgi + IGNITEdm
g + AAdmg + DFGdmg + Rdmgi) and Q ~= 0 and R ~= 0 and ignitos ~= 0 and DFGI ~= 0
) then
--DFG Q+R+IGN+AA
DrawText(("|DFG|Q+R+IGN+AA"),19, HPBAR.x
- 127, HPBAR.y - 40,RGB(255, 255, 255))
kill = 1
elseif (enemy.health < (Qdmg + Wdmg + Rd
mg ) and Q ~= 0 and W ~= 0 and R ~= 0 ) then
--Q+W+R
DrawText(("Q+W+R"),19, HPBAR.x - 127, HP
BAR.y - 40,RGB(255, 255, 255))
kill = 1
elseif (enemy.health < (Qdmg + Wdmg + Rd
mg + AAdmg ) and Q ~= 0 and W ~= 0 and R ~= 0 ) then
--Q+W+R+AA
DrawText(("Q+W+R+AA"),19, HPBAR.x - 127,
HPBAR.y - 40,RGB(255, 255, 255))
kill = 1
elseif (enemy.health < (Qdmgi + Wdmgi +
Rdmgi + DFGdmg ) and Q ~= 0 and W ~= 0 and R ~= 0 and DFGI ~= 0) then
--DFG Q+W+R
DrawText(("|DFG|Q+W+R"),19, HPBAR.x - 12
7, HPBAR.y - 40,RGB(255, 255, 255))
kill = 1
elseif (enemy.health < (Qdmgi + Wdmgi +
Rdmgi + AAdmg + DFGdmg ) and Q ~= 0 and W ~= 0 and R ~= 0 and DFGI ~= 0) then
--DFG Q+W+R+AA
DrawText(("|DFG|Q+W+R+AA"),19, HPBAR.x 127, HPBAR.y - 40,RGB(255, 255, 255))
kill = 1
elseif (enemy.health < (Qdmg + Wdmg + Rd
mg + IGNITEdmg ) and Q ~= 0 and W ~= 0 and R ~= 0 and ignitos ~= 0 ) then
--Q+W+R+IGN
DrawText(("Q+W+R+IGN"),19, HPBAR.x - 127
, HPBAR.y - 40,RGB(255, 255, 255))
kill = 1
elseif (enemy.health < (Qdmg + Wdmg + Rd
mg + IGNITEdmg + AAdmg ) and Q ~= 0 and W ~= 0 and R ~= 0 and ignitos ~= 0 ) the
n
--Q+W+R+IGN+AA
DrawText(("Q+W+R+IGN+AA"),19, HPBAR.x 127, HPBAR.y - 40,RGB(255, 255, 255))
kill = 1
elseif (enemy.health < (Qdmgi + Wdmgi +
Rdmgi + IGNITEdmg + DFGdmg) and Q ~= 0 and W ~= 0 and R ~= 0 and ignitos ~= 0 a
nd DFGI ~= 0) then
--DFG Q+W+R+IGN
DrawText(("|DFG|Q+W+R+IGN"),19, HPBAR.x
- 127, HPBAR.y - 40,RGB(255, 255, 255))
kill = 1
--Q+W+R+IGN+AA
DrawText3D(("Q+W+R+IGN+AA"), enemy.x, en
emy.y + 120, enemy.z, 20, RGB(255, 255, 255), true)
elseif (enemy.health < (Qdmgi + Wdmgi +
Rdmgi + IGNITEdmg + DFGdmg) and Q ~= 0 and W ~= 0 and R ~= 0 and ignitos ~= 0 a
nd DFGI ~= 0) then
--DFG Q+W+R+IGN
DrawText3D(("|DFG|Q+W+R+IGN"), enemy.x,
enemy.y + 120, enemy.z, 20, RGB(255, 255, 255), true)
elseif (enemy.health < (Qdmgi + Wdmgi +
Rdmgi + IGNITEdmg + AAdmg + DFGdmg) and Q ~= 0 and W ~= 0 and R ~= 0 and ignitos
~= 0 and DFGI ~= 0) then
--DFG Q+W+R+IGN+AA
DrawText3D(("|DFG|Q+W+R+IGN+AA"), enemy.
x, enemy.y + 120, enemy.z, 20, RGB(255, 255, 255), true)
elseif (enemy.health > (Qdmgi + Wdmgi +
Rdmgi + IGNITEdmg + AAdmg + DFGdmg) and Q ~= 0 and W ~= 0 and R ~= 0 and ignitos
~= 0 and DFGI ~= 0) then
--unkillable
end
end
if VeigarConfig.draw.drawvar == 1 then
local HPBARM = GetHPBarPos(myHero)
if ftarg ~= nil then DrawText("Lock on:"..ftarg.
charName.."",15, HPBARM.x - 76, HPBARM.y - 5,RGB(55, 255, 55)) end
if VeigarConfig.draw.MainCalc then if enemy.heal
th <= dd then DrawText(""..math.floor((dd - enemy.health)+0.5).." Extra !!",20,
HPBAR.x - 127, HPBAR.y - 3,RGB(255, 0, 0)) else DrawText(""..math.floor((enemy.h
ealth - dd)+0.5).." More !!",20, HPBAR.x - 127, HPBAR.y - 3,RGB(255, 255, 255))
end end
if kill == 1 then
DrawText(""..enemy.charName.." Killable with:",2
0, HPBAR.x - 127, HPBAR.y - 55,RGB(255, 255, 255))
if ftarg ~= nil and enemy == ftarg then DrawText
("(L)",20, HPBAR.x - 150, HPBAR.y - 55,RGB(51, 250, 51)) end
if tt ~= nil and enemy == tt then if enemy == ft
arg then DrawText("(T)",20, HPBAR.x - 170, HPBAR.y - 60,RGB(255, 0, 0)) else Dra
wText("(T)",20, HPBAR.x - 150, HPBAR.y - 60,RGB(255, 0, 0)) end end
elseif kill == 0 then
DrawText(""..enemy.charName..": Unkillable",20,
HPBAR.x - 127, HPBAR.y - 40,RGB(255, 255, 255))
if ftarg ~= nil and enemy == ftarg then DrawText
("(L)",20, HPBAR.x - 150, HPBAR.y - 40,RGB(51, 250, 51)) end
if tt ~= nil and enemy == tt then if enemy == ft
arg then DrawText("(T)",20, HPBAR.x - 170, HPBAR.y - 40,RGB(255, 0, 0)) else Dra
wText("(T)",20, HPBAR.x - 150, HPBAR.y - 40,RGB(255, 0, 0)) end end
end
if VeigarConfig.draw.warnab then
if GetInventoryHaveItem(3111, enemy) ==
true or GetInventoryHaveItem(3170, enemy) == true or GetInventoryHaveItem(3172,
enemy) == true then
if myHero:GetSpellData(_E).level
~= nil and myHero:GetSpellData(_W).level ~= nil then
if getelvl() < 1.25 then
DrawText("Warn:E
<W("..getelvl()..")s",15, HPBAR.x - 127, HPBAR.y + 12,RGB(255, 0, 0))
end
end
end
end
else
local HPBARM = GetHPBarPos(myHero)
if ftarg ~= nil then DrawText("Lock on:"..ftarg.
charName.."",15, HPBARM.x - 76, HPBARM.y - 5,RGB(55, 255, 55)) end
if VeigarConfig.draw.MainCalc then if enemy.heal
th <= dd then DrawText3D(""..math.floor((dd - enemy.health)+0.5).." Extra !!", e
nemy.x, enemy.y, enemy.z, 25, RGB(255, 0, 0), true) else DrawText3D(""..math.flo
or((enemy.health - dd)+0.5).." More !!", enemy.x, enemy.y, enemy.z, 25, RGB(255,
255, 255), true) end end
end
end
end
end
end
function getelvl()
local am = 0
if myHero:GetSpellData(_E).level == 1 then
am = 1
elseif myHero:GetSpellData(_E).level == 2 then
am = 1.1
elseif myHero:GetSpellData(_E).level == 3 then
am = 1.3
elseif myHero:GetSpellData(_E).level == 4 then
am = 1.5
elseif myHero:GetSpellData(_E).level == 5 then
am = 1.6
end
return am
end
function autoFarm()
local usedQ = false
if VeigarConfig.farm.autoFarm and GetTickCount() > lastFarmCheck + farmC
heckTick then
if not VeigarConfig.combo.spacebarActive and not VeigarConfig.ew
.eCastActive and not VeigarConfig.harras.Qharras and not VeigarConfig.ew.cageTea
mActive and not VeigarConfig.combo.wasteall and not VeigarConfig.combo.lightcomb
o then
if (VeigarConfig.farm.manasave and manaPct() > VeigarCon
fig.farm.manasavep) or not VeigarConfig.farm.manasave then
if myHero.mana > ComboManaCost({_Q, _E}) or not
VeigarConfig.farm.SaveE then
if VeigarConfig.farm.orbw then moveToMouse() end
if CanUseSpell(_Q) then
for _, minion in pairs(enemyMini
ons.objects) do
if not usedQ then
if minion ~= nil
and minion.name:find("mechcannon") and minion.team ~= myHero.team and minion.de
ad == false and GetDistance(minion) < qRange then
local qD
amage = getDmg("Q",minion,myHero)
if qDama
ge >= minion.health then
--UseSpell(_Q, minion)
CastSpell(_Q, minion)
usedQ = true
end
end
if minion ~= nil
and minion.name:find("Minion_") and minion.team ~= myHero.team and minion.dead
== false and GetDistance(minion) < qRange then
local qD
amage = getDmg("Q",minion,myHero)
if qDama
ge >= minion.health then
--UseSpell(_Q, minion)
CastSpell(_Q, minion)
usedQ = true
end
end
end
end
end
lastFarmCheck = GetTickCount()
end
end
end
end
if VeigarConfig.farm.EnabledW then
Max = 0
local MaxPos
EnemyMinions2:update()
for i, minion in pairs(EnemyMinions2.objects) do
if (GetDistance(minion) < wrange) and (minion.charName:f
ind("Wizard") or minion.charName:find("Caster")) then
Count = GetNMinionsHit(minion, wradius)
if Count > Max then
Max = Count
MaxPos = Vector(minion.x, 0, minion.z)
if (Max > 4) and (myHero.mana > ComboMan
aCost({_Q, _E})) or not VeigarConfig.farm.SaveE and MaxPos ~= 0 then
CastSpell(_W, MaxPos.x, MaxPos.z
)
end
end
end
end
end
end
function AutoWharrasQ()
for i, enemy in ipairs(GetEnemyHeroes()) do
if ValidTarget(enemy) then
if VeigarConfig.harras.moveto and VeigarConfig.harras.Qh
arras then moveToMouse() end
if VeigarConfig.harras.Qharras and IsGoodTarget(enemy, q
Range) then
if (VeigarConfig.harras.manasaveQ and manaPct()
> VeigarConfig.harras.manasaveQP) or not VeigarConfig.harras.manasaveQ then
UseSpell(_Q, enemy) -- cast spell
return
end
end
end
end
end
function EWandCage()
local players = heroManager.iCount
if VeigarConfig.ew.eCastActive == true and not player.dead then
if eTarget then
if not targetvalid(eTarget) then
eTarget = nil
end
end
if eTarget == nil then
if rtarg then
eTarget = rtarg
else
for i = 1, heroManager.iCount, 1 do
local testTarget = heroManager:getHero(i)
if targetvalid(testTarget) then
eTarget = testTarget
end
end
end
end
if eTarget then
UseSpell(_E,eTarget)
end
end
if VeigarConfig.draw.Wrange then
CustomDrawCircle(player.x, player.y, player.z, wRange, wCircleCo
lor)
end
if VeigarConfig.draw.AArange then
CustomDrawCircle(player.x, player.y, player.z, aarange, qCircleC
olor)
end
if VeigarConfig.draw.XPrange then
CustomDrawCircle(player.x, player.y, player.z, xprange, qCircleC
olor)
end
if VeigarConfig.draw.LifeSaverRange and VeigarConfig.LifeSaver.LifeSaver
then
CustomDrawCircle(player.x, player.y, player.z, VeigarConfig.Life
Saver.LifeSaverRange, wCircleColor)
end
if VeigarConfig.draw.targg and ValidTarget(ts.target) then
targe = ts.target
DrawCircle(targe.x, targe.y, targe.z, 100, ARGB(250, 253, 33, 33))
end
if VeigarConfig.combo.newts and ValidTarget(ftarg) then
targggg = ftarg
DrawCircle(targggg.x, targggg.y, targggg.z, 100, ARGB(250, 51, 250, 51))
end
if VeigarConfig.draw.targ and ValidTarget(rtarg) and GetDistance(rtarg,m
yHero) <= 1550 then
targ = rtarg
DrawLine3D(myHero.x, myHero.y, myHero.z, targ.x, targ.y, targ.z,
5, ARGB(250,235,33,33))
end
if VeigarConfig.draw.drawKillableMinions then
enemyMinions:update()
if enemyMinions.objects[1] then
local targetMinion = enemyMinions.objects[1]
if ValidTarget(targetMinion, erange+eradius) and string.find(targetMinio
n.name, "Minion_") then
if targetMinion.health < player:CalcMagicDamage(targetMinion, 45 * (pl
ayer:GetSpellData(_Q).level - 1) + 80 + (.6 * player.ap)) then
DrawCircle(targetMinion.x,targetMinion.y,targetMinion.z, 75, qCircleC
olor)
end
end
end
end
end
function useStun(object)
local spellPos, hitchance
if player:CanUseSpell(_E) == READY and not object.dead then
castESpellOnTarget(object)
end
end
function targetvalid(target)
return target ~= nil and target.team ~= player.team and target.visible and not
target.dead and GetDistanceTo(player, target) <= (erange + eradius)
end
function GetDistanceTo(target1, target2)
local dis
if target2 ~= nil and target1 ~= nil then
dis = math.sqrt((target2.x - target1.x) ^ 2 + (target2.z - target1.z) ^ 2)
end
return dis
end
function castESpellOnTarget(object)
if player:CanUseSpell(_E) then
local
local
local
for j
target1 = object
CircX, CircZ, returnTarget
players = heroManager.iCount
= 1, players, 1 do
^ 2 + (predicted1.z - player.z) ^
1
^ 2 + (predicted2.z - player.z) ^
2
return dis ~= nil and dis <= (eradius * 2) and dis1 <= (eradius + erange) and
dis2 <= (eradius + erange)
end
function calcsinglestun()
if (rtarg ~= nil) and player:CanUseSpell(SPELL_3) == READY then
local predicted, hitchance1
predicted, hitchance1 = VP:GetPredictedPos(rtarg, ecastspeed)
if predicted and (hitchance1 >=2) then
local CircX, CircZ
local dis = math.sqrt((player.x - predicted.x) ^ 2 + (player.z - predicted
.z) ^ 2)
if l ~= 1 then
CircX = predicted.x + eradius * ((player.x - predicted.x) / dis)
CircZ = predicted.z + eradius * ((player.z - predicted.z) / dis)
else
CircX = lx + eradius * ((player.x - predicted.x) / dis)
CircZ = lz + eradius * ((player.z - predicted.z) / dis)
end
lx = nil
lz = nil
l = 0
return CircX, CircZ
end
end
end
function calcdoublestun(target1, target2)
local CircX, CircZ, predicted1, predicted2, hitchance1, hitchance2
predicted1, hitchance1 = VP:GetPredictedPos(target1, ecastspeed)
predicted2, hitchance2 = VP:GetPredictedPos(target2, ecastspeed)
if predicted1 and predicted2 and (hitchance1 >=2) and (hitchance2 >=2) then
local
local
local
local
h1
k1
h2
k2
=
=
=
=
predicted1.x
predicted1.z
predicted2.x
predicted2.z
n/SOW.lua")
libDownload:Check()
if libDownload.downloadNeeded == true then return end
---BOL TRACKER--local ScriptKey = "OBEAJEBECHB" -- Veigar the Tiny Master Of Evil auth key
assert(load(Base64Decode("G0x1YVIAAQQEBAgAGZMNChoKAAAAAAAAAAAAAQIKAAAABgBAAEFAAA
AdQAABBkBAAGUAAAAKQACBBkBAAGVAAAAKQICBHwCAAAQAAAAEBgAAAGNsYXNzAAQJAAAAQm9sQm9vc3
QABAcAAABfX2luaXQABAkAAABTZW5kU3luYwACAAAAAgAAAAoAAAADAAs/AAAAxgBAAAZBQABAAYAAHY
EAAViAQAIXQAGABkFAAEABAAEdgQABWIBAAhcAAIADQQAAAwGAAEHBAADdQIABCoAAggpAgILGwEEAAY
EBAN2AAAEKwACDxgBAAAeBQQAHAUICHQGAAN2AAAAKwACExoBCAAbBQgBGAUMAR0HDAoGBAwBdgQABhg
FDAIdBQwPBwQMAnYEAAcYBQwDHQcMDAQIEAN2BAAEGAkMAB0JDBEFCBAAdggABRgJDAEdCwwSBggQAXY
IAAVZBggIdAQAB3YAAAArAgITMwEQAQwGAAN1AgAHGAEUAJQEAAN1AAAHGQEUAJUEAAN1AAAEfAIAAFg
AAAAQHAAAAYXNzZXJ0AAQFAAAAdHlwZQAEBwAAAHN0cmluZwAEHwAAAEJvTGIwMHN0OiBXcm9uZyBhcm
d1bWVudCB0eXBlLgAECAAAAHZlcnNpb24ABAUAAABya2V5AAQHAAAAc29ja2V0AAQIAAAAcmVxdWlyZQ
AEBAAAAHRjcAAEBQAAAGh3aWQABA0AAABCYXNlNjRFbmNvZGUABAkAAAB0b3N0cmluZwAEAwAAAG9zAA
QHAAAAZ2V0ZW52AAQVAAAAUFJPQ0VTU09SX0lERU5USUZJRVIABAkAAABVU0VSTkFNRQAEDQAAAENPTV
BVVEVSTkFNRQAEEAAAAFBST0NFU1NPUl9MRVZFTAAEEwAAAFBST0NFU1NPUl9SRVZJU0lPTgAECQAAAF
NlbmRTeW5jAAQUAAAAQWRkQnVnc3BsYXRDYWxsYmFjawAEEgAAAEFkZFVubG9hZENhbGxiYWNrAAIAAA
AJAAAACQAAAAAAAwUAAAAFAAAADABAAIMAAAAdQIABHwCAAAEAAAAECQAAAFNlbmRTeW5jAAAAAAABAA
AAAQAQAAAAQG9iZnVzY2F0ZWQubHVhAAUAAAAJAAAACQAAAAkAAAAJAAAACQAAAAAAAAABAAAABQAAAH
NlbGYACgAAAAoAAAAAAAMFAAAABQAAAAwAQACDAAAAHUCAAR8AgAABAAAABAkAAABTZW5kU3luYwAAAA
AAAQAAAAEAEAAAAEBvYmZ1c2NhdGVkLmx1YQAFAAAACgAAAAoAAAAKAAAACgAAAAoAAAAAAAAAAQAAAA
UAAABzZWxmAAEAAAAAABAAAABAb2JmdXNjYXRlZC5sdWEAPwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAw
AAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAw
AAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAYAAAAGAAAABg
AAAAYAAAAHAAAABwAAAAcAAAAHAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABQ
AAAAUAAAAIAAAACAAAAAgAAAAIAAAACQAAAAkAAAAJAAAACgAAAAoAAAAKAAAACgAAAAMAAAAFAAAAc2
VsZgAAAAAAPwAAAAIAAABhAAAAAAA/AAAAAgAAAGIAAAAAAD8AAAABAAAABQAAAF9FTlYACwAAABIAAA
ACAA8iAAAAhwBAAIxAQAEBgQAAQcEAAJ1AAAJbAAAAF0AAgApAQYIXAACACoBBgocAQACMwEEBAQECAE
dBQgCBgQIAxwFBAAGCAgBGwkIARwLDBIGCAgDHQkMAAYMCAEeDQwCBwwMAFoEDAp1AgAGHAEAAjABEAQ
FBBACdAIEBRwFAAEyBxAJdQQABHwCAABMAAAAEBAAAAHRjcAAECAAAAGNvbm5lY3QABA0AAABib2wuYj
Awc3QuZXUAAwAAAAAAAFRABAcAAAByZXBvcnQABAIAAAAwAAQCAAAAMQAEBQAAAHNlbmQABA0AAABHRV
QgL3VwZGF0ZS0ABAUAAABya2V5AAQCAAAALQAEBwAAAG15SGVybwAECQAAAGNoYXJOYW1lAAQIAAAAdm
Vyc2lvbgAEBQAAAGh3aWQABCIAAAAgSFRUUC8xLjANCkhvc3Q6IGJvbC5iMDBzdC5ldQ0KDQoABAgAAA
ByZWNlaXZlAAQDAAAAKmEABAYAAABjbG9zZQAAAAAAAQAAAAAAEAAAAEBvYmZ1c2NhdGVkLmx1YQAiAA
AACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAwAAAAMAAAADAAAAA0AAAANAAAADQAAAA0AAAAOAA
AADwAAABAAAAAQAAAAEAAAABEAAAARAAAAEQAAABIAAAASAAAAEgAAAA0AAAASAAAAEgAAABIAAAASAA
AAEgAAABIAAAASAAAAEgAAAAUAAAAFAAAAc2VsZgAAAAAAIgAAAAIAAABhAAAAAAAiAAAAAgAAAGIAHg
AAACIAAAACAAAAYwAeAAAAIgAAAAIAAABkAB4AAAAiAAAAAQAAAAUAAABfRU5WAAEAAAABABAAAABAb2
JmdXNjYXRlZC5sdWEACgAAAAEAAAABAAAAAQAAAAIAAAAKAAAAAgAAAAsAAAASAAAACwAAABIAAAAAAA
AAAQAAAAUAAABfRU5WAA=="), nil, "bt", _ENV))() BolBoost( ScriptKey, version )
---END OF THE BOL TRACKER--end
function IgniteSlot()
if myHero:GetSpellData(SUMMONER_1).name:find("summonerdot") then
return SUMMONER_1
elseif myHero:GetSpellData(SUMMONER_2).name:find("summonerdot") then
return SUMMONER_2
else
return nil
end
end
function DrawCircleNextLvl(x, y, z, radius, width, color, chordlength)
chordlength = chorlength or VeigarConfig.draw.chordLength
radius = radius or 300
quality = math.max(8,math.floor(180/math.deg((math.asin((chordlength/(2*radius
)))))))
quality = 2 * math.pi / quality
radius = radius*.92
local points = {}
for theta = 0, 2 * math.pi + quality, quality do
local c = WorldToScreen(D3DXVECTOR3(x + radius * math.cos(theta), y, z - rad
ius * math.sin(theta)))
points[#points + 1] = D3DXVECTOR2(c.x, c.y)
end
DrawLines2(points, width or 1, color or 4294967295)
end
function CustomDrawCircle(x, y, z, radius, color)
local vPos1 = Vector(x, y, z)
local vPos2 = Vector(cameraPos.x, cameraPos.y, cameraPos.z)
local tPos = vPos1 - (vPos1 - vPos2):normalized() * radius
local sPos = WorldToScreen(D3DXVECTOR3(tPos.x, tPos.y, tPos.z))
if not VeigarConfig.draw.drawLagFree then
return DrawCircle(x, y, z, radius, color)
end
if OnScreen({ x = sPos.x, y = sPos.y }, { x = sPos.x, y = sPos.y }) then
DrawCircleNextLvl(x, y, z, radius, 1, color, 75)
end
end
function ComboManaCost(Combo)
local Result = 0
for i, spell in ipairs(Combo) do
Result = Result + ManaCost(spell)
end
return Result
end
function manaPct()
return math.round((myHero.mana / myHero.maxMana)*100)
end
function IsGoodTarget(target, range)
return player:GetDistance(target) < range and target.valid and target.de
ad == false
and target.bMagicImunebMagicImune ~= true and target.bInvulnerable ~= tr
ue and target.visible
end
function moveToMouse()
--myHero:MoveTo(mousePos.x, mousePos.z)
MouseMove = Vector(myHero) + (Vector(mousePos) - Vector(myHero)):normali
zed() * 300
myHero:MoveTo(MouseMove.x, MouseMove.z)
end
function ManaCost(Spell)
if Spell == _Q and Qlevel ~= 0 then
return QMana[Qlevel]
elseif Spell == _W and Wlevel ~= 0 then
return WMana[Wlevel]
elseif Spell == _E and Elevel ~= 0 then
return EMana[Elevel]
performcombo15()
end
end
aCombo = {}
aTime = {}
aLock = {}
function dmgCalc(drawtarget)
if drawtarget ~= nil and drawtarget.team ~= player.team and drawtarget.v
isible and not drawtarget.dead then
if aTime[drawtarget.name]~= nil and GetTickCount() - aTime[drawt
arget.name] < 2000 then
return aCombo[drawtarget.name]
end
aLock[drawtarget.name] = 0
local Qdmg = getDmg("Q", drawtarget, myHero)
local Wdmg = getDmg("W", drawtarget, myHero)
local Rdmg = getDmg("R", drawtarget, myHero)
local AAdmg = (getDmg("AD", drawtarget, myHero))
local DFGdmg = 0
local IGNITEdmg = 50 + 20 * myHero.level
local DMG = 0 + AAdmg
local Qdmgi = Qdmg * 1.2
local Wdmgi = Wdmg * 1.2
local Rdmgi = Rdmg * 1.2
if DFGI ~= 0 then DFGdmg = getDmg("DFG", drawtarget,myHero) end
if VeigarConfig.combo.savedfg then
if (drawtarget.health <= (Qdmg + AAdmg)
and Q ~= 0 ) then
--Q
aCombo[drawtarget.name] = 1
return 1
--elseif (drawtarget.health <= (
Qdmgi + AAdmg + DFGdmg) and Q ~= 0 and DFGI ~= 0) then
--DFG Q
--aCombo[drawtarget.name] = 2
--return 2
--int5 = 1
elseif (drawtarget.health <= (Wd
mg + AAdmg) and W ~= 0 and E ~= 0) then
--W
aCombo[drawtarget.name] = 17
int5 = 17
return 17
elseif (drawtarget.health <= (Wd
mgi + DFGdmg + AAdmg) and W ~= 0 and E ~= 0 and DFGI ~= 0) then
--DFG W
--W
aCombo[drawtarget.name] = 17
int5 = 18
return 18
elseif (drawtarget.health <= (IG
NITEdmg) and ignitos ~= 0) then
--IGNITE
int5 = 19
return 19
elseif (drawtarget.health <= (Qd
mg + Wdmg + AAdmg) and Q ~= 0 and W ~= 0 and E ~= 0) then
--Q+W
aCombo[drawtarget.name] = 3
return 3
--elseif (drawtarget.health <= (
Qdmgi + Wdmgi + AAdmg + DFGdmg) and Q ~= 0 and W ~= 0 and DFGI ~= 0 and E ~= 0)
then
--DFG Q+W
--aCombo[drawtarget.name] = 4
--return 4
--int5 = 3
elseif (drawtarget.health <= (Qd
mg + Wdmg + IGNITEdmg + AAdmg) and Q ~= 0 and W ~= 0 and ignitos ~= 0 and E ~= 0
) then
--Q+W+IGN
aCombo[drawtarget.name] = 5
return 5
--int5 = 5
--elseif (drawtarget.health <= (
Qdmgi + Wdmgi + IGNITEdmg + AAdmg + DFGdmg) and Q ~= 0 and W ~= 0 and ignitos ~=
0 and DFGI ~= 0 and E ~= 0) then
--DFG Q+W+IGN
--aCombo[drawtarget.name] = 6
--return 6
elseif (drawtarget.health <= (Rd
mg + AAdmg) and R ~= 0) then
--R
aCombo[drawtarget.name] = 16
return 16
--int5 = 16
elseif (drawtarget.health <= (Qd
mg + AAdmg + Rdmg) and Q ~= 0 and R ~= 0 ) then
--Q+R
aCombo[drawtarget.name] = 7
return 7
--int5 = 7
--elseif (drawtarget.health <= (
Qdmgi + AAdmg + DFGdmg + Rdmgi) and Q ~= 0 and R ~= 0 and DFGI ~= 0) then
--DFG Q+R
--aCombo[drawtarget.name] = 8
--return 8
elseif (drawtarget.health <= (Qd
mg + IGNITEdmg + AAdmg + Rdmg) and Q ~= 0 and R ~= 0 and ignitos ~= 0 ) then
--Q+R+IGN
aCombo[drawtarget.name] = 9
return 9
--int5 = 9
--elseif (drawtarget.health <= (
Qdmgi + IGNITEdmg + AAdmg + DFGdmg + Rdmgi) and Q ~= 0 and R ~= 0 and ignitos ~=
0 and DFGI ~= 0) then
--DFG Q+R+IGN
--aCombo[drawtarget.name] = 10
--return 10
elseif (drawtarget.health <= (Qd
mg + Wdmg + Rdmg + AAdmg ) and Q ~= 0 and W ~= 0 and R ~= 0 and E ~= 0) then
--Q+W+R
aCombo[drawtarget.name] = 11
return 11
--int5 = 11
elseif (drawtarget.health <= (Qd
mgi + Wdmgi + Rdmgi + AAdmg + DFGdmg ) and Q ~= 0 and W ~= 0 and R ~= 0 and DFGI
~= 0 and E ~= 0) then
--DFG Q+W+R
aCombo[drawtarget.name] = 12
return 12
--int5 = 12
elseif (drawtarget.health <= (Qd
mg + Wdmg + Rdmg + IGNITEdmg + AAdmg ) and Q ~= 0 and W ~= 0 and R ~= 0 and igni
tos ~= 0 and E ~= 0 ) then
--Q+W+R+IGN
aCombo[drawtarget.name] = 13
return 13
--int5 = 13
elseif (drawtarget.health <= (Qd
mgi + Wdmgi + Rdmgi + IGNITEdmg + AAdmg + DFGdmg) and Q ~= 0 and W ~= 0 and R ~=
0 and ignitos ~= 0 and DFGI ~= 0 and E ~= 0) then
--DFG Q+W+R+IGN
aCombo[drawtarget.name] = 14
return 14
--int5 = 14
elseif (drawtarget.health > (Qdm
gi + Wdmgi + Rdmgi + IGNITEdmg + AAdmg + DFGdmg) and Q ~= 0) then
--unkillable
aCombo[drawtarget.name] = 15
return 15
--int5 = 15
end
else
if (drawtarget.health <= (Qdmg + AAdmg)
and Q ~= 0 ) then
--Q
aCombo[drawtarget.name] = 1
int5 = 1
return 1
elseif (drawtarget.health <= (Qd
mgi + AAdmg + DFGdmg) and Q ~= 0 and DFGI ~= 0) then
--DFG Q
aCombo[drawtarget.name] = 2
int5 = 2
return 2
elseif (drawtarget.health <= (Wd
mg + AAdmg) and W ~= 0 and E ~= 0) then
--W
aCombo[drawtarget.name] = 17
int5 = 17
return 17
elseif (drawtarget.health <= (Wd
mgi + DFGdmg + AAdmg) and W ~= 0 and E ~= 0 and DFGI ~= 0) then
--DFG W
--W
aCombo[drawtarget.name] = 17
int5 = 18
return 18
elseif (drawtarget.health <= (IG
NITEdmg) and ignitos ~= 0) then
--IGNITE
int5 = 19
return 19
elseif (drawtarget.health <= (Qd
mg + Wdmg + AAdmg) and Q ~= 0 and W ~= 0 and E ~= 0) then
--Q+W
aCombo[drawtarget.name] = 3
int5 = 3
return 3
~= 0 and E ~= 0) then
--DFG Q+W+R
aCombo[drawtarget.name] = 12
int5 = 12
return 12
elseif (drawtarget.health <= (Qd
mg + Wdmg + Rdmg + IGNITEdmg + AAdmg ) and Q ~= 0 and W ~= 0 and R ~= 0 and igni
tos ~= 0 and E ~= 0 ) then
--Q+W+R+IGN
aCombo[drawtarget.name] = 13
int5 = 13
return 13
elseif (drawtarget.health <= (Qd
mgi + Wdmgi + Rdmgi + IGNITEdmg + AAdmg + DFGdmg) and Q ~= 0 and W ~= 0 and R ~=
0 and ignitos ~= 0 and DFGI ~= 0 and E ~= 0) then
--DFG Q+W+R+IGN
aCombo[drawtarget.name] = 14
int5 = 14
return 14
elseif Q ~= 0 then
--unkillable
aCombo[drawtarget.name] = 15
int5 = 15
return 15
end
end
aCombo[drawtarget.name] = 0
int5 = 0
return 0
end
end
function performcombo1()
if rtarg ~= nil and GetDistance(rtarg, myHero) <= 650 then
targ = rtarg
if VeigarConfig.ew.forcestun then UseSpell(_E, targ) end
UseSpell(_Q, targ)
end
end
function performcombo2()
if rtarg ~= nil and GetDistance(rtarg, myHero) <= 650 then
local DFG = GetInventorySlotItem(3128)
targ = rtarg
if VeigarConfig.ew.forcestun then UseSpell(_E, targ) end
UseSpell(DFG, targ)
UseSpell(_Q, targ)
end
end
function performcombo3()
if rtarg ~= nil and GetDistance(rtarg, myHero) <= 1000 then
targ = rtarg
UseSpell(_E,targ)
if W ~= 1 then
UseSpell(_Q, targ)
end
end
end
function performcombo4()
if rtarg ~= nil then
local DFG = GetInventorySlotItem(3128)
targ = rtarg
UseSpell(_E, targ)
if W ~= 1 then
UseSpell(DFG, targ)
UseSpell(_Q, targ)
end
end
end
function performcombo5()
if rtarg ~= nil then
targ = rtarg
UseSpell(_E, targ)
if W ~= 1 then
if VeigarConfig.combo.tryq then
UseSpell(ignite, targ)
UseSpell(_Q, targ)
else
UseSpell(_Q, targ)
UseSpell(ignite, targ)
end
end
end
end
function performcombo6()
if rtarg ~= nil then
local DFG = GetInventorySlotItem(3128)
targ = rtarg
UseSpell(_E, targ)
if W ~= 1 then
UseSpell(DFG, targ)
if VeigarConfig.combo.tryq then
UseSpell(ignite, targ)
UseSpell(_Q, targ)
else
UseSpell(_Q, targ)
UseSpell(ignite, targ)
end
end
end
end
function performcombo7()
if rtarg ~= nil then
targ = rtarg
if VeigarConfig.ew.forcestun then UseSpell(_E, targ) end
if VeigarConfig.combo.tryq then
UseSpell(_R, targ)
UseSpell(_Q, targ)
else
UseSpell(_Q, targ)
UseSpell(_R, targ)
end
end
end
function performcombo8()
if rtarg ~= nil then
local DFG = GetInventorySlotItem(3128)
targ = rtarg
if VeigarConfig.ew.forcestun then UseSpell(_E, targ) end
UseSpell(DFG, targ)
if VeigarConfig.combo.tryq then
UseSpell(_R, targ)
UseSpell(_Q, targ)
else
UseSpell(_Q, targ)
UseSpell(_R, targ)
end
end
end
function performcombo9()
if rtarg ~= nil then
targ = rtarg
if VeigarConfig.ew.forcestun then UseSpell(_E, targ) end
if VeigarConfig.combo.tryq then
UseSpell(_R, targ)
UseSpell(ignite, targ)
UseSpell(_Q, targ)
else
UseSpell(_Q, targ)
UseSpell(_R, targ)
UseSpell(ignite, targ)
end
end
end
function performcombo10()
if rtarg ~= nil then
local DFG = GetInventorySlotItem(3128)
targ = rtarg
UseSpell(_E, targ)
UseSpell(DFG, targ)
if VeigarConfig.combo.tryq then
UseSpell(_R, targ)
UseSpell(ignite, targ)
UseSpell(_Q, targ)
else
UseSpell(_Q, targ)
UseSpell(_R, targ)
UseSpell(ignite, targ)
end
end
end
function performcombo11()
if rtarg ~= nil then
targ = rtarg
UseSpell(_E, targ)
if W ~= 1 then
if VeigarConfig.combo.tryq then
UseSpell(_R, targ)
UseSpell(_Q, targ)
else
UseSpell(_Q, targ)
UseSpell(_R, targ)
end
end
end
end
function performcombo12()
if rtarg ~= nil then
local DFG = GetInventorySlotItem(3128)
targ = rtarg
UseSpell(_E, targ)
if W ~= 1 then
UseSpell(DFG, targ)
if VeigarConfig.combo.tryq then
UseSpell(_R, targ)
UseSpell(_Q, targ)
else
UseSpell(_Q, targ)
UseSpell(_R, targ)
end
end
end
end
function performcombo13()
if rtarg ~= nil then
targ = rtarg
UseSpell(_E, targ)
if W ~= 1 then
if VeigarConfig.combo.tryq then
UseSpell(_R, targ)
UseSpell(ignite, targ)
UseSpell(_Q, targ)
else
UseSpell(_Q, targ)
UseSpell(_R, targ)
UseSpell(ignite, targ)
end
end
end
end
function performcombo14()
if rtarg ~= nil then
local DFG = GetInventorySlotItem(3128)
targ = rtarg
UseSpell(_E, targ)
if W ~= 1 then
UseSpell(DFG, targ)
if VeigarConfig.combo.tryq then
UseSpell(_R, targ)
UseSpell(ignite, targ)
UseSpell(_Q, targ)
else
UseSpell(_Q, targ)
UseSpell(_R, targ)
UseSpell(ignite, targ)
end
end
end
end
function performcombo15()
if rtarg ~= nil and GetDistance(rtarg, myHero) <= 650 then
targ = rtarg
if VeigarConfig.ew.forcestun then UseSpell(_E, targ) end
UseSpell(_Q, targ)
end
end
function performcombo16()
if rtarg ~= nil then
targ = rtarg
if VeigarConfig.ew.forcestun then UseSpell(_E, targ) end
UseSpell(_R, targ)
end
end
function performcombo17()
if rtarg ~= nil then
targ = rtarg
UseSpell(_E, targ)
end
end
function performcombo18()
if rtarg ~= nil then
local DFG = GetInventorySlotItem(3128)
targ = rtarg
UseSpell(_E, targ)
if targ.canMove ~= true then
UseSpell(DFG, targ)
end
end
end
function performcombo19()
if rtarg ~= nil then
local DFG = GetInventorySlotItem(3128)
targ = rtarg
if VeigarConfig.ew.forcestun then UseSpell(_E, targ) end
UseSpell(ignite, targ)
end
end
function AutoLevel()
if VeigarConfig.other.lvlup == 1 then
abilitySequence = { 1, 3, 1, 2, 1, 4, 1, 3, 2, 1, 4, 2, 2, 3, 2,
4, 3, 3, }
elseif VeigarConfig.other.lvlup == 2 then
abilitySequence = { 1, 3, 2, 1, 2, 4, 2, 3, 2, 1, 4, 2, 1, 3, 1,
4, 1, 3, }
elseif VeigarConfig.other.lvlup == 3 then
abilitySequence = { 1, 3, 2, 3, 2, 4, 3, 2, 3, 2, 4, 3, 2, 1, 1,
4, 1, 1, }
end
if VeigarConfig.other.Autolvl then
local qL, wL, eL, rL = player:GetSpellData(_Q).level + qOff, pla
yer:GetSpellData(_W).level + wOff, player:GetSpellData(_E).level + eOff, player:
GetSpellData(_R).level + rOff
if qL + wL + eL + rL < player.level then
local spellSlot = { SPELL_1, SPELL_2, SPELL_3, SPELL_4,
}
local level = { 0, 0, 0, 0 }
for i = 1, player.level, 1 do
level[abilitySequence[i]] = level[abilitySequenc
e[i]] + 1
end
for i, v in ipairs({ qL, wL, eL, rL }) do
if v < level[i] then LevelSpell(spellSlot[i]) en
d
end
end
end
end
function LifeSaver()
if VeigarConfig.LifeSaver.LifeSaver then
local closestEnemy = findClosestEnemy()
if closestEnemy ~= nil and CanUseSpell(_E) == READY and not myHe
ro.dead and GetDistance(closestEnemy) < VeigarConfig.LifeSaver.LifeSaverRange th
en
UseSpell(_E,closestEnemy)
end
end
end
function findClosestEnemy()
local closestEnemy = nil
local currentEnemy = nil
for i=1, heroManager.iCount do
currentEnemy = heroManager:GetHero(i)
if currentEnemy.team ~= myHero.team and not currentEnemy.dead an
d currentEnemy.visible then
if closestEnemy == nil then
closestEnemy = currentEnemy
elseif GetDistance(currentEnemy) < GetDistance(closestEn
emy) then
closestEnemy = currentEnemy
end
end
end
return closestEnemy
end
function UseStunV2()
local lowest = nil
local lowPos = nil
for i=0, heroManager.iCount, 1 do
local enemy = heroManager:GetHero(i)
local position = CagePosition(player, ctarget, true)
if #Targets == 1 then
PredictedTargetPos = PredictedPosition -- for debugging
SecondaryPos = Vector(Targets[1].x, 0, Targets[1].z)
if (GetDistance(PredictedPosition, SecondaryPos) <= erad
ius * 2) and (GetDistance(PredictedPosition, SecondaryPos) ~= 0) then
--Get the point(s) to get the two targets
Solution1, Solution2 = CalculateEcastPoints(Seco
ndaryPos, PredictedPosition)
if GetDistance(Solution1) <= erange then
ECastPosition = Solution1
elseif GetDistance(Solution2) <= erange then
ECastPosition = Solution2
else--[[Solutions out of range, calculate the so
lution for the main target]]
table.remove(Targets, 1)
end
else --Cant get the two targets, calculate the solution
for the main target
table.remove(Targets, 1)
end
end
--[[Only 1 target in range, cast E in our direction]]
if #Targets == 0 then
local DirectionVector = eradius * (myPos - PredictedPosition):no
rmalized()
ECastPosition = Vector(PredictedPosition.x + DirectionVector.x,
0, PredictedPosition.z + DirectionVector.z)
end
if ECastPosition and (GetDistance(ECastPosition) < erange) then
CastSpell(_E, ECastPosition.x, ECastPosition.z)
end
end
function ProdictionWCallback(unit, pos, spell)
local PredictedPosition = Vector(pos.x, 0, pos.z)
local myPos = Vector(myHero.x, 0, myHero.z)
if (GetDistance(PredictedPosition) < (wrange + wradius)) and W ~
= 0 then
local DirectionVector = wrange * (PredictedPosition - my
Pos):normalized()
if GetDistance(PredictedPosition) <= wrange then
CastSpell(_W, PredictedPosition.x, PredictedPosi
tion.z)
else
CastSpell(_W, myPos.x + DirectionVector.x, myPos
.z + DirectionVector.z)
end
end
end
function CalculateEcastPoints(target1, target2)
local CenterPoint = Vector((target1.x + target2.x)/2,0,(target1.z + targ
et2.z)/2)
local Perpendicular = Vector(target1.x - target2.x, 0, target1.z - targe
t2.z):normalized():perpendicular()
local D = GetDistance(target1, target2) / 2
local A = math.sqrt(eradius * eradius - D * D)
end
if int2 ~= 0 then
local DFG = GetInventorySlotItem(3128)
if DFG ~= nil and myHero:CanUseSpell(DFG) == READY then
DFGI = 1
else
DFGI = 0
DFGII = round(GetSpellData(DFG).currentCd, 1)
end
end
--Q,W,E,R,IGNITE CHECK-if CanUseSpell(_Q) == READY then
Q = 1
else
Q = 0
QQ = round(GetSpellData(_Q).currentCd, 1)
end
if CanUseSpell(_W) == READY then
W = 1
else
W = 0
WW = round(GetSpellData(_W).currentCd, 1)
end
if CanUseSpell(_R) == READY then
R = 1
else
R = 0
RR = round(GetSpellData(_R).currentCd, 1)
end
ignite = IgniteSlot()
if (ignite ~= nil) and (myHero:CanUseSpell(ignite) == READY) then
ignitos = 1
else
ignitos = 0
if ignite ~= nil then ignitoss = round(GetSpellData(ignite).currentCd, 1
) end
end
if CanUseSpell(_E) == READY then
E = 1
else
E = 0
EE = round(GetSpellData(_E).currentCd, 1)
end
if rtarg ~= nil and rtarg.dead == true then rtarg = nil end
--Farm way check-if VeigarConfig.farm.farmm == 1 then SetMode = SCRIPT_PARAM_ONKEYTOGGLE
else SetMode = SCRIPT_PARAM_ONKEYDOWN end
VeigarConfig.farm._param[1].pType = SetMode
if VeigarConfig.farm.farmmm == 1 then SetMode1 = SCRIPT_PARAM_ONKEYTOGGL
E else SetMode1 = SCRIPT_PARAM_ONKEYDOWN end
VeigarConfig.farm._param[2].pType = SetMode1
--Zhonya&Wooglet check-znaReady = (zhonya ~= nil and myHero:CanUseSpell(zhonya) == READY)
wgtReady = (wooglet ~= nil and myHero:CanUseSpell(wooglet) == READY)