Advertisement
mwow

minionArray

Nov 13th, 2012
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.96 KB | None | 0 0
  1. --[[
  2.     Library: minionArray v0.2
  3.     Author: SurfaceS
  4.  
  5.     required libs :         map, GetDistance2D
  6.     required sprites :      -
  7.     exposed variables :     minionArray, player, LIB_PATH
  8.    
  9.     USAGE :
  10.     Load the libray from your script
  11.     Add minionArray.OnLoad() to your script/library OnLoad() function
  12.     Add minionArray.OnCreateObj() to your script/library OnCreateObj() function
  13.     Add minionArray.OnDeleteObj() to your script/library OnDeleteObj() function
  14.    
  15.     v0.1        initial release
  16.     v0.2        BoL Studio Version
  17. ]]
  18.  
  19. require "common"
  20. require "map"
  21.  
  22. minionArray = { team_ally ="##", team_ennemy ="##" }
  23.  
  24. function minionArray.OnLoad()
  25.     map.OnLoad()
  26.     minionArray.jungleCreeps = {}
  27.     minionArray.ennemyMinion = {}
  28.     minionArray.allyMinion = {}
  29.     if map.index ~= 4 then
  30.         minionArray.team_ally = "Minion_T"..player.team
  31.         minionArray.team_ennemy = "Minion_T"..(player.team == TEAM_BLUE and TEAM_RED or TEAM_BLUE)
  32.     else
  33.         minionArray.team_ally = (player.team == TEAM_BLUE and "Blue" or "Red")
  34.         minionArray.team_ennemy = (player.team == TEAM_BLUE and "Red" or "Blue")
  35.     end
  36.     for i = 1, objManager.maxObjects do
  37.         local object = objManager:getObject(i)
  38.         minionArray.OnCreateObj(object)
  39.     end
  40. end
  41.  
  42. function minionArray.OnCreateObj(object)
  43.     if object ~= nil and object.type == "obj_AI_Minion" and not object.dead then
  44.         if minionArray.allyMinion[object.name] ~= nil or minionArray.ennemyMinion[object.name] ~= nil or minionArray.allyMinion[object.name] ~= nil then return end
  45.         if string.find(object.name,minionArray.team_ally) then minionArray.allyMinion[object.name] = object
  46.         elseif string.find(object.name,minionArray.team_ennemy) then
  47.             minionArray.ennemyMinion[object.name] = object
  48.         else minionArray.jungleCreeps[object.name] = object
  49.         end
  50.     end
  51. end
  52.  
  53. function minionArray.OnDeleteObj(object)
  54.     if object ~= nil and object.type == "obj_AI_Minion" and object.name ~= nil then
  55.         if minionArray.jungleCreeps[object.name] ~= nil then minionArray.jungleCreeps[object.name] = nil
  56.         elseif minionArray.ennemyMinion[object.name] ~= nil then minionArray.ennemyMinion[object.name] = nil
  57.         elseif minionArray.allyMinion[object.name] ~= nil then minionArray.allyMinion[object.name] = nil
  58.         end
  59.     end
  60. end
  61.  
  62. function minionArray.objectInRange(objectTable, fromPos, range)
  63.     local objectRanged = {}
  64.     for name,objectTableObject in pairs(minionArray[objectTable]) do
  65.         if objectTableObject ~= nil and objectTableObject.dead == false and objectTableObject.visible and GetDistance2D(fromPos,objectTableObject) <= range then
  66.             table.insert(objectRanged, objectTableObject)
  67.         end
  68.     end
  69.     return #objectRanged, objectRanged
  70. end
  71.  
  72. function minionArray.jungleCreepsInRange(fromPos, range)
  73.     return minionArray.objectInRange("jungleCreeps", fromPos, range)
  74. end
  75.  
  76. function minionArray.ennemyMinionInRange(fromPos, range)
  77.     return minionArray.objectInRange("ennemyMinion", fromPos, range)
  78. end
  79.  
  80. function minionArray.allyMinionInRange(fromPos, range)
  81.     return minionArray.objectInRange("allyMinion", fromPos, range)
  82. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement