A Creep Spawning System

Glorn2

Slap n' Tickle
Reaction score
4
I know everyone has their own creep spawning system, but I havent found many like the one I use in custom hero arena. It is pretty simple and easy to make, so I figured I would throw it out there for anyone to use.

I am not on my home computer, so cannot simply copy/paste the trigger, which would make this much easier, so i will try to explain it. I dont know the names of all the events and actions, so hopefully someone who knows what to click can clear this up for you.

Periodic event, Every X seconds.... (i use 10 seconds, you could use 1 minute if you want)

pick every unit in playable map equal to "is a hero" and "is controlled by a user"
Set *variable, interger I think* to 0
set *variable, interger I think* to current value +(level of picked unit) (divided by) (number of picked units)

Alright, this is my best effort at remembering a trigger I've stared at for years... I'm sure I'm leaving something out... But what that does, is set your variable to be the average hero level.

Now for the creep spawning, it is simple.

Every (however often you want to spawn a creep) seconds

Create 1 level (*interger stated above*) random-creep type unit for neutral hostile at (wherever your creep spawn is)

questions? comments? anyone think it is lame? Biggest problem is that you gotta make a lotttt of creeps to keep the spawns interesting. Custom Hero Arena has about 700 creeps. Though a variety isnt required, it is always nice to have it.
 

Tyrulan

Ultra Cool Member
Reaction score
37
The problem with this is that if you kill a unit and the periodic timer goes off right after you kill it, it is respawned again. That is why peopel set custom values for each unit so they all get their own respawn time.
 

Glorn2

Slap n' Tickle
Reaction score
4
uhh, this is for a hero arena type system. In all the hero arenas ive played, there is generally an area where every X seconds, another creep spawns in that area.

HOWEVER, the theme of this isnt where your creeps spawn. What is unique about the system, and the basis of me posting it; is the way the creeps level. A lot of people use a timer... After 5 minutes, add a level to all creeps, or whatever. This doesnt take into account players who level exceptionally fast or slow.
 

Dameon

"All the power in the world resides in the eyes"
Reaction score
127
I think we have at least 2 other average hero level creep spawning systems on this forum already, I have made a few my self for other people who needed them. But the system is a good system, you might want to think about making a demo map with it and posting it in the systems section.
 

Glorn2

Slap n' Tickle
Reaction score
4
Trigger:
  • Gotest
    • Events
      • Time - Every 10.00 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in (Units in (Playable map area) matching (((Owner of (Picked unit)) controller) Equal to User)) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) is A Hero) Equal to True
            • Then - Actions
              • Set O11069[(Player number of (Owner of (Picked unit)))] = (Picked unit)
            • Else - Actions


Alright, this is what gives me the heroes levels. Every 10 seconds, it rechecks the levels. Then with THIS trigger, I set the average hero level.

Trigger:
  • fixoddlevels
    • Events
      • Unit - A unit enters Temp Start <gen>
      • Unit - A unit enters Temp Start 2 <gen>
    • Conditions
      • And - All (Conditions) are true
        • Conditions
          • ((Triggering unit) is A Hero) Equal to True
    • Actions
      • Set gotest = 0
      • Set index = 0
      • For each (Integer A) from 1 to 12, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (O11069[(Integer A)] is A Hero) Equal to True
            • Then - Actions
              • Set gotest = (gotest + (Hero level of O11069[(Integer A)]))
              • Set index = (index + 1)
            • Else - Actions
      • Set gotest = (gotest / index)


And finally, my creep spawning system. This is much more customizable to your own needs, and as stated above, where I spawn my creeps isnt as important as the above.

Trigger:
  • Normal Spawn
    • Events
      • Time - Every 21.00 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of units in (Units in Spawn Bottom Left 1 Area <gen> owned by Neutral Hostile)) Less than 5
        • Then - Actions
          • Unit - Create 1 (Random level gotest creep unit-type) for Neutral Hostile at (Random point in Spawn Bottom Left 1 <gen>) facing Default building facing degrees
        • Else - Actions


And that is how I spawn my creeps. I use 2 areas, a smaller one, that is where the creeps spawn, and a larger one; to ensure if someone is pulling creeps from their spawn area, more creeps will not continue to spawn past a set number.
For the if/then's I just make 1 for every spawn location.

hmmm, I kind of explained this right... I'm sure there are problems with it, but for custom hero arena, it has worked for years.
 

Dameon

"All the power in the world resides in the eyes"
Reaction score
127
You can join those first 2 triggers into 1.

Trigger:
  • Average Level
    • Events
      • Unit - A unit Gains a level
    • Conditions
    • Actions
      • Set Level = 0
      • Set HN = 0
      • Set Temp_UG = (Units in (Playable map area) matching ((((Matching unit) is A Hero) Equal to True) and (((Owner of (Matching unit)) controller) Equal to User)))
      • Unit Group - Pick every unit in Temp_UG and do (Actions)
        • Loop - Actions
          • Set Level = (Level + (Hero level of (Picked unit)))
          • Set HN = (HN + 1)
      • Set Level = (Level / HN)
      • Custom script: call DestroyGroup (udg_Temp_UG)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top