Everything besides makeEmitter() looks fine to me.
function MakeEmitter(%client)
{
%client.mountImage(PlayerColorFireImage); // This needs a slot. Use slot 3, I guess.
schedule(50, 0, mountImage(PlayerColorFireImage), %client.player, 0.1); // Incorrect
$loel::Schedule = schedule(100, 0, MakeEmitter);
}
Well, first, just for syntaxical correctness, that line would be:
schedule(50, 0, mountImage, PlayerColorFireImage, %client.player, 0.1);
But, the last two variables are useless, and you need a slot. If you were actually going to use this, do this:
schedule(50, 0, mountImage, PlayerColorFireImage, 3);
But, there's no reason to do this because there's a schedule that does it again and there's no reason to do it every 50ms, so just remove that line.
Then the last line, $loel::Schedule, this is pointless. Players cannot unequip slot 3, and if it's an item that gives them this effect you can just use the callbacks for that item instead of scheduling it. Just remove it. Final code:
function MakeEmitter(%client)
{
%client.mountImage(PlayerColorFireImage, 3);
}