This tutorial will give you a wand mode that can create team spawns, and paint a team that color if the team name is a color.  You must have some background on how to code for this tutorial.  If you do not, some parts of this tutorial may seem hard for you to follow.

1.  Open server/scripts/AdminCommands.cs.

2.  Find (Ctrl + F) 'togglewandmode'.

3.  Add a wand mode.  Tutorial in here.

4.  Open server/scripts/tools/wand.cs.

5.  Find 'onCollision'.

6.  Under the rest of the conditionals, add this for the wand mode that you made:

    if(%col.IsTeamSpawn != 1)
    {
        %obj.client.isMakingTeamSpawn = 1;
        %obj.client.RequestedTeamSpawn = %col;
        commandtoclient(%obj.client,'OpenPWBox');
        bottomprint(%obj.client,"Enter a team name.",5,1);
    }
    else
    {
        %col.IsTeamSpawn = 0;
        centerprint(%obj.client,"Removed Team Spawn Properties.",5,1);
    } 

7.  Open server/scripts/movers.cs.

8.  Find 'checkdoorpassword'.

9.  Add this at the beginning of the function...

    if(%client.isMakingTeamSpawn){
        %client.isMakingTeamSpawn = 0;
        %BrickObj = %Client.RequestedTeamSpawn;
        %match = 0;
        for(%i = 0; %i<$Pref::Server::TotalTeams; %i++)
        {
            %Team = $Teams[%i];
            if(%Team $= %Password){
                centerprint(%client,"Created a " @ %Team @ " team spawn.",5,1);
                %BrickObj.IsTeamSpawn = 1;
                %match++;
                $TeamSpawn[%Team] = %BrickObj;
            }
        }
        if(%match == 0)
            centerprint(%client,"Invalid team name!",5,1);
        %Client.RequestedTeamSpawn = "";
        return;
    }

10.  Open server/scripts/game.cs.

11.  Find '%player.setTransform(%x SPC %y SPC %z);'

12.  Right under that conditional, add...

else if(%this.team !$= "")
{
    if($TeamSpawn[%this.team] !$= ""){
    %TeamSpawn = $TeamSpawn[%this.team];
        if(%TeamSpawn.IsTeamSpawn != 0){
        %trans = %TeamSpawn.getWorldBoxCenter();
        %x = getWord(%trans,0) + getRandom(2,-2);
        %y = getWord(%trans,1) + getRandom(2,-2);
        %z = getWord(%trans,2) + 1;
        %player.setTransform(%x SPC %y SPC %z);
        schedule(1000,0,colorplayer,%this,%player);
        }
        else
        %player.setTransform(%spawnPoint);
    }
    else
    %player.setTransform(%spawnPoint);
}

13.  The conditional block should look something like this...

if($Pref::Server::CopsAndRobbers)
{
    %CopsRnd = getRandom(1,$TotalCopSpawnPoints);
    %RobsRnd = getRandom(1,$TotalRobberSpawnPoints);

    if(%this.team $= "Cops")
    {
        %spawnPoint = $CopSpawn[%CopsRnd];
    }
    if(%this.team $= "Robbers")
    {
        %spawnPoint = $RobberSpawn[%RobsRnd];
    }

    %trans = %spawnPoint.getTransform();
    %x = getWord(%trans,0) + getRandom(2,-2);
    %y = getWord(%trans,1) + getRandom(2,-2);
    %z = getWord(%trans,2) + 1;
   
    %player.setTransform(%x SPC %y SPC %z);
}
else if(%this.team !$= "")
{
    if($TeamSpawn[%this.team] !$= ""){
    %TeamSpawn = $TeamSpawn[%this.team];
        if(%TeamSpawn.IsTeamSpawn != 0){
        %trans = %TeamSpawn.getWorldBoxCenter();
        %x = getWord(%trans,0) + getRandom(2,-2);
        %y = getWord(%trans,1) + getRandom(2,-2);
        %z = getWord(%trans,2) + 1;

        %player.setTransform(%x SPC %y SPC %z);
        schedule(1000,0,colorplayer,%this,%player);
        }
        else
        %player.setTransform(%spawnPoint);
    }
    else
    %player.setTransform(%spawnPoint);
}
else
{
%player.setTransform(%spawnPoint);
}

14.  Add this function anywhere...

function colorplayer(%this,%player){
%teamname = %this.team;
for(%i = 0;%i <= $TotalColors;%i++){
    %color = strreplace($ColorPreview[%i],"rtb/data/shapes/bricks/","");
    %color = strreplace(%color,".brickside.bmp","");
    if(%teamname $= %color){
        %player.setSkinName(%teamname);
        %player.unmountImage($headSlot);
        %player.unmountImage($visorSlot);
        %player.unmountImage($backSlot);
        %player.unmountImage($leftHandSlot);
    }
}
}