Need a anti-camp trigger, Zombie Style !ROC!

blake007

New Member
Reaction score
0
Hi guys, I’m new here and I have been working on a map for ROC for over a week now.

This is what I need, and please make it as simple as you can because I do have a hard time making triggers.

I want a trigger that stops people camping up into one spot every now and then. The way I want to do it is by giving a warning to the players and a ping on the map of where this event is happening.

I want a few zombies to do their whole birth animation slowly from beneath the camping players. Coming out the ground slowly to give the players a chance to move.

This is a broken attempt of what I want

Event
Time - Every (Random real number between 200.00 and 400.00) seconds of game time

Condition
(Number of units in (Units in big weather <gen> matching (((Owner of (Matching unit)) controller) Equal to User))) Greater than 80

Action
Game - Display to (All players) for 5.00 seconds the text: Warning!
Animation - Play (Last created unit)'s birth animation
Unit - Create 1 Earth Zombie for Neutral Passive at (Random point in (Region centered at (Position of (Random unit from (Units in big weather <gen> matching ((((Matching unit) belongs to an enemy of Player 12 (Brown)) Equal to True) and (((Matching unit) is A Hero) Equal to True))))) with size (400.00, 400.00) facing Default building facing degrees

Any help would be appreciated, thanks.
 

Lifee

New Member
Reaction score
46
1. When posting triggers please use WC3 GUI tags.
2. I didnt understand what u want,clear more your question please.Anti-camp?But when u want this anti-camp to be activated?What u want exactly this trigger to do?
 

blake007

New Member
Reaction score
0
It's basically to break up people from bunching up with lots of units to kill the waves of zombies.

It will give a more unpredictability to the game, and to keep the players moving around. The zombies are all computer by the way. The Marines are all Human players.

Every 200 to 400 second of game time should be fine for this event.

This is what I would like to happen. The players get a warning where this attack is coming from. A ping on the map would be good in the location of the attack. Then I want to slowly raise zombies out of the ground and when they finally get to their stand animation they can then attack. Playing the zombie Birth animation slowly should be fine, but have no idea how to go about this.

Thanks.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
you would have to save the position of every players hero (i hope every player only got 1 unit) and compare it with the last saved position. if the distance between both is less then 256 or whatever you like you could run your actions.

basically creating some zombies at the position of the hero.

I'd say the following, this is hand written pseudo wc3 GUI code:
Event
Every 300.00 Seconds of game time
Condition
Actions
Unit Group - Pick all units in Heroes and do
loop - actions
Set Temp_Int = Player Number of (Owner of (Picked Unit))
if
Execution Count of (This Trigger) mod 2 == 0
then
custom script: call RemoveLocation (udg_Player_Position_A[Temp_Int])
Set Player_Position_A[Temp_Int] = (Position of (Picked Unit))
else
custom script: call RemoveLocation (udg_Player_Position_B[Temp_Int])
Set Player_Position_B[Temp_Int] = (Position of (Picked Unit))
if
Distance between Player_Position_A[Temp_Int] and Player_Position_B[Temp_Int] less then or Equal 256
then
do stuff...
else

i'll try to explain
the event is every 300 seconds, because you cannot use a random number in events. events are always constant and never change during the game.
if you use (random number between 200 and 400) that number will only be randomed at map initialization and thence the game will always use the same number as the event.
if you really urge to have it random you need to use a timer expires event and set the timers time to a random number at the end of your trigger every time it ran.

no conditions needed cause i think you will want this to work permanently throughout the game. of course you can add conditions as needed.

now, you have to save all the units for which this anti-camp-system shall work into one unit group variable i called Heroes.
The Temp_Int variable, an integer variable, is only used for easier readability.

the comparison with the execution count of this trigger is vital, because for every unit you need to save 2 points. the position the unit is currently standing at and the position it was standing at the last time this trigger ran.
thats why we have 2 point variables for every hero as well: Player_Position_A and Player_Position_B.
in every run of this trigger only one of both points is set depending on whether the number of executions of this trigger is an even or odd number. (mod 2 == 0)

well then you simply check the distance between the new and the old position and if its in between a set range of your desire do the stuff you like.

for example ping the minimap, spawn zombies, whatsoever.
 
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