Trigger Help: Anti-Block in a TD

Pyropenguins

New Member
Reaction score
4
I was wondering if anyone knows the trigger that makes mazing contest td unblockable. I know i probably need point variables and/or region varibles but i have yet to have a successfull trigger :banghead:. I was hoping that some better triggerer could help me out with this matter.

Any help would be greatly appreciated. :thup:
 

asipo

New Member
Reaction score
15
Most of the TD i saw is the monster it self will attack nearby building is their pathing is block.

How to make the monster attacking when path is block even the unit order is "move"?
well i dont know, but i heard its automatically will happen cos its being set in wc3 itself
 

LurkerAspect

Now officially a Super Lurker
Reaction score
118
If a creep gets blocked in a TD match, and cannot go anywhere else, it's move order is forgotten, then it goes savage on anything nearby :p

To stop that, give your creeps a really high attack, so they own towers in one hit, and then trigger it so that as soon as they kill a tower, they resume moving.

There's no way to stop a player blocking off the creep's path, besides common sense, in this context.
 

Faust

You can change this now in User CP.
Reaction score
123
If a creep gets blocked in a TD match, and cannot go anywhere else, it's move order is forgotten, then it goes savage on anything nearby :p

To stop that, give your creeps a really high attack, so they own towers in one hit, and then trigger it so that as soon as they kill a tower, they resume moving.

There's no way to stop a player blocking off the creep's path, besides common sense, in this context.

That is wrong. You probably didn't play mazing contest. OP should have explained it more...

Everyone has the same small area. Start and end point. Game places some towers for you, and you can build more.
The wonder is, if you build a blocking tower, it disappears instantly, and you get a warning message.
You can't build when creep is spawned, there is only one.
 

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
Use attack-move order to move the creeps. They will destroy the tower when they don't have any way to go to destination.(Add attack option to creeps)
 

Simbob

New Member
Reaction score
0
Actually i think they'd kill everything until they get to their destination.
 

Faust

You can change this now in User CP.
Reaction score
123
That is right. kingking just said something fucking retarded.
 

Romek

Super Moderator
Reaction score
963
It's probably possible by checking if any line of towers connect from one end of the field to the other.

Get all towers adjacent to the tower that was built. If there are towers next to those ones, repeat the process. Use this to get a 'group' of towers that don't have gaps inbetween them, hence make a wall.
If two towers in this wall are at different edges of the field, it means there's a block; so destroy the built tower.

Code:
X = Tower
| = Wall
Red = Tower by wall
Blue = Adjacent Tower[s] to new tower
Green = Towers adjacent to blue and other green towers
 ___ ___
|       |
|       |
|___ ___|

 ___ ___
|       |
|  X    |
|__  ___|

 ___ ___
|       |
| [COLOR="Blue"]X[/COLOR]X    |
|__  ___|

 ___ ___
|       |
| [COLOR="blue"]X[/COLOR][COLOR="SeaGreen"]X[/COLOR]    |
|[COLOR="Red"]X[/COLOR]_  ___|

 ___ ___
|       |
| XX X  |
|[COLOR="red"]X[/COLOR]_  ___|
 ___ ___
|       |
| XX X[COLOR="Blue"]X[/COLOR] |
|[COLOR="red"]X[/COLOR]_  ___|

 ___ ___
|       |
| [COLOR="SeaGreen"]X[/COLOR][COLOR="blue"]X[/COLOR]X[COLOR="blue"]X[/COLOR][COLOR="SeaGreen"]X[/COLOR] |
|[COLOR="red"]X[/COLOR]_  ___|

 ___ ___
|      [COLOR="red"]X[/COLOR]|
| [COLOR="blue"]X[/COLOR][COLOR="SeaGreen"]XXX[/COLOR][COLOR="Blue"]X[/COLOR] |
|[COLOR="red"]X[/COLOR]_  ___|

Two Reds = Block



The 'sides' will need to be all walls on either side of the start/exit. Including the horizontal ones.
Code:
Blue = One Side
Green = Other Side
 [COLOR="Blue"]___[/COLOR] [COLOR="SeaGreen"]___[/COLOR]
[COLOR="blue"]|[/COLOR]       [COLOR="SeaGreen"]|[/COLOR]
[COLOR="blue"]|[/COLOR]       [COLOR="SeaGreen"]|[/COLOR]
[COLOR="blue"]|___[/COLOR] [COLOR="SeaGreen"]___|[/COLOR]
If within a 'wall' or 'group' of adjacent towers, (at least) one of them touches a blue side and (at least) one of them touches a green side, it's a block.
 

Faust

You can change this now in User CP.
Reaction score
123
That makes a lot of sense! But how would you repeat this so many and just enough time and return the result?
 

Rainther

I guess I should write something of value here...
Reaction score
61
Maybe you could make a movement system that starts at the top of the map and they move to possible spaces. Spaces that aint have anything built, unbuildable terrain or spaces which have already been searched or currently are. Eventually they would reach the bottom and if they can't, there's a blockade somewhere. This could be ran with and event when a tower is being built.

I guess a "square" is 32x32 right? So the system should check if based on that.
 

Romek

Super Moderator
Reaction score
963
> But how would you repeat this so many and just enough time and return the result?
Repeat the 'adjacent towers check' until there are no more towers nearby.
It's all instant, so time isn't a problem.
 

Pyropenguins

New Member
Reaction score
4
It's probably possible by checking if any line of towers connect from one end of the field to the other.

Get all towers adjacent to the tower that was built. If there are towers next to those ones, repeat the process. Use this to get a 'group' of towers that don't have gaps inbetween them, hence make a wall.
If two towers in this wall are at different edges of the field, it means there's a block; so destroy the built tower.

Code:
X = Tower
| = Wall
Red = Tower by wall
Blue = Adjacent Tower[s] to new tower
Green = Towers adjacent to blue and other green towers
 ___ ___
|       |
|       |
|___ ___|

 ___ ___
|       |
|  X    |
|__  ___|

 ___ ___
|       |
| [COLOR="Blue"]X[/COLOR]X    |
|__  ___|

 ___ ___
|       |
| [COLOR="blue"]X[/COLOR][COLOR="SeaGreen"]X[/COLOR]    |
|[COLOR="Red"]X[/COLOR]_  ___|

 ___ ___
|       |
| XX X  |
|[COLOR="red"]X[/COLOR]_  ___|
 ___ ___
|       |
| XX X[COLOR="Blue"]X[/COLOR] |
|[COLOR="red"]X[/COLOR]_  ___|

 ___ ___
|       |
| [COLOR="SeaGreen"]X[/COLOR][COLOR="blue"]X[/COLOR]X[COLOR="blue"]X[/COLOR][COLOR="SeaGreen"]X[/COLOR] |
|[COLOR="red"]X[/COLOR]_  ___|

 ___ ___
|      [COLOR="red"]X[/COLOR]|
| [COLOR="blue"]X[/COLOR][COLOR="SeaGreen"]XXX[/COLOR][COLOR="Blue"]X[/COLOR] |
|[COLOR="red"]X[/COLOR]_  ___|

Two Reds = Block



The 'sides' will need to be all walls on either side of the start/exit. Including the horizontal ones.
Code:
Blue = One Side
Green = Other Side
 [COLOR="Blue"]___[/COLOR] [COLOR="SeaGreen"]___[/COLOR]
[COLOR="blue"]|[/COLOR]       [COLOR="SeaGreen"]|[/COLOR]
[COLOR="blue"]|[/COLOR]       [COLOR="SeaGreen"]|[/COLOR]
[COLOR="blue"]|___[/COLOR] [COLOR="SeaGreen"]___|[/COLOR]
If within a 'wall' or 'group' of adjacent towers, (at least) one of them touches a blue side and (at least) one of them touches a green side, it's a block.

I got this to work like 20% of the time with GUI. I'm guessin if i want to make it 100% i'll need to get more familiar with JASS? (which i am workin on learning)
 

Pyropenguins

New Member
Reaction score
4
I am the author of Mazing Contest. Romek's explanation is correct. If you'd like to see a demo, I posted a sample map before making Mazing Contest here:

http://www.thehelper.net/forums/showthread.php?p=717370#post717370

This is just a demo; the code leaks and has not been generalized to account for the horizontal walls on the top and bottom, but it should give you an idea of how the actual code works.

And thank you as well Pender. I am a huge fan of your Mazing Contest!!!
 

LurkerAspect

Now officially a Super Lurker
Reaction score
118
You could simply detect when they kill a tower and then order them to continue moving.

And I have played mazing TDs before, and I know that they do attack towers when they're blocked.
 

Romek

Super Moderator
Reaction score
963
Letting the creeps attack is messy. The only time that should be used is when you don't know how to do block detection.
 

Pyropenguins

New Member
Reaction score
4
You could simply detect when they kill a tower and then order them to continue moving.

And I have played mazing TDs before, and I know that they do attack towers when they're blocked.

But why if there is a way to prevent it? Plus, due to Romek an Pender i have been able to make a rough anti-block trigger. Not sure if its how Pender did it but it works.. kinda.. just need to finish it up an it will b excellent:D:D

Well Just lettin yall know its solved! I have a workin anti-block trigger:D:D
Thanks for all the help!!
 

Meelkor

New Member
Reaction score
0
Hey, Im making map like Ryoko td, where is one point and they must go on... So, I can use it, what with lines... Please... I want the creeps attack on tower if they cant move, but how can I do it? Plase. Thanks!
 

Romek

Super Moderator
Reaction score
963
Creeps automatically attack towers if they're blocked.
As long as they have attack, that is.
 
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