Notes
![]() ![]() Notes - notes.io |
AutoSmite 3.0
by eXtragoZ
Features:
- Hotkey for switching AutoSmite On/Off (default: N)
- Hold-Hotkey for using AutoSmite (default: CTRL)
- Range indicator of smite
- A bar that indicates at what life can be smited in the hp bar
- The damage that smite will do to the monster using smite in the hp bar
- Supports Nunu Q and Chogath R
2.0 : Smiteable targets will now be highlighted if you are in range
: Different colors for the highlighting when smite is on cooldown
: Added Nashor smite spot
2.1 : Added Range indicator of smite
: Added options on the menu Nashor spot, Draw Circles and Draw Text
: Now says the percentage of life remaining will be left after use smite , Q and R in case of Nunu or Chogath
: Added Vilemaw of Twisted Treeline
: Removed Blue Dragon and Lizard Elder of Twisted Treeline
2.5 : Smite damage increased to 490-1000
: Added new method to go to Nashor spot, right click on the circle next to the wall of Nashor
: Added option to always smite Nashor
: Added option to draw smite range (separated from the option to draw circles)
: Now the range of smite and the circles in the camps disappear when AutoSmite is off
: Now the circles in the camps disappear when AutoSmite is on CD, if you are Nunu or Chogath the respective skills must be on CD
: New function of the circles in the camps:
The green circle indicates the percentage of current life
The purple circle indicates the percentage of life necessary to use smite
If you are Nunu or Chogath the respective skills have a circle ((Q + Smite) or Q for Nunu or (Smite + R) or R for ChoGath) depending if Smite is in CD
2.6 : Now Says the percentage of current life you will do to the monster using smite
2.7 : Removed option to go to Nashor spot, does not work anymore
: AutoSmite will start on by default if you have Smite
3.0 : Removed
Circles in the camps
The percentage of current life you will do to the monster using smite
: Re did part of the code, now it uses minionManager
: Added Smite and Draw options for every camp / monster
: Now shows information in the hp bar
A bar that indicates at what life can be smited
The damage that smite will do to the monster using smite
It highlight the hp bar and the damage when its at the right health
The bar and the damage gets transparency when smite is on CD, its out of range or disabled
]]
--[[ Config ]]
local range = 780 -- Range of smite (~800)
local turnoff = false --true/false
--[[ Globals ]]
local smiteSlot = nil
local jungleMonsters = {}
local smiteDamage, qDamage, mixDamage, rDamage, mixdDamage = 0, 0, 0, 0, 0
local canuseQ,canuseR,canusesmite = false,false,false
local Smiteison = false
local GameMap = 0
--[[ Code ]]
function OnLoad()
if myHero:GetSpellData(SUMMONER_1).name:find("Smite") then smiteSlot = SUMMONER_1
elseif myHero:GetSpellData(SUMMONER_2).name:find("Smite") then smiteSlot = SUMMONER_2 end
if myHero.charName == "Nunu" or myHero.charName == "Chogath" or smiteSlot or not turnoff then
SmiteConfig = scriptConfig("AutoSmite 3.0", "autosmite")
SmiteConfig:addParam("switcher", "Switcher Hotkey", SCRIPT_PARAM_ONKEYTOGGLE, (smiteSlot ~= nil), 78)
SmiteConfig:addParam("hold", "Hold Hotkey", SCRIPT_PARAM_ONKEYDOWN, false, 17)
SmiteConfig:addParam("active", "AutoSmite Active", SCRIPT_PARAM_INFO, false)
SmiteConfig:addParam("smitenashor", "Always Smite Nashor", SCRIPT_PARAM_ONOFF, true)
SmiteConfig:addParam("drawrange", "Draw Smite Range", SCRIPT_PARAM_ONOFF, true)
SmiteConfig:addParam("drawcircles", "Draw Circles", SCRIPT_PARAM_ONOFF, true)
SmiteConfig:addParam("drawtext", "Draw Text", SCRIPT_PARAM_ONOFF, true)
SmiteConfig:addSubMenu("Smite at", "smiteat")
SmiteConfig.smiteat:addParam("Worm", "Baron", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.smiteat:addParam("Dragon", "Dragon", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.smiteat:addParam("AncientGolem", "Ancient Golem", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.smiteat:addParam("LizardElder", "Lizard Elder", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.smiteat:addParam("GiantWolf", "Giant Wolf", SCRIPT_PARAM_ONOFF, false)
SmiteConfig.smiteat:addParam("GreatWraith", "Great Wraith", SCRIPT_PARAM_ONOFF, false)
SmiteConfig.smiteat:addParam("Wraith", "Wraith", SCRIPT_PARAM_ONOFF, false)
SmiteConfig.smiteat:addParam("Golem", "Golem", SCRIPT_PARAM_ONOFF, false)
SmiteConfig.smiteat:addParam("TTSpiderboss", "TT Spiderboss", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.smiteat:addParam("TTNGolem", "TT Golem", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.smiteat:addParam("TTNWolf", "TT Wolf", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.smiteat:addParam("TTNWraith", "TT Wraith", SCRIPT_PARAM_ONOFF, true)
SmiteConfig:addSubMenu("Draw Info", "drawinfo")
SmiteConfig.drawinfo:addParam("Worm", "Baron", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.drawinfo:addParam("Dragon", "Dragon", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.drawinfo:addParam("AncientGolem", "Ancient Golem", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.drawinfo:addParam("LizardElder", "Lizard Elder", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.drawinfo:addParam("GiantWolf", "Giant Wolf", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.drawinfo:addParam("GreatWraith", "Great Wraith", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.drawinfo:addParam("Wraith", "Wraith", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.drawinfo:addParam("Golem", "Golem", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.drawinfo:addParam("YoungLizard", "Young Lizard", SCRIPT_PARAM_ONOFF, false)
SmiteConfig.drawinfo:addParam("Wolf", "Wolf", SCRIPT_PARAM_ONOFF, false)
SmiteConfig.drawinfo:addParam("LesserWraith", "Lesser Wraith", SCRIPT_PARAM_ONOFF, false)
SmiteConfig.drawinfo:addParam("SmallGolem", "Small Golem", SCRIPT_PARAM_ONOFF, false)
SmiteConfig.drawinfo:addParam("TTSpiderboss", "TT Spiderboss", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.drawinfo:addParam("TTNGolem", "TT Golem", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.drawinfo:addParam("TTNWolf", "TT Wolf", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.drawinfo:addParam("TTNWraith", "TT Wraith", SCRIPT_PARAM_ONOFF, true)
SmiteConfig.drawinfo:addParam("TTNGolem2", "TT Small Golem", SCRIPT_PARAM_ONOFF, false)
SmiteConfig.drawinfo:addParam("TTNWraith2", "TT Small Wraith", SCRIPT_PARAM_ONOFF, false)
SmiteConfig.drawinfo:addParam("TTNWolf2", "TT Small Wolf", SCRIPT_PARAM_ONOFF, false)
SmiteConfig:permaShow("active")
jungleMonsters = minionManager(MINION_JUNGLE, 1000000)
GameMap = GetGame().map.index
Smiteison = true
PrintChat(" >> AutoSmite 3.0 loaded!")
end
end
function OnTick()
if not Smiteison then return end
jungleMonsters:update()
SmiteConfig.active = ((SmiteConfig.hold and not SmiteConfig.switcher) or (not SmiteConfig.hold and SmiteConfig.switcher))
if not SmiteConfig.active and SmiteConfig.smitenashor then
if GameMap == 1 and GetDistance({x=4543,y=0,z=10234}) <= 850 then
SmiteConfig.active = true
elseif GameMap == 10 and GetDistance({x=7687,y=0,z=9921}) <= 1000 then
SmiteConfig.active = true
end
end
smiteDamage = math.max(20*myHero.level+370,30*myHero.level+330,40*myHero.level+240,50*myHero.level+100)
qDamage = 250+150*myHero:GetSpellData(_Q).level
mixDamage = qDamage+smiteDamage
rDamage = 1000+.7*myHero.ap
mixdDamage = rDamage+smiteDamage
canuseQ = (myHero.charName == "Nunu" and myHero:CanUseSpell(_Q) == READY)
canuseR = (myHero.charName == "Chogath" and myHero:CanUseSpell(_R) == READY)
if smiteSlot ~= nil then canusesmite = (myHero:CanUseSpell(smiteSlot) == READY) end
if SmiteConfig.active and not myHero.dead and (canusesmite or canuseQ or canuseR) then
for i,monster in pairs(jungleMonsters.objects) do
if monster.charName ~= "HA_AP_Poro" and monster.charName ~= "TestCubeRender" and monster.charName ~= "TT_Buffplat_R" and monster.charName ~= "TT_Buffplat_L" then
if SmiteConfig.smiteat[monster.charName:gsub("_", "")] then
if monster ~= nil and not monster.dead and monster.visible and monster.x ~= nil then
checkMonster(monster)
end
end
end
end
end
end
function checkMonster(object)
local DistanceMonster = GetDistance(object)
if canusesmite and DistanceMonster <= range and object.health <= smiteDamage then
CastSpell(smiteSlot, object)
elseif canuseQ and DistanceMonster <= 125+200 then
if canusesmite and object.health <= mixDamage then
CastSpell(_Q, object)
elseif object.health <= qDamage then
CastSpell(_Q, object)
end
elseif canuseR and DistanceMonster <= 150+200 then
if canusesmite and object.health <= mixdDamage then
CastSpell(_R, object)
elseif object.health <= rDamage then
CastSpell(_R, object)
end
end
end
function OnDraw()
if not Smiteison then return end
if smiteSlot ~= nil and SmiteConfig.active and SmiteConfig.drawrange and not myHero.dead then
DrawCircle(myHero.x, myHero.y, myHero.z, range, 0x992D3D)
end
if not myHero.dead and (SmiteConfig.drawtext or SmiteConfig.drawcircles) then
for i,monster in pairs(jungleMonsters.objects) do
if monster.charName ~= "HA_AP_Poro" and monster.charName ~= "TestCubeRender" and monster.charName ~= "TT_Buffplat_R" and monster.charName ~= "TT_Buffplat_L" then
if SmiteConfig.drawinfo[monster.charName:gsub("_", "")] then
if monster ~= nil and not monster.dead and monster.visible and monster.x ~= nil then
MonsterDraw(monster)
end
end
end
end
end
end
function MonsterDraw(minion)
local isEpicMonster = minion.charName == "Dragon" or minion.charName == "Worm" or minion.charName == "TT_Spiderboss"
local barPos = GetUnitHPBarPos(minion)
barPos.x = math.floor(barPos.x - 32)
barPos.y = math.floor(barPos.y)
local maxDistance = 62
if minion.charName == "Dragon" then
barPos.x = barPos.x - 31
barPos.y = barPos.y - 7
maxDistance = 124
elseif minion.charName == "Worm" then
barPos.x = barPos.x - 31
maxDistance = 124
elseif minion.charName == "TT_Spiderboss" then
barPos.x = barPos.x - 31
maxDistance = 124
end
if isEpicMonster then
DrawRectangle(barPos.x + 57, barPos.y - 10, 35, 10, ARGB(255,0,0,0))
DrawText(tostring(math.floor(minion.health)), 12, barPos.x + 60, barPos.y - 12, ARGB(255, 255, 255, 255))
end
local SmiteDistance = smiteDamage / minion.maxHealth * maxDistance
local alphaSmite = (canusesmite and SmiteConfig.active and GetDistance(minion) <= range) and 255 or 100
DrawLine(barPos.x + SmiteDistance, barPos.y + 1, barPos.x + SmiteDistance, barPos.y + 5, 1, ARGB(alphaSmite,0,252,255))
DrawRectangle(barPos.x + SmiteDistance - 8, barPos.y - 10, 20, 10, ARGB(alphaSmite,0,0,0))
DrawText(tostring(smiteDamage), 11, barPos.x + SmiteDistance - 6, barPos.y - 11, ARGB(alphaSmite,0,252,255))
if smiteDamage >= minion.health then
DrawOutline(barPos.x-1, barPos.y-1, maxDistance+2, 7, ARGB(150,0,252,255))
DrawOutline(barPos.x + SmiteDistance - 8, barPos.y - 10, 20, 9, ARGB(150,0,252,255))
end
if myHero.charName == "Nunu" and myHero:GetSpellData(_Q).level > 0 then
local QDistance = qDamage / minion.maxHealth * maxDistance
local alphaQ = (canuseQ and SmiteConfig.active and GetDistance(minion) <= range) and 255 or 100
local alphaQSmite = (canusesmite and canuseQ and SmiteConfig.active and GetDistance(minion) <= range) and 255 or 100
DrawLine(barPos.x + QDistance, barPos.y + 1, barPos.x + QDistance, barPos.y + 5, 1, ARGB(alphaQ,0,252,255))
DrawRectangle(barPos.x + QDistance - 16, barPos.y + 7, 20, 10, ARGB(alphaQ,0,0,0))
DrawText(tostring(qDamage), 11, barPos.x + QDistance - 14, barPos.y + 7, ARGB(alphaQ,0,252,255))
DrawLine(barPos.x + QDistance + SmiteDistance, barPos.y + 1, barPos.x + QDistance + SmiteDistance, barPos.y + 5, 1, ARGB(alphaQSmite,0,252,255))
DrawRectangle(barPos.x + QDistance + SmiteDistance, barPos.y + 7, 20, 10, ARGB(alphaQSmite,0,0,0))
DrawText(tostring(mixDamage), 11, barPos.x + QDistance + SmiteDistance + 2, barPos.y + 7, ARGB(alphaQSmite,0,252,255))
if mixDamage >= minion.health then
local alphaBorder = qDamage >= minion.health and 255 or 150
DrawOutline(barPos.x-1, barPos.y-1, maxDistance+2, 7, ARGB(alphaBorder,0,252,255))
DrawOutline(barPos.x + QDistance + SmiteDistance, barPos.y + 7, 20, 10, ARGB(150,0,252,255))
if qDamage >= minion.health then
DrawOutline(barPos.x + QDistance - 16, barPos.y + 7, 20, 10, ARGB(150,0,252,255))
end
end
end
if myHero.charName == "Chogath" and myHero:GetSpellData(_R).level > 0 then
local RDistance = rDamage / minion.maxHealth * maxDistance
local alphaR = (canuseR and SmiteConfig.active and GetDistance(minion) <= range) and 255 or 100
local alphaRSmite = (canusesmite and canuseR and SmiteConfig.active and GetDistance(minion) <= range) and 255 or 100
DrawLine(barPos.x + RDistance, barPos.y + 1, barPos.x + RDistance, barPos.y + 5, 1, ARGB(alphaR,0,252,255))
DrawRectangle(barPos.x + RDistance - 16, barPos.y + 7, 20, 10, ARGB(alphaR,0,0,0))
DrawText(tostring(rDamage), 11, barPos.x + RDistance - 14, barPos.y + 7, ARGB(alphaR,0,252,255))
DrawLine(barPos.x + RDistance + SmiteDistance, barPos.y + 1, barPos.x + RDistance + SmiteDistance, barPos.y + 5, 1, ARGB(alphaRSmite,0,252,255))
DrawRectangle(barPos.x + RDistance + SmiteDistance, barPos.y + 7, 20, 10, ARGB(alphaRSmite,0,0,0))
DrawText(tostring(mixdDamage), 11, barPos.x + RDistance + SmiteDistance + 2, barPos.y + 7, ARGB(alphaRSmite,0,252,255))
if mixdDamage >= minion.health then
local alphaBorder = rDamage >= minion.health and 255 or 150
DrawOutline(barPos.x-1, barPos.y-1, maxDistance+2, 7, ARGB(alphaBorder,0,252,255))
DrawOutline(barPos.x + RDistance + SmiteDistance, barPos.y + 7, 20, 10, ARGB(150,0,252,255))
if rDamage >= minion.health then
DrawOutline(barPos.x + RDistance - 16, barPos.y + 7, 20, 10, ARGB(150,0,252,255))
end
end
end
end
function DrawOutline(x, y, width, height, color)
DrawLine(x, y, x + width + 1, y, 1, color)
DrawLine(x, y, x, y + height, 1, color)
DrawLine(x + width, y, x + width, y + height, 1, color)
DrawLine(x, y + height, x + width + 1, y + height, 1, color)
end
![]() |
Notes is a web-based application for online taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000+ notes created and continuing...
With notes.io;
- * You can take a note from anywhere and any device with internet connection.
- * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
- * You can quickly share your contents without website, blog and e-mail.
- * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
- * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.
Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.
Easy: Notes.io doesn’t require installation. Just write and share note!
Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )
Free: Notes.io works for 14 years and has been free since the day it was started.
You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;
Email: [email protected]
Twitter: http://twitter.com/notesio
Instagram: http://instagram.com/notes.io
Facebook: http://facebook.com/notesio
Regards;
Notes.io Team