Blockland Forums > Modification Help
An oil lamp.
Munkey:
I'll finish the script for this once he gives me the new model.
Barakuda:
--- Quote from: Munkey on September 20, 2011, 07:18:54 PM ---I'll finish the script for this once he gives me the new model.
--- End quote ---
Oh darnit I forgot :S
But anyhow, you could probably do with the current one too.
EDIT: Files sent, done.
Munkey:
ahhhh why can't the fire just go to the right spot already :(
Munkey:
--- Quote from: Munkey on September 23, 2011, 01:13:15 AM ---ahhhh why can't the fire just go to the right spot already :(
--- End quote ---
alright i guess i need help. it mounts and everything but not in the right spot, what is going on ? :(
--- Code: ---function OilLampImage::onReady(%this, %obj, %slot)
{
%this.Oilslot = %slot;
if($OilLamp::Explode)
{
if(%this.wantsOilLight)
{
if($OilLamp::LightSource)
{
mountOilLampLight(%this);
return parent::onReady(%this, %obj, %slot);
}
else
{
//No Light
}
}
else
{
//No Light
}
}
else
{
%obj.mountImage(OilLampNoEXPImage, 0);
}
}
function toggleOilLight(%client)
{
%obj = %client.player;
if(%obj.wantsOilLight)
{
%obj.wantsOilLight = 0;
unMountOilLampLight(%obj);
}
else if($OilLamp::LightSource)
{
%obj.wantsOilLight = 1;
mountOilLampLight(%obj);
}
}
function mountOilLampLight(%obj)
{
%image = %obj.getMountedImage(%obj.oilslot);
%image.mountImage(OilLampLightImage,0);
%image.mountImage(OilLampFireImage,0);
}
function unMountOilLampLight(%obj)
{
%image = %this.getMountedImage(%obj.oilslot);
if(%image.getMountedImage !$= OilLampFireImage)
{
%obj.unMountImage(0);
%obj.unMountImage(0);
}
}
//Emitter
datablock fxLightData(OilLampLight : RedLightSmall)
{
uiName = "Oil Lamp Light";
color = "0.93 0.92 0.60 1";
};
datablock ParticleData(OilLampCandleParticle)
{
textureName = "base/data/particles/cloud";
dragCoefficient = 1.0;
gravityCoefficient = -7.0;
inheritedVelFactor = 0.0;
windCoefficient = 0.0;
constantAcceleration = 0.0;
lifetimeMS = 200;
lifetimeVarianceMS = 0;
spinSpeed = 0;
spinRandomMin = -90.0;
spinRandomMax = 90.0;
useInvAlpha = false;
colors[0] = "0.0 0.0 0.0 0.0";
colors[1] = "1 1 0.3 0.0";
colors[2] = "1 1 0.3 1.0";
colors[3] = "0.6 0.0 0.0 0.0";
sizes[0] = 0.0;
sizes[1] = 0.0;
sizes[2] = 0.09;
sizes[3] = 0.01;
times[0] = 0.0;
times[1] = 0.5;
times[2] = 0.51;
times[3] = 0.7;
};
datablock ParticleEmitterData(OilLampCandleEmitter)
{
ejectionPeriodMS = 1;
periodVarianceMS = 0;
ejectionVelocity = 0.0;
ejectionOffset = 0.0;
velocityVariance = 0.0;
thetaMin = 0;
thetaMax = 180;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvance = false;
//lifetimeMS = 5000;
particles = OilLampCandleParticle;
};
datablock ShapeBaseImageData(OilLampFireImage)
{
shapeFile = "./empty.dts";
emap = false;
mountPoint = 0;
rotation = "1 0 0 180";
stateName[0] = "Ready";
stateTransitionOnTimeout[0] = "FireA";
stateTimeoutValue[0] = 0.01;
stateName[1] = "FireA";
stateTransitionOnTimeout[1] = "Done";
stateWaitForTimeout[1] = True;
stateTimeoutValue[1] = 10000;
stateEmitter[1] = OilLampCandleEmitter;
stateEmitterTime[1] = 10000;
stateName[2] = "Done";
stateScript[2] = "onDone";
};
datablock ShapeBaseImageData(OilLampLightImage)
{
shapeFile = "./empty.dts";
emap = false;
mountPoint = 0;
rotation = "1 0 0 180";
stateName[0] = "Ready";
stateTransitionOnTimeout[0] = "FireA";
stateTimeoutValue[0] = 0.01;
stateName[1] = "FireA";
stateTransitionOnTimeout[1] = "Done";
stateWaitForTimeout[1] = True;
stateTimeoutValue[1] = 10000;
stateLight[1] = OilLampLight;
stateLightTime[1] = 10000;
stateName[2] = "Done";
stateScript[2] = "onDone";
};
--- End code ---