Creep spawn on RPG

Ghan

Administrator - Servers are fun
Staff member
Reaction score
889
Code:
Unit - Create 1 Footman for Player 1 (Red) at (Center of <Region> <gen>) facing Default building facing degrees
 

Ghan

Administrator - Servers are fun
Staff member
Reaction score
889
> like evry 1min the creeps will return..

What do you mean? Do you want to create a unit every minute?
 

Slapshot136

Divide et impera
Reaction score
471
2 ways the ez way and the hard way

event - a unit dies
conditions - owner of (triggering unit) is equal to (player 12? neutral hostile?)
actions -
wait X seconds
create 1 (unit type of triggering unit) at (position of triggering unit) for (owner of triggering unit)

or the hard way, where u need 2 triggers but they wont shift

event - map init.
conditions - none
actions -
set (temp_group) = all units on playable map area matching (owner of matching unit is equal to (player)) is true
game - display (number of units in temp_group) to all players
for each intiger A from 1 to (number of units in temp_group) do actions*
*set (unit) (intiger A) = random unit from (temp_group)
*remove (unit) (intiger A) from (temp_group)
*set (temp_pos) (intiger A) = (position of unit (intiger A))

event - a unit dies
conditions - none
actions -
for each intiger from 1 to (number of units on map)
if (triggering unit) is equal to (unit) (intiger A) then do actions*
*wait X seconds
*create 1 (unit) (intiger A) at (temp_pos) (intiger A)
else do nothing
 

Ghan

Administrator - Servers are fun
Staff member
Reaction score
889
> bit isent there a way to make it easy?

I don't know. Because I don't know what you are trying to do. Explain more clearly, please. :D
 

Slapshot136

Divide et impera
Reaction score
471
event - a unit dies
conditions - owner of (triggering unit) is equal to (player 12? neutral hostile?)
actions -
wait X seconds
create 1 (unit type of triggering unit) at (position of triggering unit) for (owner of triggering unit)

that is the easy way
 

Mapster

New Member
Reaction score
4
event - a unit dies
conditions - owner of (triggering unit) is equal to (player 12? neutral hostile?)
actions -
wait X seconds
create 1 (unit type of triggering unit) at (position of triggering unit) for (owner of triggering unit)

I was told that that trigger can leak?
 

Tinki3

Special Member
Reaction score
418
>I was told that that trigger can leak?

Indeed.
It leaks a location, (position of triggering unit).

We use a point variable to store the data into it, so we can then
easily remove it after use:
Code:
Actions 
    Wait 5.00 seconds
    Set Temp_Point = Position of (Triggering unit)
    Unit - Create 1 (Unit type of (Triggering unit)) at Temp_Point for (owner of (Triggering unit))
    Custom script:    call RemoveLocation(udg_Temp_Point)
We use the custom script action "call RemoveLocation" to remove the stored data.
 

Mapster

New Member
Reaction score
4
What about

event - a unit owned by Hostile dies
conditions -
actions -
wait X seconds
create 1 (unit type of triggering unit) at (random point in (RegionVariable(Random number between 1 and 3))) for (owner of triggering unit)

Would that leak though?
 

Slapshot136

Divide et impera
Reaction score
471
event - a unit owned by Hostile dies
conditions -
actions -
wait X seconds
Set temp_pnt = (random point in (RegionVariable(Random number between 1 and 3)))
create 1 (unit type of triggering unit) at (temp_pnt) for (owner of triggering unit)
Custom script: call RemoveLocation(udg_temp_pnt

now it dosent leak
 
A

AK-47Pirates

Guest
This is Tinki3's creep revival system. Leak free too!

Needed variables:

Integer Variable
Point variable, with array value of 1

Code:
Creep Revival System Initialization
    Events
        Map initialization
    Conditions
    Actions
        Unit Group - Pick every unit in (Units in (Playable map area) owned by Neutral Hostile) and do (Actions)
            Loop - Actions
                Set Integer = (Integer + 1)
                Unit - Set the custom value of (Picked unit) to Integer
                Custom script:   set udg_Creep_X[udg_Integer] = GetUnitX(GetEnumUnit())
                Custom script:   set udg_Creep_Y[udg_Integer] = GetUnitY(GetEnumUnit())


And you'll need this too:

Code:
Reving Creeps 1 By 1
    Events
        Unit - A unit Dies
    Conditions
        ((Owner of (Triggering unit)) Equal to Neutral Hostile) and (((Triggering unit) is Summoned) Not equal to True)
    Actions
        Wait 60.00 game-time seconds
        Set Temp_Point[1] = (Center of (Entire map))
        Set Temp_Point[2] = (Temp_Point[1] offset by (Creep_X[(Custom value of (Triggering unit))], Creep_Y[(Custom value of (Triggering unit))]))
        Unit - Create 1 (Unit-type of (Triggering unit)) for (Owner of (Triggering unit)) at Temp_Point[2] facing (Random angle) degrees
        Unit - Set the custom value of (Last created unit) to (Custom value of (Triggering unit))
        For each (Integer A) from 1 to 2, do (Custom script:   call RemoveLocation(udg_Temp_Point[GetForLoopIndexA()]))

This will revive the creeps 1 minute after they are killed, at the original point where they were placed.
It does take a lot of time to put this all in, but very reliable, and doesn't leak, so it works great even with lots of players killing hundreds of creeps. :cool:

Tinki3 spent a lot of time with me on this bad boy.
 

Slapshot136

Divide et impera
Reaction score
471
Code:
event - map init. 
conditions - none
actions -
 set (temp_group) = all units on playable map area matching (owner of matching unit is equal to (player)) is true
[COLOR="Red"]game - display (number of units in temp_group) to all players[/COLOR]
for each intiger A from 1 to (number of units in temp_group) do actions*
*set (unit) (intiger A) = random unit from (temp_group)
*remove (unit) (intiger A) from (temp_group)
*set (temp_pos) (intiger A) = (position of unit (intiger A))

Code:
event - a unit dies
conditions - none
actions - 
for each intiger from 1 to ([COLOR="Red"]number of units on map[/COLOR])
if (triggering unit) is equal to (unit) (intiger A) then do actions*
*wait X seconds
*create 1 (unit) (intiger A) at (temp_pos) (intiger A)
else do nothing[/QUOTE]
Custom script: call RemoveLocation(udg_temp_pnt)

that will also work, now leak free
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top