No, not like that, like this:
function serverCmdSetOrbColor(%client, %color) {
if(!%client.isSuperAdmin) //Check if we're super admin
return;
%color = strlwr(%color);
switch$(%color) {
case "heart":
// Change to heart
//psuedo code
OrbDatablockThing.particle = CameraParticleHeart;
case "water":
// Change to water
case "star":
// Change to star
default:
messageClient(%client, '', "\c6The color\c3" SPC %color SPC "\c6could not be found.");
return;
}
transmitDatablocks(); //Very important
messageClient(%client, '', "\c6Your orb is now\c3" SPC %color @ "\c6.");
}
//Define heart datablocks, referenced above
datablock ParticleData(CameraParticleHeartA)
{
dragCoefficient = 3;
gravityCoefficient = -0.0;
inheritedVelFactor = 1;
constantAcceleration = 0.0;
lifetimeMS = 600;
lifetimeVarianceMS = 0;
textureName = "base/data/particles/heart";
spinSpeed = 0.0;
spinRandomMin = 0.0;
spinRandomMax = 0.0;
colors[0] = "1.0 0.0 0.0 0.2";
colors[1] = "1.0 0.0 0.2 0.2";
colors[2] = "1.0 0.0 0.0 0.2";
sizes[0] = 1.50;
sizes[1] = 0.75;
sizes[2] = 0.25;
times[0] = 0;
times[1] = 0.5;
times[2] = 1;
useInvAlpha = false;
};
datablock ParticleEmitterData(CameraEmitterHeartA)
{
ejectionPeriodMS = 1.0;
periodVarianceMS = 0;
ejectionVelocity = 1.0;
velocityVariance = 0.5;
ejectionOffset = 0.0;
thetaMin = 1.5;
thetaMax = 90;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvance = false;
particles = "CameraParticleA";
useEmitterColors = 0;
};
datablock ParticleData(playerTeleportParticleHeartB)
{
dragCoefficient = 3;
gravityCoefficient = -0.0;
inheritedVelFactor = 1;
constantAcceleration = 0.0;
lifetimeMS = 100;
lifetimeVarianceMS = 0;
textureName = "base/data/particles/heart";
spinSpeed = 0.0;
spinRandomMin = 0.5;
spinRandomMax = 1.0;
colors[0] = "1.0 0.0 0.2 0.2";
colors[1] = "1.0 0.0 0.2 0.2";
colors[2] = "1.0 0.0 0.2 0.2";
sizes[0] = 0.25;
sizes[1] = 0.20;
sizes[2] = 0.15;
times[0] = 0;
times[1] = 0.5;
times[2] = 1;
useInvAlpha = false;
};
datablock ParticleEmitterData(playerTeleportEmitterHeartB)
{
ejectionPeriodMS = 3.0;
periodVarianceMS = 0.5;
ejectionVelocity = 1.5;
velocityVariance = 0.6;
ejectionOffset = -0.5;
thetaMin = 1.5;
thetaMax = 90;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvance = false;
particles = "playerTeleportEmitterB";
useEmitterColors = 0;
};
datablock ParticleData(playerTeleportParticleHeartA)
{
dragCoefficient = 3;
gravityCoefficient = -0.0;
inheritedVelFactor = 1;
constantAcceleration = 1.0;
lifetimeMS = 1500;
lifetimeVarianceMS = 130;
textureName = "base/data/particles/heart";
spinSpeed = 0.5;
spinRandomMin = 0.1;
spinRandomMax = 0.5;
colors[0] = "1.0 0.0 0.0 0.3";
colors[1] = "1.0 0.0 1.0 0.5";
colors[2] = "0.0 0.0 1.0 1.0";
sizes[0] = 1.50;
sizes[1] = 0.75;
sizes[2] = 0.25;
times[0] = 0;
times[1] = 0.5;
times[2] = 1;
useInvAlpha = false;
};
datablock ParticleEmitterData(playerTeleportEmitterHeartA)
{
ejectionPeriodMS = 10.0;
periodVarianceMS = 1.0;
ejectionVelocity = 1.5;
velocityVariance = 10.0;
ejectionOffset = 0.5;
thetaMin = 1.5;
thetaMax = 90;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvance = false;
particles = "playerTeleportEmitterA";
useEmitterColors = 0;
};
//Define star datablocks, referenced above
datablock ParticleData(CameraParticleStarA)
{
dragCoefficient = 3;
gravityCoefficient = -0.0;
inheritedVelFactor = 1;
constantAcceleration = 0.0;
lifetimeMS = 600;
lifetimeVarianceMS = 0;
textureName = "base/data/particles/star1";
spinSpeed = 0.0;
spinRandomMin = 0.0;
spinRandomMax = 0.0;
colors[0] = "1.0 0.9 0.0 0.2";
colors[1] = "1.0 0.8 0.0 0.2";
colors[2] = "0.9 1.0 0.0 0.2";
sizes[0] = 1.50;
sizes[1] = 0.75;
sizes[2] = 0.25;
times[0] = 0;
times[1] = 1.5;
times[2] = 1;
useInvAlpha = false;
};
datablock ParticleEmitterData(CameraEmitterStarA)
{
ejectionPeriodMS = 6.5;
periodVarianceMS = 0;
ejectionVelocity = 1.0;
velocityVariance = 0.6;
ejectionOffset = 0.5;
thetaMin = 1.5;
thetaMax = 90;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvance = false;
particles = "CameraParticleA";
useEmitterColors = 0;
};
datablock ParticleData(playerTeleportParticleStarB)
{
dragCoefficient = 3;
gravityCoefficient = -0.0;
inheritedVelFactor = 1;
constantAcceleration = 0.0;
lifetimeMS = 1500;
lifetimeVarianceMS = 10;
textureName = "base/data/particles/star1";
spinSpeed = 0.0;
spinRandomMin = 0.5;
spinRandomMax = 1.0;
colors[0] = "1.0 0.9 0.0 0.2";
colors[1] = "1.0 0.8 0.0 0.2";
colors[2] = "0.9 1.0 0.0 0.2";
sizes[0] = 0.25;
sizes[1] = 0.10;
sizes[2] = 0.15;
times[0] = 0;
times[1] = 0.5;
times[2] = 1;
useInvAlpha = false;
};
datablock ParticleEmitterData(playerTeleportEmitterStarB)
{
ejectionPeriodMS = 10.5;
periodVarianceMS = 1.0;
ejectionVelocity = 1.0;
velocityVariance = 0.6;
ejectionOffset = 0.5;
thetaMin = 1.5;
thetaMax = 90;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvance = false;
particles = "playerTeleportEmitterB";
useEmitterColors = 0;
};
datablock ParticleData(playerTeleportParticleStarA)
{
dragCoefficient = 3;
gravityCoefficient = -0.0;
inheritedVelFactor = 1;
constantAcceleration = 0.5;
lifetimeMS = 200;
lifetimeVarianceMS = 100;
textureName = "base/data/particles/star1";
spinSpeed = 0.5;
spinRandomMin = 0.1;
spinRandomMax = 0.5;
colors[0] = "1.0 0.9 0.0 0.2";
colors[1] = "1.0 0.8 0.0 0.2";
colors[2] = "0.9 1.0 0.0 0.2";
sizes[0] = 1.50;
sizes[1] = 0.75;
sizes[2] = 0.25;
times[0] = 0;
times[1] = 1.5;
times[2] = 1;
useInvAlpha = false;
};
datablock ParticleEmitterData(playerTeleportEmitterStarA)
{
ejectionPeriodMS = 10.0;
periodVarianceMS = 1.0;
ejectionVelocity = 1.5;
velocityVariance = 10.0;
ejectionOffset = 0.5;
thetaMin = 1.5;
thetaMax = 90;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvance = false;
particles = "playerTeleportEmitterA";
useEmitterColors = 0;
};
//Define bubble datablocks, referenced above
datablock ParticleData(CameraParticleBubbleA)
{
dragCoefficient = 3;
gravityCoefficient = -0.0;
inheritedVelFactor = 1;
constantAcceleration = 0.0;
lifetimeMS = 600;
lifetimeVarianceMS = 0;
textureName = "base/data/particles/bubble";
spinSpeed = 0.0;
spinRandomMin = 0.0;
spinRandomMax = 0.0;
colors[0] = "0.0 0.9 1.0 0.2";
colors[1] = "0.0 0.8 1.0 0.2";
colors[2] = "0.0 0.9 1.0 0.2";
sizes[0] = 1.50;
sizes[1] = 0.75;
sizes[2] = 0.25;
times[0] = 0;
times[1] = 1.5;
times[2] = 1;
useInvAlpha = false;
};
datablock ParticleEmitterData(CameraEmitterBubbleA)
{
ejectionPeriodMS = 6.5;
periodVarianceMS = 0;
ejectionVelocity = 1.0;
velocityVariance = 0.6;
ejectionOffset = 0.5;
thetaMin = 1.5;
thetaMax = 90;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvance = false;
particles = "CameraParticleA";
useEmitterColors = 0;
};
datablock ParticleData(playerTeleportParticleBubbleB)
{
dragCoefficient = 3;
gravityCoefficient = -0.0;
inheritedVelFactor = 1;
constantAcceleration = 0.0;
lifetimeMS = 1500;
lifetimeVarianceMS = 10;
textureName = "base/data/particles/bubble";
spinSpeed = 0.0;
spinRandomMin = 0.5;
spinRandomMax = 1.0;
colors[0] = "0.0 0.9 1.0 0.2";
colors[1] = "0.0 0.8 1.0 0.2";
colors[2] = "0.0 0.9 1.0 0.2";
sizes[0] = 0.25;
sizes[1] = 0.10;
sizes[2] = 0.15;
times[0] = 0;
times[1] = 0.5;
times[2] = 1;
useInvAlpha = false;
};
datablock ParticleEmitterData(playerTeleportEmitterBubbleB)
{
ejectionPeriodMS = 10.5;
periodVarianceMS = 1.0;
ejectionVelocity = 1.0;
velocityVariance = 0.6;
ejectionOffset = 0.5;
thetaMin = 1.5;
thetaMax = 90;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvance = false;
particles = "playerTeleportEmitterB";
useEmitterColors = 0;
};
datablock ParticleData(playerTeleportParticleBubbleA)
{
dragCoefficient = 3;
gravityCoefficient = -0.0;
inheritedVelFactor = 1;
constantAcceleration = 0.5;
lifetimeMS = 200;
lifetimeVarianceMS = 100;
textureName = "base/data/particles/bubble";
spinSpeed = 0.5;
spinRandomMin = 0.1;
spinRandomMax = 0.5;
colors[0] = "0.0 0.9 1.0 0.2";
colors[1] = "0.0 0.8 1.0 0.2";
colors[2] = "0.0 0.9 1.0 0.2";
sizes[0] = 1.50;
sizes[1] = 0.75;
sizes[2] = 0.25;
times[0] = 0;
times[1] = 1.5;
times[2] = 1;
useInvAlpha = false;
};
datablock ParticleEmitterData(playerTeleportEmitterBubbleA)
{
ejectionPeriodMS = 10.0;
periodVarianceMS = 1.0;
ejectionVelocity = 1.5;
velocityVariance = 10.0;
ejectionOffset = 0.5;
thetaMin = 1.5;
thetaMax = 90;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvance = false;
particles = "playerTeleportEmitterA";
useEmitterColors = 0;
};