Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[Auto RavenousHydra/Tiamat v1.0 by ArthasDK (with help of minionArray from Sida's Auto Carry)]]
- local enemyMinions=0 --range =400
- local enemyChampCount=0
- local minChamps = 1
- local minCreeps = 4
- -- #################################### Minion Array ###################################
- minionArray = { team_ally ="##", team_ennemy ="##" }
- function minionArray.OnLoad()
- map = GetMap()
- minionArray.jungleCreeps = {}
- minionArray.ennemyMinion = {}
- minionArray.allyMinion = {}
- for i = 1, objManager.maxObjects do
- local object = objManager:getObject(i)
- minionArray.OnCreateObj(object)
- end
- if map.index ~= 4 then
- minionArray.team_ally = "Minion_T"..player.team
- minionArray.team_ennemy = "Minion_T"..(player.team == TEAM_BLUE and TEAM_RED or TEAM_BLUE)
- else
- minionArray.team_ally = (player.team == TEAM_BLUE and "Blue" or "Red")
- minionArray.team_ennemy = (player.team == TEAM_BLUE and "Red" or "Blue")
- end
- end
- function minionArray.OnCreateObj(object)
- if object ~= nil and object.type == "obj_AI_Minion" and not object.dead then
- if minionArray.allyMinion[object.name] ~= nil or minionArray.ennemyMinion[object.name] ~= nil or minionArray.allyMinion[object.name] ~= nil then return end
- if string.find(object.name,minionArray.team_ally) then minionArray.allyMinion[object.name] = object
- elseif string.find(object.name,minionArray.team_ennemy) then minionArray.ennemyMinion[object.name] = object
- else minionArray.jungleCreeps[object.name] = object
- end
- end
- end
- function minionArray.OnDeleteObj(object)
- if object ~= nil and object.type == "obj_AI_Minion" and object.name ~= nil then
- if minionArray.jungleCreeps[object.name] ~= nil then minionArray.jungleCreeps[object.name] = nil
- elseif minionArray.ennemyMinion[object.name] ~= nil then minionArray.ennemyMinion[object.name] = nil
- elseif minionArray.allyMinion[object.name] ~= nil then minionArray.allyMinion[object.name] = nil
- end
- end
- end
- function minionArray.objectInRange(objectTable, fromPos, range)
- local objectRanged = {}
- for name,objectTableObject in pairs(minionArray[objectTable]) do
- if objectTableObject ~= nil and objectTableObject.dead == false and objectTableObject.visible and GetDistance2D(fromPos,objectTableObject) <= range then
- table.insert(objectRanged, objectTableObject)
- end
- end
- return #objectRanged, objectRanged
- end
- function minionArray.jungleCreepsInRange(fromPos, range)
- return minionArray.objectInRange("jungleCreeps", fromPos, range)
- end
- function minionArray.ennemyMinionInRange(fromPos, range)
- return minionArray.objectInRange("ennemyMinion", fromPos, range)
- end
- function minionArray.allyMinionInRange(fromPos, range)
- return minionArray.objectInRange("allyMinion", fromPos, range)
- end
- -- #################################### Minion Array ends here ###################################
- function OnCreateObj(obj)
- if myHero.dead then return end
- minionArray.OnCreateObj(obj)
- end
- function OnDeleteObj(obj)
- minionArray.OnDeleteObj(obj)
- end
- function GetEnemyChampsCount(range)
- local count=0
- for i=1, heroManager.iCount do
- local target = heroManager:GetHero(i)
- if target ~= nil and target.dead == false and target.team ~= player.team and target.visible == true and player:GetDistance(target) < range then--385 then
- count=count+1
- end
- end
- return count
- end
- function OnTick()
- if myHero.dead then return end
- enemyMinions = minionArray.ennemyMinionInRange(myHero, 400)
- enemyChampCount = GetEnemyChampsCount(400)
- TiamatSlot = GetInventorySlotItem(3077)
- RavenousHydraSlot = GetInventorySlotItem(3074)
- if TiamatSlot then
- if enemyChampCount >= minChamps then
- if myHero:CanUseSpell(TiamatSlot) == READY then
- CastSpell(TiamatSlot)
- end
- end
- if enemyMinions>=minCreeps then
- if myHero:CanUseSpell(TiamatSlot) == READY then
- CastSpell(TiamatSlot)
- end
- end
- end
- if RavenousHydraSlot then
- if enemyChampCount >= minChamps then
- if myHero:CanUseSpell(RavenousHydraSlot) == READY then
- CastSpell(RavenousHydraSlot)
- end
- end
- if enemyMinions>=minCreeps then
- if myHero:CanUseSpell(RavenousHydraSlot) == READY then
- CastSpell(RavenousHydraSlot)
- end
- end
- end
- end
- function OnLoad()
- minionArray.OnLoad()
- PrintChat("AutoTiamat/Revenous Hydra by ArthasDK (help Sida, Anonymous) Loaded!")
- PrintChat("Current Minimum Champs/Minions need for AutoCast ["..tostring(minChamps).."/"..tostring(minCreeps).."] to change this type .m# (minions 1-10) or .c# (champs 1-5)")
- end
- function OnSendChat(text)
- if string.find(text,".m") then
- BlockChat()
- for i=1,10,1 do
- local str=".m"..tostring(i)
- if text == str then
- minCreeps=i
- PrintChat("Minimum Number of Creeps Present for Ravenous Hydra/Tiamat :"..tostring(minCreeps))
- end
- end
- end
- if string.find(text,".c") then
- BlockChat()
- for i=1,5,1 do
- local str=".c"..tostring(i)
- if text == str then
- minChamps=i
- PrintChat("Minimum Number of Champs Present for Ravenous Hydra/Tiamat :"..tostring(minChamps))
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement