Author Topic: Sandvich emmiter/drop delay help  (Read 471 times)

I am trying to fix the sandvich, and I want to try to have the whole eat sound play (It is kind of long).
Is there any way to delay this?
And the emmiter doesn't show, I need help with this.
Code: [Select]
//sandvich.cs

//audio
datablock AudioProfile(EatSound)
{
   filename    = "./Eat.wav";
   description = AudioClose3d;
   preload = true;
};

datablock ParticleData(sandvichHealParticle)
{
   dragCoefficient      = 5.0;
   gravityCoefficient   = -0.2;
   inheritedVelFactor   = 0.0;
   constantAcceleration = 0.0;
   lifetimeMS           = 1000;
   lifetimeVarianceMS   = 500;
   useInvAlpha          = false;
   textureName          = "./heal";
   colors[0]     = "1.0 1.0 1.0 1";
   colors[1]     = "1.0 1.0 1.0 1";
   colors[2]     = "0.0 0.0 0.0 0";
   sizes[0]      = 0.4;
   sizes[1]      = 0.6;
   sizes[2]      = 0.4;
   times[0]      = 0.0;
   times[1]      = 0.2;
   times[2]      = 1.0;
};

datablock ParticleEmitterData(sandvichHealEmitter)
{
   ejectionPeriodMS = 35;
   periodVarianceMS = 0;
   ejectionVelocity = 0.5;
   ejectionOffset   = 1.0;
   velocityVariance = 0.49;
   thetaMin         = 0;
   thetaMax         = 120;
   phiReferenceVel  = 0;
   phiVariance      = 360;
   overrideAdvance = false;
   particles = "sandvichHealParticle";

   uiName = "Emote - Heal";
};

datablock ShapeBaseImageData(sandvichHealImage)
{
shapeFile = "base/data/shapes/empty.dts";
emap = false;

mountPoint = $HeadSlot;

stateName[0] = "Ready";
stateTransitionOnTimeout[0] = "FireA";
stateTimeoutValue[0] = 0.01;

stateName[1] = "FireA";
stateTransitionOnTimeout[1] = "Done";
stateWaitForTimeout[1] = True;
stateTimeoutValue[1] = 0.350;
stateEmitter[1] = HamburgerHealEmitter;
stateEmitterTime[1] = 0.350;
stateSound[1] = EatSound;

stateName[2] = "Done";
stateScript[2] = "onDone";
};
function sandvichHealImage::onDone(%this,%obj,%slot)
{
%obj.unMountImage(%slot);
}

If anyone can help by making the drop delay three seconds and the emmiter fixed, that would be great.
Fa has told me that it has something to do with "stateEmitter[1]            =HamburgerHealEmitter;
I have shortened the code to just the emitters, someone help please.
« Last Edit: November 12, 2010, 01:00:14 PM by Mr.jacksaunt »

Could someone help with the emmiter?

1: How are you displaying the emitter? You'd need a image for it, and:
PlayerObject.doEmote(sandvichHealEmoteImage);
or something like that.

The image system would create the emitter.


I see a datablock for sandvichHealEmitter, and then the image uses HamburgerHealEmitter. Could that be the problem?

The datablock does not get added, so I think so.