Game Development Community

Particleemitternodes

by 187 · in ThinkTanks · 02/12/2004 (8:26 am) · 11 replies

Here's an example of a new particle, emitter and emitter node.

datablock particledata(projectile2particle)
{
 animateTexture = "0";
 animTexName[0] = "game/data/shapes/common/electro03.png";
 colors[0] = "0 1 0 1.000000";
 colors[1] = "0 1 0 1.000000";
 colors[2] = "0 1 0 0.385827";
 colors[3] = "0 1 0 0.000000";
 constantAcceleration = "0";
 dragCoefficient = "0.99218";
 framesPerSec = "1";
 gravityCoefficient = "0";
 inheritedVelFactor = "0";
 lifetimeMS = "100";
 lifetimeVarianceMS = "1000";
 sizes[0] = "0.51492";
 sizes[1] = "0.24519";
 sizes[2] = "0.74571";
 sizes[3] = "0.9451";
 spinRandomMax = "500";
 spinRandomMin = "-90";
 spinSpeed = "0";
 textureName = "game/data/shapes/tanks/speedyprojectile.jpg";
 times[0] = "2";
 times[1] = "4.2";
 times[2] = "8.49804";
 times[3] = "10";
 useInvAlpha = "1";
 windCoefficient = "1";
};
//
datablock particleemitterdata(projectile2emitter)
{
 className = "ParticleEmitterData";
 ejectionOffset = "0";
 ejectionPeriodMS = "10";
 ejectionVelocity = "0";
 lifetimeMS = "0";
 lifetimeVarianceMS = "0";
 orientOnVelocity = "0";
 orientParticles = "0";
 overrideAdvance = "0";
 particleFarDist = "1000";
 particles = "projectile2particle";
 periodVarianceMS = "9";
 phiReferenceVel = "0";
 phiVariance = "360";
 thetaMax = "90";
 thetaMin = "90";
 useEmitterColors = "0";
 useEmitterSizes = "0";
 velocityVariance = "0";
};
datablock ParticleEmitterNodeData(projectile2emitternode)
{
   timeMultiple = 80;
};

Step 1
create a new file called emitters.cs in your game/server/scripts directory and copy & paste the above code into it.

Step 2
copy and pase this line to the beginning of your .mis file.
exec("game/server/scripts/emitters.cs");

step 3
copy and paste the following datablock into the .mis file where you would put any other tsstatic or powerup datablock.
new ParticleEmitterNode(projectile2emitternode) {
      position = "-144.619 20.0121 105.355";
      rotation = "0.0116031 -0.00690149 -0.999909 86.1322";
      scale = "1 1 1";
      datablock = "projectile2emitternode";
      emitter = "projectile2emitter";
      velocity = "1";
   };

Step 4
Set the position to wherever you want it to be.

members.cox.net/sealeyale/public/187_small.GIF

About the author


#1
02/12/2004 (12:48 pm)
Got a screenie?
#2
05/02/2004 (7:57 am)
I dont realize any diffrence
#3
05/02/2004 (10:01 am)
Make sure to put:
lighttank.emitter = "projectile2emitter";
At the bottom of the .mis file!
#4
05/05/2004 (12:16 pm)
Thanks
#5
05/05/2004 (1:30 pm)
No problem.
#6
05/06/2004 (2:03 pm)
("game/server/scripts/emitters.cs");

where do i put this?
#7
05/06/2004 (4:05 pm)
For PC:

C:/Program Files/BraveTree/ThinkTanks/game/server/scripts and make a new file called emitters.cs with the info provided inside.

For Mac:

Right or control click on the ThinkTanks icon and select "Show Package Contents" then navigate through game/data/server/scripts and make a new file called emitters.cs with the info provided inside.
#8
05/09/2004 (4:04 am)
Does this work?
#9
05/09/2004 (8:26 am)
Yes it works.
#10
05/09/2004 (11:46 am)
Do you put exec("game/server/scripts/emitters.cs"); before object write end?
#11
05/09/2004 (2:00 pm)
No, before Object Write Begin.

@Steven

Put a www in front of that and you're fine. :D