function JB_LoadMap_Phase1(%filename) {
	%fileName = "Add-Ons/GameMode_Jailbreak/src/maps/" @ %fileName @ ".bls";
   //put everyone in observer mode
	for(%i = 0; %i < clientGroup.getCount(); %i++) {
		%client = clientGroup.getObject(%i);
		%player = %client.player;
		if(isObject(%player))
			%player.delete();
		%camera = %client.camera;
		%camera.setFlyMode();
		%camera.mode = "Observer";
		%client.setControlObject(%camera);
   }
   
	BrickGroup_2143.chaindeletecallback = "JB_LoadMap_Phase2(\"" @ %filename @ "\");";
	BrickGroup_2143.chaindeleteall();
}
function JB_LoadMap_Phase2(%filename) {
	echo("Loading jailbreak map " @ %filename);
	%displayName = %filename;
	%displayName = strReplace(%displayName, "Add-Ons/GameMode_Jailbreak/src/maps/", "");
	%displayName = strReplace(%displayName, ".bls", "");
	%displayName = strReplace(%displayName, "_", " ");
	
	%displayName = "\c6Loading Map - \c3" @ %fileName;
   
	if(%fileName $= "Gefangnis")
		%displayName = %displayName @ "\c6, created by \c3Skill4Life";
	if(%fileName $= "Desert")
		%displayName = %displayName @ "\c6, created by \c3Niblic";
	
	announce(%displayName);
	schedule(10, 0, serverDirectSaveFileLoad, %fileName, 3, "", 1, 1);
}
Basically ripped from the speedkart gamemode, I'm trying to load a build which works but I'm wondering if there is a way to detect when the build has loaded so I can reset the minigame. Or if there is a better way to do this, I'd just rather not have people running around while the builds are clearing/loading.