I'm having a problem with textures and I'm pretty stumped. I have the mod's folder, with the script files inside it. Along with the .cs files I have a folder named Particles. For some reason, my emitters (which use those textures), are appearing as blank images. They are emitting in the correct pattern, so I believe it's just a problem with the particle. Here's my code (I only included one trio of datablocks, since the others are just copies with name changes. They all don't work). I copied it over from a previous mod, where the file structure was similar and the emitters worked.
function tag(%client, %emitter)
{
if(%emitter $= "Time")
{
%client.player.mountImage(TimeTrailImage, $backslot);
}
else if(%emitter $= "Heal")
{
%client.player.mountImage(HealTrailImage, $backslot);
}
else if(%emitter $= "Luck")
{
%client.player.mountImage(LuckTrailImage, $backslot);
}
else if(%emitter $= "Speed")
{
%client.player.mountImage(SpeedTrailImage, $backslot);
}
else if(%emitter $= "Possess")
{
%client.player.mountImage(PossessionTrailImage, $backslot);
}
}
//Time Travel
datablock ParticleData(TimeTrailParticle)
{
dragCoefficient = 0;
gravityCoefficient = 0.0;
inheritedVelFactor = 0.15;
constantAcceleration = 0.0;
lifetimeMS = 1000;
lifetimeVarianceMS = 0;
textureName = "./Particles/timeTravel";
colors[0] = "0 0 0 1";
sizes[0] = 0.5;
sizes[1] = 0.6;
times[0] = 0.0;
times[1] = 1;
useAlphaInv = false;
};
datablock ParticleEmitterData(TimeTrailEmitter)
{
ejectionPeriodMS = 10;
periodVarianceMS = 0;
ejectionVelocity = 1;
ejectionOffset = 1;
velocityVariance = 0;
thetaMin = 89.9;
thetaMax = 90.1;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvance = false;
particles = "TimeTrailParticle";
uiName = "Time Trail";
};
datablock ShapeBaseImageData(TimeTrailImage)
{
shapeFile = "base/data/shapes/empty.dts";
emap = false;
mountPoint = $backslot;
stateName[0] = "Ready"; //This is first
stateTransitionOnTimeout[0] = "loopStart"; //Name of state to go to next.
stateTimeoutValue[0] = 0.1; //Seconds for it to go to the next part of the loop.
stateName[1] = "loopStart"; //Name of the state
stateTransitionOnTimeout[1] = "loopEnd"; //next state you go to
stateTimeoutValue[1] = 0.1; //Seconds til the next part of the loop
stateEmitter[1] = "TimeTrailEmitter"; //The emitted emitter datablock here.
stateEmitterTime[1] = 1; //Time for the emitter to last, in seconds.
stateName[2] = "loopEnd";
stateWaitForTimeout[2] = 0;
stateTransitionOnTimeout[2] = "loopStart";
stateEmitterTime[2] = 1; //Emitter lifespan
stateEmitter[2] = "TimeTrailEmitter";
stateTimeoutValue[2] = 1;
};
It doesn't work evein if i don't use tag.