Command and Conquer: Renegade Official Forums - RDF feed
C&C: Renegade --> Dying since 2003™, resurrected in 2024!
Many battles have been fought since Havok first waged his personal war against the Brotherhood. New ways of fighting have been devised deep inside Kane's most sacred temple. A tiberian based mutagentic pathogen that threatens to kill the world has accidently been released! Quarrels have been set aside, blood oaths have been ignored and a treaty has been drawn, for now at least there is peace amongst GDI and Nod. The threat is set to go global and as such both factions are working together to contain the deadly virus. You must collect vital DNA clues from the dead bodies of the infected hosts to ensure the continuation of life on Earth. Collecting the DNA is hazardous, it will ensure your own demise, but it will also mean humanity is one step closer to salvation. http://www.game-maps.net/staff/reborn/htp.wmv Clients: The game mode selects one player at the start of the map to become the infected player. This player gains points for every second he stays alive. This is the only way to gain points and therefore for him to win the game. Everyone is able to kill eachother, but you aim is to track the infected player and become infected yourself. Players with scripts.dll installed will have the the infected player or the dropped DNA strand shown on there radar. Server Owners: The game mode supports the following maps: C&C_Volcano, C&C_Islands, C&C_Complex, C&C_Mesa, C&C_Canyon, C&C_Under, m01, m03, m05, m07, m02, m06 and m08. Map names are case sensitive in svrcfg_cnc.ini, so don't screw that up or it will not work properly. MapName00=C&C_Volcano.mix MapName01=C&C_Islands.mix MapName02=C&C_Complex.mix MapName03=C&C_Mesa.mix MapName04=C&C_Canyon.mix MapName05=C&C_Field.mix MapName06=C&C_Under.mix MapName07=M01.mix MapName08=M03.mix MapName09=M05.mix MapName10=M07.mix MapName11=M02.mix MapName12=M06.mix MapName13=M08.mix The mode is based on SSGM, so any regulator that works for SSGM should also work on this. You will need to set up an SSGM server, then replace the scripts.dll file with this one: http://www.game-maps.net/staff/reborn/htpwin32.zip You will need to patch your server.dat with this tool: http://www.game-maps.net/index.php?action=file&id=458 You will need to edit your ssgm.ini file to make buildings invincible: InvincibleBuildings=1 You will also need to change the radar mode in svrcfg_cnc.ini to read this: RadarMode=2 Soldier spawn positions are now set by the servers scripts.dll, your level edit spawn positions for soldier will no longer be used. All base defence, including mini guard towers and turrets are impossible to use. Developers: Source code is available in the download here: http://www.game-maps.net/staff/reborn/htpsource.zip The radar code is especially crappy, I was trying to find a nice way to make new players have the radar blip set for them, but attaching a timer to the object, updating the radar for the team every few seconds worked at the time and ended up staying. If anyone wants to re-write it to make it better then I am open to suggestions. Also, if someone would like to spawn random power-up's and weapons over the map via the .dll then I would happily include that too. I just thought it was time to release a stable playable build. I do expect to release another version in time. Anyone who does develop the mode is encouraged to share there work. Also, anyone who wishes to get more spawn locations for the rest of the maps is encouraged to do so. Special thanks goes out to (in no particular order) StealthEye, WhiteDragon, Vloktboky, Bololo and Roshambo.
so it is a bit like halo capture the skull right?
I havn't played halo, I don't really know capture the skull. It's a bit like KoTH I guess. Basically you hunt down the infected player to become infected yourself. Once infected you get a points trickle for your players life duration.
capture the flag, with only 1flag after an amount of time (servertime) you win, same with capture the skull but u need to cnqquer this for 1 min.
Looks good, Good Job to those that worked on it
reborn wrote on Fri, 25 January 2008 11:39 I havn't played halo, I don't really know capture the skull. It's a bit like KoTH I guess. Basically you hunt down the infected player to become infected yourself. Once infected you get a points trickle for your players life duration. Sounds like the "Mutant" mode in UT2004.
Does the infected player get regenerating health or a better gun? Are they any different from normal players?
JeepRubi wrote on Fri, 25 January 2008 14:06 Does the infected player get regenerating health or a better gun? Are they any different from normal players? Yes, depending on how many people are in the server at the time... If there is 3 people in the server then they get a laser rifle, if there's 4 people they get a tiberium flechette gun. I can't remember the specifics as i'm at work atm, but I think it starts at about 5 players for the health regen to kick in. If it's 1v1 the a volt rifle proved too over powering, couple with health regen. So I decided to base the power-up's dynamically based on player count.
Awesome Reborn, looking forward to playing this.
reborn wrote on Fri, 25 January 2008 14:04 JeepRubi wrote on Fri, 25 January 2008 14:06 Does the infected player get regenerating health or a better gun? Are they any different from normal players? Yes, depending on how many people are in the server at the time... If there is 3 people in the server then they get a laser rifle, if there's 4 people they get a tiberium flechette gun. I can't remember the specifics as i'm at work atm, but I think it starts at about 5 players for the health regen to kick in. If it's 1v1 the a volt rifle proved too over powering, couple with health regen. So I decided to base the power-up's dynamically based on player count. Whoa, that's a great idea. Can't wait to play this. Is there any server that's planning on hosting this?
Expert was host one when the alpha was released privately to the server owners. There details where: Quote: The server channel is #mt0wn3 on irc.mtown-zone.com The host name is a0000000w and the name of the server is "Hunt The Player Mod ::mt0wn.com". And there website is www.mt0wn.com I don't know if he still has it up, or if he has upgraded the server to this release or not. I might host it myself and see if there is any interest.
reborn wrote on Fri, 25 January 2008 22:41 Expert was host one when the alpha was released privately to the server owners. There details where: Quote: The server channel is #mt0wn3 on irc.mtown-zone.com The host name is a0000000w and the name of the server is "Hunt The Player Mod ::mt0wn.com". And there website is www.mt0wn.com I don't know if he still has it up, or if he has upgraded the server to this release or not. I might host it myself and see if there is any interest. The host name is a000000ah and the name of the server is "[WGC]Hunt The Player Mode ". And there website is www.wittebolx.com And there irc is irc.wittebolx.com just to let you know, im still hosting HTPM (32 slots)
wittebolx wrote on Sun, 27 January 2008 05:39 reborn wrote on Fri, 25 January 2008 22:41 Expert was host one when the alpha was released privately to the server owners. There details where: Quote: The server channel is #mt0wn3 on irc.mtown-zone.com The host name is a0000000w and the name of the server is "Hunt The Player Mod ::mt0wn.com". And there website is www.mt0wn.com I don't know if he still has it up, or if he has upgraded the server to this release or not. I might host it myself and see if there is any interest. The host name is a000000ah and the name of the server is "[WGC]Hunt The Player Mode ". And there website is www.wittebolx.com And there irc is irc.wittebolx.com just to let you know, im still hosting HTPM (32 slots) You havn't changed the map rotation to the supported only maps. I tried to join and it was on Hourglass.
reborn wrote on Sun, 27 January 2008 14:23 wittebolx wrote on Sun, 27 January 2008 05:39 reborn wrote on Fri, 25 January 2008 22:41 Expert was host one when the alpha was released privately to the server owners. There details where: Quote: The server channel is #mt0wn3 on irc.mtown-zone.com The host name is a0000000w and the name of the server is "Hunt The Player Mod ::mt0wn.com". And there website is www.mt0wn.com I don't know if he still has it up, or if he has upgraded the server to this release or not. I might host it myself and see if there is any interest. The host name is a000000ah and the name of the server is "[WGC]Hunt The Player Mode ". And there website is www.wittebolx.com And there irc is irc.wittebolx.com just to let you know, im still hosting HTPM (32 slots) You havn't changed the map rotation to the supported only maps. I tried to join and it was on Hourglass. fixed
What's the incentive for the mutant(s) to infect others if they're the only ones getting points? I would just walk around in circles. Besides, why would you want to be infected? I don't get it.
cmatt42 wrote on Mon, 28 January 2008 10:53 What's the incentive for the mutant(s) to infect others if they're the only ones getting points? I would just walk around in circles. Besides, why would you want to be infected? I don't get it. Yeah, it kinda goes against the story of "joining forces to save the world". I think that text in orange needs to be revised. Other than that, it looks like a great idea. I think something like Zombie mod for CS:S or Gmod would go great in Renegade, you run around fast and melee attack players to change their team to mutants. The 'human' of course have weapons with great push power and and unlimited ammo, and mutants have large ammounts of health which do replenish, however will kill them if it reaches 0. This would be a fun game mode.
cmatt42 wrote on Mon, 28 January 2008 05:53 What's the incentive for the mutant(s) to infect others if they're the only ones getting points? I would just walk around in circles. Besides, why would you want to be infected? I don't get it. You don't go around infecting people. There is only ever one infected person at any one time. When you're the Zombie/infected you get a points trickle, your aim is to stay alive. The only way to win the map really is to get infected and stay alive as long as possible. The story behind it was just a bit of cnc fan fiction fun... The aim for the pther players is to kill the infected dude and become infected themselves by picking up the DNA object that they leave behind when they die.
It's actually a very clever idea, if only more people we're coming up with new ways... I had one in mind, but weather it would work or not, I don't know.
to Reborn: in the gmmain.cpp i found this: else if (strstr(CurrMap,"C&C_Under")) { needs to be: else if (strstr(Data->CurrMap,"C&C_Under")) { also some f; where missing. and i was trying to edit the code below but i couldnt get it to work.. can you give a clean example for lets say: 3 random characters with some extra weapons and a way to enable the credit rate? thx for the help. Ps. i love this Mode ///////////////////////////////////////////////////////////////////////////// // 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 // I used this method because I may wish to increase or decrease channces of specific models // something I would not of been able to do if I kept it to just Get_Random_Int // if (Rnd <= 10) Index = 2; // else if (Rnd<=20) Index = 1; // else if (Rnd<=30) 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 //Change_Character(obj,RandomSpawnCharacter[Index][0]); //Commands->Set_Model(obj,RandomSpawnCharacter[Index][0]); ////////////////////////////////////////////////////////////////////////////
wittebolx wrote on Mon, 28 January 2008 16:20 to Reborn: in the gmmain.cpp i found this: else if (strstr(CurrMap,"C&C_Under")) { needs to be: else if (strstr(Data->CurrMap,"C&C_Under")) { also some f; where missing. and i was trying to edit the code below but i couldnt get it to work.. can you give a clean example for lets say: 3 random characters with some extra weapons and a way to enable the credit rate? thx for the help. Ps. i love this Mode ///////////////////////////////////////////////////////////////////////////// // 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 // I used this method because I may wish to increase or decrease channces of specific models // something I would not of been able to do if I kept it to just Get_Random_Int // if (Rnd <= 10) Index = 2; // else if (Rnd<=20) Index = 1; // else if (Rnd<=30) 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 //Change_Character(obj,RandomSpawnCharacter[Index][0]); //Commands->Set_Model(obj,RandomSpawnCharacter[Index][0]); //////////////////////////////////////////////////////////////////////////// Thanks, I forgot about Under... I will change it and re-release it. That code used to be a bigger array with character models, and I merely set there models. However it was proved to me that clients without scripts.dll saw the models in the "jesus" position (arms out straight like on a cross), so I stopped using it. I did briefly look into changing there characters entirely, however as there is no preset teamed to -1 by default I decided not to bother, so as to let people use existing objects.ddb mods they may have already (note there is no objects.ddb file released with the mod as it actually doesn't change anything using this file). If you chnaged the character to a preset that was not teamed -1 then it would merely re-sapwn them until it came across a preset that was -1. If you didn't have a preset that was -1 in the array they would constantly loop in this manor (happened to me, lol ). The code actually works (if you change the presets via the objects file to -1 )perhaps setting there team immediately might works also, but I doubt it)) All you have to do is amend the random character array in gmmain.cpp and un-comment the code.
can i get the source yoiu used with the first release? i really loved the random characters when you spawn. now its just soldiers. reason im asking this is because i think its more fun when you add all the existiing PT characters in the game to hunt the player rather then a plain soldier. so if you would share the random character (set model) script u used in the first release i would appreciate it. and regarding the Jesus position, many players that play on my server already updated their scripts.dll because i have many things in the serv that require it
Zion Fox wrote on Mon, 28 January 2008 06:02 Other than that, it looks like a great idea. I think something like Zombie mod for CS:S or Gmod would go great in Renegade, you run around fast and melee attack players to change their team to mutants. The 'human' of course have weapons with great push power and and unlimited ammo, and mutants have large ammounts of health which do replenish, however will kill them if it reaches 0. This would be a fun game mode. I am working on something similar to this for my next release. wittebolx wrote on Tue, 29 January 2008 08:28 can i get the source yoiu used with the first release? i really loved the random characters when you spawn. now its just soldiers. reason im asking this is because i think its more fun when you add all the existiing PT characters in the game to hunt the player rather then a plain soldier. so if you would share the random character (set model) script u used in the first release i would appreciate it. and regarding the Jesus position, many players that play on my server already updated their scripts.dll because i have many things in the serv that require it I don't have it, I merely updated this source. I will recreate the array and make the changes in code for you, however people without scripts.dll updated on there client will most likely see that Jesus position crap. So I won't release it as an update, just something private for you. I'll add comments to the array so you understand how to change it and update it for your own models... You're getting allot better though, you should perhaps try and add some power-up spawner logic to the mode. That's something I wanted to do, but people can edit the maps themselves watching the tutorials on renhelp, so I decided my time was better spent elsewhere... It's something you might consider to do and post it here. It's better to do it via the .dll rather then .lsd/.ldd files.
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.
Looks awesome
reborn wrote on Fri, 25 January 2008 16:41 Expert was host one when the alpha was released privately to the server owners. There details where: Quote: The server channel is #mt0wn3 on irc.mtown-zone.com The host name is a0000000w and the name of the server is "Hunt The Player Mod ::mt0wn.com". And there website is www.mt0wn.com I don't know if he still has it up, or if he has upgraded the server to this release or not. I might host it myself and see if there is any interest. It's Xpert!!! NO E! Anyways, I stopped running it until the stabled version was released. It got boring. Plus I haven't been on much to even care to put it back on. I'll give it a go again this weekend and put it up.
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.
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?
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); } }
I was so tempted to quote all that 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 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());
compiling works 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.
reborn wrote on Wed, 30 January 2008 05:06 I was so tempted to quote all that I would've killed you if you did D:< ~Zack
wittebolx wrote on Wed, 30 January 2008 09:26 compiling works 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. lol xD ~Zack
Zack wrote on Thu, 31 January 2008 16:58 wittebolx wrote on Wed, 30 January 2008 09:26 compiling works 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. 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.
I have a question for you 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 Top game mode by the way and its much fun
mvrtech wrote on Mon, 04 February 2008 17:08 I have a question for you 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 Top game mode by the way and its much fun 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.
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.
Ok thanks for that i will see if team -1 will allow the health upgeade 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
I actually played on your server last night, mvrtech - the "Hunt the Player" one. Good job reborn! ~Zack
its popular Ok i have altered the commands team to -1 and health and armour work But the vehicles still don't spawn, not to worry i assume its to do with the team players are on.
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! ~Zack Thanks 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 Ok i have altered the commands team to -1 and health and armour work 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?
So eh.. can someone recompile this into.. whatever file it goes into? We don't all know how to get this running you know
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
Try using CnC_Nod_Recon_Bike instead of Nod_Recon_Bike_Player. What preset are you using for the proxy?
Proxy is CnC_MineProximity_05 I updated the recon and it just displays the fail message.
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.
Well that preset works fine for me so I don't know why it isn't working have you edited the objects file?
played it aswell, looks good, far away from the orginal gameplay the only point is that I gett shot by my teammates and have a hard time reaching the player
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 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 -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
Oh wow man, this is quite old now. I would probably do this allot differently second time round, glad you're enjoying it though.
Quote: I would probably do this allot differently second time round, glad you're enjoying it though. Are there any plans for that? In its current state its an excelent concept it just needs some tweaking
I don't have any plans for it, unless you really need it, then I could I suppose include a few updates, instead of re-writing it. But any changes would be a low-priority change. I'm swamped at the moment