Hello there everyone!
I'm having problems with my TD map for WC3, so if anyone is willing to help please let me know either by PM or by responding to this thread.
Edit:
My TD consists of 5 lanes. Center, upper left and right, lower left and right. Spawn regions are marked with an X.
Image linked below:
For spawning and ordering creeps to move, I'm using the following triggers:
But the problem is, when the wave spawns, creeps stop at a location(marked with a red cross) and refuse to move. I figured the problem is caused by the other pathing triggers. However, when I disable the other patihng triggers, another problem appears; the creeps just start patroling between two regions (marked A and B).
Changing guard return distance under Gameplay constants didn't work.
I'm having problems with my TD map for WC3, so if anyone is willing to help please let me know either by PM or by responding to this thread.
Edit:
My TD consists of 5 lanes. Center, upper left and right, lower left and right. Spawn regions are marked with an X.
Image linked below:
For spawning and ordering creeps to move, I'm using the following triggers:
Region initialization
Events
Map initialization
Conditions
Actions
-------- Regions --------
-------- Center --------
Set regionArrayCE[0] = Center start <gen>
Set regionArrayCE[1] = Center 2 <gen>
Set regionArrayCE[2] = Center 3 <gen>
Set regionArrayCE[3] = Center end <gen>
-------- Upper left --------
Set regionArrayUL[0] = Upper left start <gen>
Set regionArrayUL[1] = Upper left 2 <gen>
Set regionArrayUL[2] = Upper left 3 <gen>
Set regionArrayUL[3] = Upper left 4 <gen>
Set regionArrayUL[4] = Upper left 5 <gen>
Set regionArrayUL[5] = Center 2 <gen>
Set regionArrayUL[6] = Center 3 <gen>
Set regionArrayUL[7] = Center end <gen>
-------- Upper right --------
Set regionArrayUR[0] = Upper right start <gen>
Set regionArrayUR[1] = Upper right 2 <gen>
Set regionArrayUR[2] = Upper right 3 <gen>
Set regionArrayUR[3] = Upper right 4 <gen>
Set regionArrayUR[4] = Upper right 5 <gen>
Set regionArrayUR[5] = Center 2 <gen>
Set regionArrayUR[6] = Center 3 <gen>
Set regionArrayUR[7] = Center end <gen>
-------- Lower left --------
Set regionArrayLL[0] = Lower left start <gen>
Set regionArrayLL[1] = Lower left 2 <gen>
Set regionArrayLL[2] = Lower left 3 <gen>
Set regionArrayLL[3] = Center 3 <gen>
Set regionArrayLL[4] = Center end <gen>
-------- Lower right --------
Set regionArrayLR[0] = Lower right start <gen>
Set regionArrayLR[1] = Lower right 2 <gen>
Set regionArrayLR[2] = Lower right 3 <gen>
Set regionArrayLR[3] = Center 3 <gen>
Set regionArrayLR[4] = Center end <gen>
-------- Spawn regions --------
Set regionArraySpawn[1] = Center start <gen>
Set regionArraySpawn[2] = Upper left start <gen>
Set regionArraySpawn[3] = Upper right start <gen>
Set regionArraySpawn[4] = Lower left start <gen>
Set regionArraySpawn[5] = Lower right start <gen>
Events
Map initialization
Conditions
Actions
-------- Regions --------
-------- Center --------
Set regionArrayCE[0] = Center start <gen>
Set regionArrayCE[1] = Center 2 <gen>
Set regionArrayCE[2] = Center 3 <gen>
Set regionArrayCE[3] = Center end <gen>
-------- Upper left --------
Set regionArrayUL[0] = Upper left start <gen>
Set regionArrayUL[1] = Upper left 2 <gen>
Set regionArrayUL[2] = Upper left 3 <gen>
Set regionArrayUL[3] = Upper left 4 <gen>
Set regionArrayUL[4] = Upper left 5 <gen>
Set regionArrayUL[5] = Center 2 <gen>
Set regionArrayUL[6] = Center 3 <gen>
Set regionArrayUL[7] = Center end <gen>
-------- Upper right --------
Set regionArrayUR[0] = Upper right start <gen>
Set regionArrayUR[1] = Upper right 2 <gen>
Set regionArrayUR[2] = Upper right 3 <gen>
Set regionArrayUR[3] = Upper right 4 <gen>
Set regionArrayUR[4] = Upper right 5 <gen>
Set regionArrayUR[5] = Center 2 <gen>
Set regionArrayUR[6] = Center 3 <gen>
Set regionArrayUR[7] = Center end <gen>
-------- Lower left --------
Set regionArrayLL[0] = Lower left start <gen>
Set regionArrayLL[1] = Lower left 2 <gen>
Set regionArrayLL[2] = Lower left 3 <gen>
Set regionArrayLL[3] = Center 3 <gen>
Set regionArrayLL[4] = Center end <gen>
-------- Lower right --------
Set regionArrayLR[0] = Lower right start <gen>
Set regionArrayLR[1] = Lower right 2 <gen>
Set regionArrayLR[2] = Lower right 3 <gen>
Set regionArrayLR[3] = Center 3 <gen>
Set regionArrayLR[4] = Center end <gen>
-------- Spawn regions --------
Set regionArraySpawn[1] = Center start <gen>
Set regionArraySpawn[2] = Upper left start <gen>
Set regionArraySpawn[3] = Upper right start <gen>
Set regionArraySpawn[4] = Lower left start <gen>
Set regionArraySpawn[5] = Lower right start <gen>
Spawn creeps
Events
Time - creepTimer expires
Conditions
Actions
-------- Destroy timer window --------
Countdown Timer - Destroy creepTimerWindow
For each (Integer A) from 1 to creepSpawnCount[levelCount], do (Actions)
Loop - Actions
-------- Time between each spawn --------
Wait 1.25 seconds
Player Group - Pick every player in inGamePlayers and do (Actions)
Loop - Actions
Set tmpPoint = (Center of regionArraySpawn[(Player number of (Picked player))])
Unit - Create 1 creepArray[levelCount] for hostileCreeps at tmpPoint facing 0.00 degrees
-------- Leak removal --------
Custom script: call RemoveLocation (udg_tmpPoint)
Events
Time - creepTimer expires
Conditions
Actions
-------- Destroy timer window --------
Countdown Timer - Destroy creepTimerWindow
For each (Integer A) from 1 to creepSpawnCount[levelCount], do (Actions)
Loop - Actions
-------- Time between each spawn --------
Wait 1.25 seconds
Player Group - Pick every player in inGamePlayers and do (Actions)
Loop - Actions
Set tmpPoint = (Center of regionArraySpawn[(Player number of (Picked player))])
Unit - Create 1 creepArray[levelCount] for hostileCreeps at tmpPoint facing 0.00 degrees
-------- Leak removal --------
Custom script: call RemoveLocation (udg_tmpPoint)
Spawn creeps
Region center
Events
Unit - A unit enters Center start <gen>
Unit - A unit enters Center 2 <gen>
Unit - A unit enters Center 3 <gen>
Unit - A unit enters Center end <gen>
Conditions
(Owner of (Triggering unit)) Equal to hostileCreeps
Actions
Unit - Set the custom value of (Triggering unit) to ((Custom value of (Triggering unit)) + 1)
Set tmpPoint = (Center of regionArrayCE[(Custom value of (Triggering unit))])
Unit - Order (Triggering unit) to Move To tmpPoint
-------- Leak removal --------
Custom script: call RemoveLocation( udg_tmpPoint )
Region center
Events
Unit - A unit enters Center start <gen>
Unit - A unit enters Center 2 <gen>
Unit - A unit enters Center 3 <gen>
Unit - A unit enters Center end <gen>
Conditions
(Owner of (Triggering unit)) Equal to hostileCreeps
Actions
Unit - Set the custom value of (Triggering unit) to ((Custom value of (Triggering unit)) + 1)
Set tmpPoint = (Center of regionArrayCE[(Custom value of (Triggering unit))])
Unit - Order (Triggering unit) to Move To tmpPoint
-------- Leak removal --------
Custom script: call RemoveLocation( udg_tmpPoint )
But the problem is, when the wave spawns, creeps stop at a location(marked with a red cross) and refuse to move. I figured the problem is caused by the other pathing triggers. However, when I disable the other patihng triggers, another problem appears; the creeps just start patroling between two regions (marked A and B).
Changing guard return distance under Gameplay constants didn't work.