Advertisement
Guest User

Untitled

a guest
Aug 1st, 2014
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 29.46 KB | None | 0 0
  1. if not myHero.charName == "Irelia" or not myHero.charName == "Malphite" then return end
  2.  
  3.     local SCRIPT_NAME = "Better Nerf Series"
  4.     local SCRIPT_VERSION = "0.1"
  5.     local Author = "si7ziTV"
  6.  
  7.     local menuvar = false
  8.     local mainmenu = nil
  9.     local drawmenu = nil
  10.  
  11.     local Qready = false
  12.     local Wready = false
  13.     local Eready = false
  14.     local Rready = false
  15.  
  16.     local AArange = myHero.range + 1.9 * 65
  17.  
  18.     local spellTable = {
  19.         Malphite = {
  20.             { range = 625,  width = 0,   speed = 1200,      delay =  .5, draw = true,  spellSlot = "Q", displayName = "Q  (Seismic Shard)"       },
  21.             { range = 0,    width = 0,   speed = math.huge, delay =  .5, draw = false, spellSlot = "W", displayName = "W (Brutal Strikes)"       },
  22.             { range = 400,  width = 400, speed = math.huge, delay =  .5, draw = true,  spellSlot = "E", displayName = "E  (Ground Slam)"         },
  23.             { range = 1000, width = 270, speed = 700,       delay =  .5, draw = true,  spellSlot = "R", displayName = "R  (Unstoppable Force)"   }
  24.         },
  25.         Irelia = {
  26.             { range = 650,  width = 0,   speed = 2200,      delay =   0, draw = true,  spellSlot = "Q", displayName = "Q  (Bladesurge)"          },
  27.             { range = 0,    width = 0,   speed = 347,       delay = .23, draw = false, spellSlot = "W", displayName = "W (Hiten Style)"          },
  28.             { range = 425,  width = 0,   speed = math.huge, delay =  .5, draw = true,  spellSlot = "E", displayName = "E  (Equilibrium Strike)"  },
  29.             { range = 1000, width = 40,  speed = 779,       delay =  .5, draw = true,  spellSlot = "R", displayName = "R  (Transcendent Blades)" }
  30.         }
  31.     }
  32.  
  33. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  34.  
  35. function OnLoad()
  36.  
  37.     hero = _G[myHero.charName]()
  38.  
  39.     Menu()
  40.  
  41.     hero:LoadMenu()
  42.  
  43.     print("<font color=\"#FE2E2E\"><b>"..SCRIPT_NAME..": "..myHero.charName.." "..hero.version.."</b></font> <font color=\"#FBEFEF\">Loaded successfully. Happy Fragging '"..GetUser().."'!</font>")
  44.  
  45. end
  46.  
  47. function Menu()
  48.     MainMenu()
  49.     DrawMenu()
  50. end
  51.  
  52. function MainMenu()
  53.     mainmenu = scriptConfig(""..SCRIPT_NAME..": "..myHero.charName.."", "main")
  54.  
  55.         mainmenu:addSubMenu("Combo", "combo")
  56.             mainmenu.combo:addParam("activate", "Combo", SCRIPT_PARAM_ONKEYDOWN, false, 32)
  57.             mainmenu.combo:addParam("line", "", SCRIPT_PARAM_INFO, "")
  58.  
  59.         mainmenu:addSubMenu("Harass", "harass")
  60.             mainmenu.harass:addParam("activate", "Harass", SCRIPT_PARAM_ONKEYDOWN, false, string.byte("C"))
  61.             mainmenu.harass:addParam("line", "", SCRIPT_PARAM_INFO, "")
  62.  
  63.         mainmenu:addSubMenu("LastHit", "lasthit")
  64.             mainmenu.lasthit:addParam("activate", "LastHit", SCRIPT_PARAM_ONKEYDOWN, false, string.byte("X"))
  65.             mainmenu.lasthit:addParam("line", "", SCRIPT_PARAM_INFO, "")
  66.  
  67.         mainmenu:addSubMenu("LaneClear", "laneclear")
  68.             mainmenu.laneclear:addParam("activate", "LaneClear", SCRIPT_PARAM_ONKEYDOWN, false, string.byte("V"))
  69.             mainmenu.laneclear:addParam("line", "", SCRIPT_PARAM_INFO, "")
  70.  
  71.         mainmenu:addSubMenu("JungleClear", "jungleclear")
  72.             mainmenu.jungleclear:addParam("activate", "JungleClear", SCRIPT_PARAM_ONKEYDOWN, false, string.byte("V"))
  73.             mainmenu.jungleclear:addParam("line", "", SCRIPT_PARAM_INFO, "")
  74.  
  75.         mainmenu:addSubMenu("Flee", "flee")
  76.             mainmenu.flee:addParam("FleeKey", "Flee", SCRIPT_PARAM_ONKEYDOWN, false, string.byte("T"))
  77.             mainmenu.flee:addParam("mouse", "Move to Mouse", SCRIPT_PARAM_ONOFF, true)
  78.             mainmenu.flee:addParam("line", "", SCRIPT_PARAM_INFO, "")
  79.  
  80.         mainmenu:addSubMenu("Killsteal", "ks")
  81.  
  82.         mainmenu:addSubMenu("Extra", "extra")      
  83.             if VIP_USER then mainmenu.extra:addSubMenu("Packet Cast", "packetCast")
  84.                 mainmenu.extra.packetCast:addParam("exploit1", "Use directional Exploit", SCRIPT_PARAM_ONOFF, false) end
  85.             mainmenu.extra:addSubMenu("Auto Level", "autolevel")
  86.                 mainmenu.extra.autolevel:addParam("activate", "Use Auto Level Spells", SCRIPT_PARAM_ONOFF, false)
  87.  
  88.         mainmenu:addParam("Version", ""..myHero.charName..": Version", SCRIPT_PARAM_INFO, hero.version)
  89.  
  90.         --mainmenu:addTS(ts)
  91. end
  92. function DrawMenu()
  93.     drawmenu = scriptConfig("Better Nerf Series: Draw Settings", "draw")
  94.  
  95.         drawmenu:addSubMenu("Circle Configuration", "Hero")
  96.             drawmenu.Hero:addSubMenu("Champion Range", "AA")
  97.                 drawmenu.Hero.AA:addParam("activate1", "Champion Range Circle", SCRIPT_PARAM_ONOFF, true)
  98.                 drawmenu.Hero.AA:addParam("colour1", "Colour", SCRIPT_PARAM_COLOR, {255, 0, 255, 0})
  99.                 drawmenu.Hero.AA:addParam("line", "", SCRIPT_PARAM_INFO, "")
  100.                 drawmenu.Hero.AA:addParam("activate2", "Enemy in Champion Range", SCRIPT_PARAM_ONOFF, true)
  101.                 drawmenu.Hero.AA:addParam("colour2", "Colour", SCRIPT_PARAM_COLOR, {255, 255, 0, 0})
  102.  
  103.         for _, spell in ipairs(spellTable[myHero.charName]) do
  104.             if spell.draw then
  105.  
  106.             drawmenu.Hero:addSubMenu(spell.displayName, spell.spellSlot)
  107.                 drawmenu.Hero[spell.spellSlot]:addParam("activate1", "Champion Range Circle", SCRIPT_PARAM_ONOFF, false)
  108.                 drawmenu.Hero[spell.spellSlot]:addParam("colour1", "Colour", SCRIPT_PARAM_COLOR, {255, 0, 255, 255})
  109.                 drawmenu.Hero[spell.spellSlot]:addParam("line", "", SCRIPT_PARAM_INFO, "")
  110.                 drawmenu.Hero[spell.spellSlot]:addParam("activate2", "Enemy in Champion Range", SCRIPT_PARAM_ONOFF, true)
  111.                 drawmenu.Hero[spell.spellSlot]:addParam("colour2", "Colour", SCRIPT_PARAM_COLOR, {255, 255, 0, 255})
  112.  
  113.             end
  114.         end
  115.  
  116.             drawmenu.Hero:addParam("line", "", SCRIPT_PARAM_INFO, "")
  117.             drawmenu.Hero:addParam("ADCmode", "Draw AA Range only", SCRIPT_PARAM_ONOFF, true)
  118.             drawmenu.Hero:addParam("alpha", "Transparence in % (Spell on CD)", SCRIPT_PARAM_SLICE, 30, 0, 100) 
  119.  
  120.         drawmenu:addSubMenu("Killsteal", "ks")
  121.  
  122.         drawmenu:addParam("line", "", SCRIPT_PARAM_INFO, "")
  123.         drawmenu:addParam("drawpreddmg", "Draw Predicted Damage", SCRIPT_PARAM_ONOFF, true)
  124.         drawmenu:addParam("lfc", "Use Low FPS Circles", SCRIPT_PARAM_ONOFF, true)
  125.         drawmenu:addParam("disable", "Disable Drawings", SCRIPT_PARAM_ONOFF, false)
  126. end
  127.  
  128. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  129.  
  130. function OnTick()
  131.     if myHero.dead then return end
  132.     checks()
  133. end
  134.  
  135. function checks()
  136.     Qready = (myHero:CanUseSpell(_Q) == READY)
  137.     Wready = (myHero:CanUseSpell(_W) == READY)
  138.     Eready = (myHero:CanUseSpell(_E) == READY)
  139.     Rready = (myHero:CanUseSpell(_R) == READY)
  140.     --menu var ADCmode /onoff
  141.     if menuvar == false and drawmenu.Hero.ADCmode then
  142.         for i, spell in ipairs(spellTable[myHero.charName]) do
  143.             if spell.draw then
  144.                 drawmenu.Hero[spell.spellSlot].activate1 = false
  145.                 menuvar = true
  146.             end
  147.         end
  148.     end
  149.     if menuvar == true then
  150.         for i, spell in ipairs(spellTable[myHero.charName]) do
  151.             if spell.draw and drawmenu.Hero[spell.spellSlot].activate1 then
  152.                 drawmenu.Hero.ADCmode = false
  153.                 menuvar = false
  154.             end
  155.         end
  156.     end
  157. end
  158. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  159.  
  160. function OnDraw()
  161.     if myHero.dead or drawmenu.disable then return end
  162.     --AA
  163.     local colourAA = TARGB(drawmenu.Hero.AA.colour1)
  164.     if drawmenu.Hero.AA.activate2 then
  165.         for _, enemy in pairs(GetEnemyHeroes()) do
  166.             if GetDistance(enemy) < AArange and not enemy.dead and enemy.visible then
  167.                 colourAA = TARGB(drawmenu.Hero.AA.colour2)
  168.                 break
  169.             end
  170.         end
  171.     end
  172.     if drawmenu.Hero.AA.activate1 then
  173.         if drawmenu.lfc then
  174.             DrawCircle2(myHero.x, myHero.y, myHero.z, AArange, colourAA)
  175.         else
  176.             DrawCircle(myHero.x, myHero.y, myHero.z, AArange, colourAA)
  177.         end
  178.     end
  179.     --Spells
  180.     for i, spell in ipairs(spellTable[myHero.charName]) do
  181.         if spell.draw then
  182.             local spellStatus = {Qready, Wready, Eready, Rready}
  183.             local colour = ARGB(spellStatus[i] and 255 or (drawmenu.Hero.alpha*2.55),  drawmenu.Hero[spell.spellSlot].colour1[2], drawmenu.Hero[spell.spellSlot].colour1[3], drawmenu.Hero[spell.spellSlot].colour1[4])
  184.             if drawmenu.Hero[spell.spellSlot].activate2 then
  185.                 for _, enemy in pairs(GetEnemyHeroes()) do
  186.                     if GetDistance(enemy) < spell.range and not enemy.dead and enemy.visible then
  187.                         colour = ARGB(spellStatus[i] and 255 or (drawmenu.Hero.alpha*2.55),  drawmenu.Hero[spell.spellSlot].colour2[2], drawmenu.Hero[spell.spellSlot].colour2[3], drawmenu.Hero[spell.spellSlot].colour2[4])                      
  188.                         break
  189.                     end
  190.                 end
  191.             end
  192.             if drawmenu.Hero[spell.spellSlot].activate1 then
  193.                 if drawmenu.lfc then
  194.                     DrawCircle2(myHero.x, myHero.y, myHero.z, spell.range, colour)
  195.                 else
  196.                     DrawCircle(myHero.x, myHero.y, myHero.z, spell.range, colour)
  197.                 end
  198.             end
  199.         end
  200.     end
  201. end
  202.  
  203. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  204.  
  205. function getSpellData(spellSlot)
  206.  for i, spell in pairs(spellTable[myHero.charName]) do
  207.   if spell.spellSlot == spellSlot then
  208.    return spell
  209.   end
  210.  end
  211. end
  212.  
  213. -- Low fps circles by barasia, vadash and viseversa
  214. function DrawCircleNextLvl(x, y, z, radius, width, color, chordlength)
  215.     radius = radius or 300
  216.     quality = math.max(8,round(90/math.deg((math.asin((chordlength/(2*radius)))))))
  217.     quality = 2 * math.pi / (radius / 5)
  218.     radius = radius*.92
  219.     local points = {}
  220.     for theta = 0, 2 * math.pi + quality, quality do
  221.         local c = WorldToScreen(D3DXVECTOR3(x + radius * math.cos(theta), y, z - radius * math.sin(theta)))
  222.         points[#points + 1] = D3DXVECTOR2(c.x, c.y)
  223.     end
  224.     DrawLines2(points, width or 1, color or 4294967295)
  225. end
  226. function round(num)
  227.     if num >= 0 then
  228.         return math.floor(num+.5)
  229.     else return math.ceil(num-.5)
  230.     end
  231. end
  232. function DrawCircle2(x, y, z, radius, color)
  233.     local vPos1 = Vector(x, y, z)
  234.     local vPos2 = Vector(cameraPos.x, cameraPos.y, cameraPos.z)
  235.     local tPos = vPos1 - (vPos1 - vPos2):normalized() * radius
  236.     local sPos = WorldToScreen(D3DXVECTOR3(tPos.x, tPos.y, tPos.z))
  237.     if OnScreen({ x = sPos.x, y = sPos.y }, { x = sPos.x, y = sPos.y })  then
  238.         DrawCircleNextLvl(x, y, z, radius, 1, color, 75)
  239.     end
  240. end
  241.  
  242. function TARGB(colorTable)
  243.     return ARGB(colorTable[1], colorTable[2], colorTable[3], colorTable[4])
  244. end
  245.  
  246. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  247. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  248. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  249. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  250. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  251. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  252. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  253. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  254. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  255. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  256.  
  257. class "Malphite"
  258.  
  259. function Malphite:__init()
  260.     self.version = "0.1"
  261.  
  262.     self.Q = getSpellData('Q')
  263.     self.W = getSpellData('W')
  264.     self.E = getSpellData('E')
  265.     self.R = getSpellData('R')
  266.  
  267.     self.ToInterrupt = {}
  268.     self.InterruptTable = {
  269.         { charName = "FiddleSticks",    spellName = "Crowstorm"                     },
  270.         { charName = "MissFortune",     spellName = "MissFortuneBulletTime"         },
  271.         { charName = "Nunu",            spellName = "AbsoluteZero"                  },
  272.         { charName = "Caitlyn",         spellName = "CaitlynAceintheHole"           },
  273.         { charName = "Katarina",        spellName = "KatarinaR"                     },
  274.         { charName = "Karthus",         spellName = "FallenOne"                     },
  275.         { charName = "Malzahar",        spellName = "AlZaharNetherGrasp"            },
  276.         { charName = "Galio",           spellName = "GalioIdolOfDurand"             },
  277.         { charName = "Darius",          spellName = "DariusExecute"                 },
  278.         { charName = "MonkeyKing",      spellName = "MonkeyKingSpinToWin"           },
  279.         { charName = "Vi",              spellName = "ViR"                           },
  280.         { charName = "Shen",            spellName = "ShenStandUnited"               },
  281.         { charName = "Urgot",           spellName = "UrgotSwap2"                    },
  282.         { charName = "Pantheon",        spellName = "Pantheon_GrandSkyfall_Jump"    },
  283.         { charName = "Lucian",          spellName = "LucianR"                       },
  284.         { charName = "Warwick",         spellName = "InfiniteDuress"                },
  285.         { charName = "Xerath",          spellName = "XerathLocusOfPower2"           },
  286.         { charName = "Velkoz",          spellName = "VelkozR"                       },
  287.         { charName = "Skarner",         spellName = "SkarnerImpale"                 }
  288.     }
  289.  
  290.     self.EnemyMinionManager = minionManager(MINION_ENEMY, self.Q.range, myHero, MINION_SORT_MAXHEALTH_DEC)
  291.     self.JungleMinionManager = minionManager(MINION_JUNGLE, self.Q.range, myHero, MINION_SORT_MAXHEALTH_DEC)
  292.  
  293.     if Rready then self.ts = TargetSelector(TARGET_LESS_CAST,self.R.range,DAMAGE_MAGICAL) else
  294.     self.ts = TargetSelector(TARGET_LESS_CAST,self.Q.range,DAMAGE_MAGICAL) end
  295.  
  296.     AddTickCallback(function() self:OnTick() end)
  297.     AddDrawCallback(function() self:OnDraw() end)
  298.     AddProcessSpellCallback(function(unit, spell) self:OnProcessSpell(unit, spell) end)
  299. end
  300.  
  301. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  302.  
  303. function Malphite:LoadMenu()
  304.  
  305.     self:LoadMainMenu()
  306.     self:LoadDrawMenu()
  307.  
  308. end
  309. function Malphite:LoadMainMenu()
  310.     mainmenu.combo:addParam("useQ", "Use Q", SCRIPT_PARAM_ONOFF, true)
  311.     mainmenu.combo:addParam("useW", "Use W", SCRIPT_PARAM_ONOFF, true)
  312.     mainmenu.combo:addParam("useE", "Use E", SCRIPT_PARAM_ONOFF, true)
  313.     mainmenu.combo:addParam("useR", "Use R", SCRIPT_PARAM_ONOFF, true)
  314.     mainmenu.combo:addParam("line", "", SCRIPT_PARAM_INFO, "")
  315.     mainmenu.combo:addParam("count", "Use R on", SCRIPT_PARAM_LIST, 1, { "1+ target", "2+ targets", "3+ targets", "4+ targets", "5+ targets" })
  316.     mainmenu.combo:addParam("line", "", SCRIPT_PARAM_INFO, "")
  317.     mainmenu.combo:addParam("useItems", "Use Items", SCRIPT_PARAM_ONOFF, true)
  318.  
  319.     mainmenu.harass:addParam("useQ", "Use Q", SCRIPT_PARAM_ONOFF, true)
  320.     mainmenu.harass:addParam("useW", "Use W", SCRIPT_PARAM_ONOFF, false)
  321.     mainmenu.harass:addParam("useE", "Use E", SCRIPT_PARAM_ONOFF, true)
  322.     mainmenu.harass:addParam("line", "", SCRIPT_PARAM_INFO, "")
  323.     mainmenu.harass:addParam("useItems", "Use Items", SCRIPT_PARAM_ONOFF, true)
  324.     mainmenu.harass:addParam("line", "", SCRIPT_PARAM_INFO, "")
  325.     mainmenu.harass:addParam("mana", "Dont Harass if Mana < X %", SCRIPT_PARAM_SLICE, 30, 0, 100)
  326.  
  327.     mainmenu.lasthit:addParam("useQ", "Use Q", SCRIPT_PARAM_ONOFF, true)
  328.     mainmenu.lasthit:addParam("useE", "Use E", SCRIPT_PARAM_ONOFF, false)
  329.     mainmenu.lasthit:addParam("line", "", SCRIPT_PARAM_INFO, "")
  330.     mainmenu.lasthit:addParam("useItems", "Use Items", SCRIPT_PARAM_ONOFF, true)
  331.     mainmenu.lasthit:addParam("line", "", SCRIPT_PARAM_INFO, "")
  332.     mainmenu.lasthit:addParam("mana", "Dont LastHit if Mana < X %", SCRIPT_PARAM_SLICE, 30, 0, 100)
  333.  
  334.     mainmenu.laneclear:addParam("useQ", "Use Q", SCRIPT_PARAM_ONOFF, true)
  335.     mainmenu.laneclear:addParam("useW", "Use W", SCRIPT_PARAM_ONOFF, true)
  336.     mainmenu.laneclear:addParam("useE", "Use E", SCRIPT_PARAM_ONOFF, true)
  337.     mainmenu.laneclear:addParam("line", "", SCRIPT_PARAM_INFO, "")
  338.     mainmenu.laneclear:addParam("useItems", "Use Items", SCRIPT_PARAM_ONOFF, true)
  339.     mainmenu.laneclear:addParam("line", "", SCRIPT_PARAM_INFO, "")
  340.     mainmenu.laneclear:addParam("mana", "Dont LaneClear if Mana < X %", SCRIPT_PARAM_SLICE, 30, 0, 100)
  341.  
  342.     mainmenu.jungleclear:addParam("useQ", "Use Q", SCRIPT_PARAM_ONOFF, true)
  343.     mainmenu.jungleclear:addParam("useW", "Use W", SCRIPT_PARAM_ONOFF, true)
  344.     mainmenu.jungleclear:addParam("useE", "Use E", SCRIPT_PARAM_ONOFF, true)
  345.     mainmenu.jungleclear:addParam("line", "", SCRIPT_PARAM_INFO, "")
  346.     mainmenu.jungleclear:addParam("useItems", "Use Items", SCRIPT_PARAM_ONOFF, true)
  347.     mainmenu.jungleclear:addParam("line", "", SCRIPT_PARAM_INFO, "")
  348.     mainmenu.jungleclear:addParam("mana", "Dont JungleClear if Mana < X %", SCRIPT_PARAM_SLICE, 30, 0, 100)
  349.  
  350.     mainmenu.flee:addParam("useQ", "Use Q", SCRIPT_PARAM_ONOFF, true)
  351.     mainmenu.flee:addParam("useW", "Use W", SCRIPT_PARAM_ONOFF, true)
  352.     mainmenu.flee:addParam("useE", "Use E", SCRIPT_PARAM_ONOFF, true)
  353.     mainmenu.flee:addParam("line", "", SCRIPT_PARAM_INFO, "")
  354.     mainmenu.flee:addParam("useItems", "Use Items", SCRIPT_PARAM_ONOFF, true)
  355.  
  356.     mainmenu.ks:addParam("useQ", "Use Q", SCRIPT_PARAM_ONOFF, true)
  357.     mainmenu.ks:addParam("useE", "Use E", SCRIPT_PARAM_ONOFF, true)
  358.     mainmenu.ks:addParam("useR", "Use R", SCRIPT_PARAM_ONOFF, false)
  359.  
  360.     mainmenu:addSubMenu("Auto Interruptions", "inter")
  361.         mainmenu.inter:addParam("activate", "Interrupt Skils with Ultimate.", SCRIPT_PARAM_ONOFF, true)
  362.         mainmenu.inter:addParam("line", "", SCRIPT_PARAM_INFO, "")
  363.         for i, enemy in ipairs(GetEnemyHeroes()) do
  364.             for _, champ in pairs(self.InterruptTable) do
  365.                 if enemy.charName == champ.charName then
  366.                     table.insert(self.ToInterrupt, {charName = champ.charName, spellName = champ.spellName})
  367.                 end
  368.             end
  369.         end
  370.         if #self.ToInterrupt > 0 then
  371.             for _, Inter in pairs(self.ToInterrupt) do
  372.                 mainmenu.inter:addParam(Inter.spellName, "Stop "..Inter.charName.." "..Inter.spellName, SCRIPT_PARAM_ONOFF, true)
  373.             end
  374.         else
  375.             mainmenu.inter:addParam("inter3", "No supported skills to interupt.", SCRIPT_PARAM_INFO, "")
  376.         end
  377. end
  378. function Malphite:LoadDrawMenu()
  379.     drawmenu.ks:addParam("activate1", "Draw Q KS", SCRIPT_PARAM_ONOFF, true)
  380.     drawmenu.ks:addParam("colour1", "Colour Q KS", SCRIPT_PARAM_COLOR, {255,84,84,84})
  381.     drawmenu.ks:addParam("line", "", SCRIPT_PARAM_INFO, "")
  382.     drawmenu.ks:addParam("activate2", "Draw E KS", SCRIPT_PARAM_ONOFF, true)
  383.     drawmenu.ks:addParam("colour2", "Colour E KS", SCRIPT_PARAM_COLOR, {255,172,86,86})
  384.     drawmenu.ks:addParam("line", "", SCRIPT_PARAM_INFO, "")
  385.     drawmenu.ks:addParam("activate3", "Draw R KS", SCRIPT_PARAM_ONOFF, true)
  386.     drawmenu.ks:addParam("colour3", "Colour R KS", SCRIPT_PARAM_COLOR, {255,255,0,0})
  387.  
  388.     drawmenu:addSubMenu("Farm", "farm")
  389.         drawmenu.farm:addParam("activate1", "Draw Circle if Minion killable", SCRIPT_PARAM_LIST, 2, { "Never", "OnKeyDown", "Always" })
  390.         drawmenu.farm:addParam("colour1", "Circle Color", SCRIPT_PARAM_COLOR, {255, 230, 230, 230})
  391.         drawmenu.farm:addParam("line", "", SCRIPT_PARAM_INFO, "")
  392.         drawmenu.farm:addParam("info", "Set SAME keys as your Orbwalker!", SCRIPT_PARAM_INFO, "")
  393.         drawmenu.farm:addParam("key1", "Freeze", SCRIPT_PARAM_ONKEYDOWN, false, string.byte("X"))
  394.         drawmenu.farm:addParam("key2", "Mixed Mode", SCRIPT_PARAM_ONKEYDOWN, false, string.byte("C"))
  395.         drawmenu.farm:addParam("key3", "Laneclear", SCRIPT_PARAM_ONKEYDOWN, false, string.byte("V"))
  396.         drawmenu.farm:addParam("key4", "Jungleclear", SCRIPT_PARAM_ONKEYDOWN, false, string.byte("V"))
  397. end
  398.  
  399. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  400.  
  401. function Malphite:OnTick()
  402.  
  403.     if myHero.dead then return end
  404.     self:Combo()
  405.     self:Harass()
  406.     self:LastHit()
  407.     self:LaneClear()
  408.     self:JungleClear()
  409.     self:Flee()
  410.     self:Killsteal()
  411.  
  412. end
  413.  
  414. function Malphite:Combo()
  415.     if mainmenu.combo.activate and target then
  416.         if mainmenu.combo.useQ then
  417.             self:CastQ(target)
  418.         end
  419.         if mainmenu.combo.useW then
  420.             self:CastW(target)
  421.         end
  422.         if mainmenu.combo.useE then
  423.             self:CastE(target)
  424.         end
  425.         if mainmenu.combo.useR then
  426.             self:CastR(target)
  427.         end
  428.     end
  429. end
  430. function Malphite:Harass()
  431.     if mainmenu.harass.activate and not self:manaharass and target then
  432.         if mainmenu.harass.useQ then
  433.             self:CastQ(target)
  434.         end
  435.         if mainmenu.harass.useW then
  436.             self:CastW(target)
  437.         end
  438.         if mainmenu.harass.useE then
  439.             self:CastE(target)
  440.         end
  441.     end
  442. end
  443. function Malphite:LastHit()
  444.     for i, minion in pairs(EnemyMinionManager.objects) do
  445.         if mainmenu.lasthit.activate and not self:manalasthit and minion and not minion.dead and minion.valid and minion.team ~= myHero.team and minion.visible then
  446.             if mainmenu.lasthit.useQ then
  447.                 self:CastQ(minion)
  448.             end
  449.             if mainmenu.lasthit.useE then
  450.                 self:CastE(minion)
  451.             end
  452.         end
  453.     end
  454. end
  455. function Malphite:LaneClear()
  456.     for i, minion in pairs(EnemyMinionManager.objects) do
  457.         if mainmenu.laneclear.activate and not self:manalaneclear and minion and not minion.dead and minion.valid and minion.team ~= myHero.team and minion.visible then
  458.             if mainmenu.laneclear.useQ then
  459.                 self:CastQ(minion)
  460.             end
  461.             if mainmenu.laneclear.useW then
  462.                 self:CastW(minion)
  463.             end
  464.             if mainmenu.laneclear.useE then
  465.                 self:CastE(minion)
  466.             end
  467.         end
  468.     end
  469. end
  470. function Malphite:JungleClear()
  471.     for i, minion in pairs(EnemyMinionManager.objects) do
  472.         if mainmenu.jungleclear.activate and not self:manajungleclear and minion and not minion.dead and minion.valid and minion.team ~= myHero.team and minion.visible then
  473.             if mainmenu.jungleclear.useQ then
  474.                 self:CastQ(minion)
  475.             end
  476.             if mainmenu.jungleclear.useW then
  477.                 self:CastW(minion)
  478.             end
  479.             if mainmenu.jungleclear.useE then
  480.                 self:CastE(minion)
  481.             end
  482.         end
  483.     end
  484. end
  485. function Malphite:Flee()
  486.     if mainmenu.flee.FleeKey then
  487.         if mainmenu.flee.mouse then
  488.             myHero:MoveTo(mousePos.x, mousePos.z)
  489.         end
  490.         for i, minion in pairs(EnemyMinionManager.objects) do
  491.             if target and minion or target then
  492.                 if mainmenu.flee.useQ then
  493.                     self:CastQ(target)
  494.                 end
  495.                 if mainmenu.flee.useW then
  496.                     self:CastW(target)
  497.                 end
  498.                 if mainmenu.flee.useE then
  499.                     self:CastE(target)
  500.                 end
  501.             elseif minion and not target then
  502.                 if mainmenu.flee.useQ then
  503.                     self:CastQ(minion)
  504.                 end
  505.                 if mainmenu.flee.useW then
  506.                     self:castW(minion)
  507.                 end        
  508.             end
  509.         end
  510.     end
  511. end
  512. function Malphite:Killsteal()
  513.     for i, enemy in pairs(GetEnemyHeroes()) do
  514.         if enemy and not enemy.dead then
  515.             if mainmenu.ks.useQ then
  516.                 if GetDistance(enemy) <= self.Q.range then
  517.                     if getDmg("Q",enemy,myHero) > enemy.health then
  518.                         CastSpell(_Q, enemy)
  519.                     end
  520.                 end
  521.             end
  522.             if mainmenu.ks.useE then
  523.                 if GetDistance(enemy) <= self.E.range then
  524.                     if getDmg("E",enemy,myHero) > enemy.health then
  525.                         CastSpell(_E)
  526.                     end
  527.                 end
  528.             end
  529.             if mainmenu.ks.useR then
  530.                 if GetDistance(enemy) <= self.R.range then
  531.                     if getDmg("R",enemy,myHero) > enemy.health then
  532.                         CastSpell(_R, enemy.x, enemy.z)
  533.                     end
  534.                 end
  535.             end
  536.         end
  537.     end
  538. end
  539.  
  540. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  541.  
  542. function Malphite:OnDraw() 
  543.     for i, enemy in pairs(GetEnemyHeroes()) do
  544.         if enemy and not enemy.dead then
  545.             if GetDistance(enemy) <= 2000 then
  546.                 if Qready and getDmg("Q", enemy, myHero) > enemy.health then
  547.                     if drawmenu.ks.activate1 then
  548.                         DrawCircle2(enemy.x, enemy.y, enemy.z, 250, TARGB(drawmenu.ks.colour1))
  549.                         DrawCircle2(enemy.x, enemy.y, enemy.z, 253, TARGB(drawmenu.ks.colour1))
  550.                         DrawCircle2(enemy.x, enemy.y, enemy.z, 247, TARGB(drawmenu.ks.colour1))
  551.                     end
  552.                 end
  553.                 if Eready and getDmg("E",enemy,myHero) > enemy.health then
  554.                     if drawmenu.ks.activate2 then
  555.                         DrawCircle2(enemy.x, enemy.y, enemy.z, 247, TARGB(drawmenu.ks.colour2))
  556.                         DrawCircle2(enemy.x, enemy.y, enemy.z, 250, TARGB(drawmenu.ks.colour2))
  557.                         DrawCircle2(enemy.x, enemy.y, enemy.z, 253, TARGB(drawmenu.ks.colour2))
  558.                     end
  559.                 end
  560.                 if Rready and getDmg("R",enemy,myHero) > enemy.health then
  561.                     if drawmenu.ks.activate3 then
  562.                         DrawCircle2(enemy.x, enemy.y, enemy.z, 247, TARGB(drawmenu.ks.colour3))
  563.                         DrawCircle2(enemy.x, enemy.y, enemy.z, 250, TARGB(drawmenu.ks.colour3))
  564.                         DrawCircle2(enemy.x, enemy.y, enemy.z, 253, TARGB(drawmenu.ks.colour3))
  565.                     end
  566.                 end
  567.             end
  568.         end
  569.     end
  570. end
  571.  
  572. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  573.  
  574. function Malphite:CastQ(target)
  575. end
  576. function Malphite:CastW(target)
  577. end
  578. function Malphite:CastE(target)
  579. end
  580. function Malphite:CastR(target)
  581. end
  582. function Malphite:CastQ(minion)
  583. end
  584. function Malphite:CastW(minion)
  585. end
  586. function Malphite:CastE(minion)
  587. end
  588. function Malphite:OnProcessSpell(unit, spell)
  589.     if mainmenu.inter.activate and Rready then
  590.         if #self.ToInterrupt > 0 then
  591.             for _, Inter in pairs(self.ToInterrupt) do
  592.                 if spell and spell.name == Inter.spellName and unit.team ~= myHero.team then
  593.                     if mainmenu.inter[Inter.spellName] and ValidTarget(unit, self.R.range) then
  594.                         CastSpell(_R, unit.visionPos.x, unit.visionPos.z)
  595.                     end
  596.                 end
  597.             end
  598.         end
  599.     end
  600. end
  601. function Malphite:manaharass()
  602.     if myHero.mana < (myHero.maxMana * ( mainmenu.harass.mana / 100)) then
  603.         return true
  604.     else
  605.         return false
  606.     end
  607. end
  608. function Malphite:manalasthit()
  609.     if myHero.mana < (myHero.maxMana * ( mainmenu.lasthit.mana / 100)) then
  610.         return true
  611.     else
  612.         return false
  613.     end
  614. end
  615. function Malphite:manalaneclear()
  616.     if myHero.mana < (myHero.maxMana * ( mainmenu.laneclear.mana / 100)) then
  617.         return true
  618.     else
  619.         return false
  620.     end
  621. end
  622. function Malphite:manajungleclear()
  623.     if myHero.mana < (myHero.maxMana * ( mainmenu.jungleclear.mana / 100)) then
  624.         return true
  625.     else
  626.         return false
  627.     end
  628. end
  629.  
  630.  
  631. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  632. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  633. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  634. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  635. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  636. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  637. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  638. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  639. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  640. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  641.  
  642. class "Irelia"
  643.  
  644. function Irelia:__init()
  645. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement