Advertisement
Guest User

katarina completa

a guest
May 28th, 2015
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --[[
  2.  
  3.     Version 1.01 Added New Wards
  4.    
  5.     All in one Katarina merged+modified by Kevinkev.
  6.     with:
  7.    
  8.     -functionDescription (hotkey)
  9.    
  10.     -wardJump (g) <-hold
  11.     -autoCS (z)         -shunpo (u)
  12.     -autoKS (x)
  13.     -autoGapCloseKill with e :D (v)
  14.     -combo (spacebar)
  15.  
  16.    
  17.     I deleted the original descriptions because it was messy and I was scripting ok? >: O
  18.    
  19.     Credits to:
  20.     eXtragoZ for Katarina Combo
  21.     TRUS for edited Katarina Combo version
  22.     Pain for (auto)KatarinaStealer V0.24
  23.     Unlimited for Katarina CS
  24.     ikita for Ward JUMP :)
  25.    
  26.     Apologies for the code being quite messy, if anyone wants to... clean it up :P
  27.    
  28.     Note: The ratio values for QWE I'm not sure is 100% correct so please let me know.
  29.    
  30.     Any other stuff pm me or post a reply.
  31. ]]
  32.  
  33. if myHero.charName ~= "Katarina" then return end
  34.  
  35.     require "AllClass"
  36.  
  37.     require "spellDmg"
  38.  
  39.     local wille = false
  40.  
  41.     local willeHk = 85
  42.  
  43.     local f = false
  44.  
  45.     local autoEQ = false
  46.    
  47.     local fHk = 90
  48.     local autoEQHk = 86
  49.    
  50.     local qrng = 675
  51.  
  52.     local wrng = 375
  53.  
  54.     local erng = 700
  55.  
  56. --[[            Code            ]]
  57.  
  58. local range = 730
  59.  
  60. local ULTK=82 --R (security method)
  61.  
  62. local tick = nil
  63.  
  64. ultcount = 0
  65.  
  66. -- Active
  67.  
  68. local ulti = false
  69.  
  70. local delayult = 300
  71.  
  72. local delayult2 = 1200
  73.  
  74. local timeulti = 0
  75.  
  76. local timeulti2 = 0
  77.  
  78. local timeq = 0
  79.  
  80. local lastqmark = 0
  81.  
  82. lastulti = 0
  83.  
  84. -- draw
  85.  
  86. local waittxt = {}
  87.  
  88. local calculationenemy = 1
  89.  
  90. local floattext = {"Skills are not available","Able to fight","Killable","Murder him!"}
  91.  
  92. local killable = {}
  93.  
  94. -- ts
  95.  
  96. local ts
  97.  
  98. --
  99.  
  100. local ignite = nil
  101.  
  102. local DFGSlot, HXGSlot, BWCSlot, SheenSlot, TrinitySlot, LichBaneSlot = nil, nil, nil, nil, nil, nil
  103.  
  104. local QREADY, WREADY, EREADY, RREADY, DFGREADY, HXGREADY, BWCREADY, IREADY = false, false, false, false, false, false, false, false
  105.  
  106. local hotkey = string.byte("X")  -- X
  107. local scriptActive = active
  108.  
  109. --[[        Config      ]]                          
  110. flashToggle = "0"
  111. jumpKey = "G"
  112. local HKF = string.byte(flashToggle) --Toggle on/off for includeFlash minus key "0"
  113. local HK = string.byte(jumpKey) --Hold hotkey to flash to location. default at " G " (the key left to number 1)
  114. local flashRange = 420 --Flash range is 400. Real range is larger if you flash inside a wall
  115. local wardRange = 600 --Ward range is 600. I set it smaller so the ward won't pop too far to the other side of the wall, rendering your jump out of reach.
  116. local jumpDelay = 50 -- a slight delay after warding before jumping
  117.  
  118. local includeFlash = true --initial setting when going into a new game
  119.  
  120. --Nothing
  121. local lastJump = 0
  122. local wardTarget
  123. local jumpReady = false
  124.  
  125.    
  126.  
  127. function OnTick()
  128. --WardJump
  129. if jumpReady == true and GetTickCount() - lastJump > jumpDelay then
  130.         jumpNowAlready()
  131.     end
  132.     if wardScriptActive then
  133.    
  134.         local x = mousePos.x
  135.         local z = mousePos.z
  136.         local dx = x - player.x
  137.         local dz = z - player.z
  138.         local rad1 = math.atan2(dz, dx)
  139.        
  140.         --Crap code here needs cleaning up
  141.                 if GetInventorySlotItem(3154) ~= nil then
  142.             wardSlot = GetInventorySlotItem(3154)
  143.  
  144.             if player:CanUseSpell(wardSlot) ~= READY then
  145.                 if GetInventorySlotItem(2049) ~= nil then
  146.                     wardSlot = GetInventorySlotItem(2049)
  147.                     if player:CanUseSpell(wardSlot) ~= READY then
  148.                         if GetInventorySlotItem(2045) ~= nil then
  149.                             wardSlot = GetInventorySlotItem(2045)
  150.                             if player:CanUseSpell(wardSlot) ~= READY then
  151.                                 if GetInventorySlotItem(2044) ~= nil then
  152.                                     wardSlot = GetInventorySlotItem(2044)
  153.                                 elseif GetInventorySlotItem(2043) ~= nil then
  154.                                     wardSlot = GetInventorySlotItem(2043)
  155.                                 else
  156.                                     wardSlot = nil
  157.                                 end
  158.                             end
  159.                         elseif GetInventorySlotItem(2044) ~= nil then
  160.                             wardSlot = GetInventorySlotItem(2044)
  161.                         elseif GetInventorySlotItem(2043) ~= nil then
  162.                             wardSlot = GetInventorySlotItem(2043)
  163.                         else
  164.                             wardSlot = nil
  165.                         end
  166.                     end
  167.                 elseif GetInventorySlotItem(2045) ~= nil then
  168.                     wardSlot = GetInventorySlotItem(2045)
  169.                     if player:CanUseSpell(wardSlot) ~= READY then
  170.                         if GetInventorySlotItem(2044) ~= nil then
  171.                             wardSlot = GetInventorySlotItem(2044)
  172.                         elseif GetInventorySlotItem(2043) ~= nil then
  173.                             wardSlot = GetInventorySlotItem(2043)
  174.                         else
  175.                             wardSlot = nil
  176.                         end
  177.                     end
  178.                 elseif GetInventorySlotItem(2044) ~= nil then
  179.                     wardSlot = GetInventorySlotItem(2044)
  180.                 elseif GetInventorySlotItem(2043) ~= nil then
  181.                     wardSlot = GetInventorySlotItem(2043)
  182.                 else
  183.                     wardSlot = nil
  184.                 end
  185.             end
  186.         elseif GetInventorySlotItem(2049) ~= nil then
  187.             wardSlot = GetInventorySlotItem(2049)
  188.             if player:CanUseSpell(wardSlot) ~= READY then
  189.                 if GetInventorySlotItem(2045) ~= nil then
  190.                     wardSlot = GetInventorySlotItem(2045)
  191.                     if player:CanUseSpell(wardSlot) ~= READY then
  192.                         if GetInventorySlotItem(2044) ~= nil then
  193.                             wardSlot = GetInventorySlotItem(2044)
  194.                         elseif GetInventorySlotItem(2043) ~= nil then
  195.                             wardSlot = GetInventorySlotItem(2043)
  196.                         else
  197.                             wardSlot = nil
  198.                         end
  199.                     end
  200.                 elseif GetInventorySlotItem(2044) ~= nil then
  201.                     wardSlot = GetInventorySlotItem(2044)
  202.                 elseif GetInventorySlotItem(2043) ~= nil then
  203.                     wardSlot = GetInventorySlotItem(2043)
  204.                 else
  205.                     wardSlot = nil
  206.                 end
  207.             end
  208.         elseif GetInventorySlotItem(2045) ~= nil then
  209.             wardSlot = GetInventorySlotItem(2045)
  210.             if player:CanUseSpell(wardSlot) ~= READY then
  211.                 if GetInventorySlotItem(2044) ~= nil then
  212.                     wardSlot = GetInventorySlotItem(2044)
  213.                 elseif GetInventorySlotItem(2043) ~= nil then
  214.                     wardSlot = GetInventorySlotItem(2043)
  215.                 else
  216.                     wardSlot = nil
  217.                 end
  218.             end
  219.         elseif GetInventorySlotItem(2044) ~= nil then
  220.             wardSlot = GetInventorySlotItem(2044)
  221.         elseif GetInventorySlotItem(2043) ~= nil then
  222.             wardSlot = GetInventorySlotItem(2043)
  223.         else
  224.             wardSlot = nil
  225.         end
  226.  
  227.        
  228.         if wardSlot ~= nil and jumpSlot ~= nil then
  229.             --for wards
  230.             local dx1 = flashRange*math.cos(rad1)
  231.             local dz1 = flashRange*math.sin(rad1)
  232.            
  233.             local x1 = x - dx1
  234.             local z1 = z - dz1
  235.             if player:CanUseSpell(jumpSlot) == READY and GetTickCount() - lastJump > 2000 and math.sqrt(dx*dx + dz*dz) < 600 then --Increase this number for smoother flash. (might fail if too large)
  236.                 CastSpell( wardSlot, x, z )
  237.                 jumpReady = true
  238.                 lastJump = GetTickCount()
  239.             else
  240.                 player:MoveTo(x1, z1)
  241.             end
  242.         end
  243.            
  244.        
  245.     end
  246.    
  247.     --endWardJump
  248.  
  249.              
  250.     local qdmg = math.floor((player:GetSpellData(_Q).level-1)*30 + 60 + player.ap * .45)
  251.    
  252.     local wdmg = math.floor((player:GetSpellData(_W).level-1)*35 + 40 + player.ap * .25 + player.addDamage * .6)
  253.  
  254.     local edmg = math.floor((player:GetSpellData(_E).level-1)*25 + 60 + player.ap * .4)
  255.  
  256.    
  257.  
  258. if f then
  259.  
  260.         for k = 1, objManager.maxObjects do
  261.  
  262.             local minionObjectI = objManager:GetObject(k)
  263.  
  264.             if minionObjectI ~= nil and string.find(minionObjectI.name,"Minion_") == 1 and minionObjectI.team ~= player.team and minionObjectI.dead == false then
  265.  
  266.                 if  player:GetDistance(minionObjectI) < qrng and minionObjectI.health <= player:CalcDamage(minionObjectI,qdmg) and myHero:CanUseSpell(_Q) == READY then
  267.  
  268.                 CastSpell(_Q, minionObjectI)
  269.  
  270.                         elseif player:GetDistance(minionObjectI) < wrng and minionObjectI.health <= player:CalcDamage(minionObjectI,wdmg) and myHero:CanUseSpell(_W) == READY and  myHero:CanUseSpell(_Q) == COOLDOWN then 
  271.  
  272.                 CastSpell(_W, minionObjectI)
  273.  
  274.                         elseif player:GetDistance(minionObjectI) < erng and minionObjectI.health <= player:CalcDamage(minionObjectI,edmg) and wille and myHero:CanUseSpell(_E) == READY and myHero:CanUseSpell(_Q) == COOLDOWN and myHero:CanUseSpell(_W) == COOLDOWN then 
  275.  
  276.                 CastSpell(_E, minionObjectI)
  277.  
  278.                         end
  279.  
  280.                     end
  281.  
  282.             end
  283.  
  284. end
  285.  
  286. --PART
  287.  
  288. ts:update()
  289.  
  290.  
  291.  
  292.     DFGSlot, HXGSlot, BWCSlot, SheenSlot, TrinitySlot, LichBaneSlot = GetInventorySlotItem(3128), GetInventorySlotItem(3146), GetInventorySlotItem(3144), GetInventorySlotItem(3057), GetInventorySlotItem(3078), GetInventorySlotItem(3100)
  293.  
  294.     QREADY = (myHero:CanUseSpell(_Q) == READY)
  295.  
  296.     WREADY = (myHero:CanUseSpell(_W) == READY)
  297.  
  298.     EREADY = (myHero:CanUseSpell(_E) == READY)
  299.  
  300.     RREADY = (myHero:CanUseSpell(_R) == READY)
  301.  
  302.     DFGREADY = (DFGSlot ~= nil and myHero:CanUseSpell(DFGSlot) == READY)
  303.  
  304.     HXGREADY = (HXGSlot ~= nil and myHero:CanUseSpell(HXGSlot) == READY)
  305.  
  306.     BWCREADY = (BWCSlot ~= nil and myHero:CanUseSpell(BWCSlot) == READY)
  307.  
  308.     IREADY = (ignite ~= nil and myHero:CanUseSpell(ignite) == READY)
  309.  
  310.     if tick == nil or GetTickCount()-tick >= 100 then
  311.  
  312.         tick = GetTickCount()
  313.  
  314.         KCDmgCalculation()
  315.  
  316.     end
  317.  
  318.     if GetTickCount() > lastulti + 250 and ulti then ulti = false end
  319.  
  320.    
  321.  
  322.     if KCConfig.harass and ts.target ~= nil and not ulti then
  323.  
  324.         if QREADY then CastSpell(_Q, ts.target) end
  325.  
  326.     end
  327.  
  328.     if KCConfig.scriptActive and ts.target ~= nil and not ulti then
  329.  
  330.         if DFGREADY then CastSpell(DFGSlot, ts.target) end
  331.  
  332.         if QREADY then CastSpell(_Q, ts.target) end
  333.  
  334.         if EREADY then CastSpell(_E,ts.target) end
  335.  
  336.         if WREADY and GetDistance(ts.target)<375 and (((GetTickCount()-timeq>650 or GetTickCount()-lastqmark<650) and not QREADY) or not KCConfig.delayw) then CastSpell(_W) end
  337.  
  338.         if HXGREADY then CastSpell(HXGSlot, ts.target) end
  339.  
  340.         if BWCREADY then CastSpell(BWCSlot, ts.target) end
  341.  
  342.         if RREADY and KCConfig.useult and myHero:CanUseSpell(_Q) == COOLDOWN and myHero:CanUseSpell(_W) == COOLDOWN and myHero:CanUseSpell(_E) == COOLDOWN and not DFGREADY and not HXGREADY and not BWCREADY and GetDistance(ts.target)<275 then
  343.  
  344.             timeulti = GetTickCount()
  345.  
  346.             timeulti2 = GetTickCount()
  347.  
  348.             CastSpell(_R)
  349.  
  350.         end
  351.  
  352.     end
  353.  
  354. --PART
  355.  
  356. if scriptActive then
  357. if player:GetSpellData(_E).level > 0 then
  358.             for i=1, heroManager.iCount do
  359.                 target = heroManager:GetHero(i)
  360.         local eDmg = player:CalcMagicDamage(target, 25*(player:GetSpellData(_E).level-1)+60+(.4*player.ap))
  361.         local wDmg = player:CalcMagicDamage(target, 35*(player:GetSpellData(_W).level-1)+40+(.25*player.ap)+(.6*player.addDamage)) --375
  362.         local qDmg = player:CalcMagicDamage(target, 30*(player:GetSpellData(_Q).level-1)+60+(.45*player.ap))
  363.                
  364.                
  365.                 if target ~= nil and target.visible == true and player.team ~= target.team and target.dead == false and player:GetDistance(target) < 650 then
  366.                         if target.health < wDmg + eDmg + qDmg then                             
  367.                             CastSpell(_Q, target)
  368.                                 CastSpell(_E, target)
  369.                                     Sleep(100)
  370.                                         if target ~= nil and target.visible == true and player.team ~= target.team and target.dead == false and player:GetDistance(target) < 375 and target.health < wDmg then
  371.                         if player:CanUseSpell(_W) == READY then
  372.                                 CastSpell(_W, target)
  373.                                 end
  374.                             end
  375.                         end
  376.                     end
  377.                        
  378.                         if target ~= nil and target.visible == true and player.team ~= target.team and target.dead == false and player:GetDistance(target) < 650 then
  379.                         if target.health < wDmg + eDmg then
  380.                             CastSpell(_E, target)
  381.                                 Sleep(100)
  382.                                     if target ~= nil and target.visible == true and player.team ~= target.team and target.dead == false and player:GetDistance(target) < 375 and target.health < wDmg then
  383.                         if player:CanUseSpell(_W) == READY then
  384.                                 CastSpell(_W, target)
  385.                             end
  386.                         end
  387.                     end
  388.                        
  389.                         if target ~= nil and target.visible == true and player.team ~= target.team and target.dead == false and player:GetDistance(target) < 375 then
  390.                         if target.health < qDmg + wDmg then
  391.                             if player:CanUseSpell(_Q) == READY then
  392.                                 if player:CanUseSpell(_W) == READY then
  393.                                     CastSpell(_W, target)
  394.                                         CastSpell(_Q, target)
  395.                                     end
  396.                                 end
  397.                             end
  398.                         end
  399.                     end
  400.                 end
  401.             end
  402.     end
  403.  
  404. end
  405.  
  406. function OnWndMsg(msg, key)
  407. --PART1
  408.     if key == fHk then
  409.  
  410.         if msg == KEY_DOWN then
  411.  
  412.             if f then
  413.  
  414.                 f = false
  415.  
  416.                 PrintChat(">> Auto Farm Disabled")
  417.  
  418.             else
  419.  
  420.                 f = true
  421.  
  422.                 PrintChat(">> Auto Farm Enabled")
  423.  
  424.             end
  425.  
  426.         end
  427.  
  428.     end
  429.     --AutoEQ
  430.         if key == autoEQHk then
  431.  
  432.         if msg == KEY_DOWN then
  433.  
  434.             if autoEQ then
  435.  
  436.                 autoEQ = false
  437.  
  438.                 PrintChat(">> Auto EQ Disabled")
  439.  
  440.             else
  441.  
  442.                 autoEQ = true
  443.  
  444.                 PrintChat(">> Auto EQ Enabled")
  445.  
  446.             end
  447.  
  448.         end
  449.  
  450.     end
  451.  
  452.     if key == willeHk then
  453.  
  454.         if msg == KEY_DOWN then
  455.  
  456.             if wille then
  457.  
  458.                 wille = false
  459.  
  460.                 PrintChat("Shunpo Disabled")
  461.  
  462.             else
  463.  
  464.                 wille = true
  465.  
  466.                 PrintChat("Shunpo Enabled")
  467.  
  468.             end
  469.  
  470.         end
  471.  
  472.     end
  473. --PART2
  474. if key == hotkey then
  475. if msg == KEY_DOWN then
  476. if scriptActive then
  477. scriptActive = false
  478. PrintChat(">>!!!You're on your own now!!!!<<")
  479. else
  480. scriptActive = true
  481. PrintChat(">>!!!You made the right choice!!!<<")
  482. end
  483. end
  484. end
  485. --PART3
  486.  
  487.     if key == ULTK and msg == KEY_DOWN then
  488.  
  489.         timeulti = GetTickCount()
  490.  
  491.         timeulti2 = GetTickCount()
  492.  
  493.     end
  494.  
  495.     SC__OnWndMsg(msg,key)
  496.  
  497. --wardJump
  498.     if key == HK then
  499.         if msg == KEY_DOWN then
  500.             wardScriptActive = true
  501.         else
  502.             wardScriptActive = false
  503.         end
  504.     end
  505.    
  506.    
  507. end
  508.  
  509. function jumpNowAlready()
  510.     if wardScriptActive and jumpReady == true then
  511.         for k = 1, objManager.maxObjects do
  512.         local object = objManager:GetObject(k)
  513.             if object ~= nil and (string.find(object.name, "Ward") ~= nil or string.find(object.name, "Wriggle") ~= nil) and math.sqrt((mousePos.x - object.x)*(mousePos.x - object.x) + (mousePos.z - object.z)*(mousePos.z - object.z)) < 300 then
  514.                 CastSpell( jumpSlot, object)
  515.                 jumpReady = false
  516.             end
  517.         end
  518.     end
  519. end
  520.  
  521. function OnLoad()
  522.  
  523.     KCConfig = scriptConfig("Katarina Combo 2.7", "katarinacombo")
  524.  
  525.     KCConfig:addParam("scriptActive", "Combo", SCRIPT_PARAM_ONKEYDOWN, false, 32)
  526.  
  527.     KCConfig:addParam("harass", "Harass", SCRIPT_PARAM_ONKEYDOWN, false, 84)
  528.  
  529.     KCConfig:addParam("drawcircles", "Draw Circles", SCRIPT_PARAM_ONOFF, true)
  530.  
  531.     KCConfig:addParam("drawtext", "Draw Text", SCRIPT_PARAM_ONOFF, true)
  532.  
  533.     KCConfig:addParam("useult", "Use Ult", SCRIPT_PARAM_ONOFF, true)
  534.  
  535.     KCConfig:addParam("delayw", "Delay W", SCRIPT_PARAM_ONOFF, true)
  536.  
  537.     KCConfig:permaShow("scriptActive")
  538.  
  539.     KCConfig:permaShow("harass")
  540.  
  541.     ts = TargetSelector(TARGET_LOW_HP,range,DAMAGE_MAGIC)
  542.  
  543.     ts.name = "Katarina"
  544.  
  545.     KCConfig:addTS(ts)
  546.  
  547.     if myHero:GetSpellData(SUMMONER_1).name:find("SummonerDot") then ignite = SUMMONER_1
  548.  
  549.     elseif myHero:GetSpellData(SUMMONER_2).name:find("SummonerDot") then ignite = SUMMONER_2 end
  550.  
  551.     for i=1, heroManager.iCount do
  552.  
  553.         waittxt[i] = i*3
  554.  
  555.     end
  556.    
  557.     --wardJump
  558.             flashSlot = nil
  559.  
  560.     -- Champions that can ward jump
  561.     if player.charName == "Katarina" then
  562.         jumpSlot = _E
  563.         jumpRange = 700
  564.     end
  565.  
  566. end
  567.  
  568.  
  569.  
  570. function CheckBuffs()
  571.  
  572.     buffCount = player.buffCount
  573.  
  574.     for i = 1, buffCount, 1 do
  575.  
  576.         local buff = player:getBuff(i)
  577.  
  578.        PrintChat(tostring(buff))
  579.  
  580.        end
  581.  
  582. end
  583.  
  584.  
  585.  
  586.  
  587. function KCDmgCalculation()
  588.  
  589.     local enemy = heroManager:GetHero(calculationenemy)
  590.  
  591.     if ValidTarget(enemy) then
  592.  
  593.         local dfgdamage, hxgdamage, bwcdamage, ignitedamage, Sheendamage, Trinitydamage, LichBanedamage  = 0, 0, 0, 0, 0, 0, 0
  594.  
  595.         local qdamage = getDmg("Q",enemy,myHero)
  596.  
  597.         local qdamage2 = getDmg("Q",enemy,myHero,2)
  598.  
  599.         local wdamage = getDmg("W",enemy,myHero)
  600.  
  601.         local edamage = getDmg("E",enemy,myHero)
  602.  
  603.         local rdamage = getDmg("R",enemy,myHero) --xdagger (champion can be hit by a maximum of 10 daggers (2 sec))
  604.  
  605.         local hitdamage = getDmg("AD",enemy,myHero)
  606.  
  607.         local dfgdamage = (DFGSlot and getDmg("DFG",enemy,myHero) or 0)
  608.  
  609.         local hxgdamage = (HXGSlot and getDmg("HXG",enemy,myHero) or 0)
  610.  
  611.         local bwcdamage = (BWCSlot and getDmg("BWC",enemy,myHero) or 0)
  612.  
  613.         local ignitedamage = (ignite and getDmg("IGNITE",enemy,myHero) or 0)
  614.  
  615.         local Sheendamage = (SheenSlot and hitdamage or 0)
  616.  
  617.         local Trinitydamage = (TrinitySlot and hitdamage*1.5 or 0)
  618.  
  619.         local LichBanedamage = (LichBaneSlot and getDmg("LICHBANE",enemy,myHero) or 0)
  620.  
  621.         local combo1 = hitdamage + qdamage*2 + qdamage2*2 + wdamage*2 + edamage*2 + rdamage*10 + Sheendamage + Trinitydamage + LichBanedamage --0 cd
  622.  
  623.         local combo2 = hitdamage + Sheendamage + Trinitydamage + LichBanedamage
  624.  
  625.         local combo3 = hitdamage + Sheendamage + Trinitydamage + LichBanedamage
  626.  
  627.         local combo4 = 0
  628.  
  629.         if QREADY then
  630.  
  631.             combo2 = combo2 + qdamage*2 + qdamage2*2
  632.  
  633.             combo3 = combo3 + qdamage + qdamage2
  634.  
  635.             combo4 = combo4 + qdamage
  636.  
  637.             if EREADY then
  638.  
  639.                 combo4 = combo4 + qdamage2
  640.  
  641.             end
  642.  
  643.         end
  644.  
  645.         if WREADY then
  646.  
  647.             combo2 = combo2 + wdamage*2
  648.  
  649.             combo3 = combo3 + wdamage
  650.  
  651.             if EREADY then
  652.  
  653.                 combo4 = combo4 + wdamage
  654.  
  655.             end
  656.  
  657.         end
  658.  
  659.         if EREADY then
  660.  
  661.             combo2 = combo2 + edamage*2
  662.  
  663.             combo3 = combo3 + edamage
  664.  
  665.             combo4 = combo4 + edamage
  666.  
  667.         end
  668.  
  669.         if myHero:CanUseSpell(_R) ~= COOLDOWN and not myHero.dead then
  670.  
  671.             combo2 = combo2 + rdamage*10
  672.  
  673.             combo3 = combo3 + rdamage*7
  674.  
  675.             if EREADY then
  676.  
  677.                 combo4 = combo4 + rdamage*3
  678.  
  679.             end
  680.  
  681.         end
  682.  
  683.         if DFGREADY then        
  684.  
  685.             combo1 = combo1 + dfgdamage            
  686.  
  687.             combo2 = combo2 + dfgdamage
  688.  
  689.             combo3 = combo3 + dfgdamage
  690.  
  691.             combo4 = combo4 + dfgdamage
  692.  
  693.         end
  694.  
  695.         if HXGREADY then              
  696.  
  697.             combo1 = combo1 + hxgdamage    
  698.  
  699.             combo2 = combo2 + hxgdamage
  700.  
  701.             combo3 = combo3 + hxgdamage
  702.  
  703.             combo4 = combo4 + hxgdamage
  704.  
  705.         end
  706.  
  707.         if BWCREADY then
  708.  
  709.             combo1 = combo1 + bwcdamage
  710.  
  711.             combo2 = combo2 + bwcdamage
  712.  
  713.             combo3 = combo3 + bwcdamage
  714.  
  715.             combo4 = combo4 + bwcdamage
  716.  
  717.         end
  718.  
  719.         if IREADY then
  720.  
  721.             combo1 = combo1 + ignitedamage
  722.  
  723.             combo2 = combo2 + ignitedamage
  724.  
  725.             combo3 = combo3 + ignitedamage
  726.  
  727.         end
  728.  
  729.         if combo4 >= enemy.health then killable[calculationenemy] = 4
  730.  
  731.         elseif combo3 >= enemy.health then killable[calculationenemy] = 3
  732.  
  733.         elseif combo2 >= enemy.health then killable[calculationenemy] = 2
  734.  
  735.         elseif combo1 >= enemy.health then killable[calculationenemy] = 1
  736.  
  737.         else killable[calculationenemy] = 0 end  
  738.  
  739.     end
  740.  
  741.     if calculationenemy == 1 then calculationenemy = heroManager.iCount
  742.  
  743.     else calculationenemy = calculationenemy-1 end
  744.  
  745. end
  746.  
  747. function OnProcessSpell(unit, spell)
  748.  
  749.     if unit.isMe and spell.name == "KatarinaQ" then timeq = GetTickCount() end
  750.  
  751. end
  752.  
  753.  
  754.  
  755. function OnCreateObj(object)
  756.  
  757. if object.name == "katarina_deathLotus_mis.troy" then ulti = true lastulti = GetTickCount() end
  758.  
  759.     if object.name:find("katarina_daggered") then lastqmark = GetTickCount() end
  760.  
  761. end
  762.  
  763.  
  764.  
  765.  
  766.  
  767. function OnDraw()
  768.  
  769.     if KCConfig.drawcircles and not myHero.dead then
  770.  
  771.         DrawCircle(myHero.x, myHero.y, myHero.z, range, 0x19A712)
  772.  
  773.         if ts.target ~= nil then
  774.  
  775.             for j=0, 10 do
  776.  
  777.                 DrawCircle(ts.target.x, ts.target.y, ts.target.z, 40 + j*1.5, 0x00FF00)
  778.  
  779.             end
  780.  
  781.         end
  782.  
  783.     end
  784.  
  785.     for i=1, heroManager.iCount do
  786.  
  787.         local enemydraw = heroManager:GetHero(i)
  788.  
  789.         if ValidTarget(enemydraw) then
  790.  
  791.             if KCConfig.drawcircles then
  792.  
  793.                 if killable[i] == 1 then
  794.  
  795.                     for j=0, 20 do
  796.  
  797.                         DrawCircle(enemydraw.x, enemydraw.y, enemydraw.z, 80 + j*1.5, 0x0000FF)
  798.  
  799.                     end
  800.  
  801.                 elseif killable[i] == 2 then
  802.  
  803.                     for j=0, 10 do
  804.  
  805.                         DrawCircle(enemydraw.x, enemydraw.y, enemydraw.z, 80 + j*1.5, 0xFF0000)
  806.  
  807.                     end
  808.  
  809.                 elseif killable[i] == 3 then
  810.  
  811.                     for j=0, 10 do
  812.  
  813.                         DrawCircle(enemydraw.x, enemydraw.y, enemydraw.z, 80 + j*1.5, 0xFF0000)
  814.  
  815.                         DrawCircle(enemydraw.x, enemydraw.y, enemydraw.z, 110 + j*1.5, 0xFF0000)
  816.  
  817.                     end
  818.  
  819.                 elseif killable[i] == 4 then
  820.  
  821.                     for j=0, 10 do
  822.  
  823.                         DrawCircle(enemydraw.x, enemydraw.y, enemydraw.z, 80 + j*1.5, 0xFF0000)
  824.  
  825.                         DrawCircle(enemydraw.x, enemydraw.y, enemydraw.z, 110 + j*1.5, 0xFF0000)
  826.  
  827.                         DrawCircle(enemydraw.x, enemydraw.y, enemydraw.z, 140 + j*1.5, 0xFF0000)
  828.  
  829.                     end
  830.  
  831.                 end
  832.  
  833.             end
  834.  
  835.             if KCConfig.drawtext and waittxt[i] == 1 and killable[i] ~= 0 then
  836.  
  837.                 PrintFloatText(enemydraw,0,floattext[killable[i]])
  838.  
  839.             end
  840.  
  841.         end
  842.  
  843.         if waittxt[i] == 1 then waittxt[i] = 30
  844.  
  845.         else waittxt[i] = waittxt[i]-1 end
  846.  
  847.     end
  848.  
  849.     SC__OnDraw()
  850.  
  851. end
  852.  
  853.  
  854.  
  855.  
  856.  
  857. function OnSendChat(msg)
  858.  
  859.     TargetSelector__OnSendChat(msg)
  860.  
  861.     ts:OnSendChat(msg, "pri")
  862.  
  863. end
  864.  
  865.  
  866.  
  867.  
  868.  
  869. PrintChat(">> Katarina Loaded! [Kevinkev] ")
  870.  
  871.  
  872. function Sleep(ms)  -- milliseconds
  873.         local t = GetTickCount()
  874.   if GetTickCount() - t <= ms then
  875.         end
  876. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement