It only works for the host and it'll only work for them if it's not a dedicated server.
Well that's nice to find out....it certainly doesn't work on a dedicated server, and works oddly on a non-dedicated. It seems it only works with the host's current color o.O very odd.
I guess the only way to do this is to stick with using a player-type, or do something like this
datablock ShapeBaseImageData(HatRedImage)
{
shapeFile = "./YourHat.dts";
emap = true;
mountPoint = $HeadSlot;
offset = "0 0 0.2";
rotation = eulerToMatrix("0 0 0");
eyeOffset = "0 0 0.24";
eyeRotation = eulerToMatrix("0 0 0");
correctMuzzleVector = false;
className = "WeaponImage";
item = HatRedItem;
melee = false;
armReady = false;
doColorShift = true;
colorShiftColor = "1 0 0 1";
//Custom Hat Property
isHat = true;
//Idle State
stateName[0] = "Activate";
stateTimeoutValue[0] = 0.2;
stateTransitionOnTimeout[0] = "Ready";
stateName[1] = "Ready";
stateScript[1] = "onReady";
stateTransitionOnTimeout[1] = "Activate";
stateTimeoutValue[1] = 0.8;
stateAllowImageChange[1] = true;
};
datablock ShapeBaseImageData(HatOrangeImage : HatRedImage)
{
doColorShift = true;
colorShiftColor = "0.8 0.4 0 1";
};
datablock ShapeBaseImageData(HatYellowImage : HatRedImage)
{
doColorShift = true;
colorShiftColor = "0.7 0.7 0 1";
};
datablock ShapeBaseImageData(HatGreenImage : HatRedImage)
{
doColorShift = true;
colorShiftColor = "0 1 0 1";
};
Then you could make a command that lets players change their helm/armor color
--
This all seems a bit unnecessary just to change an image color, I wonder if there is a better method for re-coloring images?