|
Author Topic:   SPEWER / CHAIN QUESTION
peeeto
Member
posted May 14, 2001 10:02 PM         
i still don't have a good handle on this stuff yet...

i'm wondering if i'm on the right track here:
when a TM entity creates a mesh for an effect, you can have other things "spew" out from that object, right?

would you use a "spewer" or "chain"?

here's an example without giving away too much yet: say i want to have 1 or more boxes appear where a 120mm shell hits. how the heck do i do that?

another question: after the boxe(s) are created, can i make smoke pour from them? if so, HOW!?!?

thanks for anyone's help!

IP:

Dreamer (BWL/MG)
Member
posted May 14, 2001 10:34 PM            
since when does peeeto use caps?

IP:

peeeto
Member
posted May 15, 2001 12:57 AM         
to express exhasperation!

who knows, maybe someday we'll see GUIDO use lower-case!

IP:

Random Chaos
Member
posted May 15, 2001 01:16 AM            
Peeeeeeto - give me an e-mail with the specifics and maybe I can help you (mcney@megsinet.net)

IP:

Random Chaos
Member
posted May 15, 2001 04:19 PM            
This is basically what I sent Peeto to help him out...with some more details specific to his question

A spewer is set up as (TreeStrike3b.ent):
---------------------------------------------------------------

class = spewer
type = treespewer3b

mesh = SphereHigh.lwo
mesh1 = SphereLow.lwo
lodbias = 0.05

texture = textures/BlackShiny2b.bmp

scale = 0.01
#making it nearly invisible
collide = 0
#your tank won't bounce off it
mass = 1
#it does have mass though

MaxSpewCount = 1
#maxinum units spewed...delete if you want infinate

blend = add
smoothshade = 1
solidlight = 1
cullface = 1
edgetrans = 1
#visual info

PropagateSpew = 1
#not quite sure what this does, but if you are doing linked spewers I know its needed...

envmode = texture
#none, texture, global, blend

SpewType0 = tree/thick1BaTall
SpewType1 = tree/thick1BbTall
SpewType2 = tree/thick1BaWide
SpewType3 = tree/thick1BbWide
SpewType4 = tree/skinny1b
SpewType5 = tree/skinny1a
SpewType6 = tree/leafy2a
#SpewTpye0-10 - lists objects to spew - any type. Each pass will spew 1 obj.

SpewMin = 0, 0, 0
SpewMax = 0, 0, 0
#x,y,z max velocity components on spew (determines direction of spew).
#Y is vertical, x,z should be the same for symetric spewing..
#Make sure min is less then max.
#Min should be negetive of max if you want symetric spewing for x,z
#Unless you want to fire down, never make y min negetive.

CycleType = 0
#Not sure what this does...everything of LDA's has this 0 so I'd leave it so

SpewTime = 0.1
RandomTime = 0
#Min time to spew plus 0 to RandomTime to determin spew interval. Resets to zero seconds on lauch.

LaunchCoords = 0, 0, 0
#Reletive location of lauch relational to spewer center (or ground touch - not sure which). X,Y,Z

RestOnGround = 1
GroundOffset = 0.0
#Important - Rest on ground means it falls/riases with the ground position. Ground offset can be used to then
determin its hight. If you want it to sit up in the sky, set the RestOnGround to 0.

#---------------------------------------------------------------
#Other commands not in this spewer example:

#EntityChain0 = explo/wonkhit
#Chains to an explosion every time a spewer is created

#Transitory = 1
#Visible from the whole map

#Example of 2 spew types:
#Gives 33% Chance of explosion, 66% chance of a new wonk beam.
#-------------------
#SpewType0 = explo/lasersparks
#SpewType1 = projectile/wonk
#SpewType2 = projectile/wonk

#Spew angle info from Armegeddon:
#SpewMin = -1, 20, -1
#SpewMax = 1, 30, 1
#make it fire almost straight up.

---------------------------------------------------------------
---------------------------------------------------------------

Chainent:

There are two formats of this - this is from my site:
--------
EntityChain# = path/entity
ExploEnt = path/entity
ExploEntHit = path/entity
SmokeEnt = path/entity
SmokeTrailEnt = path/entity
EntityChainMode = [cycle/random]
What these commands do:

EntityChain#: # is any value from 0 to 10 where you must proceed in order. This command will spawn another
entity when the first entity is called. Generally, this entity should be of the same class as the calling entity, but I do
not believe that is required.

ExploEnt: Creates a new entity when the calling entity explodes when not hitting a tank. By default, the path for this
entity is "Explo"

ExploEntHit: Same as ExploEnt except this is called when the calling entity explodes by hitting a tank.

SmokeEnt: Spawns a new entity at the location of firing of the calling entity. Default path is "Smoke"

SmokeTrailEnt: Spawns new entities continuously as the projectile flies. Default path is "Smoke"

EntityChainMode: Sets the mode of the "EntityChain#" command to be random or cyclical. I do not know if there
are any other supported modes.

Examples Ideas: SmokeEnt with the SmokeTrailOffset = x,y,z bit set and the SmokeEnt having the
"ChainEntity#" value set to another projectile to launch multiple projectiles in precise reletive locations to the initial
launch point.

Another neate combo is using the ChainEntity# with the ChainEntityMode = random setting. It can make for a
random projectile launch.

IP:

Target!!
Member
posted May 27, 2001 11:09 AM            
The CycleType controls if the spew chain is going to go in numerical order or is picked randomly. (At least this is what Im using it for in my weapons that have extensive use of spewer chains.)

It is useful for me when I want to create random direction changes for my "dasRipper" and the Lightening strikes.

Maybe I better give an example. Because someone is inevitably going to ask.. "well, what good is that ?" heh heh

Im not using 100% accurate code here..
Just for example not copy/paste.

I made four spewers that have distinct directions that they can fire towards. (one for North,South,East,West.) Direction is all relative of course to me since I have NO clue what the real global coords would actually be.. but in the game it still works out.

The CycleType set to 1 (boolean / true false kind of thing going on here) will then allow the starting Spewer to select from the list of SpewType randomly. So the first shot will create a, for example, Northward shooting spewer, and the next, might randomly be a spewer shooting Eastward.

Spewer.ENT
(assume all other vars as usual)
CycleType = 1
SpewType1 = filenamepath_to_Northward_Shooting_Spewer
SpewType2 = filenamepath_to_Eastward_Shooting_Spewer
SpewType3 = filenamepath_to_Southward_Shooting_Spewer
SpewType4 = filenamepath_to_Westward_Shooting_Spewer


Now according to this setup, and assuming that the number of entities to spew is set to greater than just 4 (so the show goes on a while long enough to see what is going on)

The Original Spewer Entity will randomly select from this list and create maybe this list:

North,
North,
South,
East,
North
West,
West,
West,
etc....

Yes, I could have just made this Original spewer fire in all angles, but from my limited knowlege.... I dont know how to tell it to ONLY fire in four very distinct vectors.

So knowing that I can create a spewer and give it just one vector to shoot towards.. I can create as many directional shooting spewers as I have need for.. and then create a "Master Spewer" to determine when and where the next shot is going to occur.

Master spawns North Spewer that can only fire "northward".. and now the Northward Shooting Spewer does it's job. wah-lah !

(sorry for the long message)


[This message has been edited by Target!! (edited May 27, 2001).]

IP: