Advertisement
Cloudhax23

Untitled

Aug 6th, 2015
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 76.93 KB | None | 0 0
  1. --PlatyAIO
  2.  
  3. myHero = GetMyHero()
  4. myIAC = IAC()
  5. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  6. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  7. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  8. ------------------------------------------------------------------------------ANNIE-------------------------------------------------------------------------------------------------------------------------------------------
  9. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  10. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  11. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  12.  
  13. class "Annie"
  14. function Annie:__init()
  15. OnLoop(function(myHero) self:Loop(myHero) end)
  16.  
  17. self.spellData =
  18. {
  19. [_Q] = {dmg = function () return 45 + 35*GetCastLevel(myHero,_Q) + 0.8*GetBonusAP(myHero) end, range = 625, mana = function () return 55 + 5*GetCastLevel(myHero,_Q) end},
  20. [_W] = {dmg = function () return 25 + 45*GetCastLevel(myHero,_W) + 0.85*GetBonusAP(myHero) end , range = 625, mana = function () return 60 + 10*GetCastLevel(myHero,_W) end},
  21. [_E] = {dmg = function () return 10 + 10*GetCastLevel(myHero,_E) + 0.2*GetBonusAP(myHero) end , mana = 20 },
  22. [_R] = {dmg = function () return 50 + 125*GetCastLevel(myHero,_R) + 0.8*GetBonusAP(myHero) end, range = 600, radius = 250, mana = 100 },
  23. }
  24.  
  25. self.Config = scriptConfig("PAnnie", "PlatyAnnie")
  26. self.Config.addParam("Q","Use Q", SCRIPT_PARAM_ONOFF, true)
  27. self.Config.addParam("W","Use W", SCRIPT_PARAM_ONOFF, true)
  28. self.Config.addParam("E","Use E", SCRIPT_PARAM_ONOFF, true)
  29. self.Config.addParam("R","Use R", SCRIPT_PARAM_ONOFF, true)
  30. self.Config.addParam("Draw","Draws", SCRIPT_PARAM_ONOFF, true)
  31. self.Config.addParam("KS","Killsteal", SCRIPT_PARAM_ONOFF, true)
  32. end
  33.  
  34. function Annie:Loop(myHero)
  35. self:Checks()
  36. if self.Config.Draw then
  37. self:Draws()
  38. end
  39. if _G.IWalkConfig.Combo then
  40. self:Combo()
  41. end
  42. if _G.IWalkConfig.Harass then
  43. self:Harass()
  44. end
  45. if self.Config.KS then
  46. self:Killsteal()
  47. end
  48. end
  49.  
  50. function Annie:Combo()
  51. if ValidTarget(self.target,625) then
  52. if self.RREADY and GotBuff(myHero,"pyromania_particle") == 1 and IsInDistance(self.target,600) then
  53. self:CastR(self.target)
  54. elseif self.WREADY and GotBuff(myHero,"pyromania_particle") == 1 and not self.RREADY then
  55. self:CastW(self.target)
  56. elseif self.WREADY then
  57. self:CastW(self.target)
  58. elseif self.QREADY then
  59. self:CastQ(self.target)
  60. elseif self.EREADY then
  61. self:CastE()
  62. elseif self.RREADY then
  63. self:CastR(self.target)
  64. end
  65. end
  66. end
  67.  
  68. function Annie:Harass()
  69. if ValidTarget(self.target, 625) then
  70. if self.WREADY then
  71. self:CastW(self.target)
  72. elseif self.QREADY then
  73. self:CastQ(self.target)
  74. end
  75. end
  76. end
  77. function Annie:Draws()
  78. if ValidTarget(self.target,1000) and self.RREADY then
  79. DrawDmgOverHpBar(self.target,GetCurrentHP(self.target),0,CalcDamage(myHero, self.target, 0, self.spellData[_Q].dmg() + self.spellData[_W].dmg() + self.spellData[_R].dmg()),0xffffffff)
  80. elseif ValidTarget(self.target,1000) and not self.RREADY then
  81. DrawDmgOverHpBar(self.target,GetCurrentHP(self.target),0,CalcDamage(myHero, self.target, 0, self.spellData[_Q].dmg() + self.spellData[_W].dmg()),0xffffffff)
  82. end
  83. if self.QREADY then
  84. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData[_Q].range,3,100,0xffff9999)
  85. end
  86. if self.WREADY then
  87. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData[_W].range,3,100,0xffff9999)
  88. end
  89. if self.RREADY then
  90. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData[_R].range,3,100,0xffff9999)
  91. end
  92. end
  93.  
  94. function Annie:Checks()
  95. self.QREADY = CanUseSpell(myHero,_Q) == READY
  96. self.WREADY = CanUseSpell(myHero,_W) == READY
  97. self.EREADY = CanUseSpell(myHero,_E) == READY
  98. self.RREADY = CanUseSpell(myHero,_R) == READY and GetCastName(myHero,_R) == "InfernalGuardian"
  99. self.target = GetTarget(650, DAMAGE_MAGIC)
  100. self.targetPos = GetOrigin(self.target)
  101. myHeroPos = GetOrigin(myHero)
  102. end
  103.  
  104. function Annie:CastQ(unit)
  105. if ValidTarget(unit,self.spellData[_Q].range) and self.QREADY and self.Config.Q then
  106. CastTargetSpell(unit,_Q)
  107. end
  108. end
  109.  
  110. function Annie:CastW(unit)
  111. local unitPos = GetOrigin(unit)
  112. if ValidTarget(unit,self.spellData[_W].range) and self.WREADY and self.Config.W then
  113. CastSkillShot(_W,unitPos.x,unitPos.y,unitPos.z)
  114. end
  115. end
  116.  
  117. function Annie:CastE()
  118. if self.EREADY and self.Config.E then
  119. CastTargetSpell(myHero,_E)
  120. end
  121. end
  122.  
  123. function Annie:CastR(unit)
  124. local unitPos = GetOrigin(unit)
  125. if self.RREADY and self.Config.R then
  126. CastSkillShot(_R,unitPos.x,unitPos.y,unitPos.z)
  127. end
  128. end
  129.  
  130. --[[function CastR(unit)
  131. local unitPos = GetOrigin(unit)
  132. if IsInDistance(unit,800) then
  133. CastSkillShot(_R,unitPos.x,unitPos.y,unitPos.z)
  134. local RPred = GetPredictionForPlayer(myHeroPos,unit,GetMoveSpeed(unit),math.huge,250,600,250,false,true)
  135. -- GetPredictionForPlayer(startPosition, targetUnit, targetUnitMoveSpeed, spellTravelSpeed, spellDelay, spellRange, spellWidth, collision, addHitBox
  136. if CanUseSpell(myHero, _R) == READY and RPred.HitChance == 1 then
  137. CastSkillShot(_R,RPred.PredPos.x,RPred.PredPos.y,RPred.PredPos.z)
  138. end
  139. end
  140. end]]
  141.  
  142. function Annie:Killsteal()
  143. for i,enemy in pairs(GetEnemyHeroes()) do
  144. local enemyhp = GetCurrentHP(enemy)
  145. if ValidTarget(enemy,self.spellData[_Q].range) and enemyhp < CalcDamage(myHero, enemy, 0, self.spellData[_Q].dmg()) then
  146. self:CastQ(enemy)
  147. elseif ValidTarget(enemy,self.spellData[_W].range) and enemyhp < CalcDamage(myHero, enemy, 0, self.spellData[_W].dmg()) then
  148. self:CastW(enemy)
  149. elseif ValidTarget(enemy,self.spellData[_R].range) and enemyhp < CalcDamage(myHero, enemy, 0, self.spellData[_R].dmg()) then
  150. self:CastR(enemy)
  151. elseif ValidTarget(enemy,self.spellData[_W].range) and enemyhp < CalcDamage(myHero, enemy, 0, self.spellData[_W].dmg() + self.spellData[_Q].dmg()) and GetCurrentMana(myHero) > (self.spellData[_W].mana() + self.spellData[_Q].mana()) then
  152. self:CastW(enemy) DelayAction(function() self:CastQ(enemy) end, 125)
  153. elseif ValidTarget(enemy,self.spellData[_R].range) and enemyhp < CalcDamage(myHero, enemy, 0,self.spellData[_W].dmg() + self.spellData[_Q].dmg() + self.spellData[_R].dmg()) and GetCurrentMana(myHero) > (self.spellData[_W].mana() + self.spellData[_Q].mana() + self.spellData[_R].mana)then
  154. self:CastW(enemy) DelayAction(function() self:CastR(enemy) DelayAction(function() self:CastQ(enemy) end, 125) end, 250)
  155. end
  156. end
  157. end
  158.  
  159. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  160. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  161. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  162. ---------------------------------------------------------------------------------------------------------------RYZE-----------------------------------------------------------------------------------------------------------
  163. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  164. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  165. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  166. class "Ryze"
  167. function Ryze:__init()
  168. OnLoop(function(myHero) self:Loop(myHero) end)
  169. self.spellData =
  170. {
  171. [_Q] = {dmg = function () return 35 + 25*GetCastLevel(myHero,_Q) + 0.55*GetBonusAP(myHero) + 0.015*GetMaxMana(myHero) + 0.005*GetCastLevel(myHero,_Q)*GetMaxMana(myHero) end,
  172. range = 900,
  173. mana = 40,
  174. speed = 1875,
  175. width = 55,
  176. delay = 250},
  177. [_W] = {dmg = function () return 60 + 20*GetCastLevel(myHero,_W) + 0.4*GetBonusAP(myHero) + 0.025*GetMaxMana(myHero) end,
  178. range = 600,
  179. mana = function () return 50 + 10*GetCastLevel(myHero,_W) end},
  180. [_E] = {dmg = function () return 20 + 16*GetCastLevel(myHero,_E) + 0.2*GetBonusAP(myHero) + 0.02*GetMaxMana(myHero) end ,
  181. range = 600,
  182. mana = function () return 70 + 10*GetCastLevel(myHero,_E) end},
  183. }
  184.  
  185. self.Config = scriptConfig("PRyze", "PlatyRyze")
  186. self.Config.addParam("Q","Use Q", SCRIPT_PARAM_ONOFF, true)
  187. self.Config.addParam("W","Use W", SCRIPT_PARAM_ONOFF, true)
  188. self.Config.addParam("E","Use E", SCRIPT_PARAM_ONOFF, true)
  189. self.Config.addParam("R","Use R", SCRIPT_PARAM_ONOFF, true)
  190. self.Config.addParam("Draw","Draws", SCRIPT_PARAM_ONOFF, true)
  191. self.Config.addParam("KS","Killsteal", SCRIPT_PARAM_ONOFF, true)
  192. end
  193.  
  194. function Ryze:Loop(myHero)
  195. self:Checks()
  196. if self.Config.Draw then
  197. self:Draws()
  198. end
  199. if self.Config.KS then
  200. self:Killsteal()
  201. end
  202. if _G.IWalkConfig.Combo then
  203. self:Combo()
  204. end
  205. if _G.IWalkConfig.Harass then
  206. self:Harass()
  207. end
  208. end
  209.  
  210. function Ryze:Draws()
  211. if self.QREADY then
  212. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData[_Q].range,3,100,0xffff9999)
  213. end
  214. if self.WREADY then
  215. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData[_W].range,3,100,0xffff9999)
  216. end
  217. if self.EREADY then
  218. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData[_E].range,3,100,0xffff9999)
  219. end
  220. if self.RREADY then
  221. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,200,3,100,0xffff9999)
  222. end
  223. end
  224.  
  225. function Ryze:Checks()
  226. self.QREADY = CanUseSpell(myHero,_Q) == READY
  227. self.WREADY = CanUseSpell(myHero,_W) == READY
  228. self.EREADY = CanUseSpell(myHero,_E) == READY
  229. self.RREADY = CanUseSpell(myHero,_R) == READY
  230. self.target = GetTarget(900, DAMAGE_MAGIC)
  231. self.targetPos = GetOrigin(self.target)
  232. myHeroPos = GetOrigin(myHero)
  233. self.stacks = GotBuff(myHero,"ryzepassivestack")
  234. self.charged = GotBuff(myHero,"ryzepassivecharged") == 1
  235. self.rooted = GotBuff(self.target,"RyzeW") == 1
  236. end
  237.  
  238. function Ryze:CastRootQ(unit)
  239. local unitPos = GetOrigin(unit)
  240. if self.QREADY and self.Config.Q then
  241. CastSkillShot(_Q,unitPos.x,unitPos.y,unitPos.z)
  242. end
  243. end
  244.  
  245. function Ryze:CastNoColQ(unit)
  246. local unitPos = GetOrigin(unit)
  247. if ValidTarget(unit,self.spellData[_Q].range) and self.Config.Q then
  248. local QPred = GetPredictionForPlayer(myHeroPos,unit,GetMoveSpeed(unit), self.spellData[_Q].speed, self.spellData[_Q].delay, self.spellData[_Q].range, self.spellData[_Q].width, false, true)
  249. if self.QREADY and QPred.HitChance == 1 then
  250. CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z)
  251. end
  252. end
  253. end
  254.  
  255. function Ryze:CastPredQ(unit)
  256. local unitPos = GetOrigin(unit)
  257. if ValidTarget(unit,self.spellData[_Q].range) and self.Config.Q then
  258. local QPred = GetPredictionForPlayer(myHeroPos,unit,GetMoveSpeed(unit), self.spellData[_Q].speed, self.spellData[_Q].delay, self.spellData[_Q].range, self.spellData[_Q].width, true, true)
  259. if self.QREADY and QPred.HitChance == 1 then
  260. CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z)
  261. end
  262. end
  263. end
  264.  
  265. function Ryze:CastW(unit)
  266. if self.WREADY and self.Config.W then
  267. CastTargetSpell(unit,_W)
  268. end
  269. end
  270.  
  271. function Ryze:CastE(unit)
  272. if self.EREADY and self.Config.E then
  273. CastTargetSpell(unit,_E)
  274. end
  275. end
  276.  
  277. function Ryze:CastR()
  278. if self.RREADY and self.Config.R then
  279. CastSpell(_R)
  280. end
  281. end
  282.  
  283. function Ryze:Combo()
  284. if ValidTarget(self.target, self.spellData[_Q].range) then
  285. if self.charged and self.RREADY and self.QREADY then
  286. self:CastPredQ(self.target) DelayAction(function() self:CastR()end,150)
  287. elseif self.stacks == 4 and self.QRREADY and not self.EREADY and not self.WREADY and self.RREADY then
  288. self.CastR()
  289. elseif self.charged and self.RREADY and self.EREADY then
  290. self:CastE(self.target) DelayAction(function() self:CastR()end,150)
  291. elseif self.charget and self.RREADY and self.WREADY then
  292. self:CastW(self.target) DelayAction(function() self:CastR()end,150)
  293. elseif self.stacks == 4 and self.QREADY then
  294. self:CastPredQ(self.target)
  295. elseif self.charged and self.QREADY and self.rooted then
  296. self:CastRootQ(self.target)
  297. elseif self.QREADY and self.rooted then
  298. self:CastRootQ(self.target)
  299. elseif self.charged and self.QREADY and not self.rooted then
  300. self:CastNoColQ(self.target)
  301. elseif self.stacks <= 3 and self.QREADY and not self.rooted then
  302. self:CastPredQ(self.target)
  303. elseif self.WREADY and ValidTarget(self.target,self.spellData[_W].range) and not self.QREADY then
  304. self:CastW(self.target)
  305. elseif self.EREADY and ValidTarget(self.target,self.spellData[_E].range) and not self.QREADY then
  306. self:CastE(self.target)
  307. end
  308. end
  309. end
  310.  
  311. function Ryze:Harass()
  312. if ValidTarget(self.target, self.spellData[_Q].range) then
  313. self:CastPredQ(self.target)
  314. end
  315. end
  316.  
  317. function Ryze:Killsteal()
  318. for i,enemy in pairs(GetEnemyHeroes()) do
  319. local enemyhp = GetCurrentHP(enemy)
  320. if ValidTarget(enemy,self.spellData[_Q].range) and enemyhp < CalcDamage(myHero, enemy, 0, self.spellData[_Q].dmg()) then
  321. self:CastPredQ(enemy)
  322. elseif ValidTarget(enemy, self.spellData[_W].range) and enemyhp < CalcDamage(myHero, enemy, 0, self.spellData[_W].dmg()) then
  323. self:CastW(enemy)
  324. elseif ValidTarget(enemy, self.spellData[_E].range) and enemyhp < CalcDamage(myHero, enemy, 0, self.spellData[_E].dmg()) then
  325. self:CastE(enemy)
  326. elseif ValidTarget(enemy, self.spellData[_W].range) and enemyhp < CalcDamage(myHero, enemy, 0, self.spellData[_W].dmg() + self.spellData[_Q].dmg()) and GetCurrentMana(myHero) > (self.spellData[_W].mana() + self.spellData[_Q].mana) then
  327. self:CastW(enemy) DelayAction(function() self:CastRootQ(enemy) end, 200)
  328. elseif ValidTarget(enemy, self.spellData[_W].range) and enemyhp < CalcDamage(myHero, enemy, 0, self.spellData[_W].dmg() + self.spellData[_Q].dmg() + self.spellData[_E].dmg()) and GetCurrentMana(myHero) > (self.spellData[_W].mana() + self.spellData[_Q].mana + self.spellData[_E].mana()) then
  329. self:CastW(enemy) DelayAction(function() self:CastRootQ(enemy) DelayAction(function() self:CastE(enemy) end, 0.200) end, 0.200)
  330. end
  331. end
  332. end
  333.  
  334. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  335. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  336. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  337. ---------------------------------------------------------------------------------------------------------------PHYTE----------------------------------------------------------------------------------------------------------
  338. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  339. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  340. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  341.  
  342. class "Malphite"
  343. function Malphite:__init()
  344. OnLoop(function(myHero) self:Loop(myHero) end)
  345. self.spellData = {
  346. [_Q] = { --[[speed = 1800,]]
  347. delay = 0.2, range = 620,
  348. dmg = function() return 20 + 50*GetCastLevel(myHero,_Q) + 0.6*GetBonusAP(myHero) end,
  349. mana = function () return 65 + 5*GetCastLevel(myHero,_Q) end},
  350. [_W] = {range = GetRange(myHero) + GetHitBox(myHero)*2,
  351. splash = 225,
  352. mana = 25,
  353. dmg = function() return 15*GetCastLevel(myHero,_W) + 0.1*GetBonusAP(myHero) + 0.1*GetArmor(myHero) + GetBonusDmg(myHero) + GetBaseDamage(myHero) end},
  354. [_E] = {range = 400,
  355. delay = 0.15,
  356. mana = function () return 45 + 5*GetCastLevel(myHero,_E) end,
  357. dmg = function() return 20+40*GetCastLevel(myHero,_E) + 0.2*GetBonusAP(myHero) + 0.3*GetArmor(myHero) end},
  358. [_R] = {speed = 1500+GetMoveSpeed(myHero),
  359. delay = 0.5,
  360. range = 900,
  361. mana = 100,
  362. width = 540,
  363. dmg = function() return 100 + 100*GetCastLevel(myHero,_R) + GetBonusAP(myHero) end}
  364. }
  365.  
  366. self.Config = scriptConfig("PMalph", "PlatyMalphite")
  367. self.Config.addParam("Q","Use Q", SCRIPT_PARAM_ONOFF, true)
  368. self.Config.addParam("W","Use W", SCRIPT_PARAM_ONOFF, true)
  369. self.Config.addParam("E","Use E", SCRIPT_PARAM_ONOFF, true)
  370. self.Config.addParam("R","Use R", SCRIPT_PARAM_ONOFF, true)
  371. self.Config.addParam("Draw","Draws", SCRIPT_PARAM_ONOFF, true)
  372. self.Config.addParam("KS","Killsteal", SCRIPT_PARAM_ONOFF, true)
  373. self.Config.addParam("AllIn","All In", SCRIPT_PARAM_KEYDOWN, string.byte("T"))
  374. end
  375.  
  376. function Malphite:Loop(myHero)
  377. self:Checks()
  378. if self.Config.Draw then
  379. self:Draws()
  380. end
  381. if self.Config.KS then
  382. self:Killsteal()
  383. end
  384. if _G.IWalkConfig.Combo then
  385. self:Combo()
  386. end
  387. if self.Config.AllIn then
  388. self:AllIn()
  389. end
  390. if _G.IWalkConfig.Harass then
  391. self:Harass()
  392. end
  393. end
  394.  
  395. function Malphite:Draws()
  396. if ValidTarget(self.target,1500) and self.RREADY and self.QREADY and self.EREADY then
  397. DrawDmgOverHpBar(self.target,GetCurrentHP(self.target),0,CalcDamage(myHero, self.target, 0, self.spellData[_Q].dmg() + self.spellData[_E].dmg() + self.spellData[_R].dmg()),0xffffffff)
  398. elseif ValidTarget(self.target,1500) and not self.RREADY and self.QREADY and self.EREADY then
  399. DrawDmgOverHpBar(self.target,GetCurrentHP(self.target),0,CalcDamage(myHero, self.target, 0, self.spellData[_Q].dmg() + self.spellData[_E].dmg()),0xffffffff)
  400. elseif ValidTarget(self.target,1500) and not self.EREADY and self.QREADY and self.RREADY then
  401. DrawDmgOverHpBar(self.target,GetCurrentHP(self.target),0,CalcDamage(myHero, self.target, 0, self.spellData[_Q].dmg() + self.spellData[_R].dmg()),0xffffffff)
  402. elseif ValidTarget(self.target,1500) and not self.QREADY and self.RREADY and self.EREADY then
  403. DrawDmgOverHpBar(self.target,GetCurrentHP(self.target),0,CalcDamage(myHero, self.target, 0, self.spellData[_E].dmg() + self.spellData[_R].dmg()),0xffffffff)
  404. elseif ValidTarget(self.target,1500) and not self.QREADY and not self.EREADY and self.RREADY then
  405. DrawDmgOverHpBar(self.target,GetCurrentHP(self.target),0,CalcDamage(myHero, self.target, 0, self.spellData[_R].dmg()),0xffffffff)
  406. elseif ValidTarget(self.target,1500) and not self.QREADY and not self.RREADY and self.EREADY then
  407. DrawDmgOverHpBar(self.target,GetCurrentHP(self.target),0,CalcDamage(myHero, self.target, 0, self.spellData[_E].dmg()),0xffffffff)
  408. elseif ValidTarget(self.target,1500) and not self.EREADY and not self.RREADY and self.QREADY then
  409. DrawDmgOverHpBar(self.target,GetCurrentHP(self.target),0,CalcDamage(myHero, self.target, 0, self.spellData[_Q].dmg()),0xffffffff)
  410. elseif ValidTarget(self.target,1500) and not self.QREADY and not self.RREADY and not self.EREADY then
  411. DrawDmgOverHpBar(self.target,GetCurrentHP(self.target),0,CalcDamage(myHero, self.target, 0, 0),0xffffffff)
  412. end
  413. if self.QREADY then
  414. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z, self.spellData[_Q].range,3,100,ARGB(0xff,255,247,0))
  415. end
  416. if self.WREADY then
  417. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z, self.spellData[_W].range,3,100,ARGB(0xff,255,247,0))
  418. end
  419. if self.EREADY then
  420. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z, self.spellData[_E].range,3,100,ARGB(0xff,255,247,0))
  421. end
  422. if self.RREADY then
  423. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z, self.spellData[_R].range,3,100,ARGB(0xff,255,247,0))
  424. end
  425. end
  426.  
  427. function Malphite:Checks()
  428. self.QREADY = CanUseSpell(myHero,_Q) == READY
  429. self.WREADY = CanUseSpell(myHero,_W) == READY
  430. self.EREADY = CanUseSpell(myHero,_E) == READY
  431. self.RREADY = CanUseSpell(myHero,_R) == READY
  432. self.IREADY = CanUseSpell(myHero, Ignite) == READY
  433. self.target = GetTarget(1000, DAMAGE_MAGIC)
  434. self.targetPos = GetOrigin(target)
  435. myHeroPos = GetOrigin(myHero)
  436. end
  437.  
  438. function Malphite:CastQ(unit)
  439. if self.QREADY and self.Config.Q then
  440. CastTargetSpell(unit,_Q)
  441. end
  442. end
  443.  
  444. function Malphite:CastW()
  445. if self.WREADY and self.Config.W then
  446. CastTargetSpell(myHero,_W)
  447. end
  448. end
  449.  
  450. function Malphite:CastE()
  451. if self.EREADY and self.Config.E then
  452. CastTargetSpell(myHero,_E)
  453. end
  454. end
  455.  
  456. function Malphite:CastR(unit)
  457. local unitPos = GetOrigin(unit)
  458. if ValidTarget(unit,self.spellData[_R].range+50) and self.Config.R then
  459. local RPred = GetPredictionForPlayer(myHeroPos,unit,GetMoveSpeed(unit), self.spellData[_R].speed, self.spellData[_R].delay, self.spellData[_R].range, self.spellData[_R].width/2, false, true)
  460. if self.RREADY and RPred.HitChance == 1 then
  461. CastSkillShot(_R,RPred.PredPos.x,RPred.PredPos.y,RPred.PredPos.z)
  462. end
  463. end
  464. end
  465.  
  466. function Malphite:Combo()
  467. if ValidTarget(self.target, self.spellData[_Q].range) then
  468. if self.QREADY then
  469. self:CastQ(self.target)
  470. elseif self.EREADY and ValidTarget(self.target, self.spellData[_E].range) then
  471. self:CastE()
  472. elseif self.WREADY and ValidTarget(self.target, self.spellData[_W].range) then
  473. self:CastW()
  474. end
  475. end
  476. end
  477.  
  478. function Malphite:AllIn()
  479. if ValidTarget(self.target, self.spellData[_R].range+50) then
  480. if self.RREADY then
  481. self:CastR(self.target)
  482. elseif self.QREADY and ValidTarget(self.target, self.spellData[_Q].range) then
  483. self:CastQ(self.target)
  484. elseif self.WREADY and ValidTarget(self.target, self.spellData[_W].range) then
  485. self:CastW()
  486. elseif self.EREADY and ValidTarget(self.target, self.spellData[_E].range) then
  487. self:CastE()
  488. end
  489. end
  490. end
  491.  
  492. function Malphite:Harass()
  493. if ValidTarget(self.target, self.spellData[_E].range) then
  494. self:CastE()
  495. elseif ValidTarget(self.target, self.spellData[_Q].range) then
  496. self:CastQ(target)
  497. end
  498. end
  499.  
  500. function Malphite:Killsteal()
  501. for i,enemy in pairs(GetEnemyHeroes()) do
  502. local QDmg = self.QREADY and self.spellData[_Q].dmg() or 0
  503. local WDmg = self.WREADY and self.spellData[_W].dmg() or 0
  504. local EDmg = self.EREADY and self.spellData[_E].dmg() or 0
  505. local RDmg = self.RREADY and self.spellData[_R].dmg() or 0
  506. local IDmg = self.IREADY and 50+20*GetLevel(myHero) or 0
  507. local enemyhp = GetCurrentHP(enemy)
  508. if ValidTarget(self.enemy, self.spellData[_Q].range) and enemyhp < CalcDamage(myHero, enemy, 0, QDmg) then
  509. self:CastQ(enemy)
  510. elseif ValidTarget(enemy, self.spellData[_E].range) and enemyhp < CalcDamage(myHero, enemy, 0, EDmg) then
  511. self:CastE()
  512. elseif ValidTarget(enemy, self.spellData[_E].range) and enemyhp < CalcDamage(myHero, enemy, 0, EDmg + QDmg) and GetCurrentMana(myHero) > (self.spellData[_Q].mana() + self.spellData[_E].mana()) then
  513. self:CastE() DelayAction(function() self:CastQ(enemy) end, 150)
  514. elseif ValidTarget(enemy, self.spellData[_R].range) and enemyhp < CalcDamage(myHero, enemy, 0, RDmg + QDmg) and GetCurrentMana(myHero) > (self.spellData[_Q].mana() + self.spellData[_R].mana) then
  515. self:CastR(enemy) DelayAction(function() self:CastQ(enemy) end,150)
  516. elseif ValidTarget(enemy, self.spellData[_R].range) and enemyhp < CalcDamage(myHero, enemy, 0, QDmg + EDmg + RDmg) and GetCurrentMana(myHero) > (self.spellData[_Q].mana() + self.spellData[_E].mana() + self.spellData[_R].mana) then
  517. self:CastR(enemy) DelayAction(function() self:CastW() DelayAction(function() self:CastE() DelayAction(function() self:CastQ(enemy) end, 250) end, 75) end, 250)
  518. elseif ValidTarget(enemy, self.spellData[_R].range) and (self.IReady or GotBuff(enemy, "summonerdot")) and enemyhp < CalcDamage(myHero, enemy, 0, IDmg+RDmg + QDmg + WDmg + EDmg) and GetCurrentMana(myHero) > (self.spellData[_W].mana + self.spellData[_Q].mana() + self.spellData[_E].mana() + self.spellData[_R].mana) then
  519. self:CastR(enemy) DelayAction(function() self:CastW() DelayAction(function() self:CastE() DelayAction(function() self:CastQ(enemy) end, 250) end, 75) end, 250)
  520. end
  521. end
  522. end
  523.  
  524.  
  525. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  526. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  527. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  528. ---------------------------------------------------------------------------------------------------------------Jayce----------------------------------------------------------------------------------------------------------
  529. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  530. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  531. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  532.  
  533. class "Jayce"
  534. function Jayce:__init()
  535. OnLoop(function(myHero) self:Loop(myHero) end)
  536. OnProcessSpell(function(unit,spell) self:ProcessSpell(unit,spell) end)
  537. self.spellData =
  538. {
  539. QG ={name = "jayceshockblast",
  540. windup = 0.214,
  541. dmg = function () return 20 + 50*GetCastLevel(myHero,_Q) + 1.2*GetBonusDmg(myHero) end,
  542. range = 1100,
  543. rangeAcc = 1750,
  544. mana = function () return 50 + 5*GetCastLevel(myHero,_Q) end,
  545. speed = 1450,
  546. speedAcc = 2350,
  547. width = 70,
  548. CD = function () return 8000 * (1+GetCDR(myHero)) end,
  549. up = 0},
  550. WG ={name = "jaycehypercharge",
  551. windup = 0.125,
  552. windup2 = 0.080,
  553. dmg = function () return 0.6*(GetBaseDamage(myHero)+GetBonusDmg(myHero)) + 0.08*GetCastLevel(myHero,_W)*(GetBaseDamage(myHero)+GetBonusDmg(myHero)) end,
  554. range = 500,
  555. mana = 40,
  556. CD = function () return (13000 - 1600*GetCastLevel(myHero,_W)) * (1+GetCDR(myHero)) end,
  557. up = 0},
  558. EG ={name = "jayceaccelerationgate",
  559. windup = 0.250,
  560. range = 0,
  561. mana = 30,
  562. CD = function () return 16000 * (1+GetCDR(myHero)) end,
  563. up = 0},
  564. RG ={name = "jaycestancegth",
  565. windup = 0.125,
  566. CD = function () return 6000 * (1+GetCDR(myHero))end,
  567. up = 0},
  568. QH ={name = "JayceToTheSkies",
  569. windup = 0.125,
  570. dmg = function () return 40*GetCastLevel(myHero,_Q) + GetBonusDmg(myHero) - 10 end,
  571. mana = function () return 40 + 5*GetCastLevel(myHero,_Q) end,
  572. range = 600,
  573. CD = function () return (18000 - 2000*GetCastLevel(myHero,_Q)) * (1+GetCDR(myHero)) end,
  574. up = 0},
  575. WH ={name = "JayceStaticField",
  576. windup = 0,
  577. dmg = function () return 40 + 60*GetCastLevel(myHero,_Q) + GetBonusAP(myHero) end,
  578. mana = 40,
  579. range = 300,
  580. CD = function () return 10000 * (1+GetCDR(myHero)) end,
  581. up = 0},
  582. EH = {name = "JayceThunderingBlow",
  583. windup = 0.250,
  584. dmg = function (unit) return 10 + 30*GetCastLevel(myHero,_Q) + GetBonusDmg(myHero) + 0.2*GetMaxHP(unit)end,
  585. mana = 40,
  586. range = 300,
  587. knockback = 250,
  588. CD = function () return (16000 - 1000*GetCastLevel(myHero,_E)) * (1+GetCDR(myHero)) end,
  589. up = 0},
  590. RH ={name = "JayceStanceHtG",
  591. windup = 0.125,
  592. CD = function () return 6000 * (1+GetCDR(myHero)) end,
  593. up = 0},
  594. PH ={dmg = function () return 40*GetCastLevel(myHero,_R)-20 end,
  595. up = 0}
  596. }
  597.  
  598. self.Config = scriptConfig("PJayce", "PlatyJayce")
  599. self.Config.addParam("QG","Use Gun-Q", SCRIPT_PARAM_ONOFF, true)
  600. self.Config.addParam("QH","Use Hammer-Q", SCRIPT_PARAM_ONOFF, true)
  601. self.Config.addParam("WG","Use Gun-W", SCRIPT_PARAM_ONOFF, true)
  602. self.Config.addParam("WH","Use Hammer-W", SCRIPT_PARAM_ONOFF, true)
  603. self.Config.addParam("EG","Use Gun-E", SCRIPT_PARAM_ONOFF, true)
  604. self.Config.addParam("EH","Use Hammer-E", SCRIPT_PARAM_ONOFF, true)
  605. self.Config.addParam("RG","Use Gun-R", SCRIPT_PARAM_ONOFF, true)
  606. self.Config.addParam("RH","Use Hammer-R", SCRIPT_PARAM_ONOFF, true)
  607. self.Config.addParam("Draw","Draws", SCRIPT_PARAM_ONOFF, true)
  608. self.Config.addParam("KS","Killsteal", SCRIPT_PARAM_ONOFF, true)
  609. --self.Config.addParam("Flee","Flee", SCRIPT_PARAM_KEYDOWN, string.byte("Y"))
  610. end
  611.  
  612. function Jayce:Loop(myHero)
  613. self:Checks()
  614. if self.Config.Draw then
  615. self:Draws()
  616. end
  617. if self.Config.KS then
  618. self:Killsteal()
  619. end
  620. if _G.IWalkConfig.Combo then
  621. self:Combo()
  622. end
  623. if _G.IWalkConfig.Harass then
  624. self:Harass()
  625. end
  626. end
  627.  
  628. function Jayce:Checks()
  629. self.QREADY = CanUseSpell(myHero,_Q) == READY
  630. self.WREADY = CanUseSpell(myHero,_W) == READY
  631. self.EREADY = CanUseSpell(myHero,_E) == READY
  632. self.RREADY = CanUseSpell(myHero,_R) == READY
  633. self.target = GetTarget(self.spellData.QG.rangeAcc, DAMAGE_PHYSICAL)
  634. self.targetPos = GetOrigin(self.target)
  635. myHeroPos = GetOrigin(myHero)
  636. self.rangedPassive = GotBuff(myHero,"jaycepassiverangedattack")
  637. self.meleePassive = GotBuff(myHero,"jaycepassivemeleeattack")
  638. self.HammerTime = GetCastName(myHero,_R) == "JayceStanceHtG"
  639. end
  640.  
  641. function Jayce:Draws()
  642. --CD
  643. local c = 0
  644. for _, d in pairs(self.spellData) do
  645. local rcd = (d.up-GetTickCount())/1000
  646. local rcd = rcd > 0 and rcd or 0
  647. DrawText(_..": "..math.ceil(rcd),10,750,600+c*25,0xffff9999)
  648. c = c + 1
  649. end
  650. --Q
  651. if self.QREADY and self.HammerTime then
  652. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.QH.range,1,150,ARGB(0xff,255,247,0))
  653. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.QG.range,0,150,ARGB(50,200,200,255))
  654. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.QG.rangeAcc,0,150,ARGB(50,200,200,255))
  655. elseif self.QREADY and not self.HammerTime then
  656. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.QG.range,1,150,ARGB(0xff,200,200,255))
  657. if self.EREADY then
  658. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.QG.rangeAcc,1,150,ARGB(0xff,200,200,255))
  659. end
  660. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.QH.range,0,150,ARGB(50,255,247,0))
  661. end
  662. --W
  663. if self.WREADY and self.HammerTime then
  664. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.WH.range,1,150,ARGB(0xff,255,247,0))
  665. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.WG.range,0,150,ARGB(50,200,200,255))
  666. elseif self.WREADY and not self.HammerTime then
  667. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.WH.range,1,150,ARGB(50,255,247,0))
  668. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.WG.range,0,150,ARGB(0xff,200,200,255))
  669. end
  670. --E
  671. if self.EREADY and self.HammerTime then
  672. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.EH.range,1,150,ARGB(0xff,255,247,0))
  673. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.EG.range,0,150,ARGB(50,200,200,255))
  674. elseif self.EREADY and not self.HammerTime then
  675. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.EH.range,0,150,ARGB(50,255,247,0))
  676. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.EG.range,1,150,ARGB(0xff,200,200,255))
  677. end
  678. end
  679.  
  680. function Jayce:CastQH(unit)
  681. if self.HammerTime and self.QREADY then
  682. CastTargetSpell(unit,_Q)
  683. end
  684. end
  685.  
  686. function Jayce:CastQGAcc(unit)
  687. if not self.HammerTime and self.QREADY and self.Config.QG then
  688. local unitPos = GetOrigin(unit)
  689. if ValidTarget(unit,self.spellData.QG.rangeAcc) and self.EREADY and self.Config.QG then
  690. local QAccPred = GetPredictionForPlayer(myHeroPos,unit,GetMoveSpeed(unit),self.spellData.QG.speedAcc,self.spellData.QG.windup,self.spellData.QG.rangeAcc, self.spellData.QG.width, true, true)
  691. if self.QREADY and QAccPred.HitChance == 1 then
  692. CastSkillShot(_Q,QAccPred.PredPos.x,QAccPred.PredPos.y,QAccPred.PredPos.z)
  693. return true
  694. end
  695. return false
  696. end
  697. end
  698. end
  699.  
  700. function Jayce:CastQG(unit)
  701. if not self.HammerTime and self.spellData.QG.up <= GetTickCount() and self.Config.QG then
  702. local unitPos = GetOrigin(unit)
  703. if ValidTarget(unit,self.spellData.QG.range) and self.spellData.EG.up >= GetTickCount() and self.Config.QG then
  704. local QPred = GetPredictionForPlayer(myHeroPos,unit,GetMoveSpeed(unit),self.spellData.QG.speed,self.spellData.QG.windup,self.spellData.QG.range, self.spellData.QG.width, true, true)
  705. if self.QREADY and QPred.HitChance == 1 then
  706. CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z)
  707. end
  708. end
  709. end
  710. end
  711.  
  712. function Jayce:CastKnockQ(unit)
  713. local unitPos = GetOrigin(unit)
  714. CastSkillShot(_Q,unitPos.x,unitPos.y,unitPos.z)
  715. end
  716.  
  717. function Jayce:CastQGEG(unit)
  718. if ValidTarget(unit,self.spellData.QG.rangeAcc) and self.QREADY and self.EREADY and not self.HammerTime then
  719. if self:CastQGAcc(unit) then
  720. DelayAction(function() self:CastEG(unit) end,250)
  721. end
  722. end
  723. end
  724.  
  725. function Jayce:CastEHRHQGEG(unit)
  726. if ValidTarget(unit,self.spellData.EH.range) and self.QREADY and self.EREADY and self.RREADY and self.HammerTime then
  727. self:CastEH(unit) DelayAction(function() self:CastRH() DelayAction(function() self:CastEG(unit) DelayAction(function() self:CastKnockQ(unit) end, 250) end, 125) end, 125)
  728. end
  729. end
  730.  
  731. function Jayce:CastWH()
  732. if self.HammerTime and self.WREADY and self.Config.WH then
  733. CastSpell(_W)
  734. end
  735. end
  736.  
  737. function Jayce:CastWG()
  738. if not self.HammerTime and self.WREADY and self.Config.WG then
  739. CastSpell(_W)
  740. end
  741. end
  742.  
  743. function Jayce:CastEH(unit)
  744. if self.HammerTime and self.EREADY and self.Config.EH then
  745. CastTargetSpell(unit,_E)
  746. return true
  747. end
  748. return false
  749. end
  750.  
  751. function Jayce:CastEG(unit)
  752. if not self.HammerTime and self.EREADY and self.Config.EG then
  753. local eVector = Vector(myHero)+Vector(Vector(unit)-Vector(myHero)):normalized()*50+Vector(Vector(unit)-Vector(myHero)):normalized():perpendicular()*100
  754. CastSkillShot(_E,eVector.x,eVector.y,eVector.z)
  755. end
  756. end
  757.  
  758. function Jayce:CastRH()
  759. CastSpell(_R)
  760. end
  761.  
  762. function Jayce:CastRG()
  763. CastSpell(_R)
  764. end
  765.  
  766. function Jayce:Combo()
  767. local QHup = self.spellData.QH.up <= GetTickCount()
  768. local WHup = self.spellData.WH.up <= GetTickCount()
  769. local EHup = self.spellData.EH.up <= GetTickCount()
  770. local RHup = self.spellData.RH.up <= GetTickCount()
  771. local QGup = self.spellData.QG.up <= GetTickCount()
  772. local WGup = self.spellData.WG.up <= GetTickCount()
  773. local EGup = self.spellData.EG.up <= GetTickCount()
  774. local RGup = self.spellData.RG.up <= GetTickCount()
  775. --Guncombos
  776. if not self.HammerTime then
  777. if ValidTarget(self.target,self.spellData.QG.rangeAcc) and QGup and EGup then
  778. self:CastQGEG(self.target)
  779. elseif ValidTarget(self.target, self.spellData.QG.range) and QGup and not EGup then
  780. self:CastQG(self.target)
  781. elseif ValidTarget(self.target, self.spellData.QH.range) and WGup and RGup then
  782. self:CastWG()
  783. elseif ValidTarget(self.target, self.spellData.WG.range) and WGup then
  784. self:CastWG()
  785. elseif ValidTarget(self.target, self.spellData.QH.range) and not QGup and not EGup and not WGup and QHup and EHup then
  786. self:CastRG()
  787. end
  788. --Hammercombos
  789. elseif self.HammerTime then
  790. if ValidTarget(self.target, self.spellData.EH.range) and EHup and QHup then
  791. if self:CastEH(self.target) then
  792. DelayAction(function() self:CastQH(self.target) end, 250)
  793. end
  794. elseif ValidTarget(self.target, self.spellData.WH.range) and WHup then
  795. self:CastWH()
  796. elseif ValidTarget(self.target, self.spellData.QH.range) and QHup then
  797. self:CastQH(self.target)
  798. elseif ValidTarget(self.target, self.spellData.EH.range) and EHup and RHup then
  799. if self:CastEH(self.target) then
  800. DelayAction(function() self:CastRH() end, 250)
  801. end
  802. elseif ValidTarget(self.target, self.spellData.QH.range) and RHup and not QHup then
  803. self:CastRH()
  804. end
  805. end
  806. end
  807.  
  808. function Jayce:Harass()
  809. if ValidTarget(self.target,self.spellData.QG.rangeAcc) and self.spellData.EG.up <= GetTickCount() and self.spellData.QG.up <= GetTickCount() and not self.HammerTime then
  810. self:CastQGEG(self.target)
  811. elseif ValidTarget(self.target,self.spellData.QG.range) and self.spellData.EG.up >= GetTickCount() and self.spellData.QG.up <= GetTickCount() and not self.HammerTime then
  812. self:CastQG(self.target)
  813. end
  814. end
  815.  
  816. function Jayce:Killsteal()
  817. for i,enemy in pairs(GetEnemyHeroes()) do
  818. local enemyhp = GetCurrentHP(enemy)
  819. if self.HammerTime then
  820. if ValidTarget(enemy,self.spellData.QH.range) and enemyhp < CalcDamage(myHero, enemy, self.spellData.QH.dmg(),0) and self.QREADY then
  821. self:CastQH(enemy)
  822. elseif ValidTarget(enemy,self.spellData.EH.range) and enemyhp < CalcDamage(myHero, enemy, 0, self.spellData.EH.dmg(enemy)) and self.EREADY then
  823. self:CastEH(enemy)
  824. elseif ValidTarget(enemy,self.spellData.WH.range) and enemyhp < CalcDamage(myHero, enemy, 0, self.spellData.WH.dmg()/8) and self.WREADY then
  825. self:CastWH()
  826. elseif ValidTarget(enemy,self.spellData.QH.range) and enemyhp < CalcDamage(myHero, enemy, self.spellData.QH.dmg(), self.spellData.EH.dmg(enemy)) and self.QREADY and self.EREADY then
  827. self:CastQH(enemy) DelayAction(function() self:CastEH(enemy)end, 250)
  828. end
  829. elseif not self.HammerTime then
  830. if ValidTarget(enemy,self.spellData.QG.range) and enemyhp < CalcDamage(myHero, enemy, self.spellData.QG.dmg(), 0) and self.QREADY then
  831. self:CastQG(self.target)
  832. elseif ValidTarget(enemy, self.spellData.QG.rangeAcc) and enemyhp < CalcDamage(myHero, enemy, self.spellData.QG.dmg()*1.4, 0) and self.QREADY and self.EREADY then
  833. self:CastQGEG(self.target)
  834. end
  835. end
  836. end
  837. end
  838.  
  839. function Jayce:ProcessSpell(unit,spell)
  840. if unit and unit == myHero then
  841. for _, d in pairs(self.spellData) do
  842. if spell.name == d.name then
  843. d.up = d.CD() + GetTickCount() + spell.windUpTime*1000
  844. end
  845. end
  846. end
  847. end
  848.  
  849. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  850. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  851. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  852. ---------------------------------------------------------------------------------------------------------------Syndra----------------------------------------------------------------------------------------------------------
  853. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  854. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  855. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  856. --[[class "Syndra"
  857. function Syndra:__init()
  858. OnLoop(function(myHero) self:Loop(myHero) end)
  859. --OnProcessSpell(function(unit,spell) self:ProcessSpell(unit,spell) end)
  860. self.spellData =
  861. {
  862. Q ={name = "SyndraQ",
  863. dmg = function () return 5 + 45*GetCastLevel(myHero,_Q) + 0*6*GetBonusAP(myHero) end,
  864. range = 790,
  865. width = 125,
  866. delay = 0.6,
  867. speed = math.huge,
  868. mana = function () return 50 + 5*GetCastLevel(myHero,_Q) end},
  869. W ={name = "SyndraW",
  870. dmg = function () return 40 + 40*GetCastLevel(myHero,_W) + 0.7*GetBonusAP(myHero) end,
  871. range = 925,
  872. width = 190,
  873. delay = 0.8,
  874. speed = math.huge,
  875. mana = function () return 50 + 5*GetCastLevel(myHero,_W) end},
  876. E ={name = "SyndraE",
  877. dmg = function () return 25 + 45*GetCastLevel(myHero,_E) + 0.4*GetBonusAP(myHero) end,
  878. range = 730,
  879. width = 45,
  880. delay = 0.25,
  881. speed = 2500,
  882. mana = 50},
  883. R ={name = "SyndraR",
  884. dmg = function () return 45 + 45*GetCastLevel(myHero,_R) + 0.2*GetBonusAP(myHero) end,
  885. range = 675,
  886. rangeEX = 750,
  887. delay = 0.25,
  888. mana = 100},
  889. QE={range = 1280,
  890. width = 60,
  891. delay = 0,
  892. speed = 1600}
  893. }
  894.  
  895. self.Config = scriptConfig("PSyndra", "PlatySyndra")
  896. self.Config.addParam("Q","Use Q", SCRIPT_PARAM_ONOFF, true)
  897. self.Config.addParam("W","Use W", SCRIPT_PARAM_ONOFF, true)
  898. self.Config.addParam("E","Use E", SCRIPT_PARAM_ONOFF, true)
  899. self.Config.addParam("R","Use R", SCRIPT_PARAM_ONOFF, true)
  900. self.Config.addParam("Draw","Draws", SCRIPT_PARAM_ONOFF, true)
  901. self.Config.addParam("KS","Killsteal", SCRIPT_PARAM_ONOFF, true)
  902. end
  903. end
  904.  
  905. function Syndra:Loop(myHero)
  906. --SyndraSphere
  907. end
  908.  
  909. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  910. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  911. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  912. ---------------------------------------------------------------------------------------------------------------Fiora----------------------------------------------------------------------------------------------------------
  913. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  914. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  915. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  916. class "Fiora"
  917. function Fiora:__init()
  918. OnLoop(function(myHero) self:Loop(myHero) end)
  919. self.spellData =
  920. {
  921. Q ={name = "FioraQ",
  922. dmg = function () return 55 + 10*GetCastLevel(myHero,_Q) + ((0.15*GetCastLevel(myHero,_Q))*GetBonusDmg(myHero)) + 0.4*GetBonusDmg(myHero) end,
  923. range = 400,
  924. width = 125,
  925. delay = 0.6,
  926. speed = math.huge,
  927. mana = function () return 20 + 5*GetCastLevel(myHero,_Q) end},
  928. W ={name = "FioraW",
  929. dmg = function () return 50 + 40*GetCastLevel(myHero,_W) + GetBonusAP(myHero) end,
  930. range = 750,
  931. width = 190,
  932. delay = 0.75,
  933. speed = math.huge,
  934. mana = 50},
  935. E ={name = "FioraE",
  936. speed = 2500,
  937. mana = function () return 35 + 5*GetCastLevel(myHero,_E) end},
  938. R ={name = "FioraR",
  939. dmg = function () return 45 + 45*GetCastLevel(myHero,_R) + 0.2*GetBonusAP(myHero) end,
  940. range = 500,
  941. mana = 100},
  942. P={dmg = function () return 0.03 + 0.045*(GetBonusDmg(myHero) + GetBaseDamage(myHero)) - 0.028 end}
  943. }
  944.  
  945. self.Config = scriptConfig("PFiora", "PlatyFiora")
  946. self.Config.addParam("Q","Use Q", SCRIPT_PARAM_ONOFF, true)
  947. self.Config.addParam("W","Use W", SCRIPT_PARAM_ONOFF, true)
  948. self.Config.addParam("E","Use E", SCRIPT_PARAM_ONOFF, true)
  949. self.Config.addParam("R","Use R", SCRIPT_PARAM_ONOFF, true)
  950. self.Config.addParam("Draw","Draws", SCRIPT_PARAM_ONOFF, true)
  951. self.Config.addParam("KS","Killsteal", SCRIPT_PARAM_ONOFF, true)
  952. --AABuff FioraE
  953. --Riposte FioraW
  954.  
  955. end
  956.  
  957. function Fiora:Loop(myHero)
  958. self:Checks()
  959. if self.Config.Draw then
  960. self:Draws()
  961. end
  962. if self.Config.KS then
  963. -- self:Killsteal()
  964. end
  965. if _G.IWalkConfig.Combo then
  966. -- self:Combo()
  967. end
  968. if _G.IWalkConfig.Harass then
  969. -- self:Harass()
  970. end
  971. end
  972. function Fiora:Checks()
  973. self.QREADY = CanUseSpell(myHero,_Q) == READY
  974. self.WREADY = CanUseSpell(myHero,_W) == READY
  975. self.EREADY = CanUseSpell(myHero,_E) == READY
  976. self.RREADY = CanUseSpell(myHero,_R) == READY
  977. self.target = GetTarget(self.spellData.Q.range, DAMAGE_PHYSICAL)
  978. self.targetPos = GetOrigin(self.target)
  979. myHeroPos = GetOrigin(myHero)
  980. end
  981. function Fiora:Draws()
  982. if self.QREADY then
  983. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.Q.range,3,100,0xffff9999)
  984. end
  985. if self.WREADY then
  986. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.W.range,3,100,0xffff9999)
  987. end
  988. if self.RREADY then
  989. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,self.spellData.R.range,3,100,0xffff9999)
  990. end
  991. end
  992.  
  993. function Fiora:Combo()
  994. --if ValidTarget(self.target,self.spellData.Q.range) then
  995.  
  996. --end
  997. end
  998. ]]
  999.  
  1000. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1001. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1002. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1003. ---------------------------------------------------------------------------------------------------------------Fiora----------------------------------------------------------------------------------------------------------
  1004. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1005. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1006. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1007. class "Katarina"
  1008. function Katarina:__init()
  1009. OnLoop(function(myHero) self:Loop(myHero) end)
  1010. OnProcessSpell(function(unit,spell) self:ProcessSpell(unit,spell) end)
  1011.  
  1012. self.Config = scriptConfig("PKatarina", "PlatyKatarina")
  1013. self.Config.addParam("Q", "Use Q", SCRIPT_PARAM_ONOFF, true)
  1014. self.Config.addParam("W", "Use W", SCRIPT_PARAM_ONOFF, true)
  1015. self.Config.addParam("E", "Use E", SCRIPT_PARAM_ONOFF, true)
  1016. self.Config.addParam("R", "Use R", SCRIPT_PARAM_ONOFF, true)
  1017. self.Config.addParam("Draw","Draws", SCRIPT_PARAM_ONOFF, true)
  1018. self.Config.addParam("KS","Killsteal", SCRIPT_PARAM_ONOFF, true)
  1019. end
  1020.  
  1021. function Katarina:Loop(myHero)
  1022. if waitTickCount > GetTickCount() then return end
  1023. local unit = GetTarget((CanUseSpell(myHero, _E) == READY and 700 or CanUseSpell(myHero, _Q) == READY and 675 or 375), DAMAGE_MAGIC)
  1024. if unit then
  1025. local dmg = 0
  1026. local hp = GetCurrentHP(unit)
  1027. local AP = GetBonusAP(myHero)
  1028. local TotalDmg = GetBonusDmg(myHero)+GetBaseDamage(myHero)
  1029. local targetPos = GetOrigin(unit)
  1030. local drawPos = WorldToScreen(1,targetPos.x,targetPos.y,targetPos.z)
  1031. if CanUseSpell(myHero, _Q) == READY then
  1032. dmg = dmg + CalcDamage(myHero, unit, 0, 35+25*GetCastLevel(myHero,_Q)+0.45*AP) * 1.25
  1033. end
  1034. if CanUseSpell(myHero, _W) == READY then
  1035. dmg = dmg + CalcDamage(myHero, unit, 0, 5+35*GetCastLevel(myHero,_W)+0.25*AP+0.6*TotalDmg)
  1036. end
  1037. if CanUseSpell(myHero, _E) == READY then
  1038. dmg = dmg + CalcDamage(myHero, unit, 0, 10+30*GetCastLevel(myHero,_E)+0.25*AP)
  1039. end
  1040. if CanUseSpell(myHero, _R) ~= ONCOOLDOWN and GetCastLevel(myHero,_R) > 0 then
  1041. dmg = dmg + CalcDamage(myHero, unit, 0, 30+10*GetCastLevel(myHero,_R)+0.2*AP+0.3*GetBonusDmg(myHero)) * 10
  1042. end
  1043. if dmg > hp then
  1044. DrawText("Killable",20,drawPos.x,drawPos.y,0xffffffff)
  1045. DrawDmgOverHpBar(unit,hp,0,hp,0xffffffff)
  1046. else
  1047. DrawText(math.floor(100 * dmg / hp).."%",20,drawPos.x,drawPos.y,0xffffffff)
  1048. DrawDmgOverHpBar(unit,hp,0,dmg,0xffffffff)
  1049. end
  1050. if not IWalkConfig.Combo then return end
  1051. if IsInDistance(unit, 675) and CanUseSpell(myHero, _Q) == READY and self.Config.Q then
  1052. CastTargetSpell(unit, _Q)
  1053. elseif IsInDistance(unit, 375) and CanUseSpell(myHero, _W) == READY and self.Config.W then
  1054. CastTargetSpell(myHero, _W)
  1055. elseif IsInDistance(unit, 700) and CanUseSpell(myHero, _E) == READY and self.Config.E then
  1056. CastTargetSpell(unit, _E)
  1057. elseif IsInDistance(unit, 550) and CanUseSpell(myHero, _Q) ~= READY and self.Config.R and CanUseSpell(myHero, _W) ~= READY and CanUseSpell(myHero, _E) ~= READY and CanUseSpell(myHero, _R) ~= ONCOOLDOWN and GetCastLevel(myHero,_R) > 0 then
  1058. HoldPosition()
  1059. waitTickCount = GetTickCount() + 50
  1060. CastTargetSpell(myHero, _R)
  1061. end
  1062. lastTargetName = GetObjectName(unit)
  1063. end
  1064. end
  1065.  
  1066. function Katarina:ProcessSpell(unit, spell)
  1067. if unit and unit == myHero and spell then
  1068. if spell.name:lower():find("katarinar") then
  1069. waitTickCount = GetTickCount() + 2500
  1070. end
  1071. end
  1072. end
  1073.  
  1074.  
  1075. supportedHero = {["Annie"] = true,["Jayce"] = true,["Malphite"] = true,["Ryze"] = true,["Syndra"] = true}
  1076. if _G[GetObjectName(myHero)] then
  1077. _G[GetObjectName(myHero)]()
  1078. end
  1079.  
  1080. --Evelynn
  1081. if GetObjectName(GetMyHero()) == "Evelynn" then
  1082. --Menu
  1083. Config = scriptConfig("Evelynn", "Evelynn")
  1084. Config.addParam("Q", "Use Q", SCRIPT_PARAM_ONOFF, true)
  1085. Config.addParam("W", "Use W", SCRIPT_PARAM_ONOFF, true)
  1086. Config.addParam("E", "Use E", SCRIPT_PARAM_ONOFF, true)
  1087. Config.addParam("R", "Use R", SCRIPT_PARAM_ONOFF, true)
  1088. --Start
  1089. OnLoop(function(myHero)
  1090. AutoIgnite()
  1091. if IWalkConfig.Combo then
  1092. local unit = GetCurrentTarget()
  1093. if ValidTarget(unit, 1550) then
  1094.  
  1095. -- Evelynn W
  1096. if Config.W then
  1097. if GetCastName(myHero, _W) == "EvelynnW" then
  1098. if CanUseSpell(myHero, _W) == READY then
  1099. CastTargetSpell(myHero,_W)
  1100. end
  1101. end
  1102. end
  1103. -- Evelynn Q
  1104. if Config.Q then
  1105. if GetCastName(myHero, _Q) == "EvelynnQ" then
  1106. if CanUseSpell(myHero, _Q) == READY then
  1107. CastTargetSpell(myHero,_Q)
  1108. end
  1109. end
  1110. end
  1111. -- Evelynn E
  1112. if Config.E then
  1113. if GetCastName(myHero, _E) == "EvelynnE" then
  1114. if CanUseSpell(myHero, _E) == READY then
  1115. CastTargetSpell(unit,_E)
  1116. end
  1117. end
  1118. end
  1119. -- Evelynn R
  1120. if Config.R then
  1121. if GetCastName(myHero, _R) == "EvelynnR" then
  1122. local RPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1600,250,650,55,false,true)
  1123. if CanUseSpell(myHero, _R) == READY and IsInDistance(unit, 1550) then
  1124. CastSkillShot(_R,RPred.PredPos.x,RPred.PredPos.y,RPred.PredPos.z)
  1125. end
  1126. end
  1127. end
  1128. end
  1129. end
  1130. end)
  1131. end
  1132.  
  1133. --Akali
  1134. if GetObjectName(GetMyHero()) == "Akali" then
  1135. --Menu
  1136. Config = scriptConfig("Akali", "Akali")
  1137. Config.addParam("Q", "Use Q", SCRIPT_PARAM_ONOFF, true)
  1138. Config.addParam("W", "Use W", SCRIPT_PARAM_ONOFF, true)
  1139. Config.addParam("E", "Use E", SCRIPT_PARAM_ONOFF, true)
  1140. Config.addParam("R", "Use R", SCRIPT_PARAM_ONOFF, true)
  1141. --Start
  1142. OnLoop(function(myHero)
  1143. AutoIgnite()
  1144. if IWalkConfig.Combo then
  1145. local unit = GetCurrentTarget()
  1146. if ValidTarget(unit, 1550) then
  1147. if Config.Q then
  1148. if GetCastName(myHero, _Q) == "AkaliMota" then
  1149. if CanUseSpell(myHero, _Q) == READY then
  1150. CastTargetSpell(unit,_Q)
  1151. end
  1152. end
  1153. end
  1154. -- Akali E
  1155. if Config.E then
  1156. if GetCastName(myHero, _E) == "AkaliShadowSwipe" then
  1157. local EPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1600,250,325,55,false,true)
  1158. if CanUseSpell(myHero, _E) == READY and IsInDistance(unit, 325) then
  1159. CastSkillShot(_E,EPred.PredPos.x,EPred.PredPos.y,EPred.PredPos.z)
  1160. end
  1161. end
  1162. -- Akali W
  1163. if Config.W then
  1164. if GetCastName(myHero, _W) == "AkaliSmokeBomb" then
  1165. if CanUseSpell(myHero, _W) == READY then
  1166. CastTargetSpell(unit,_W)
  1167. end
  1168. end
  1169. end
  1170. -- Akali R
  1171. if Config.R then
  1172. if GetCastName(myHero, _R) == "AkaliShadowDance" then
  1173. if CanUseSpell(myHero, _R) == READY then
  1174. CastTargetSpell(unit,_R)
  1175. end
  1176. end
  1177. end
  1178. end
  1179. end
  1180. end
  1181. end)
  1182. end
  1183.  
  1184. --Menu
  1185. if GetObjectName(GetMyHero()) == "Azir" then
  1186. --Azir
  1187. Config = scriptConfig("Azir", "Azir")
  1188. Config.addParam("Q", "Use Q", SCRIPT_PARAM_ONOFF, true)
  1189. Config.addParam("W", "Use W", SCRIPT_PARAM_ONOFF, true)
  1190. Config.addParam("E", "Use E", SCRIPT_PARAM_ONOFF, true)
  1191. Config.addParam("R", "Use R", SCRIPT_PARAM_ONOFF, true)
  1192. --Start
  1193. OnLoop(function(myHero)
  1194. AutoIgnite()
  1195. if IWalkConfig.Combo then
  1196. local unit = GetCurrentTarget()
  1197. if ValidTarget(unit, 1550) then
  1198.  
  1199. -- Azir W
  1200. if Config.W then
  1201. if GetCastName(myHero, _W) == "AzirW" then
  1202. local WPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1600,250,850,55,false,true)
  1203. if CanUseSpell(myHero, _W) == READY and WPred.HitChance == 1 then
  1204. CastSkillShot(_W,WPred.PredPos.x,WPred.PredPos.y,WPred.PredPos.z)
  1205. end
  1206. end
  1207. end
  1208. -- Azir Q
  1209. if Config.Q then
  1210. if GetCastName(myHero, _Q) == "AzirQ" then
  1211. local QPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1600,250,1500,55,false,true)
  1212. if CanUseSpell(myHero, _Q) == READY and QPred.HitChance == 1 then
  1213. CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z)
  1214. end
  1215. end
  1216. end
  1217. -- Azir E
  1218. if Config.E then
  1219. if GetCastName(myHero, _E) == "AzirE" then
  1220. local EPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1700,250,850,50,false,true)
  1221. if CanUseSpell(myHero, _E) == READY and EPred.HitChance == 1 then
  1222. CastSkillShot(_E,EPred.PredPos.x,EPred.PredPos.y,EPred.PredPos.z)
  1223. end
  1224. end
  1225. end
  1226. -- Azir R
  1227. if Config.R then
  1228. if GetCastName(myHero, _R) == "AzirR" then
  1229. local RPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1600,250,250,55,false,true)
  1230. if CanUseSpell(myHero, _R) == READY and IsInDistance(unit, 1550) then
  1231. CastSkillShot(_R,RPred.PredPos.x,RPred.PredPos.y,RPred.PredPos.z)
  1232. end
  1233. end
  1234. end
  1235. end
  1236. end
  1237. end)
  1238. end
  1239.  
  1240. --Viktor
  1241. if GetObjectName(GetMyHero()) == "Viktor" then
  1242. --Menu
  1243. Config = scriptConfig("Viktor", "Viktor")
  1244. Config.addParam("Q", "Use Q", SCRIPT_PARAM_ONOFF, true)
  1245. Config.addParam("W", "Use W", SCRIPT_PARAM_ONOFF, true)
  1246. Config.addParam("E", "Use E", SCRIPT_PARAM_ONOFF, true)
  1247. Config.addParam("R", "Use R", SCRIPT_PARAM_ONOFF, true)
  1248. --Start
  1249. OnLoop(function(myHero)
  1250. AutoIgnite()
  1251. if IWalkConfig.Combo then
  1252. local unit = GetCurrentTarget()
  1253. if ValidTarget(unit, 1550) then
  1254.  
  1255. -- Viktor W
  1256. if Config.W then
  1257. if GetCastName(myHero, _W) == "ViktorGravitonField" then
  1258. local WPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1600,250,700,55,false,true)
  1259. if CanUseSpell(myHero, _W) == READY and WPred.HitChance == 1 then
  1260. CastSkillShot(_W,WPred.PredPos.x,WPred.PredPos.y,WPred.PredPos.z)
  1261. end
  1262. end
  1263. end
  1264. -- Viktor Q
  1265. if Config.Q then
  1266. if GetCastName(myHero, _Q) == "ViktorPowerTransfer" then
  1267. if CanUseSpell(myHero, _Q) == READY then
  1268. CastTargetSpell(unit,_Q)
  1269. end
  1270. end
  1271. end
  1272. -- Viktor E
  1273. local myorigin = GetOrigin(unit)
  1274. local mymouse = GetMousePos()
  1275. if Config.E then
  1276. if GetCastName(myHero, _E) == "ViktorDeathRay" then
  1277. local EPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1600,250,525,55,false,true)
  1278. if CanUseSpell(myHero, _E) == READY then
  1279. CastSkillShot3(_E,myorigin,mymouse)
  1280. end
  1281. end
  1282. end
  1283. -- Viktor R
  1284. if Config.R then
  1285. if GetCastName(myHero, _R) == "ViktorChaosStorm" then
  1286. local RPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1600,250,700,55,false,true)
  1287. if CanUseSpell(myHero, _R) == READY and IsInDistance(unit, 1550) then
  1288. CastSkillShot(_R,RPred.PredPos.x,RPred.PredPos.y,RPred.PredPos.z)
  1289. end
  1290. end
  1291. end
  1292. end
  1293. end
  1294. end)
  1295. end
  1296. -- VelKoz
  1297. if GetObjectName(GetMyHero()) == "Velkoz" then
  1298. --Menu
  1299. Config = scriptConfig("VelKoz", "VelKoz")
  1300. Config.addParam("Q", "Use Q", SCRIPT_PARAM_ONOFF, true)
  1301. Config.addParam("W", "Use W", SCRIPT_PARAM_ONOFF, true)
  1302. Config.addParam("E", "Use E", SCRIPT_PARAM_ONOFF, true)
  1303. Config.addParam("R", "Use R", SCRIPT_PARAM_ONOFF, true)
  1304. --Start
  1305. OnLoop(function(myHero)
  1306. AutoIgnite()
  1307. if IWalkConfig.Combo then
  1308. local unit = GetCurrentTarget()
  1309. if ValidTarget(unit, 1550) then
  1310.  
  1311. -- Velkoz E
  1312. if Config.E then
  1313. if GetCastName(myHero, _E) == "VelkozE" then
  1314. local EPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1700,250,850,50,false,true)
  1315. if CanUseSpell(myHero, _E) == READY and EPred.HitChance == 1 then
  1316. CastSkillShot(_E,EPred.PredPos.x,EPred.PredPos.y,EPred.PredPos.z)
  1317. end
  1318. end
  1319. end
  1320.  
  1321. -- Velkoz W
  1322. if Config.W then
  1323. if GetCastName(myHero, _W) == "VelkozW" then
  1324. local WPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1600,250,1500,55,false,true)
  1325. if CanUseSpell(myHero, _W) == READY and WPred.HitChance == 1 then
  1326. CastSkillShot(_W,WPred.PredPos.x,WPred.PredPos.y,WPred.PredPos.z)
  1327. end
  1328. end
  1329. end
  1330. -- Velkoz Q
  1331. if Config.Q then
  1332. if GetCastName(myHero, _Q) == "VelkozQ" then
  1333. local QPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1600,250,1050,55,true,true)
  1334. if CanUseSpell(myHero, _Q) == READY and QPred.HitChance == 1 then
  1335. CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z)
  1336. end
  1337. end
  1338. end
  1339. -- Velkoz R
  1340. if Config.R then
  1341. if GetCastName(myHero, _R) == "VelkozR" then
  1342. local RPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1600,250,1500,55,false,true)
  1343. if CanUseSpell(myHero, _R) == READY and IsInDistance(unit, 1550) then
  1344. CastSkillShot(_R,RPred.PredPos.x,RPred.PredPos.y,RPred.PredPos.z)
  1345. end
  1346. end
  1347. end
  1348. end
  1349. end
  1350. end)
  1351. end
  1352.  
  1353. if GetObjectName(GetMyHero()) == "Syndra" then
  1354. --Menu
  1355. Config = scriptConfig("Syndra", "Syndra")
  1356. Config.addParam("Q", "Use Q", SCRIPT_PARAM_ONOFF, true)
  1357. Config.addParam("W", "Use W", SCRIPT_PARAM_ONOFF, true)
  1358. Config.addParam("E", "Use E", SCRIPT_PARAM_ONOFF, true)
  1359. Config.addParam("R", "Use R", SCRIPT_PARAM_ONOFF, true)
  1360. Config.addParam("Stun", "Press to Stun", SCRIPT_PARAM_KEYDOWN, string.byte("T")) --Maxxel logic
  1361. --Start
  1362. OnLoop(function(myHero)
  1363. AutoIgnite()
  1364. if IWalkConfig.Combo then
  1365. local unit = GetCurrentTarget()
  1366. if ValidTarget(unit, 1200) then
  1367.  
  1368. -- Syndra Q cast
  1369. if GetCastName(myHero, _Q) == "SyndraQ" then
  1370. local QPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1700,250,800,50,true,true)
  1371. if Config.Q then
  1372. if CanUseSpell(myHero, _Q) == READY and QPred.HitChance == 1 then
  1373. CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z)
  1374. end
  1375. end
  1376. end
  1377.  
  1378. -- Syndra cast W on Minion
  1379. if GetCastName(myHero, _W) == "SyndraW" then
  1380. if Config.W then
  1381. if CanUseSpell(myHero, _W) == READY then
  1382. CastTargetSpell(Obj_AI_Minion, _W)
  1383. end
  1384. end
  1385. end
  1386. -- Syndra cast W at Enemy
  1387. if GetCastName(myHero, _W) == "SyndraW" then
  1388. local WPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1700,250,925,50,true,true)
  1389. if Config.W then
  1390. if CanUseSpell(myHero, _W) == READY and WPred.HitChance == 1 then
  1391. CastSkillShot(_W,WPred.PredPos.x,WPred.PredPos.y,WPred.PredPos.z)
  1392. end
  1393. end
  1394. end
  1395. -- Syndra PUSH
  1396. if GetCastName(myHero, _E) == "SyndraE" then
  1397. local EPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1700,250,700,50,true,true)
  1398. if Config.E then
  1399. if CanUseSpell(myHero, _E) == READY and EPred.HitChance == 1 then
  1400. CastSkillShot(_E,EPred.PredPos.x,EPred.PredPos.y,EPred.PredPos.z)
  1401. end
  1402. end
  1403. end
  1404. -- Syndra Ultimate
  1405. if GetCastName(myHero, _R) == "SyndraR" then
  1406. if Config.R then
  1407. if unit ~= nil then
  1408. if CanUseSpell(myHero, _R) == READY and IsInDistance(unit, 675) then
  1409. CastTargetSpell(unit, _R)
  1410. end
  1411. end
  1412. end
  1413. end
  1414. local unit = GetCurrentTarget() --Maxxxel logic
  1415. local myHeroPos = GetOrigin(myHero)
  1416. DrawCircle(myHeroPos.x,myHeroPos.y,myHeroPos.z,1200,2,0,0xffff0000)
  1417. if Config.Stun then
  1418. if ValidTarget(unit,1200) then
  1419. local timea
  1420. local distanceStun=0
  1421. if timea~=nil and CanUseSpell(myHero, _Q) ~= READY and CanUseSpell(myHero, _E) ~= READY then
  1422. timea=nil
  1423. end
  1424. ---Values---
  1425. local enemyposition = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1700,250,1200,50,true,true)
  1426. enemyposx=enemyposition.PredPos.x
  1427. enemyposy=enemyposition.PredPos.y
  1428. enemyposz=enemyposition.PredPos.z
  1429. local TargetPos = Vector(enemyposx,enemyposy,enemyposz)
  1430. if GetDistance(unit)>=700 then
  1431. distanceStun=GetDistance(unit)-700
  1432. end
  1433. if GetDistance(unit)<700 then
  1434. distanceStun=0
  1435. end
  1436. local firePos = TargetPos-(TargetPos-myHeroPos)*(distanceStun/GetDistance(unit))
  1437. local dPredict = GetDistance(myHero,firePosPoint)
  1438. ---Values end---
  1439. if CanUseSpell(myHero, _Q) == READY and CanUseSpell(myHero, _E) == READY and timea==nil then
  1440. if dPredict < 1200 then
  1441. CastSkillShot(_Q,firePos.x,0,firePos.z)
  1442. timea = GetTickCount()
  1443. end
  1444. end
  1445. if CanUseSpell(myHero, _E) == READY and timea~=GetTickCount() then
  1446. CastSkillShot(_E,firePos.x,0,firePos.z)
  1447. end
  1448. end
  1449. Move()
  1450. end
  1451.  
  1452. function Move()
  1453. local movePos = GenerateMovePos()
  1454. if GetDistance(GetMousePos()) > GetHitBox(myHero) then
  1455. MoveToXYZ(movePos.x, 0, movePos.z)
  1456. end
  1457. end
  1458. end
  1459. end
  1460. end)
  1461. end
  1462. -- Ekko
  1463. if GetObjectName(GetMyHero()) == "Ekko" then
  1464. --Menu
  1465. Config = scriptConfig("Ekko", "Ekko")
  1466. Config.addParam("Q", "Use Q", SCRIPT_PARAM_ONOFF, true)
  1467. Config.addParam("W", "Use W", SCRIPT_PARAM_ONOFF, true)
  1468. Config.addParam("E", "Use E", SCRIPT_PARAM_ONOFF, true)
  1469. Config.addParam("R", "Use R", SCRIPT_PARAM_ONOFF, true)
  1470. --Start
  1471. OnLoop(function(myHero)
  1472. if GetCastName(myHero, _R) == "EkkoR" then
  1473. if Config.R then
  1474. if (GetCurrentHP(myHero)/GetMaxHP(myHero))<0.2 and
  1475. CanUseSpell(myHero, _R) == READY and IsObjectAlive(myHero) then
  1476. CastTargetSpell(myHero,_R)
  1477. end
  1478. end
  1479. end
  1480. AutoIgnite()
  1481. if IWalkConfig.Combo then
  1482. local unit = GetCurrentTarget()
  1483. if ValidTarget(unit, 1200) then
  1484.  
  1485. -- Q cast
  1486. if GetCastName(myHero, _Q) == "EkkoQ" then
  1487. local QPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1700,250,1075,50,true,true)
  1488. if Config.Q then
  1489. if CanUseSpell(myHero, _Q) == READY and QPred.HitChance == 1 then
  1490. CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z)
  1491. end
  1492. end
  1493. end
  1494. -- W Cast
  1495. if GetCastName(myHero, _W) == "EkkoW" then
  1496. local WPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1700,250,1600,50,false,true)
  1497. if Config.W then
  1498. if CanUseSpell(myHero, _W) == READY and WPred.HitChance == 1 then
  1499. CastSkillShot(_W,WPred.PredPos.x,WPred.PredPos.y,WPred.PredPos.z)
  1500. end
  1501. end
  1502. end
  1503. -- E Cast Will cast E and if im correct then GoS will click champ and Ekko will blink Cast = 325 range Blink= 425
  1504. if GetCastName(myHero, _E) == "EkkoE" then
  1505. local EPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1700,250,750,50,false,true)
  1506. if Config.E then
  1507. if CanUseSpell(myHero, _E) == READY and EPred.HitChance == 1 then
  1508. CastSkillShot(_E,EPred.PredPos.x,EPred.PredPos.y,EPred.PredPos.z)
  1509. end
  1510. end
  1511. end
  1512. -- R Cast Disabled till i manage how to Use R when low --THANKS SNOWBALL
  1513. if GetCastName(myHero, _R) == "EkkoR" then
  1514. if Config.R then
  1515. CastTargetSpell(myHero,_R)
  1516. end
  1517. end
  1518. end
  1519. end
  1520. end)
  1521. end
  1522. --Nidalee
  1523. if GetObjectName(GetMyHero()) == "Nidalee" then
  1524. --Menu
  1525. Config = scriptConfig("Nidalee", "Nidalee")
  1526. Config.addParam("Q", "Use Q", SCRIPT_PARAM_ONOFF, true)
  1527. Config.addParam("W", "Use W", SCRIPT_PARAM_ONOFF, true)
  1528. Config.addParam("E", "Use E", SCRIPT_PARAM_ONOFF, true)
  1529. Config.addParam("R", "Use R", SCRIPT_PARAM_ONOFF, true)
  1530. Config.addParam("Q2", "Use Q2", SCRIPT_PARAM_ONOFF, true)
  1531. Config.addParam("W2", "Use W2", SCRIPT_PARAM_ONOFF, true)
  1532. Config.addParam("E2", "Use E2", SCRIPT_PARAM_ONOFF, true)
  1533. --Start
  1534. OnLoop(function(myHero)
  1535. -- Nidalee human heal --THANKS SNOWBALL
  1536. if GetCastName(myHero, _E) == "PrimalSurge" then
  1537. if Config.E then
  1538. if (GetCurrentHP(myHero)/GetMaxHP(myHero))<0.2 and
  1539. CanUseSpell(myHero, _E) == READY and IsObjectAlive(myHero) then
  1540. CastTargetSpell(myHero,_E)
  1541. end
  1542. end
  1543. end
  1544. AutoIgnite()
  1545. if IWalkConfig.Combo then
  1546. local unit = GetCurrentTarget()
  1547. if ValidTarget(unit, 1500) then
  1548.  
  1549. -- Nidalee Human Trap
  1550. if GetCastName(myHero, _W) == "Bushwhack" then
  1551. local WPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1700,250,900,50,true,true)
  1552. if Config.W then
  1553. if CanUseSpell(myHero, _W) == READY and WPred.HitChance == 1 then
  1554. CastSkillShot(_W,WPred.PredPos.x,WPred.PredPos.y,WPred.PredPos.z)
  1555. end
  1556. end
  1557. end
  1558. -- Nidalee human spear
  1559. if GetCastName(myHero, _Q) == "JavelinToss"then
  1560. -- GetPredictionForPlayer(startPosition, targetUnit, targetUnitMoveSpeed, spellTravelSpeed, spellDelay, spellRange, spellWidth, collision, addHitBox)
  1561. local QPred = GetPredictionForPlayer(GetMyHeroPos(),unit,GetMoveSpeed(unit),1600,250,1500,55,true,true)
  1562. if Config.Q then
  1563. if CanUseSpell(myHero, _Q) == READY and QPred.HitChance == 1 then
  1564. CastSkillShot(_Q,QPred.PredPos.x,QPred.PredPos.y,QPred.PredPos.z)
  1565. end
  1566. end
  1567. end
  1568. -- Tansform to cougar
  1569. if GetCastName(myHero, _R) == "AspectOfTheCougar" then
  1570. if Config.R then
  1571. if unit ~= nil then
  1572. if CanUseSpell(myHero, _R) == READY and CanUseSpell(myHero, _W) == READY and CanUseSpell(myHero, _Q) ~= READY and IsInDistance(unit, 750) and GotBuff(unit, "Hunted") then
  1573. CastTargetSpell(myHero, _R)
  1574. end
  1575. end
  1576. end
  1577. end
  1578. -- Cougar attack Q
  1579. if GetCastName(myHero, _Q) == "Takedown" then
  1580. if Config.Q2 then
  1581. if CanUseSpell(myHero, _Q) == READY and IsInDistance(unit, 475) then
  1582. CastTargetSpell(unit, _Q)
  1583. end
  1584. end
  1585. end
  1586. -- Cougar pounce W
  1587. if GetCastName(myHero, _W) == "Pounce" then
  1588. if Config.W2 then
  1589. if CanUseSpell(myHero, _W) == READY and IsInDistance(unit, 375) then
  1590. CastTargetSpell(unit, _W)
  1591. end
  1592. end
  1593. end
  1594. -- E cast in cougar form
  1595. if GetCastName(myHero, _E) == "Swipe" then
  1596. if Config.E2 then
  1597. if CanUseSpell(myHero, _E) == READY and IsInDistance(unit, 300) then
  1598. CastTargetSpell(unit, _E)
  1599. end
  1600. end
  1601. end
  1602. -- Transform back
  1603. if GetCastName(myHero, _R) == "AspectOfTheCougar" then
  1604. if Config.R then
  1605. if unit ~= nil then
  1606. if CanUseSpell(myHero, _R) == READY and CanUseSpell(myHero, _W) ~= READY and CanUseSpell(myHero, _Q) ~= READY then
  1607. CastSpell(_R)
  1608. end
  1609. end
  1610. end
  1611. end
  1612.  
  1613. end
  1614. end
  1615. end)
  1616. end
  1617. -- Graves
  1618. if GetObjectName(GetMyHero()) == "Graves" then
  1619. --Menu
  1620. Config = scriptConfig("Graves", "Graves")
  1621. Config.addParam("Q", "Use Q", SCRIPT_PARAM_ONOFF, true)
  1622. Config.addParam("W", "Use W", SCRIPT_PARAM_ONOFF, true)
  1623. Config.addParam("E", "Use E", SCRIPT_PARAM_ONOFF, true)
  1624. Config.addParam("R", "Use R", SCRIPT_PARAM_ONOFF, true)
  1625. --Start
  1626. OnLoop(function(myHero)
  1627. local target = GetCurrentTarget()
  1628. if ValidTarget(target, math.huge) then
  1629. if KeyIsDown(32) then
  1630. castE(target)
  1631. castQ(target)
  1632. castW(target)
  1633. castR(target)
  1634. end
  1635. end
  1636. end
  1637. -- End
  1638. -- W cast
  1639. )function castW( target )
  1640. if Config.W then
  1641. pred = GetPredictionForPlayer(GetOrigin(target),target,GetMoveSpeed(target),math.huge,500,GetCastRange(myHero,_W),900,false,true)
  1642. if IsInDistance(target, GetCastRange(myHero,_W)) and CanUseSpell(myHero,_W) == READY and pred.HitChance == 1 then
  1643. CastSkillShot(_W,pred.PredPos.x,pred.PredPos.y,pred.PredPos.z)
  1644. end
  1645. end
  1646. -- Q cast
  1647. function castQ( target )
  1648. if Config.Q then
  1649. pred = GetPredictionForPlayer(GetOrigin(target),target,GetMoveSpeed(target),math.huge,500,GetCastRange(myHero,_Q),900,false,true)
  1650. if IsInDistance(target, GetCastRange(myHero,_Q)) and CanUseSpell(myHero,_Q) == READY and pred.HitChance == 1 then
  1651. CastSkillShot(_Q,pred.PredPos.x,pred.PredPos.y,pred.PredPos.z)
  1652. end
  1653. end
  1654. -- E cast
  1655. end
  1656. function castE( target )
  1657. if Config.E then
  1658. if IsInDistance(target, GetCastRange(myHero,_E)) and CanUseSpell(myHero,_E) == READY then
  1659. CastSkillShot(_E, GetMousePos().x, GetMousePos().y, GetMousePos().z)
  1660. end
  1661. end
  1662.  
  1663. -- R cast
  1664. -- R cast
  1665. function castR( target )
  1666. pred = GetPredictionForPlayer(GetOrigin(target),target,GetMoveSpeed(target),math.huge,500,GetCastRange(myHero,_R),950,false,true)
  1667. if CanUseSpell(myHero_R) == READY and pred.HitChance == 1 and IsInDistance(target, GetCastRange(myHero,_R)) and Config.R and CalcDamage(myHero, target, (150*GetCastLevel(myHero,_R)+100+1.5*GetBonusDmg(myHero)), 0) > GetCurrentHP(target) then
  1668. CastSkillShot(_R,pred.PredPos.x,pred.PredPos.y,pred.PredPos.z)
  1669. end
  1670. end
  1671. end
  1672. end
  1673. end
  1674. PrintChat(string.format("<font color='#1244EA'>[CloudAIO]</font> <font color='#FFFFFF'>and</font> <font color='#1244EA'>[PlatyAIO]</font> <font color='#FFFFFF'>Loaded</font> "))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement