Best Answer
Finally i got the kayle script done. I will love to hear how i can improve it:
local info = "Kayle v1.0.0 By Vegita"
textTable = {info}
PrintChat(textTable[1])
Config = scriptConfig("Kayle", "Kayle:")
Config.addParam("Q", "Use Q", SCRIPT_PARAM_ONOFF, true)
Config.addParam("W", "Use W", SCRIPT_PARAM_ONOFF, true)
Config.addParam("E", "Use E", SCRIPT_PARAM_ONOFF, true)
Config.addParam("R", "Use R", SCRIPT_PARAM_ONOFF, true)
DrawingsConfig = scriptConfig("Drawings", "Drawings:")
DrawingsConfig.addParam("DrawQ", "Draw Q", SCRIPT_PARAM_ONOFF, true)
DrawingsConfig.addParam("DrawW", "Draw W", SCRIPT_PARAM_ONOFF, true)
DrawingsConfig.addParam("DrawE", "Draw E", SCRIPT_PARAM_ONOFF, true)
DrawingsConfig.addParam("DrawR", "Draw R", SCRIPT_PARAM_ONOFF, true)
OnLoop(function(myHero)
Drawings()
local target = GetCurrentTarget()
if KeyIsDown (string.byte(" ")) and ValidTarget(target) then
if IsInDistance(target, GetCastRange(myHero,_Q)) and CanUseSpell(myHero, _Q) == READY and Config.Q then
CastTargetSpell(target, _Q)
end
if IsInDistance(target, 525) and CanUseSpell(myHero, _E) == READY and Config.E then
CastTargetSpell(myHero, _E)
end
for _, ally in pairs(GetAllyHeroes()) do
if Config.W then
if (GetCurrentHP(ally)/GetMaxHP(ally))<0.5 and
CanUseSpell(myHero, _W) == READY and IsInDistance(ally, 600) then
CastTargetSpell(ally, _W)
end
end
end
if Config.W then
if (GetCurrentHP(myHero)/GetMaxHP(myHero))<0.6 and
CanUseSpell(myHero, _W) == READY then
CastTargetSpell(myHero, _W)
end
end
if Config.R then
if (GetCurrentHP(myHero)/GetMaxHP(myHero))<0.3 and
CanUseSpell(myHero, _R) == READY then
CastTargetSpell(myHero, _R)
end
end
for _, ally in pairs(GetAllyHeroes()) do
if Config.R then
if (GetCurrentHP(ally)/GetMaxHP(ally))<0.3 and
CanUseSpell(myHero, _R) == READY and IsInDistance(ally, 900) then
CastTargetSpell(ally, _R)
end
end
end
end
end)
function Drawings()
local myHero = GetMyHero()
local target = GetCurrentTarget()
local myHeroPos = GetOrigin(myHero)
if "Kayle" == GetObjectName(myHero) then
myHeroPos = GetOrigin(myHero)
if DrawingsConfig.DrawQ then
DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,GetCastRange(myHero,_Q),3,100,0xff00ff00)
end
if DrawingsConfig.DrawW then
DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,GetCastRange(myHero,_W),3,100,0xff00ff00)
end
if DrawingsConfig.DrawE then
DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,GetCastRange(myHero,525),3,100,0xff00ff000)
end
if DrawingsConfig.DrawR then
DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,GetCastRange(myHero,_R),3,100,0xff00ff00)
end
end
end