Page 1 of 1

Trigger a map-wide rumble effect with explosion?

Posted: Fri Dec 21, 2007 7:55 pm
by Snork
Is there a way to trigger a Map-Wide rumble effect at a certain time, along with a rather large explosion effect?

Re: Expert help needed.

Posted: Fri Dec 21, 2007 7:57 pm
by SilvaDalek
There is a way (In Hoth there is so there has to be)

Re: Expert help needed.

Posted: Fri Dec 21, 2007 8:06 pm
by Snork
Map wide as in on any corner of the map you'll feel the shake. The hoth tunnels is an object with an fx attached I think. Good idea though.

Re: Expert help needed.

Posted: Fri Dec 21, 2007 8:09 pm
by SilvaDalek
That's my point, you see couldn't you put a something (like a blank nothing) over the map that has the fx or whatever?

Re: Expert help needed.

Posted: Fri Dec 21, 2007 9:46 pm
by Teancum
You sure guess a lot, don't you?


What I'd do is pick something with a hardpoint (like a CP model) and attach the FX to that. Then place them all over on the terrain. Lastly, sink them just below the terrain. Theoretically the shake FX should play near any of the new "FX CPs" you place. So it's just a matter of how many you place. Be sure to disable the holo on the CPs.

I've never tested this, but it's worth a shot.


............Actually, it seems it's easier than that. Open hot_rum_caves.odf, look at the first few lines:
[GameObjectClass]

ClassLabel ="rumbleeffect"
GeometryName ="editor_grasspatch.msh"
The first time you see GeometryName (it's always under GameObjectClass and has .msh after it) it's going to be what you see in ZeroEdit. Personally I'd change it to "item_pointer.msh"

Re: Expert help needed.

Posted: Fri Dec 21, 2007 9:53 pm
by Maveritchell
Well, I feel silly. I've done this a couple times in a different way that's probably a little harder than that. I think the easiest way to make this happen when you want would be to create a rumbleobject, like Tean mentioned. Attach an effect to it, and give it a health. Then what you can do is, in your .lua, set it's health to be 0 at the beginning of the level - SetProperty("objectname", "CurHealth", 0). Then, when you want the event to trigger, use a .lua trigger (Can be OnEnterRegion, OnObjectKill, whenever a timer expires, or a number of other things - if you have problems, just PM me what you're trying to do and I'll help you set up the trigger) to set the health back to full - SetProperty("objectname", "CurHealth", 99999) (that last number will be your object's max health). Then you can leave it rumbling or set it to expire again using a timer, with the earlier SetProperty function.

I realize how convoluted that may sound, if you've got questions, just PM me with what you're trying to do.

Re: Expert help needed.

Posted: Fri Dec 21, 2007 10:59 pm
by AceMastermind
Here are some notes regarding rumble regions from psych0fred's site:
Hidden/Spoiler:
[code]I’ve added the ability to do Rumble Regions. Just make a region like normal, but then have the name be in this format:

rumble rumbleType Time ShakeStrength ShakeLength

ex: rumble 0 4.0 1.0 1.0

with

rumbleType = 0, 1 or 2, small, medium or big rumble, as specified in the global lua file, -1 is no rumble, just camera shake. If you need more rumble types let me know and we can add some.

Time a floating point number, it’s the interval in which the rumble and shake get set off

ShakeStrength, another floating point number, used for the camera shake, just like normal camera shakes.

ShakeLength, yadda yadda yadda. It’s like normal camerashake length.


NOTE: Be careful, the rumble in the name is case sensitive, needs to be all lowercase.


Currently we have a limit of five rumble regions per map, but that’s just some number I put in and can be changed.

Ok, I’ve modified rumble regions at Dell’s request



The globals.lua file now contains and the rumble regions are now boiled down to just using a index value. Ex: rumble 0 OR rumble 1 OR rumble 2


RumbleSmall = {

---In A min/max format, the randomized value will be between those two numbers.

Light = { .2, .2 },

Heavy = {.1,.1},

HeavyDecay = { .5,.5 },

LightDecay = {.5, .5 },

DelayLight = {0.0, 0.0 },

DelayHeavy = { 0.0, 0.0 },

TimeLeftHeavy = {1.0, 1.0}, --how long each rumble lasts

TimeLeftLight = {1.0, 1.0},

Interval = { 4.0 , 4.0 }, --how often the rumble gets set off

ShakeAmt = { 4.0 , 4.0 },

ShakeLen = { 1.0, 1.0 }, --Camera shake length

Rumble Regions 3.0



They are now done with odfs, prop placement and regions. (No lua, I know yer disappointed)


The Region needs to be named “rumble Odfname SomeName”

The Prop needs to be named “SomeName” and be of a rumble odf type

Where the odf name is a new type, I’ve included an example, should be straightforward.

When a region’s timer goes off, it will do all the rumble stuff, camera shake from the odf, and set off the particle effect of the prop (Based upon which odf was used to build it)


IMPORTANT NOTE:

If you do not add a prop, you will HAVE to add the odf to the req file, cuz it won’t get put in the game otherwise


EXAMPLE:

Region: rumble yav_prop_rumble1 cave_effects



Props:

Cave_effects ß all the same name, just have different locations and/or different odf’s associated with them

Cave_effects

Cave_effects




[GameObjectClass]
ClassLabel = "rumbleeffect"

GeometryName = "editor_grasspatch.msh"


[Properties]

MinLight = ".2"

MaxLight = ".2"

MinHeavy = ".1"

MaxHeavy = ".1"

MinHeavyDecay = ".5"

MaxHeavyDecay = ".5"

MinLightDecay = ".5" //pointless in reality, as the ps2 is either on off, not sure bout the xbox

MaxLightDecay = ".5"

MinDelayLight = "0.0"

MaxDelayLight = "0.0"

MinDelayHeavy = "0.0"

MaxDelayHeavy = "0.0"

MinTimeLeftHeavy = "1.0" //how long each rumble lasts

MaxTimeLeftHeavy = "1.0" //how long each rumble lasts

MinTimeLeftLight = "1.0"

MaxTimeLeftLight = "1.0"

MinInterval = "4.0" //how often the rumble gets set off

MaxInterval = "4.0" //how often the rumble gets set off

MinShakeAmt = "4.0"

MaxShakeAmt = "4.0"

MinShakeLen = "1.0" //Camera shake length

MaxShakeLen = "1.0" //Camera shake length



SoundName = "com_weap_inf_blaster_gold3" //is read in, triggers the sound at the center

FXName = "com_sfx_weap_grenade_schrap_exp " //the particle effect that gets triggered by the props

Giz asked me to take out the lock-on rumble. This is actually an ODF thing; the lock-on uses the charge variable for the rumble. So I’m just going to go thru the weapon odfs that have lock-on and set the charge rumble to 0.
[/code]