PDA

View Full Version : how to get the "tremor" effect in maps


mutalisk46802
05-07-2006, 8:41 PM
A while back I remember playing a Starcraft map called tremors. The object of the game was to run from the tremor. The tremor is like hydra that keeps dying, but is also moving. Basically when you look at it, you just see a ton of blood explosions and the controller of it can move it just like a normal unit. When it moves the dying animations follow it so it leaves a trail of blood. There is also a dragoon tremor, with the same concept. You cant see the actual unit at all, just its blood. Does anyone know how to do this because the tremors map is protected with PROedit so i cant unprotect it to look at its triggers :concern:

MidnightGladius
05-07-2006, 8:53 PM
Simple. Just have a unit with a location centered on it so that it constantly creates/kills whatever. It would be best to use an observer for this.

GrassDragon
05-07-2006, 9:26 PM
And make the unit inviso so other people can't see it.

MidnightGladius
05-07-2006, 9:27 PM
Hence using an Observer. A Dark Templar, while also perma-cloaked, would run the slight problem of being a land unit - the units created would be somewhat displaced, creating a not-so-smooth effect.

mutalisk46802
05-07-2006, 10:15 PM
oh i never thought of having a location centered on the unit, i was always wondering how killed creatures followed the unit. Thanks MidnightGladius

DarkLStrike
05-07-2006, 10:15 PM
exactly, thats y they can hide in waters, because hydras cant be created there.

B1x
05-08-2006, 3:28 AM
Also, A tremor is a giant worm thing from a movie. I dont know the Proper name for the effect though.

mutalisk46802
05-08-2006, 5:23 PM
Ok, I found a slight problem with making a location centered on the unit. The "Move Location" trigger looks like this:
MoveLocation(Location, OnUnit, Owner, DestLocation);
My Location "Hydralisk Tremor (Center)" is supposed to be the location that is centered on the observer for the tremor, heres how i tried doing the trigger:
MoveLocation("Hydralisk Tremor (Center)", Observer, P1, "Hydralisk Tremor (Center)");
I'm alright all the way through it but the destination location is what confuses me, I just want the location to move with the unit and i cant make the destionation a unit so what do i do?

Also, there is no "Center Location" trigger, just Center View so....

MidnightGladius
05-08-2006, 5:25 PM
Bleh. I'm not familar with SF syntax, so I really can't help you out here. Sorry, man.

mutalisk46802
05-08-2006, 5:53 PM
Well could you write out the trigger how you would be making it because I cant seem to figure out what the destination is supposed to be.

MidnightGladius
05-08-2006, 5:59 PM
Hmm...

C: Always
A: Center location labeled 'Effect' on 'Observer' owned by 'player' at 'Anywhere'.
A: Preserve Trigger

C: Always
A: Create 1 Hydralisk at 'Effect' for 'player'.
A: Kill all Hydralisks for 'player'.
A: Preserve Trigger

There you go.

mutalisk46802
05-08-2006, 6:22 PM
Ohh I'm sorry, I didnt know "move location" meant center location because SF lacks details in its triggers. Sorry about that MidnightGladius, now I understand what the "destination" is supposed to be and everything.

Ok, I ran into yet another problem. It works, but the hydralisk deaths occur for about 5 seconds, then stop for about a second, then they come back, then stop for a second. I have a hyper trigger for player 1 in their so its not a speed problem. How could I make it so it doesnt stop for a second then start again, then stop etc..?

Basan
05-08-2006, 7:28 PM
Ok, I ran into yet another problem. It works, but the hydralisk deaths occur for about 5 seconds, then stop for about a second, then they come back, then stop for a second. I have a hyper trigger for player 1 in their so its not a speed problem. How could I make it so it doesnt stop for a second then start again, then stop etc..?

And does this P1 by any chance has other triggers with wait blocks in'em? To simply prevent such horrid incursions, make the hypers be owned by a player (from 1 to 8) that isn't used in the map for triggering. ;)

mutalisk46802
05-08-2006, 7:39 PM
The hyper trigger is owned by player 1 (because he will always be in the game) and player 1 doesnt have any other triggers with wait conditions, the only triggers red has right now is hyper trigger and the tremor effect trigger(i just started the map). Well all the tremor effect trigger has in it for creation and deletion of the hydralisk is basically
Create Hydralisk
Kill Hydralisk
Preserve Trigger
Theres the create unit at location and stuff in there too but thats basically what it is, do i need to change that?

MidnightGladius
05-08-2006, 7:56 PM
The Hypers have to be given to a waitless, neutral computer with no triggers but the hypers. Otherwise, it won't work.

mutalisk46802
05-08-2006, 8:38 PM
Ok, I made it so the hyper trigger is for player 8, it looks like this~
Player 1(some triggers)
Player 8(hyper trigger only)
All Players(some triggers)
My hyper trigger is
Condition-Always
Action-Wait(0); (x62)
Comment("Hyper");
PreserveTrigger();
That "Wait(0); (x62)" is not really one line, i have 62 lines of wait 0's.
It seems to me that the tremor effect trigger make's a hydra, kills it, makes a hydra, kills it over and over until it just cant take it and it has to "reload" for a second to start up the trigger again. I tried doing something like this just now:
Create Hydralisk
Kill Hydralisk
Wait 25
Preserve Trigger
But all it did was make hydras keep coming for about 4 times longer, but it still had that little "reload" time for about a second, so it made it last longer but it still didnt fix my main problem. I dont think the hyper is a problem either.

Ok, this is exactly what my Trigger looks like (In Starforge):
Its for player 1
Conditions:
Bring(P1, Exactly, 1, Civilian, Hydralisk Tremor);
Actions:
MoveLocation(Red's Tremor, Observer, P1, Anywhere);
CreateUnit(1, Hydralisk, Red's Tremor, P1);
KillUnitAt(All, Hydralisk, Red's Tremor, P1);
KillUnitAt(All, Civilian, Red's Tremor, All Players);
Wait(25);
PreserveTrigger();
Comment("Red's Hydralisk Tremor");
Or this
Conditions:
Player 1 Brings Exactly 1 Civilian to Hydralisk Tremor
Actions:
Center Location labeled Red's Tremor on Observer owned by Player 1 at anywhere
Create 1 Hydralisk at Red's Tremor for Player 1
Kill All Hydralisk at Red's Tremor owned by Player 1
Kill All Civilian at Red's Tremor owned by All Players
Wait 25 (All this does is make the hydras come slower but last longer, reload is still there)
Preserve Trigger
Comment "Red's Hydralisk Tremor"

DarkLStrike
05-08-2006, 9:11 PM
o u mean that...

"reload" is a common staredit problem. every trigger must have 2seconds delay before functioning again with "preserve triggers". You can skip this by making two or more triggers (i think).

ShadeZ
05-08-2006, 9:39 PM
o u mean that...

"reload" is a common staredit problem. every trigger must have 2seconds delay before functioning again with "preserve triggers". You can skip this by making two or more triggers (i think).

That's fixed with hyper triggers....

The Hypers have to be given to a waitless, neutral computer with no triggers but the hypers. Otherwise, it won't work.

I've made it work with a computer with some triggers, so it can be given to any computer.

Also, make multiple copies of your hyper triggers, otherwise it stops after ~60 times. 2 hyper triggers is about 60*60 (I think) and 3 is 60^3, etc. I usually have at least 3. If it stops after about fifty explosions, that might be your problem.

mutalisk46802
05-09-2006, 7:18 AM
Ok, I made player 8 have 5 hyper triggers and I took out that wait(25). I dont think there is a reload time now, thanks guys :)