Renegade Public Forums
C&C: Renegade --> Dying since 2003™, resurrected in 2024!
Home » Renegade Discussions » Mod Forum » Server Side Hunt The Player
Re: Server Side Hunt The Player [message #314587 is a reply to message #314412] Wed, 30 January 2008 03:28 Go to previous messageGo to next message
wittebolx is currently offline  wittebolx
Messages: 332
Registered: May 2007
Location: the netherlands
Karma: 0
Recruit
reborn wrote on Tue, 29 January 2008 17:22

Change the RandomSpawnCharacter array to model names instead of preset names, like this:

// Note that I havn't included the .w3d file extension
char *RandomSpawnCharacter[3][1] = {
	{ "trike" },
	{ "clown" },
	{ "dino" },

};


Change the MDB_SSGM_Player::Created part of your code to look like this:
(comments have been added for you to follow)


void MDB_SSGM_Player::Created(GameObject *obj) {
/////////////////////////////////////////////////////////////////////////////
// This line of code ensures that the player uses the hard-coded spawn points, 
// as the nuetral team does not have any apart from 0,0,0
RequestSpawn(obj);
/////////////////////////////////////////////////////////////////////////////
// This code here ensures a random number is drawn between 1 and 100
int Rnd	= Commands->Get_Random_Int(1,100);
/////////////////////////////////////////////////////////////////////////////
// declare and initialise Index as 0, Index will be the number used to choose a model from the model array
int Index = 0;
/////////////////////////////////////////////////////////////////////////////
// code to get a random number for Index
//This code here basically changes the chances of the model your character gets set to
//Instead of drawing a random number between one and three (meaning you would have an equal chance of getting any model)
//This code makes sure the greatest chance is of getting Index 1, followed by Index 0, then Index 2.
                if (Rnd	<= 10) Index = 2;
		else if	(Rnd<=60) Index	= 1;
		else if	(Rnd<=80) Index	= 0;

/////////////////////////////////////////////////////////////////////////////
// This code sets the model of the player, using Index as the random number
// but using the array of models made earlier for it's list
//Commands->Set_Model(obj,RandomSpawnCharacter[Index][0]);
////////////////////////////////////////////////////////////////////////////
	if (Settings->ForceTeam != -1) {
		if (Commands->Get_Player_Type(obj) != Settings->ForceTeam) {
			Change_Team(obj,Settings->ForceTeam);
			return;
		}
	}
//etc etc etc



Also please note, the download has now changed to include support for CnC_Under.mix.



i managed to add all mission maps to the .dll with 32 spawn points per map.
also renamed the Hunt the Player Mode to DM
reason: more people.
added !pt command so people can buy normal characters like from the Purchase terminal.
added weapon spawn points.

*still need to figure out the random character spawn, because it gives some problems.
* need to find a way for the credit tick rate to enable.
* need to fix bug where you change character as the infected player, the DNA thing will not disappear.



Re: Server Side Hunt The Player [message #314589 is a reply to message #314587] Wed, 30 January 2008 03:36 Go to previous messageGo to next message
reborn is currently offline  reborn
Messages: 3231
Registered: September 2004
Location: uk - london
Karma: 0
General (3 Stars)
wittebolx wrote on Wed, 30 January 2008 05:28

reborn wrote on Tue, 29 January 2008 17:22

Change the RandomSpawnCharacter array to model names instead of preset names, like this:

// Note that I havn't included the .w3d file extension
char *RandomSpawnCharacter[3][1] = {
	{ "trike" },
	{ "clown" },
	{ "dino" },

};


Change the MDB_SSGM_Player::Created part of your code to look like this:
(comments have been added for you to follow)


void MDB_SSGM_Player::Created(GameObject *obj) {
/////////////////////////////////////////////////////////////////////////////
// This line of code ensures that the player uses the hard-coded spawn points, 
// as the nuetral team does not have any apart from 0,0,0
RequestSpawn(obj);
/////////////////////////////////////////////////////////////////////////////
// This code here ensures a random number is drawn between 1 and 100
int Rnd	= Commands->Get_Random_Int(1,100);
/////////////////////////////////////////////////////////////////////////////
// declare and initialise Index as 0, Index will be the number used to choose a model from the model array
int Index = 0;
/////////////////////////////////////////////////////////////////////////////
// code to get a random number for Index
//This code here basically changes the chances of the model your character gets set to
//Instead of drawing a random number between one and three (meaning you would have an equal chance of getting any model)
//This code makes sure the greatest chance is of getting Index 1, followed by Index 0, then Index 2.
                if (Rnd	<= 10) Index = 2;
		else if	(Rnd<=60) Index	= 1;
		else if	(Rnd<=80) Index	= 0;

/////////////////////////////////////////////////////////////////////////////
// This code sets the model of the player, using Index as the random number
// but using the array of models made earlier for it's list
//Commands->Set_Model(obj,RandomSpawnCharacter[Index][0]);
////////////////////////////////////////////////////////////////////////////
	if (Settings->ForceTeam != -1) {
		if (Commands->Get_Player_Type(obj) != Settings->ForceTeam) {
			Change_Team(obj,Settings->ForceTeam);
			return;
		}
	}
//etc etc etc



Also please note, the download has now changed to include support for CnC_Under.mix.



i managed to add all mission maps to the .dll with 32 spawn points per map.
also renamed the Hunt the Player Mode to DM
reason: more people.
added !pt command so people can buy normal characters like from the Purchase terminal.
added weapon spawn points.

*still need to figure out the random character spawn, because it gives some problems.
* need to find a way for the credit tick rate to enable.
* need to fix bug where you change character as the infected player, the DNA thing will not disappear.




It is not death match mode.. It is hunt the player mode :-/
It's good that you added support for the mission maps. Care to share so I can release it for others?
You know how I feel about chat hooks, but it's your server I guess :-/
Did you add the spawn weapons and stuff via the map or objects.ddb file, or did you make a power-up spawn manager in the .dll?
The random character spawn will mess up if you change someones preset to one that isn't teamed -1. Setting there model will work no matter what, but will mess up for people without scripts.dll updated on there client.
The tick rate is disabled becuase I made it set the health of the ref and weps/air to 0 on map load... I will show you where I done that when I get home if you cannot find it yourself.

What's the DNA bug thing, can you explain it in greater detail please? Is it something that is screwed witht he release, or something you've done yourself?



Re: Server Side Hunt The Player [message #314592 is a reply to message #314589] Wed, 30 January 2008 04:19 Go to previous messageGo to next message
wittebolx is currently offline  wittebolx
Messages: 332
Registered: May 2007
Location: the netherlands
Karma: 0
Recruit
Quote:

title=reborn wrote on Wed, 30 January 2008 11:36
It is not death match mode.. It is hunt the player mode :-/
It's good that you added support for the mission maps. Care to share so I can release it for others?
You know how I feel about chat hooks, but it's your server I guess :-/
Did you add the spawn weapons and stuff via the map or objects.ddb file, or did you make a power-up spawn manager in the .dll?
The random character spawn will mess up if you change someones preset to one that isn't teamed -1. Setting there model will work no matter what, but will mess up for people without scripts.dll updated on there client.
The tick rate is disabled becuase I made it set the health of the ref and weps/air to 0 on map load... I will show you where I done that when I get home if you cannot find it yourself.

What's the DNA bug thing, can you explain it in greater detail please? Is it something that is screwed witht he release, or something you've done yourself?


about DNA bug, when you are the infected player and you change character via the !pt command (i know chathook..) the DNA thing goed away and doesnt come back.

also, why doesnt this work?:
	Commands->Change_Character(obj,RandomSpawnCharacter[Index][0]);

i have no idea why it doesnt work, all i get is an error that i cant seem to fix:
1>.\gmmain.cpp(5407) : error C2039: 'Change_Character' : is not a member of 'ScriptCommands'
1> c:\users\wittebolx\desktop\hunt the player\scripts.h(695) : see declaration of 'ScriptCommands'

and here are some codes i added myself:
char *RandomSpawnCharacter[27][1] = {
	{ "cnc_gdi_engineer_0" },
	{ "cnc_gdi_engineer_2sf" },
	{ "cnc_gdi_grenadier_0" },
	{ "cnc_gdi_grenadier_2sf" },
	{ "cnc_gdi_minigunner_0" },
	{ "cnc_gdi_minigunner_1off" },
	{ "cnc_gdi_minigunner_2sf" },
	{ "cnc_gdi_minigunner_3boss" },
	{ "cnc_gdi_rocketsoldier_0" },
	{ "cnc_gdi_rocketsoldier_2sf" },
	{ "cnc_gdi_rocketsoldier_1off" },
	{ "cnc_sydney_powersuit_alt2" },
	{ "cnc_sydney" },
	{ "cnc_nod_engineer_0" },
	{ "cnc_nod_flamethrower_0" },
	{ "cnc_nod_flamethrower_1off" },
	{ "cnc_nod_flamethrower_2sf" },
	{ "cnc_nod_flamethrower_3boss" },
	{ "cnc_nod_minigunner_0" },
	{ "cnc_nod_minigunner_1off" },
	{ "cnc_nod_minigunner_2sf" },
	{ "cnc_nod_minigunner_3boss" },
	{ "cnc_nod_rocketsoldier_0" },
	{ "cnc_nod_rocketsoldier_1off" },
	{ "cnc_nod_rocketsoldier_2sf" },
	{ "cnc_nod_rocketsoldier_3boss" },
	{ "cnc_nod_technician_0" },

};


void RequestSpawn(GameObject *obj) {
	Vector3 NewPos;

	Spawn:
	// get a random number from 1 to 33
	int RandomSpawn = Commands->Get_Random_Int(1,33);

// if the map is volcano then allow the following to happen
	if (strstr(Data->CurrMap,"C&C_Volcano")) {
// check if the spawn boolean allows you to spawn there and if the random number equals 1
// I won't bother writing comments for the rest, you get the idea...
	if (RandomSpawn == 1 && Spawn1OK == true) {
// Set the allowed to spawn as false (this will ensure that no one else can spawn at the same place as you when they die)
		Spawn1OK = false;
// Set the position of where they are to be moved to
		NewPos.X = 9.269f;
		NewPos.Y = 8.691f;
		NewPos.Z = 3.873f;
// create a little explosion when they spawn
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = -20.972f;
		NewPos.Y = 28.411f;
		NewPos.Z = -0.538f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = -64.304f;
		NewPos.Y = 48.846f;
		NewPos.Z = -3.591f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = -60.498f;
		NewPos.Y = 104.866f;
		NewPos.Z = 3.873f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = -29.620f;
		NewPos.Y = 132.920f;
		NewPos.Z = -3.616f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = 33.422f;
		NewPos.Y = 124.567f;
		NewPos.Z = -3.574f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = 33.704f;
		NewPos.Y = 51.097f;
		NewPos.Z = -3.473f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = 9.485f;
		NewPos.Y = 76.473f;
		NewPos.Z = -3.577f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = 142.005f;
		NewPos.Y = 22.460f;
		NewPos.Z = -3.449f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = 104.241f;
		NewPos.Y = 6.953f;
		NewPos.Z = -3.628f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = 58.066f;
		NewPos.Y = -35.133f;
		NewPos.Z = -3.648f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = 77.324f;
		NewPos.Y = -80.889f;
		NewPos.Z = -3.705f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = 114.192f;
		NewPos.Y = -38.135f;
		NewPos.Z = -1.733f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = 167.814f;
		NewPos.Y = -42.106f;
		NewPos.Z = -3.632;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = 162.793;
		NewPos.Y = -84.725f;
		NewPos.Z = -3.549f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = 111.600f;
		NewPos.Y = -79.748f;
		NewPos.Z = -3.611f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = 23.316f;
		NewPos.Y = -86.181f;
		NewPos.Z = -8.704f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = -8.762f;
		NewPos.Y = -95.591f;
		NewPos.Z = -12.929f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = -17.240f;
		NewPos.Y = -68.683f;
		NewPos.Z = -14.500f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = -39.258f;
		NewPos.Y = -68.708f;
		NewPos.Z = -15.913f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = -29.727f;
		NewPos.Y = -33.479f;
		NewPos.Z = -13.516f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = -67.799f;
		NewPos.Y = -15.489f;
		NewPos.Z = -8.767f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = -83.971f;
		NewPos.Y = -7.567f;
		NewPos.Z = -3.406f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = -80.869f;
		NewPos.Y = -41.679f;
		NewPos.Z = 0.906f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = -52.656f;
		NewPos.Y = -77.863f;
		NewPos.Z = 5.106f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = -32.148f;
		NewPos.Y = -101.776f;
		NewPos.Z = 2.897f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = 34.994f;
		NewPos.Y = -17.782f;
		NewPos.Z = -3.119f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = 11.504f;
		NewPos.Y = -24.479f;
		NewPos.Z = -2.713f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = -22.877f;
		NewPos.Y = -31.605f;
		NewPos.Z = 0.587f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = 48.994f;
		NewPos.Y = 6.259f;
		NewPos.Z = 7.776f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = 86.689f;
		NewPos.Y = 24.903f;
		NewPos.Z = 13.993f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = 97.406f;
		NewPos.Y = 61.942f;
		NewPos.Z = 5.138f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}

	else if (strstr(Data->CurrMap,"C&C_Under")) {
	if (RandomSpawn == 1 && Spawn1OK == true) {
		Spawn1OK = false;
		NewPos.X = 25.056f;
		NewPos.Y = 56.579f;
		NewPos.Z = 29.048f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = -69.257f;
		NewPos.Y = -61.740f;
		NewPos.Z = 23.378f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = -19.263f;
		NewPos.Y = 48.846f;
		NewPos.Z = -3.591f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = -6.381f;
		NewPos.Y = 81.260f;
		NewPos.Z = 33.922f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = -29.620f;
		NewPos.Y = -81.260f;
		NewPos.Z = 33.922f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = -44.123f;
		NewPos.Y = 1.080f;
		NewPos.Z = 4.161f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = -45.509f;
		NewPos.Y = 24.709f;
		NewPos.Z = -1.619f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = 46.966f;
		NewPos.Y = 21.842f;
		NewPos.Z = 3.028f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = 44.022f;
		NewPos.Y = -55.072f;
		NewPos.Z = 12.156f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = 61.307f;
		NewPos.Y = -90.217f;
		NewPos.Z = 19.566f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = -96.389f;
		NewPos.Y = -161.187f;
		NewPos.Z = 3.534f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = -104.777f;
		NewPos.Y = -26.136f;
		NewPos.Z = -1.108f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = -190.634f;
		NewPos.Y = -21.875f;
		NewPos.Z = -3.310f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = -195.342f;
		NewPos.Y = -72.409f;
		NewPos.Z = -3.392;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = -53.203;
		NewPos.Y = -27.137f;
		NewPos.Z = 28.002f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = -3.998f;
		NewPos.Y = -37.700f;
		NewPos.Z = 11.380f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = -23.875f;
		NewPos.Y = -67.052f;
		NewPos.Z = 12.873f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = 44.675f;
		NewPos.Y = -144.734f;
		NewPos.Z = 17.254f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = 17.254f;
		NewPos.Y = -119.372f;
		NewPos.Z = 19.326f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = 1.997f;
		NewPos.Y = 85.789f;
		NewPos.Z = -3.439f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = -71.248f;
		NewPos.Y = 105.247f;
		NewPos.Z = -3.272f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = -56.568f;
		NewPos.Y = 161.868f;
		NewPos.Z = -4.211f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = -30.596f;
		NewPos.Y = -12.772f;
		NewPos.Z = 12.605f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = -53.702f;
		NewPos.Y = -48.056f;
		NewPos.Z = 12.415f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = -82.732f;
		NewPos.Y = -55.993f;
		NewPos.Z = 12.577f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = -88.862f;
		NewPos.Y = -32.036f;
		NewPos.Z = 4.161f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = -145.744f;
		NewPos.Y = 10.406f;
		NewPos.Z = -3.163f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = 28.511f;
		NewPos.Y = -17.985f;
		NewPos.Z = 11.067f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = -50.814f;
		NewPos.Y = -82.273f;
		NewPos.Z = 11.612f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = -118.505f;
		NewPos.Y = -102.755f;
		NewPos.Z = -2.984f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = -57.985f;
		NewPos.Y = -117.403f;
		NewPos.Z = 10.006f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = -45.536f;
		NewPos.Y = 79.451f;
		NewPos.Z = -3.456f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}
// if the map is volcano then allow the following to happen
else if (strstr(Data->CurrMap,"C&C_Islands")) {
// check if the spawn boolean allows you to spawn there and if the random number equals 1
// I won't bother writing comments for the rest, you get the idea...
	if (RandomSpawn == 1 && Spawn1OK == true) {
// Set the allowed to spawn as false (this will ensure that no one else can spawn at the same place as you when they die)
		Spawn1OK = false;
// Set the position of where they are to be moved to
		NewPos.X = -65.578f;
		NewPos.Y = 34.899f;
		NewPos.Z = -0.008f;
// create a little explosion when they spawn
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = -92.529f;
		NewPos.Y = 82.658f;
		NewPos.Z = 0.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = -123.266f;
		NewPos.Y = 16.320f;
		NewPos.Z = 0.055f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = -131.520f;
		NewPos.Y = -27.986f;
		NewPos.Z = 6.317f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = -108.859f;
		NewPos.Y = -27.974f;
		NewPos.Z = 6.333f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = -42.869f;
		NewPos.Y = -4.189f;
		NewPos.Z = 2.701f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = 2.468f;
		NewPos.Y = 23.540f;
		NewPos.Z = -1.726f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = 52.638f;
		NewPos.Y = 9.941f;
		NewPos.Z = 0.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = 89.266f;
		NewPos.Y = 12.153f;
		NewPos.Z = -0.465f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = 20.634;
		NewPos.Y = -10.976f;
		NewPos.Z = -0.326f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = 33.946f;
		NewPos.Y = -47.826f;
		NewPos.Z = -1.252f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = 19.069f;
		NewPos.Y = -62.970f;
		NewPos.Z = -1.726f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = 69.215f;
		NewPos.Y = -56.576f;
		NewPos.Z = -1.726f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = 167.814f;
		NewPos.Y = -42.106f;
		NewPos.Z = -3.632;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = 53.210;
		NewPos.Y = -89.051f;
		NewPos.Z = 0.320f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = 76.006f;
		NewPos.Y = -103.232f;
		NewPos.Z = -0.604f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = 56.414f;
		NewPos.Y = -133.557f;
		NewPos.Z = -0.110f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = -11.023f;
		NewPos.Y = -143.389f;
		NewPos.Z = -1.726f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = -5.962f;
		NewPos.Y = -119.081f;
		NewPos.Z = -1.185f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = -43.173f;
		NewPos.Y = -175.852f;
		NewPos.Z = 3.152f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = -135.792f;
		NewPos.Y = -125.599f;
		NewPos.Z = 0.003f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = -89.803f;
		NewPos.Y = -130.789f;
		NewPos.Z = -0.001f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = -87.865f;
		NewPos.Y = -83.145f;
		NewPos.Z = 6.080f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = -62.008f;
		NewPos.Y = -83.042f;
		NewPos.Z = 6.086f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = -82.670f;
		NewPos.Y = -71.188f;
		NewPos.Z = -8.544f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = -64.019f;
		NewPos.Y = -54.700f;
		NewPos.Z = -8.544f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = -124.496f;
		NewPos.Y = -41.870f;
		NewPos.Z = -8.544f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = -39.637f;
		NewPos.Y = -39.571f;
		NewPos.Z = -8.544f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = -110.762f;
		NewPos.Y = -39.339f;
		NewPos.Z = -8.544f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = -10.310f;
		NewPos.Y = -69.661f;
		NewPos.Z = -8.544f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = -68.904f;
		NewPos.Y = -69.915f;
		NewPos.Z = -8.545f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = 0.806f;
		NewPos.Y = -84.286f;
		NewPos.Z = -0.328f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}
	else if (strstr(Data->CurrMap,"M01")) {
	if (RandomSpawn == 1 && Spawn1OK == true) {
		Spawn1OK = false;
		NewPos.X = 93.032f;
		NewPos.Y = 79.411f;
		NewPos.Z = -4.857f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = -122.393f;
		NewPos.Y = 94.157f;
		NewPos.Z = -6.411f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = -120.029f;
		NewPos.Y = 135.703f;
		NewPos.Z = -1.404f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = -93.361f;
		NewPos.Y = 125.463f;
		NewPos.Z = 2.5109f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = -78.180f;
		NewPos.Y = 105.751f;
		NewPos.Z = 3.518f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = -53.002f;
		NewPos.Y = 108.081f;
		NewPos.Z = 3.589f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = -39.408f;
		NewPos.Y = 129.758f;
		NewPos.Z = 2.963f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = -24.382f;
		NewPos.Y = 146.104f;
		NewPos.Z = 1.011f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = -16.868f;
		NewPos.Y = 169.563f;
		NewPos.Z = 1.119f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = -25.771f;
		NewPos.Y = 191.728f;
		NewPos.Z = 0.881f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = 0.881f;
		NewPos.Y = 206.158f;
		NewPos.Z = 3.631f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = -71.707f;
		NewPos.Y = 206.017f;
		NewPos.Z = 5.801f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = -86.254f;
		NewPos.Y = 186.813f;
		NewPos.Z = 2.101f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = -103.009f;
		NewPos.Y = 170.540f;
		NewPos.Z = 1.156f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = -87.710f; 
		NewPos.Y = 151.034f; 
		NewPos.Z = 1.216f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = -82.236f; 
		NewPos.Y = 136.987f; 
		NewPos.Z = 2.322f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = -63.527f; 
		NewPos.Y = 125.774f; 
		NewPos.Z = 3.390f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = -45.531f; 
		NewPos.Y = 136.995f; 
		NewPos.Z = 2.472f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = -39.530f; 
		NewPos.Y = 159.216f; 
		NewPos.Z = 2.293f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = -42.350f; 
		NewPos.Y = 186.786f; 
		NewPos.Z = 1.402f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = -51.206f; 
		NewPos.Y = 183.623f;
		NewPos.Z = 1.793f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = -58.488f; 
		NewPos.Y = 181.223f; 
		NewPos.Z = 1.793f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = -59.588f; 
		NewPos.Y = 182.102f; 
		NewPos.Z = 6.523f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = -50.141f;
		NewPos.Y = 166.462f; 
		NewPos.Z = 2.026f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = -60.271f; 
		NewPos.Y = 166.403f; 
		NewPos.Z = 2.028f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = -66.624f; 
		NewPos.Y = 154.464f; 
		NewPos.Z = 2.036f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = -69.557f; 
		NewPos.Y = 138.752f; 
		NewPos.Z = 1.347f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = -73.358f; 
		NewPos.Y = 138.404f; 
		NewPos.Z = 1.347f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = -59.307f; 
		NewPos.Y = 147.594f; 
		NewPos.Z = 2.021f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = -80.8074f; 
		NewPos.Y = 69.240f; 
		NewPos.Z = 1.788f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = -92.901f;
		NewPos.Y = 54.889f; 
		NewPos.Z = -0.676f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = -90.686f; 
		NewPos.Y = 31.875f; 
		NewPos.Z = -4.858f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}

	else if (strstr(Data->CurrMap,"M03")) {
	if (RandomSpawn == 1 && Spawn1OK == true) {
		Spawn1OK = false;
		NewPos.X = 65.006103515625f;
		NewPos.Y = 52.120506286621f; 
		NewPos.Z = 46.994472503662f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = 64.668510437012f; 
		NewPos.Y = 60.971313476563f; 
		NewPos.Z = 46.994472503662f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = 72.825439453125f;
		NewPos.Y = 60.988277435303f; 
		NewPos.Z = 46.994472503662f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = -110.9547958374f; 
		NewPos.Y = 75.515998840332f; 
		NewPos.Z = 9.9377613067627f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = -120.62490844727f; 
		NewPos.Y = 83.302703857422f; 
		NewPos.Z = 9.9593887329102f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = -122.70695495605f; 
		NewPos.Y = 88.888961791992f; 
		NewPos.Z = 9.8477659225464f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = -99.344627380371f; 
		NewPos.Y = 82.61457824707f; 
		NewPos.Z = 10.057372093201f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = -82.147018432617f; 
		NewPos.Y = 69.372062683105f; 
		NewPos.Z = 10.329183578491f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = -63.257946014404f; 
		NewPos.Y = 54.33080291748f; 
		NewPos.Z = 9.8919658660889f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = -56.372886657715f; 
		NewPos.Y = 29.429492950439f; 
		NewPos.Z = 10.232938766479f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = -41.623386383057f; 
		NewPos.Y = 28.057956695557f; 
		NewPos.Z = 9.9022769927979f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = -42.081897735596f; 
		NewPos.Y = 12.397909164429f; 
		NewPos.Z = 9.8222217559814f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = -67.822174072266f; 
		NewPos.Y = 30.290029525757f; 
		NewPos.Z = 17.208494186401f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = -65.784660339355f; 
		NewPos.Y = 12.010090827942f; 
		NewPos.Z = 17.209756851196f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = -58.531719207764f; 
		NewPos.Y = 34.929512023926f; 
		NewPos.Z = 13.216559410095f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = -71.27172088623f; 
		NewPos.Y = 45.027523040771f; 
		NewPos.Z = 10.262223243713f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = -81.820709228516f; 
		NewPos.Y = 42.336898803711f; 
		NewPos.Z = 10.325974464417f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = -91.604484558105f; 
		NewPos.Y = 35.828247070313f; 
		NewPos.Z = 10.34476184845f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = -106.07060241699f; 
		NewPos.Y = 14.40703868866f; 
		NewPos.Z = 10.153545379639f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = -114.28244018555f; 
		NewPos.Y = 17.809938430786f; 
		NewPos.Z = 10.34476184845f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = -133.46296691895f; 
		NewPos.Y = 17.708166122437f; 
		NewPos.Z = 10.388935089111f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = -150.8878326416f; 
		NewPos.Y = 36.366840362549f; 
		NewPos.Z = 10.351961135864f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = -148.41122436523f; 
		NewPos.Y = 65.685874938965f; 
		NewPos.Z = 10.009819984436f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = -168.35049438477f;
		NewPos.Y = 9.9061441421509f;
		NewPos.Z = 10.421723365784f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		NewPos.X = -167.89692687988f; 
		NewPos.Y = -10.616461753845f; 
		NewPos.Z = 10.552794456482f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = -144.67330932617f; 
		NewPos.Y = -22.300235748291f; 
		NewPos.Z = 10.263560295105f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = -128.1192779541f; 
		NewPos.Y = -13.301196098328f; 
		NewPos.Z = 10.345967292786f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = -110.15124511719f; 
		NewPos.Y = 43.767120361328f;
		NewPos.Z = 10.163479804993f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = -102.87775421143f; 
		NewPos.Y = 41.869667053223f; 
		NewPos.Z = 9.7131061553955f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = -119.98876953125f; 
		NewPos.Y = 52.388977050781f; 
		NewPos.Z = 10.313445091248f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = -123.30559539795f; 
		NewPos.Y = 64.948463439941f; 
		NewPos.Z = -0.92951595783234f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = -123.34825134277f; 
		NewPos.Y = 48.973022460938f;
		NewPos.Z = -0.92981195449829f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}

	else if (strstr(Data->CurrMap,"M05")) {
	if (RandomSpawn == 1 && Spawn1OK == true) {
		Spawn1OK = false;
		NewPos.X = 23.850292205811f; 
		NewPos.Y = 10.854857444763f; 
		NewPos.Z = 7.0497350692749f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = 29.070964813232f; 
		NewPos.Y = -2.0020010471344f;
		NewPos.Z = 6.3998069763184f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = 30.610973358154f; 
		NewPos.Y = -14.677942276001f;
		NewPos.Z = 5.5481986999512f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = 25.802562713623f; 
		NewPos.Y = -26.208236694336f; 
		NewPos.Z = 5.3087892532349f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = 11.054759025574f; 
		NewPos.Y = -32.729274749756f;
		NewPos.Z = 5.2235498428345f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = -5.0002055168152f; 
		NewPos.Y = -36.681457519531f; 
		NewPos.Z = 5.1708455085754f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = -17.808902740479f; 
		NewPos.Y = -39.635257720947f; 
		NewPos.Z = 5.1113061904907f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = -34.333866119385f; 
		NewPos.Y = -43.323085784912f;
		NewPos.Z = 5.0367498397827f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = -51.325832366943f; 
		NewPos.Y = -46.743537902832f; 
		NewPos.Z = 5.0132741928101f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = -63.271842956543f; 
		NewPos.Y = -49.024990081787f; 
		NewPos.Z = 4.9225716590881f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = -77.021453857422f; 
		NewPos.Y = -51.323139190674f; 
		NewPos.Z = 4.9119424819946f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = -89.906181335449f; 
		NewPos.Y = -52.465766906738f; 
		NewPos.Z = 4.9193964004517f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = -105.7195892334f; 
		NewPos.Y = -52.256145477295f; 
		NewPos.Z = 5.2951855659485f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = -124.52362823486f; 
		NewPos.Y = -47.025241851807f; 
		NewPos.Z = 5.8715238571167f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = -136.77947998047f; 
		NewPos.Y = -41.053314208984f; 
		NewPos.Z = 6.2649059295654f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = -149.88014221191f; 
		NewPos.Y = -33.762672424316f; 
		NewPos.Z = 7.0657024383545f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = -143.40432739258f; 
		NewPos.Y = -60.221981048584f; 
		NewPos.Z = 5.5557827949524f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = -102.86894989014f; 
		NewPos.Y = -66.178558349609f; 
		NewPos.Z = 5.1688785552979f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = -100.74297332764f; 
		NewPos.Y = -78.347351074219f; 
		NewPos.Z = 5.0695691108704f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = -98.464698791504f; 
		NewPos.Y = -91.397918701172f; 
		NewPos.Z = 5.014946937561f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = -88.841697692871f; 
		NewPos.Y = -95.818710327148f; 
		NewPos.Z = 4.951192855835f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = -76.046058654785f; 
		NewPos.Y = -95.626640319824f; 
		NewPos.Z = 5.0129432678223f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = -88.507690429688f; 
		NewPos.Y = -83.625495910645f; 
		NewPos.Z = 5.1458978652954f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = -83.960929870605f; 
		NewPos.Y = -77.18815612793f; 
		NewPos.Z = 5.1458926200867f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = -76.776519775391f; 
		NewPos.Y = -88.61344909668f; 
		NewPos.Z = 5.1458878517151f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = -68.809883117676f; 
		NewPos.Y = -88.469528198242f; 
		NewPos.Z = 5.1458921432495f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = -68.524383544922f; 
		NewPos.Y = -69.970733642578f;
		NewPos.Z = 4.8822078704834f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = -88.748168945313f; 
		NewPos.Y = -71.954284667969f; 
		NewPos.Z = 13.366863250732f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = -88.092155456543f; 
		NewPos.Y = -79.763870239258f; 
		NewPos.Z = 13.366860389709f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = -74.43448638916f; 
		NewPos.Y = -87.073432922363f; 
		NewPos.Z = 13.366860389709f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = -68.624938964844f; 
		NewPos.Y = -88.137313842773f; 
		NewPos.Z = 13.366860389709f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = -67.32674407959f; 
		NewPos.Y = -76.957130432129f; 
		NewPos.Z = 13.366860389709f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}

	else if (strstr(Data->CurrMap,"M07")) {
	if (RandomSpawn == 1 && Spawn1OK == true) {
		Spawn1OK = false;
		NewPos.X = -116.63651275635f; 
		NewPos.Y = 144.7501373291f; 
		NewPos.Z = 30.28377532959f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = -116.70039367676f; 
		NewPos.Y = 131.70085144043f; 
		NewPos.Z = 30.163196563721f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = -121.28568267822f; 
		NewPos.Y = 116.83400726318f; 
		NewPos.Z = 29.95142364502f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = -131.05018615723f; 
		NewPos.Y = 103.42805480957f; 
		NewPos.Z = 29.743860244751f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = -147.48788452148f; 
		NewPos.Y = 102.11985778809f; 
		NewPos.Z = 29.673934936523f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = -162.55819702148f;
		NewPos.Y = 103.55657196045f; 
		NewPos.Z = 29.570426940918f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = -178.82177734375f; 
		NewPos.Y = 105.11713409424f; 
		NewPos.Z = 29.459005355835f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = -200.15545654297f; 
		NewPos.Y = 106.95414733887f; 
		NewPos.Z = 29.465051651001f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = -215.54640197754f; 
		NewPos.Y = 108.14338684082f; 
		NewPos.Z = 29.595315933228f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = -232.22937011719f; 
		NewPos.Y = 109.4447555542f; 
		NewPos.Z = 29.620258331299f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = -244.44256591797f; 
		NewPos.Y = 110.40316009521f; 
		NewPos.Z = 29.739274978638f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = -255.86088562012f; 
		NewPos.Y = 111.29499053955f; 
		NewPos.Z = 29.846309661865f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = -261.84280395508f; 
		NewPos.Y = 125.60028839111f; 
		NewPos.Z = 30.087936401367f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = -247.76661682129f; 
		NewPos.Y = 129.64976501465f; 
		NewPos.Z = 29.975257873535f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = -239.33731079102f; 
		NewPos.Y = 139.36584472656f; 
		NewPos.Z = 29.932706832886f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = -238.24681091309f; 
		NewPos.Y = 154.94018554688f; 
		NewPos.Z = 30.044805526733f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = -238.70356750488f; 
		NewPos.Y = 168.37327575684f; 
		NewPos.Z = 30.053062438965f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = -245.72918701172f; 
		NewPos.Y = 185.05313110352f; 
		NewPos.Z = 30.533149719238f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = -255.54981994629f; 
		NewPos.Y = 196.49334716797f; 
		NewPos.Z = 30.582105636597f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = -271.1708984375f; 
		NewPos.Y = 205.58363342285f; 
		NewPos.Z = 30.805799484253f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = 287.99682617188f; 
		NewPos.Y = 207.79515075684f; 
		NewPos.Z = 30.543474197388f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = -303.79470825195f; 
		NewPos.Y = 208.37274169922f; 
		NewPos.Z = 29.255788803101f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = -320.49716186523f; 
		NewPos.Y = 211.57708740234f;
		NewPos.Z = 27.034345626831f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = -335.88137817383f; 
		NewPos.Y = 211.6820526123f; 
		NewPos.Z = 26.782257080078f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = -326.44314575195f; 
		NewPos.Y = 202.9430847168f; 
		NewPos.Z = 26.732242584229f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = -325.59689331055f; 
		NewPos.Y = 214.92445373535f; 
		NewPos.Z = 34.037906646729f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = -326.51715087891f; 
		NewPos.Y = 199.86413574219f; 
		NewPos.Z = 34.036037445068f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = -223.69413757324f; 
		NewPos.Y = 159.97778320313f; 
		NewPos.Z = 30.11269569397f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = -198.95265197754f; 
		NewPos.Y = 137.24656677246f; 
		NewPos.Z = 30.112691879272f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = -180.54556274414f; 
		NewPos.Y = 131.12243652344f;
		NewPos.Z = 30.993980407715f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = -156.70658874512f; 
		NewPos.Y = 147.71502685547f; 
		NewPos.Z = 30.993980407715f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = -178.47180175781f; 
		NewPos.Y = 148.07878112793f; 
		NewPos.Z = 37.348129272461f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}

	else if (strstr(Data->CurrMap,"M10")) {
	if (RandomSpawn == 1 && Spawn1OK == true) {
		Spawn1OK = false;
		NewPos.X = 48.921615600586f; 
		NewPos.Y = 102.44650268555f; 
		NewPos.Z = 34.337516784668f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = 47.926128387451f; 
		NewPos.Y = 116.6403503418f; 
		NewPos.Z = 34.337516784668f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = 49.709503173828f;
		NewPos.Y = 135.48893737793f;
		NewPos.Z = 34.337516784668f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = 32.378761291504f; 
		NewPos.Y = 135.35203552246f;
		NewPos.Z = 34.337520599365f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = 17.276889801025f; 
		NewPos.Y = 135.39044189453f; 
		NewPos.Z = 34.337520599365f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = 2.9789600372314f; 
		NewPos.Y = 135.42680358887f; 
		NewPos.Z = 34.337520599365f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = -10.622992515564f; 
		NewPos.Y = 135.46139526367f; 
		NewPos.Z = 34.337520599365f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = -22.118907928467f; 
		NewPos.Y = 135.49063110352f;
		NewPos.Z = 34.337520599365f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = -38.816890716553f; 
		NewPos.Y = 135.53309631348f; 
		NewPos.Z = 34.334945678711f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = -42.618423461914f; 
		NewPos.Y = 120.03207397461f; 
		NewPos.Z = 34.337520599365f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = -44.288398742676f; 
		NewPos.Y = 102.47191619873f; 
		NewPos.Z = 34.337516784668f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = -35.276649475098f; 
		NewPos.Y = 99.527572631836f;
		NewPos.Z = 17.973701477051f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = -38.391532897949f;
		NewPos.Y = 85.383781433105f; 
		NewPos.Z = 15.605739593506f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = -22.25306892395f; 
		NewPos.Y = 86.236122131348f; 
		NewPos.Z = 16.186170578003f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = -19.651596069336f; 
		NewPos.Y = 110.387550354f; 
		NewPos.Z = 19.019006729126f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = -24.042953491211f; 
		NewPos.Y = 133.64378356934f; 
		NewPos.Z = 19.019006729126f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = -9.2233228683472f; 
		NewPos.Y = 136.45463562012f; 
		NewPos.Z = 19.019008636475f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = 3.9782745838165f; 
		NewPos.Y = 136.11437988281f; 
		NewPos.Z = 19.019008636475f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = 17.371696472168f; 
		NewPos.Y = 135.7664642334f; 
		NewPos.Z = 19.019008636475f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = 36.071212768555f; 
		NewPos.Y = 138.91744995117f; 
		NewPos.Z = 19.019006729126f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = 48.354438781738f; 
		NewPos.Y = 135.48046875f; 
		NewPos.Z = 19.019006729126f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = 48.701580047607f; 
		NewPos.Y = 116.85259246826f;
		NewPos.Z = 19.019006729126f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = 65.78685760498f; 
		NewPos.Y = 116.98710632324f; 
		NewPos.Z = 19.013750076294f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = 49.935340881348f; 
		NewPos.Y = 97.140769958496f; 
		NewPos.Z = 17.481092453003f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = 5.2862863540649f; 
		NewPos.Y = 102.16333770752f; 
		NewPos.Z = 19.317756652832f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = 6.3700766563416f; 
		NewPos.Y = 92.923751831055f; 
		NewPos.Z = 20.02650642395f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = 19.126050949097f; 
		NewPos.Y = 90.07991027832f; 
		NewPos.Z = 26.950538635254f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = 29.198749542236f; 
		NewPos.Y = 77.384056091309f; 
		NewPos.Z = 18.861736297607f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = -5.5824828147888f; 
		NewPos.Y = 71.746726989746f; 
		NewPos.Z = 20.085088729858f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = 61.675945281982f; 
		NewPos.Y = 128.82955932617f; 
		NewPos.Z = 32.397808074951f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = 77.958679199219f; 
		NewPos.Y = 164.63185119629f; 
		NewPos.Z = 19.04550743103f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = 94.492431640625f; 
		NewPos.Y = 135.57243347168f; 
		NewPos.Z = 19.909471511841f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}

	else if (strstr(Data->CurrMap,"M13")) {
	if (RandomSpawn == 1 && Spawn1OK == true) {
		Spawn1OK = false;
		NewPos.X = 17.266725540161f; 
		NewPos.Y = -0.65853822231293f; 
		NewPos.Z = 5.1198720932007f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = 28.056159973145f; 
		NewPos.Y = 1.9227691888809f; 
		NewPos.Z = 5.3222489356995f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = 41.306186676025f;
		NewPos.Y = 3.6985144615173f; 
		NewPos.Z = 5.3731365203857f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = 53.317359924316f; 
		NewPos.Y = 5.579469203949f; 
		NewPos.Z = 5.1493182182312f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = 70.456466674805f; 
		NewPos.Y = 5.8949646949768f;
		NewPos.Z = 4.7280323505402f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = 86.076721191406f; 
		NewPos.Y = 2.5281779766083f; 
		NewPos.Z = 4.0719475746155f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = 97.591812133789f; 
		NewPos.Y = -6.0020442008972f;
		NewPos.Z = 3.4629242420197f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = 102.62658691406f; 
		NewPos.Y = -21.966466903687f; 
		NewPos.Z = 3.1323990821838f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = 106.31679534912f; 
		NewPos.Y = -33.992069244385f; 
		NewPos.Z = 4.6939091682434f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = 109.9750213623f; 
		NewPos.Y = -44.691585540771f; 
		NewPos.Z = 6.6486058235168f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = 125.79872131348f; 
		NewPos.Y = -48.154163360596f; 
		NewPos.Z = 5.604208946228f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = 135.57989501953f; 
		NewPos.Y = -44.830696105957f; 
		NewPos.Z = 6.2174110412598f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = 132.91221618652f; 
		NewPos.Y = -29.732955932617f; 
		NewPos.Z = 4.8495671749115f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = 125.92281341553f; 
		NewPos.Y = -15.025457382202f; 
		NewPos.Z = 3.4808783531189f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = 117.00187683105f; 
		NewPos.Y = 3.9290752410889f; 
		NewPos.Z = 4.5569379329681f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = 106.23387908936f; 
		NewPos.Y = 14.779637336731f; 
		NewPos.Z = 4.0820271968842f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = 92.272621154785f; 
		NewPos.Y = 24.160089492798f; 
		NewPos.Z = 4.5283970832825f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = 75.523231506348f; 
		NewPos.Y = 28.812753677368f; 
		NewPos.Z = 4.7572336196899f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = 72.769302368164f; 
		NewPos.Y = 16.234188079834f; 
		NewPos.Z = 3.2349574565887f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = 58.614566802979f; 
		NewPos.Y = 27.412546157837f; 
		NewPos.Z = 5.0647230148315f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = 45.551425933838f; 
		NewPos.Y = 22.085052490234f; 
		NewPos.Z = 5.4832983016968f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = 32.820556640625f; 
		NewPos.Y = 25.060638427734f; 
		NewPos.Z = 5.4600367546082f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = 20.665683746338f; 
		NewPos.Y = 26.124782562256f; 
		NewPos.Z = 5.4411263465881f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = 8.5494527816772f; 
		NewPos.Y = -8.5943803787231f; 
		NewPos.Z = 5.2142324447632f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = 2.4048821926117f; 
		NewPos.Y = 1.779855966568f; 
		NewPos.Z = 5.1554412841797f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = -3.3202216625214f; 
		NewPos.Y = 14.656643867493f; 
		NewPos.Z = 5.4242472648621f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = -26.63621711731f; 
		NewPos.Y = 15.09656047821f; 
		NewPos.Z = 3.8908712863922f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = -34.53210067749f; 
		NewPos.Y = 2.8595607280731f; 
		NewPos.Z = 1.7843345403671f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = -21.495456695557f; 
		NewPos.Y = -5.1635646820068f; 
		NewPos.Z = 3.4356000423431f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = 26.870428085327f; 
		NewPos.Y = 14.021278381348f; 
		NewPos.Z = 5.1844630241394f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = 39.042514801025f; 
		NewPos.Y = 14.792248725891f; 
		NewPos.Z = 5.3167185783386f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = 53.660186767578f; 
		NewPos.Y = 16.241395950317f; 
		NewPos.Z = 5.2185564041138f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}

	else if (strstr(Data->CurrMap,"M02")) {
	if (RandomSpawn == 1 && Spawn1OK == true) {
		Spawn1OK = false;
		NewPos.X = 584.78717041016f; 
		NewPos.Y = 913.84509277344f; 
		NewPos.Z = -1.6633079051971f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = 586.37774658203f; 
		NewPos.Y = 901.39886474609f; 
		NewPos.Z = -1.7526245117188f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = 572.48602294922f; 
		NewPos.Y = 889.99261474609f; 
		NewPos.Z = -1.7283055782318f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = 554.63037109375f; 
		NewPos.Y = 884.48297119141f;
		NewPos.Z = -1.1128778457642f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = 534.43280029297f; 
		NewPos.Y = 880.10864257813f; 
		NewPos.Z = -0.33286023139954f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = 513.49066162109f;
		NewPos.Y = 885.76684570313f; 
		NewPos.Z = 0.92130067199469f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = 501.16708374023f; 
		NewPos.Y = 899.79272460938f; 
		NewPos.Z = 2.1223813295364f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = 480.66052246094f; 
		NewPos.Y = 897.43023681641f; 
		NewPos.Z = 3.3145763874054f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = 471.787109375f; 
		NewPos.Y = 875.84710693359f; 
		NewPos.Z = 4.1171028614044f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = 476.60894775391f; 
		NewPos.Y = 851.46850585938f; 
		NewPos.Z = 4.6050071716309f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = 482.53289794922f; 
		NewPos.Y = 831.51934814453f; 
		NewPos.Z = 4.8014612197876f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = 483.27200317383f; 
		NewPos.Y = 813.82830810547f; 
		NewPos.Z = 4.7826161384583f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = 476.39584350586f; 
		NewPos.Y = 796.47821044922f; 
		NewPos.Z = 4.7917153835297f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = 459.52429199219f; 
		NewPos.Y = 787.80450439453f; 
		NewPos.Z = 4.3649890422821f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = 441.90728759766f; 
		NewPos.Y = 784.041015625f; 
		NewPos.Z = 4.0202438831329f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = 427.8542175293f; 
		NewPos.Y = 771.10217285156f; 
		NewPos.Z = 0.91975612938404f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = 424.33905029297f; 
		NewPos.Y = 751.66674804688f;
		NewPos.Z = -4.8175864219666f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = 425.38040161133f; 
		NewPos.Y = 734.59851074219f; 
		NewPos.Z = -8.5863523483276f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = 445.47842407227f; 
		NewPos.Y = 724.17370605469f;
		NewPos.Z = -12.1871509552f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = 465.21298217773f; 
		NewPos.Y = 721.41040039063f; 
		NewPos.Z = -15.034122467041f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = 486.39178466797f; 
		NewPos.Y = 714.52362060547f; 
		NewPos.Z = -17.482192993164f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = 503.31283569336f; 
		NewPos.Y = 704.29772949219f; 
		NewPos.Z = -18.55899810791f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = 363.10330200195f; 
		NewPos.Y = 767.16760253906f; 
		NewPos.Z = 7.7208714485168f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = 351.03274536133f; 
		NewPos.Y = 788.26593017578f; 
		NewPos.Z = 4.9589147567749f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = 348.80725097656f; 
		NewPos.Y = 809.97351074219f; 
		NewPos.Z = 6.3280124664307f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = 349.99771118164f; 
		NewPos.Y = 827.95648193359f; 
		NewPos.Z = 6.3151173591614f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = 354.23049926758f; 
		NewPos.Y = 847.41571044922f; 
		NewPos.Z = 6.8187441825867f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = 363.27938842773f; 
		NewPos.Y = 872.30212402344f; 
		NewPos.Z = 6.1597242355347f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = 373.92144775391f; 
		NewPos.Y = 892.31329345703f; 
		NewPos.Z = 5.4646430015564f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = 393.84732055664f; 
		NewPos.Y = 908.42205810547f; 
		NewPos.Z = 4.1575224399567f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = 411.30413818359f; 
		NewPos.Y = 917.85015869141f; 
		NewPos.Z = 6.8140640258789f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = 439.44201660156f; 
		NewPos.Y = 923.72076416016f; 
		NewPos.Z = 9.4492864608765f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}

	else if (strstr(Data->CurrMap,"M06")) {
	if (RandomSpawn == 1 && Spawn1OK == true) {
		Spawn1OK = false;
		NewPos.X = 17.930034637451f; 
		NewPos.Y = -41.659755706787f; 
		NewPos.Z = 7.0189943313599f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = 13.970408439636f; 
		NewPos.Y = -26.958986282349f; 
		NewPos.Z = 7.0189995765686f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = 13.566187858582f; 
		NewPos.Y = -8.3493499755859f; 
		NewPos.Z = 7.0189986228943f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = 13.530658721924f; 
		NewPos.Y = 3.0085570812225f; 
		NewPos.Z = 7.0189995765686f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = 23.590347290039f; 
		NewPos.Y = 3.5157742500305f; 
		NewPos.Z = 7.0189986228943f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = 25.949756622314f; 
		NewPos.Y = 12.484521865845f; 
		NewPos.Z = 7.0190010070801f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = 25.923007965088f; 
		NewPos.Y = 22.846439361572f;
		NewPos.Z = 7.0190014839172f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = 25.319650650024f; 
		NewPos.Y = 17.219724655151f; 
		NewPos.Z = -0.98099660873413f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = -1.0043543577194f; 
		NewPos.Y = 33.23649597168f; 
		NewPos.Z = 7.0189957618713f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = 23.401239395142f; 
		NewPos.Y = 31.788677215576f; 
		NewPos.Z = 1.0190009251237f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = 41.762783050537f; 
		NewPos.Y = 14.411650657654f; 
		NewPos.Z = -0.98099827766418f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = 55.68826675415f; 
		NewPos.Y = 4.1190624237061f; 
		NewPos.Z = -3.9804315567017f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = 43.526443481445f; 
		NewPos.Y = 11.661541938782f; 
		NewPos.Z = -7.9809999465942f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = 5.638768196106f; 
		NewPos.Y = -2.369464635849f;
		NewPos.Z = 1.0189999043941f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = 5.5177035331726f; 
		NewPos.Y = -15.220881462097f; 
		NewPos.Z = 1.0189999006689f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = 5.4382352828979f; 
		NewPos.Y = -37.460544586182f; 
		NewPos.Z = 5.0208282470703f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = 8.8531150817871f; 
		NewPos.Y = -28.606813430786f; 
		NewPos.Z = 7.0189990997314f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = 1.8330520391464f; 
		NewPos.Y = -28.497220993042f; 
		NewPos.Z = 7.0189990997314f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = -3.1206123828888f; 
		NewPos.Y = -15.947816848755f; 
		NewPos.Z = 7.0189986228943f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = -1.9673683643341f; 
		NewPos.Y = 2.6727705001831f; 
		NewPos.Z = 7.0189990997314f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = 12.349419593811f; 
		NewPos.Y = 3.5725357532501f; 
		NewPos.Z = 7.0189995765686f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = 14.648083686829f;
		NewPos.Y = 7.6078805923462f; 
		NewPos.Z = 7.0190005302429f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = 4.2868328094482f; 
		NewPos.Y = 7.4940209388733f; 
		NewPos.Z = 7.0189995765686f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = -3.7934367656708f; 
		NewPos.Y = 12.608921051025f; 
		NewPos.Z = 7.0189986228943f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = -4.1921424865723f; 
		NewPos.Y = 22.832349777222f; 
		NewPos.Z = 7.0189986228943f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = 7.6587405204773f; 
		NewPos.Y = 23.898368835449f; 
		NewPos.Z = 7.0189981460571f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = 17.211256027222f; 
		NewPos.Y = 24.364667892456f; 
		NewPos.Z = 7.0190000534058f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = 49.666610717773f; 
		NewPos.Y = 17.508028030396f; 
		NewPos.Z = 13.015302658081f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = 38.184074401855f; 
		NewPos.Y = 23.226833343506f; 
		NewPos.Z = 13.137537956238f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = 32.994125366211f; 
		NewPos.Y = 17.442153930664f; 
		NewPos.Z = 13.850888252258f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = 33.871486663818f; 
		NewPos.Y = 10.125178337097f; 
		NewPos.Z = 13.144733428955f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = 41.624389648438f; 
		NewPos.Y = 16.412538528442f; 
		NewPos.Z = 13.130729675293f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}

	else if (strstr(Data->CurrMap,"M08")) {
	if (RandomSpawn == 1 && Spawn1OK == true) {
		Spawn1OK = false;
		NewPos.X = -36.957523345947f; 
		NewPos.Y = 548.41571044922f; 
		NewPos.Z = -84.696174621582f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = -37.614635467529f; 
		NewPos.Y = 560.30212402344f; 
		NewPos.Z = -84.807640075684f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = -27.658107757568f; 
		NewPos.Y = 564.83532714844f; 
		NewPos.Z = -84.772994995117f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = -21.652879714966f; 
		NewPos.Y = 572.06890869141f; 
		NewPos.Z = -84.652992248535f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = -8.3283605575562f; 
		NewPos.Y = 573.81201171875f; 
		NewPos.Z = -84.59757232666f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = 3.2238113880157f; 
		NewPos.Y = 573.51824951172f; 
		NewPos.Z = -84.560615539551f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = 17.763008117676f; 
		NewPos.Y = 573.14776611328f; 
		NewPos.Z = -84.560340881348f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = 30.003540039063f; 
		NewPos.Y = 586.08380126953f; 
		NewPos.Z = -84.595893859863f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = 38.458106994629f; 
		NewPos.Y = 588.92449951172f; 
		NewPos.Z = -84.595886230469f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = 34.460674285889f; 
		NewPos.Y = 563.88140869141f; 
		NewPos.Z = -84.605628967285f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = 25.221338272095f; 
		NewPos.Y = 548.59625244141f; 
		NewPos.Z = -84.591812133789f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = 17.34525680542f; 
		NewPos.Y = 536.56268310547f; 
		NewPos.Z = -84.311790466309f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = -5.2855362892151f; 
		NewPos.Y = 510.31079101563f; 
		NewPos.Z = -79.701164245605f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = 5.4106111526489f; 
		NewPos.Y = 522.48303222656f; 
		NewPos.Z = -81.564659118652f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = -13.750266075134f; 
		NewPos.Y = 500.90441894531f; 
		NewPos.Z = -79.701171875f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = -22.882472991943f; 
		NewPos.Y = 490.6139831543f; 
		NewPos.Z = -79.70092010498f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = -31.123296737671f; 
		NewPos.Y = 480.1725769043f; 
		NewPos.Z = -78.679542541504f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = -41.810817718506f; 
		NewPos.Y = 465.87255859375f; 
		NewPos.Z = -77.270545959473f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = -45.777538299561f; 
		NewPos.Y = 452.89822387695f; 
		NewPos.Z = -76.910835266113f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = -45.966613769531f; 
		NewPos.Y = 438.95571899414f; 
		NewPos.Z = -76.962387084961f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = -36.289745330811f; 
		NewPos.Y = 452.94174194336f; 
		NewPos.Z = -76.963096618652f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = -22.345251083374f; 
		NewPos.Y = 453.64212036133f; 
		NewPos.Z = -76.962394714355f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = -4.6187882423401f; 
		NewPos.Y = 455.2795715332f; 
		NewPos.Z = -76.962394714355f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = 15.344830513f; 
		NewPos.Y = 461.14288330078f; 
		NewPos.Z = -76.96240234375f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = 29.035684585571f; 
		NewPos.Y = 472.70907592773f; 
		NewPos.Z = -76.96240234375f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = 31.520847320557f; 
		NewPos.Y = 486.71234130859f;
		NewPos.Z = -76.96240234375f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = 31.736013412476f; 
		NewPos.Y = 500.16122436523f;
		NewPos.Z = -76.96240234375f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = 32.021781921387f; 
		NewPos.Y = 510.61514282227f;
		NewPos.Z = -76.96240234375f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = -6.1281709671021f; 
		NewPos.Y = 444.39743041992f; 
		NewPos.Z = -76.990921020508f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = -4.6536540985107f; 
		NewPos.Y = 433.03256225586f; 
		NewPos.Z = -76.972213745117f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = -20.565391540527f; 
		NewPos.Y = 432.29470825195f; 
		NewPos.Z = -76.972213745117f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = -21.451160430908f; 
		NewPos.Y = 443.31533813477f; 
		NewPos.Z = -76.972213745117f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}

	else if (strstr(Data->CurrMap,"M11")) {
	if (RandomSpawn == 1 && Spawn1OK == true) {
		Spawn1OK = false;
		NewPos.X = -0.17854605615139f;
		NewPos.Y = 94.561401367188f;
		NewPos.Z = -33.214282989502f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = 0.36729165911675f; 
		NewPos.Y = 82.427680969238f; 
		NewPos.Z = -33.214298248291f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = -5.8288540840149f; 
		NewPos.Y = 79.790740966797f; 
		NewPos.Z = -38.441871643066f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = -3.7944235801697f; 
		NewPos.Y = 55.058883666992f; 
		NewPos.Z = -38.467098236084f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = 1.5166391134262f; 
		NewPos.Y = 53.599742889404f; 
		NewPos.Z = -44.764656066895f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = -9.6485347747803f; 
		NewPos.Y = 64.330749511719f; 
		NewPos.Z = -44.764656066895f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = 0.057154469192028f; 
		NewPos.Y = 76.94075012207f; 
		NewPos.Z = -48.143642425537f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = -5.8097972869873f;
		NewPos.Y = 71.439590454102f; 
		NewPos.Z = -51.095138549805f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = -0.66785538196564f; 
		NewPos.Y = 58.558837890625f; 
		NewPos.Z = -51.095146179199f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = 21.261148452759f;
		NewPos.Y = 58.279216766357f; 
		NewPos.Z = -53.281028747559f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = 33.248184204102f; 
		NewPos.Y = 64.998077392578f; 
		NewPos.Z = -54.20426940918f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = 97.413749694824f; 
		NewPos.Y = 50.093284606934f; 
		NewPos.Z = -61.667247772217f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = 97.398048400879f;
		NewPos.Y = 43.540328979492f; 
		NewPos.Z = -61.667247772217f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = 83.759437561035f; 
		NewPos.Y = 45.877738952637f; 
		NewPos.Z = -61.66724395752f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = 55.772983551025f; 
		NewPos.Y = 45.911594390869f; 
		NewPos.Z = -61.66724395752f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = 37.443328857422f; 
		NewPos.Y = 46.007286071777f; 
		NewPos.Z = -61.667240142822f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = 22.504320144653f; 
		NewPos.Y = 45.672046661377f; 
		NewPos.Z = -61.667240142822f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = 25.577869415283f; 
		NewPos.Y = 29.661560058594f;
		NewPos.Z = -62.730339050293f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = 15.227779388428f; 
		NewPos.Y = 29.264289855957f; 
		NewPos.Z = -62.731029510498f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = 20.862987518311f; 
		NewPos.Y = 19.450553894043f; 
		NewPos.Z = -62.728939056396f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = 15.584223747253f; 
		NewPos.Y = 8.9534282684326f;
		NewPos.Z = -62.730293273926f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = 8.0012845993042f; 
		NewPos.Y = 0.25313025712967f; 
		NewPos.Z = -62.731094360352f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = -0.91075021028519f; 
		NewPos.Y = -11.397403717041f; 
		NewPos.Z = -62.730472564697f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = 3.5440919399261f; 
		NewPos.Y = 22.326547622681f; 
		NewPos.Z = -62.773471832275f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = 2.8809931278229f; 
		NewPos.Y = 28.879434585571f; 
		NewPos.Z = -62.732120513916f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = -3.3464167118073f;
		NewPos.Y = 27.874572753906f; 
		NewPos.Z = -62.732116699219f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = -16.457319259644f; 
		NewPos.Y = 29.627326965332f; 
		NewPos.Z = -62.730369567871f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = -9.0939531326294f;
		NewPos.Y = 25.21865272522f; 
		NewPos.Z = -62.732105255127f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = 1.185063958168f; 
		NewPos.Y = 26.143671035767f; 
		NewPos.Z = -63.213897705078f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = -0.0003907703794539f; 
		NewPos.Y = 13.056221961975f; 
		NewPos.Z = -62.732120513916f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = 8.3378210067749f; 
		NewPos.Y = 13.017148971558f; 
		NewPos.Z = -62.732456207275f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = -2.8589682579041f; 
		NewPos.Y = 20.866159439087f; 
		NewPos.Z = -62.732116699219f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}
else if (strstr(Data->CurrMap,"C&C_Complex")) {
// check if the spawn boolean allows you to spawn there and if the random number equals 1
// I won't bother writing comments for the rest, you get the idea...
	if (RandomSpawn == 1 && Spawn1OK == true) {
// Set the allowed to spawn as false (this will ensure that no one else can spawn at the same place as you when they die)
		Spawn1OK = false;
// Set the position of where they are to be moved to
		NewPos.X = 29.759f;
		NewPos.Y = -139.211f;
		NewPos.Z = -1.344f;
// create a little explosion when they spawn
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = -18.947f;
		NewPos.Y = -144.600f;
		NewPos.Z = 0.009f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = -68.554f;
		NewPos.Y = -121.414f;
		NewPos.Z = -0.005f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = -41.820f;
		NewPos.Y = -82.063f;
		NewPos.Z = 0.468f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = -13.144f;
		NewPos.Y = -114.224f;
		NewPos.Z = 0.013f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = 34.100f;
		NewPos.Y = -58.812f;
		NewPos.Z = 0.014f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = 19.662f;
		NewPos.Y = 98.160f;
		NewPos.Z = 0.006f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = 16.049f;
		NewPos.Y = 64.136f;
		NewPos.Z = 0.573f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = -14.432f;
		NewPos.Y = 126.751f;
		NewPos.Z = 0.076f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = -9.246;
		NewPos.Y = 200.487f;
		NewPos.Z = -0.005f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = -63.306f;
		NewPos.Y = 176.662f;
		NewPos.Z = -0.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = -92.719f;
		NewPos.Y = 145.071f;
		NewPos.Z = 0.021f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = -92.137f;
		NewPos.Y = 67.515f;
		NewPos.Z = -1.350f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = -42.059f;
		NewPos.Y = 74.158f;
		NewPos.Z = 0.048f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = 6.385f;
		NewPos.Y = 43.794f;
		NewPos.Z = -4.256f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = -22.665f;
		NewPos.Y = 27.622f;
		NewPos.Z = -7.996f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = -15.643f;
		NewPos.Y = 21.344f;
		NewPos.Z = -8.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = 11.426f;
		NewPos.Y = -5.549f;
		NewPos.Z = -8.838f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = 52.629f;
		NewPos.Y = -7.140f;
		NewPos.Z = -11.481f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = 30.552f;
		NewPos.Y = -20.318f;
		NewPos.Z = -0.738f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = -9.655f;
		NewPos.Y = 8.064f;
		NewPos.Z = 7.460f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = -26.422f;
		NewPos.Y = -13.463f;
		NewPos.Z = 7.452f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = -67.220f;
		NewPos.Y = 6.842f;
		NewPos.Z = -0.005f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = -100.376f;
		NewPos.Y = 6.165f;
		NewPos.Z = 0.008f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = -65.298f;
		NewPos.Y = 18.607f;
		NewPos.Z = -8.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = -78.724f;
		NewPos.Y = -5.086f;
		NewPos.Z = -7.996f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = -51.752f;
		NewPos.Y = -32.870f;
		NewPos.Z = -8.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = -47.741f;
		NewPos.Y = -17.185f;
		NewPos.Z = -4.489f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = -20.081f;
		NewPos.Y = -7.371f;
		NewPos.Z = 0.006f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = -37.798f;
		NewPos.Y = -0.085f;
		NewPos.Z = 0.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = -49.555f;
		NewPos.Y = -5.239f;
		NewPos.Z = -4.500f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = -32.315f;
		NewPos.Y = 3.448f;
		NewPos.Z = -4.500f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}
else if (strstr(Data->CurrMap,"C&C_Mesa")) {
// check if the spawn boolean allows you to spawn there and if the random number equals 1
// I won't bother writing comments for the rest, you get the idea...
	if (RandomSpawn == 1 && Spawn1OK == true) {
// Set the allowed to spawn as false (this will ensure that no one else can spawn at the same place as you when they die)
		Spawn1OK = false;
// Set the position of where they are to be moved to
		NewPos.X = -18.321f;
		NewPos.Y = 23.134f;
		NewPos.Z = 7.462f;
// create a little explosion when they spawn
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = -27.755f;
		NewPos.Y = 60.530f;
		NewPos.Z = 7.488f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = -85.255f;
		NewPos.Y = 62.227f;
		NewPos.Z = 10.162f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = -113.034f;
		NewPos.Y = 103.797f;
		NewPos.Z = 18.984f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = -56.230f;
		NewPos.Y = 110.080f;
		NewPos.Z = 4.582f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = -94.167f;
		NewPos.Y = 129.673f;
		NewPos.Z = 7.395f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = -112.643f;
		NewPos.Y = 62.103f;
		NewPos.Z = 6.398f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = 43.295f;
		NewPos.Y = -14.815f;
		NewPos.Z = 7.436f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = 15.751f;
		NewPos.Y = -2.089f;
		NewPos.Z = 7.435f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = 52.608f;
		NewPos.Y = -39.092f;
		NewPos.Z = 7.791f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = 80.859f;
		NewPos.Y = -56.376f;
		NewPos.Z = 7.729f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = 116.617f;
		NewPos.Y = -81.048f;
		NewPos.Z = 13.914f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = 79.490f;
		NewPos.Y = -104.677f;
		NewPos.Z = 8.127f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = 50.144f;
		NewPos.Y = -125.766f;
		NewPos.Z = 7.955f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = 16.947f;
		NewPos.Y = -120.988f;
		NewPos.Z = 7.687f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = 11.989f;
		NewPos.Y = -152.867f;
		NewPos.Z = 7.948f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = -22.353f;
		NewPos.Y = -132.540f;
		NewPos.Z = 7.454f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = 57.510f;
		NewPos.Y = -67.566f;
		NewPos.Z = 14.853f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = 23.502f;
		NewPos.Y = -64.923f;
		NewPos.Z = 4.797f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = 93.051f;
		NewPos.Y = -24.288f;
		NewPos.Z = 13.734f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = 140.336f;
		NewPos.Y = -35.065f;
		NewPos.Z = 7.851f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = 147.182f;
		NewPos.Y = -6.957f;
		NewPos.Z = 6.786f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = 168.905f;
		NewPos.Y = 21.064f;
		NewPos.Z = 7.871f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = 146.889f;
		NewPos.Y = 51.662f;
		NewPos.Z = 6.610f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = 98.962f;
		NewPos.Y = 86.684f;
		NewPos.Z = 0.241f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = 67.592f;
		NewPos.Y = 7.455f;
		NewPos.Z = -0.002f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = 21.731f;
		NewPos.Y = 71.355f;
		NewPos.Z = 1.098f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = 19.450f;
		NewPos.Y = 123.659f;
		NewPos.Z = -0.029f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = -91.728f;
		NewPos.Y = -1.108f;
		NewPos.Z = 0.005f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = -64.635f;
		NewPos.Y = -82.141f;
		NewPos.Z = 0.263f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = -15.416f;
		NewPos.Y = -12.575f;
		NewPos.Z = 0.041f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = -13.090f;
		NewPos.Y = -73.559f;
		NewPos.Z = -0.003f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}
else if (strstr(Data->CurrMap,"C&C_Canyon")) {
// check if the spawn boolean allows you to spawn there and if the random number equals 1
// I won't bother writing comments for the rest, you get the idea...
	if (RandomSpawn == 1 && Spawn1OK == true) {
// Set the allowed to spawn as false (this will ensure that no one else can spawn at the same place as you when they die)
		Spawn1OK = false;
// Set the position of where they are to be moved to
		NewPos.X = -74.112f;
		NewPos.Y = 104.265f;
		NewPos.Z = 0.000f;
// create a little explosion when they spawn
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = 13.778f;
		NewPos.Y = 125.087f;
		NewPos.Z = 4.651f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = -37.199f;
		NewPos.Y = 109.046f;
		NewPos.Z = 0.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = -87.891f;
		NewPos.Y = 99.151f;
		NewPos.Z = 14.493f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = -72.725f;
		NewPos.Y = 17.930f;
		NewPos.Z = 18.135f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = -86.858f;
		NewPos.Y = -13.849f;
		NewPos.Z = 4.952f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = -96.162f;
		NewPos.Y = -16.464f;
		NewPos.Z = 11.197f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = -71.342f;
		NewPos.Y = -18.366f;
		NewPos.Z = 18.494f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = -102.372f;
		NewPos.Y = -115.827f;
		NewPos.Z = 16.668f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = -62.311f;
		NewPos.Y = -61.373f;
		NewPos.Z = 2.985f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = 19.985f;
		NewPos.Y = -57.477f;
		NewPos.Z = 3.001f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = 39.541f;
		NewPos.Y = -128.044f;
		NewPos.Z = -10.475f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = -4.171f;
		NewPos.Y = -111.624f;
		NewPos.Z = -10.475f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = -90.322f;
		NewPos.Y = -139.205f;
		NewPos.Z = -0.001f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = -85.972f;
		NewPos.Y = -91.692f;
		NewPos.Z = 0.292f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = -3.225f;
		NewPos.Y = -113.586f;
		NewPos.Z = -0.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = -18.191f;
		NewPos.Y = -71.458f;
		NewPos.Z = 0.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = 65.891f;
		NewPos.Y = -58.523f;
		NewPos.Z = 1.922f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = 68.835f;
		NewPos.Y = -27.321f;
		NewPos.Z = 4.353f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = -34.559f;
		NewPos.Y = -0.757f;
		NewPos.Z = 1.438f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = 0.009f;
		NewPos.Y = 28.818f;
		NewPos.Z = 0.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = 61.807f;
		NewPos.Y = 16.806f;
		NewPos.Z = 0.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = 33.999f;
		NewPos.Y = 64.939f;
		NewPos.Z = 2.998f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = 73.947f;
		NewPos.Y = 52.360f;
		NewPos.Z = 0.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = 65.242f;
		NewPos.Y = 124.350f;
		NewPos.Z = 0.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = 13.812f;
		NewPos.Y = 106.224f;
		NewPos.Z = 0.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = 25.494f;
		NewPos.Y = 36.016f;
		NewPos.Z = 1.363f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = 4.355f;
		NewPos.Y = 30.857f;
		NewPos.Z = 3.342f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = -27.061f;
		NewPos.Y = 50.745f;
		NewPos.Z = 2.213f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = -82.431f;
		NewPos.Y = 18.398f;
		NewPos.Z = 2.920f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = -96.335f;
		NewPos.Y = 42.151f;
		NewPos.Z = 12.036f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = -83.384f;
		NewPos.Y = -57.888f;
		NewPos.Z = 3.854f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}
else if (strstr(Data->CurrMap,"C&C_Field")) {
// check if the spawn boolean allows you to spawn there and if the random number equals 1
// I won't bother writing comments for the rest, you get the idea...
	if (RandomSpawn == 1 && Spawn1OK == true) {
// Set the allowed to spawn as false (this will ensure that no one else can spawn at the same place as you when they die)
		Spawn1OK = false;
// Set the position of where they are to be moved to
		NewPos.X = 5.273f;
		NewPos.Y = 57.273f;
		NewPos.Z = 0.528f;
// create a little explosion when they spawn
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 2 && Spawn2OK == true) {
		Spawn2OK = false;
		NewPos.X = 15.026f;
		NewPos.Y = 16.863f;
		NewPos.Z = 4.729f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 3 && Spawn3OK == true) {
		Spawn3OK = false;
		NewPos.X = 65.161f;
		NewPos.Y = 11.431f;
		NewPos.Z = 0.301f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 4 && Spawn4OK == true) {
		Spawn4OK = false;
		NewPos.X = -5.390f;
		NewPos.Y = -3.360f;
		NewPos.Z = 3.262f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 5 && Spawn5OK == true) {
		Spawn5OK = false;
		NewPos.X = -19.356f;
		NewPos.Y = 42.073f;
		NewPos.Z = 0.010f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 6 && Spawn6OK == true) {
		Spawn6OK = false;
		NewPos.X = -37.691f;
		NewPos.Y = -33.976f;
		NewPos.Z = 5.244f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 7 && Spawn7OK == true) {
		Spawn7OK = false;
		NewPos.X = -51.139f;
		NewPos.Y = 32.783f;
		NewPos.Z = -0.558f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 8 && Spawn8OK == true) {
		Spawn8OK = false;
		NewPos.X = -67.228f;
		NewPos.Y = 94.305f;
		NewPos.Z = 0.296f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 9 && Spawn9OK == true) {
		Spawn9OK = false;
		NewPos.X = -90.969f;
		NewPos.Y = 54.851f;
		NewPos.Z = 0.019f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 10 && Spawn10OK == true) {
		Spawn10OK = false;
		NewPos.X = -141.506f;
		NewPos.Y = 14.592f;
		NewPos.Z = -3.155f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 11 && Spawn11OK == true) {
		Spawn11OK = false;
		NewPos.X = -122.929f;
		NewPos.Y = 74.229f;
		NewPos.Z = 0.042f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 12 && Spawn12OK == true) {
		Spawn12OK = false;
		NewPos.X = -85.974f;
		NewPos.Y = -31.588f;
		NewPos.Z = -11.751f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 13 && Spawn13OK == true) {
		Spawn13OK = false;
		NewPos.X = -160.826f;
		NewPos.Y = -69.883f;
		NewPos.Z = 2.519f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 14 && Spawn14OK == true) {
		Spawn14OK = false;
		NewPos.X = -168.499f;
		NewPos.Y = -104.218f;
		NewPos.Z = -12.265f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 15 && Spawn15OK == true) {
		Spawn15OK = false;
		NewPos.X = -141.832f;
		NewPos.Y = -96.085f;
		NewPos.Z = -10.759f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 16 && Spawn16OK == true) {
		Spawn16OK = false;
		NewPos.X = -147.463f;
		NewPos.Y = -126.542f;
		NewPos.Z = -14.345f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 17 && Spawn17OK == true) {
		Spawn17OK = false;
		NewPos.X = -72.952f;
		NewPos.Y = -82.345f;
		NewPos.Z = -13.686f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 18 && Spawn18OK == true) {
		Spawn18OK = false;
		NewPos.X = -122.497f;
		NewPos.Y = -138.255f;
		NewPos.Z = -12.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 19 && Spawn19OK == true) {
		Spawn19OK = false;
		NewPos.X = 80.301f;
		NewPos.Y = -124.017f;
		NewPos.Z = -9.642f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 20 && Spawn20OK == true) {
		Spawn20OK = false;
		NewPos.X = -21.169f;
		NewPos.Y = -83.424f;
		NewPos.Z = -8.311f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 21 && Spawn21OK == true) {
		Spawn21OK = false;
		NewPos.X = -60.923f;
		NewPos.Y = -162.247f;
		NewPos.Z = 1.291f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 22 && Spawn22OK == true) {
		Spawn22OK = false;
		NewPos.X = 6.720f;
		NewPos.Y = -74.317f;
		NewPos.Z = 0.026f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 23 && Spawn23OK == true) {
		Spawn23OK = false;
		NewPos.X = 17.820f;
		NewPos.Y = -126.877f;
		NewPos.Z = -0.242f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 24 && Spawn24OK == true) {
		Spawn24OK = false;
		NewPos.X = 60.634f;
		NewPos.Y = -59.493f;
		NewPos.Z = -0.008f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 25 && Spawn25OK == true) {
		Spawn25OK = false;
		NewPos.X = 92.997f;
		NewPos.Y = -41.580f;
		NewPos.Z = -0.001f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 26 && Spawn26OK == true) {
		Spawn26OK = false;
		NewPos.X = 33.287f;
		NewPos.Y = -43.037f;
		NewPos.Z = 0.000f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 27 && Spawn27OK == true) {
		Spawn27OK = false;
		NewPos.X = -100.528f;
		NewPos.Y = -100.433f;
		NewPos.Z = -14.311f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 28 && Spawn28OK == true) {
		Spawn28OK = false;
		NewPos.X = -91.876f;
		NewPos.Y = -73.055f;
		NewPos.Z = -14.025f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 29 && Spawn29OK == true) {
		Spawn29OK = false;
		NewPos.X = -50.385f;
		NewPos.Y = -45.760f;
		NewPos.Z = -13.872f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 30 && Spawn30OK == true) {
		Spawn30OK = false;
		NewPos.X = 2.853f;
		NewPos.Y = -40.124f;
		NewPos.Z = 0.0495f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 31 && Spawn31OK == true) {
		Spawn31OK = false;
		NewPos.X = -75.674f;
		NewPos.Y = -78.536f;
		NewPos.Z = -8.954f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
	else if (RandomSpawn == 32 && Spawn32OK == true) {
		Spawn32OK = false;
		NewPos.X = 67.757f;
		NewPos.Y = -97.144f;
		NewPos.Z = 1.798f;
		Commands->Create_Explosion("Explosion_Crate_Large",NewPos,0);
	}
// If none are available then loop again until the conditions are met (chances are very slim)
	else goto Spawn;
	char param[5];
	sprintf(param,"%d",RandomSpawn);
// Once the position is choosen then create an object and attach the spawn refresh code to it
	GameObject *Refresh = Commands->Create_Object("Invisible_Object",NewPos);
	Commands->Attach_Script(Refresh,"KAK_DM_Refresh_Spawn",param);
// Move the player to there new spawn location
	Commands->Set_Position(obj,NewPos);
}
}



[Updated on: Wed, 30 January 2008 04:36]

Report message to a moderator

Re: Server Side Hunt The Player [message #314593 is a reply to message #313512] Wed, 30 January 2008 05:06 Go to previous messageGo to next message
reborn is currently offline  reborn
Messages: 3231
Registered: September 2004
Location: uk - london
Karma: 0
General (3 Stars)
I was so tempted to quote all that Razz
Thankyou for sharing, I personally know what a pain in the ass it was to copy that shit from dm.ini. I will update the source and release it so everyone can host more maps Smile

Use this instead:
Change_Character(obj,RandomSpawnCharacter[Index][0]);

Change_Character is not a script command class...


Your array will work, but it will only work properly if you update:

/////////////////////////////////////////////////////////////////////////////
// This code here ensures a random number is drawn between 1 and 100
//int Rnd = Commands->Get_Random_Int(1,100);

to:

/////////////////////////////////////////////////////////////////////////////
// This code here ensures a random number is drawn between 1 and 100
//int Rnd = Commands->Get_Random_Int(1,270);

and then change:

// if (Rnd <= 10) Index = 2;
// else if (Rnd<=20) Index = 1;
// else if (Rnd<=30) Index = 0;

To allow for all the extra Index possibilities...


The DNA goes away because essentially the preset has been destroyed, and the object has a MDB script on it that destroys the object when this happens.
You would have to re-attach the DNA strand to the person after you have set there preset to the new version.
Check out how it is attached in void hunted_player::Created(GameObject *obj){, and apply it to your chat hook after the point that you have set there new preset.
Something like this:
GameObject *Icon = Commands->Create_Object_At_Bone(obj,"Invisible_Object","c HEAD");
Commands->Set_Model(Icon,"p_tnanites");
Commands->Attach_To_Object_Bone(Icon,obj,"c HEAD");
Commands->Attach_Script(Icon,"MDB_SSGM_Destroy_When_Object_Destroyed",ToString(Commands- >Get_ID(obj)).c_str());




Re: Server Side Hunt The Player [message #314619 is a reply to message #313512] Wed, 30 January 2008 09:26 Go to previous messageGo to next message
wittebolx is currently offline  wittebolx
Messages: 332
Registered: May 2007
Location: the netherlands
Karma: 0
Recruit
compiling works Wink
running it isnt! FDS keeps crashing when player joins ;(
i just put it back to the Set_Model and all works ok now.
about the weapons spawners, i know how to do it in LE but not in scripts.dll could you explain where and how?
that would make things easier, because im also adding more maps to HTPM.



Re: Server Side Hunt The Player [message #314636 is a reply to message #314593] Wed, 30 January 2008 10:48 Go to previous messageGo to next message
Genesis2001
Messages: 1397
Registered: August 2006
Karma: 0
General (1 Star)
reborn wrote on Wed, 30 January 2008 05:06

I was so tempted to quote all that Razz


I would've killed you if you did D:<


~Zack
Re: Server Side Hunt The Player [message #314747 is a reply to message #313512] Thu, 31 January 2008 01:25 Go to previous messageGo to next message
IronWarrior is currently offline  IronWarrior
Messages: 2460
Registered: November 2004
Location: England UK
Karma: 0
General (2 Stars)
Wow, that went on forever! lol
Re: Server Side Hunt The Player [message #314841 is a reply to message #314619] Thu, 31 January 2008 14:58 Go to previous messageGo to next message
Genesis2001
Messages: 1397
Registered: August 2006
Karma: 0
General (1 Star)
wittebolx wrote on Wed, 30 January 2008 09:26

compiling works Wink
running it isnt! FDS keeps crashing when player joins ;(
i just put it back to the Set_Model and all works ok now.
about the weapons spawners, i know how to do it in LE but not in scripts.dll could you explain where and how?
that would make things easier, because im also adding more maps to HTPM.


All yours reborn. Wink lol xD


~Zack
Re: Server Side Hunt The Player [message #314851 is a reply to message #314841] Thu, 31 January 2008 15:39 Go to previous messageGo to next message
reborn is currently offline  reborn
Messages: 3231
Registered: September 2004
Location: uk - london
Karma: 0
General (3 Stars)
Zack wrote on Thu, 31 January 2008 16:58

wittebolx wrote on Wed, 30 January 2008 09:26

compiling works Wink
running it isnt! FDS keeps crashing when player joins ;(
i just put it back to the Set_Model and all works ok now.
about the weapons spawners, i know how to do it in LE but not in scripts.dll could you explain where and how?
that would make things easier, because im also adding more maps to HTPM.


All yours reborn. Wink lol xD


~Zack


We had already spoken on MSN about it. He has achanged allot of the code, his crash is not due to this stock version of it, but rather he was using change_character. Changing the character destroys the object, removing all scripts that where previously attached.



Re: Server Side Hunt The Player [message #315453 is a reply to message #313512] Mon, 04 February 2008 15:08 Go to previous messageGo to next message
mvrtech is currently offline  mvrtech
Messages: 81
Registered: March 2007
Location: UK
Karma: 0
Recruit
I have a question for you Smile
I ran the alpha test HTP with the mutants and compiled a lua for some weapons and health set to team 2 to make it a little more spicy, now this new version my health lua won't work and proxy mines kill you as soon as they are thrown..... why is this?
I wanted to add a recon bike too but that doesn't work Sad

Top game mode by the way and its much fun Smile


I has a cheezeburger
Re: Server Side Hunt The Player [message #315466 is a reply to message #315453] Mon, 04 February 2008 16:52 Go to previous messageGo to next message
reborn is currently offline  reborn
Messages: 3231
Registered: September 2004
Location: uk - london
Karma: 0
General (3 Stars)
mvrtech wrote on Mon, 04 February 2008 17:08

I have a question for you Smile
I ran the alpha test HTP with the mutants and compiled a lua for some weapons and health set to team 2 to make it a little more spicy, now this new version my health lua won't work and proxy mines kill you as soon as they are thrown..... why is this?
I wanted to add a recon bike too but that doesn't work Sad

Top game mode by the way and its much fun Smile



The early version of SSHTP used team 2, however I decided to change it to team -1, any player that gets teamed to anything other then -1 will be changed to -1 immediately.
I have no idea why proximity mines kill players teams -1 right away. That's pretty strange.
How do you mean it doesn't work. I don't remember adding any code to kill vehicles, I just disabled the weps/strip.



Re: Server Side Hunt The Player [message #315470 is a reply to message #313512] Mon, 04 February 2008 17:09 Go to previous messageGo to next message
reborn is currently offline  reborn
Messages: 3231
Registered: September 2004
Location: uk - london
Karma: 0
General (3 Stars)
Thanks to whitebolx's input there is now support for m01, m03, m05, m07, m02, m06 and m08. Downloads have been altered to reflect this.


Re: Server Side Hunt The Player [message #315522 is a reply to message #313512] Tue, 05 February 2008 00:43 Go to previous messageGo to next message
mvrtech is currently offline  mvrtech
Messages: 81
Registered: March 2007
Location: UK
Karma: 0
Recruit
Ok thanks for that i will see if team -1 will allow the health upgeade Wink


I have commands in all my games so i can spawn either a bike, tank or either sides helecopters at my location, i will take another look at it and see if i can get it going Smile


I has a cheezeburger

[Updated on: Tue, 05 February 2008 00:49]

Report message to a moderator

Re: Server Side Hunt The Player [message #315589 is a reply to message #313512] Tue, 05 February 2008 11:26 Go to previous messageGo to next message
Genesis2001
Messages: 1397
Registered: August 2006
Karma: 0
General (1 Star)
I actually played on your server last night, mvrtech - the "Hunt the Player" one.

Good job reborn! Very Happy Big Ups

~Zack
Re: Server Side Hunt The Player [message #315629 is a reply to message #313512] Tue, 05 February 2008 14:16 Go to previous messageGo to next message
mvrtech is currently offline  mvrtech
Messages: 81
Registered: March 2007
Location: UK
Karma: 0
Recruit
its popular Very Happy
Ok i have altered the commands team to -1 and health and armour work Smile
But the vehicles still don't spawn, not to worry i assume its to do with the team players are on.


I has a cheezeburger
Re: Server Side Hunt The Player [message #315637 is a reply to message #315629] Tue, 05 February 2008 14:39 Go to previous messageGo to next message
reborn is currently offline  reborn
Messages: 3231
Registered: September 2004
Location: uk - london
Karma: 0
General (3 Stars)
Zack wrote on Tue, 05 February 2008 13:26

I actually played on your server last night, mvrtech - the "Hunt the Player" one.

Good job reborn! Very Happy Big Ups

~Zack


Thanks Smile
Second mode is already released as an alpha in the server owners forum privately. Will post here when I get some bug feed-back.



mvrtech wrote on Tue, 05 February 2008 16:16

its popular Very Happy
Ok i have altered the commands team to -1 and health and armour work Smile
But the vehicles still don't spawn, not to worry i assume its to do with the team players are on.


Glad you command is working for you, but I don;t know why the vehichles aren't working. They should do, I really can't remember adding any code to disable them. I will look into it, but how exactly are you creating them?



Re: Server Side Hunt The Player [message #315641 is a reply to message #313512] Tue, 05 February 2008 14:52 Go to previous messageGo to next message
cnc95fan is currently offline  cnc95fan
Messages: 1261
Registered: July 2007
Karma: 0
General (1 Star)
So eh.. can someone recompile this into.. whatever file it goes into? We don't all know how to get this running you know Tell Me
Re: Server Side Hunt The Player [message #315647 is a reply to message #313512] Tue, 05 February 2008 16:31 Go to previous messageGo to next message
mvrtech is currently offline  mvrtech
Messages: 81
Registered: March 2007
Location: UK
Karma: 0
Recruit
i use this lua for a recon bike

end
if Message == "!recon" or Message == "!purchase nodrecon" then
local pos = Get_Position(Get_GameObj(pID))
if Get_Team(pID) == -1 then
if Get_Money(pID) < 600 then
InputConsole("ppage %d [NR] You need 600 credits", pID)
else
pos:AssignY(pos:GetY()+1)
pos:AssignX(pos:GetX()+1)
pos:AssignZ(pos:GetZ()+1)
turret = Create_Object("Nod_Recon_Bike_Player", pos)
Attach_Script_Once(turret, "JFW_Base_Defence", "5,100,1")
if turret == nil then
InputConsole("ppage %d [NR] Error creating bike", pID)
else
Set_Money(pID, Get_Money(pID)-600)
end
end


I has a cheezeburger
Re: Server Side Hunt The Player [message #315650 is a reply to message #313512] Tue, 05 February 2008 16:44 Go to previous messageGo to next message
Lone0001 is currently offline  Lone0001
Messages: 2112
Registered: August 2006
Location: Ontario, Canada
Karma: 0
General (2 Stars)

Try using CnC_Nod_Recon_Bike instead of Nod_Recon_Bike_Player.
What preset are you using for the proxy?


[Updated on: Tue, 05 February 2008 16:57]

Report message to a moderator

Re: Server Side Hunt The Player [message #315834 is a reply to message #313512] Wed, 06 February 2008 13:28 Go to previous messageGo to next message
mvrtech is currently offline  mvrtech
Messages: 81
Registered: March 2007
Location: UK
Karma: 0
Recruit
Proxy is CnC_MineProximity_05
I updated the recon and it just displays the fail message.


I has a cheezeburger

[Updated on: Wed, 06 February 2008 13:30]

Report message to a moderator

Re: Server Side Hunt The Player [message #316086 is a reply to message #313512] Thu, 07 February 2008 20:24 Go to previous messageGo to next message
reborn is currently offline  reborn
Messages: 3231
Registered: September 2004
Location: uk - london
Karma: 0
General (3 Stars)
Incase anyone wanted to add some maps and get some spawn positions, I made a handy little chat hook that is allot more useful then using level edit to go around and get the exact x,y,z for your spawn positions.
The text will output in the renlog and is set up to easily copy/paste into your solution.

class posChatCommand : public ChatCommandClass {
	void Triggered(int ID,const TokenClass &Text,int ChatType) {
		GameObject *obj = Get_GameObj(ID);
Vector3 CurPosition = Commands->Get_Position(obj);
Console_Input(StrFormat("msg NewPos.X = %ff;",CurPosition.X).c_str());
Console_Input(StrFormat("msg NewPos.Y = %ff;",CurPosition.Y).c_str());
Console_Input(StrFormat("msg NewPos.Z = %ff;",CurPosition.Z).c_str());
	}
};
ChatCommandRegistrant<posChatCommand> posChatCommandReg("!pos",CHATTYPE_TEAM,0,GAMEMODE_ALL);


Would come in useful for servers hosting custom maps and they want to quickly add support.



Re: Server Side Hunt The Player [message #316091 is a reply to message #313512] Thu, 07 February 2008 20:46 Go to previous messageGo to next message
Lone0001 is currently offline  Lone0001
Messages: 2112
Registered: August 2006
Location: Ontario, Canada
Karma: 0
General (2 Stars)

Well that preset works fine for me so I don't know why it isn't working have you edited the objects file?

Re: Server Side Hunt The Player [message #316317 is a reply to message #313512] Sat, 09 February 2008 09:02 Go to previous messageGo to next message
mvrtech is currently offline  mvrtech
Messages: 81
Registered: March 2007
Location: UK
Karma: 0
Recruit
nope

I has a cheezeburger
Re: Server Side Hunt The Player [message #316322 is a reply to message #316317] Sat, 09 February 2008 10:29 Go to previous messageGo to next message
LR01 is currently offline  LR01
Messages: 842
Registered: April 2006
Location: The Netherlands
Karma: 0
Colonel
played it aswell, looks good, far away from the orginal gameplay Tell Me
the only point is that I gett shot by my teammates and have a hard time reaching the player


Moding can be real Fun...
Re: Server Side Hunt The Player [message #395826 is a reply to message #313512] Tue, 21 July 2009 21:17 Go to previous messageGo to previous message
Nightma12 is currently offline  Nightma12
Messages: 2593
Registered: August 2003
Karma: 0
General (2 Stars)
Category Moderator
Sorry to bump this, but i put a server up today running this mod titled:

TsuGaming.com :: Swine Flu

The swine flu name brings in the players Wink

It has a few problems:



- The person with the DNA needs to appear on radar all the time (they never appear for me)

- Non-Carriers should not be able to kill Non-Carriers. Its too hard work getting anywhere near the carrier as people come in and just shoot everyone Sad

-Some of the maps are WAAAAAAAAY to big. (esp mission maps) - One of the mission maps i got infected, then just ran off to another part of the mission with people 20 people chaseing me. I kept going and going... they never caught up!


Other than that.. im LOVING IT! well done Reborn Very Happy

[Updated on: Tue, 21 July 2009 21:19]

Report message to a moderator

Previous Topic: Boning in 3ds max
Next Topic: Invinceable buildings
Goto Forum:
  


Current Time: Sat Dec 21 02:49:58 MST 2024

Total time taken to generate the page: 0.01439 seconds