| [11281] | 1 |  | 
|---|
 | 2 |   <!-- Authors: | 
|---|
| [11327] | 3 | Louis Meile | 
|---|
| [11281] | 4 | Berkay Berabi | 
|---|
 | 5 | @2016 | 
|---|
 | 6 | --> | 
|---|
 | 7 |  | 
|---|
| [11232] | 8 | <LevelInfo | 
|---|
| [11337] | 9 |  name = "The Space Race " | 
|---|
 | 10 |  description = "Fell The Blaze of The ONE and ONLY Space Race" | 
|---|
| [11232] | 11 |  tags = "gametype" | 
|---|
 | 12 |  screenshot = "spacerace.png" | 
|---|
 | 13 | /> | 
|---|
| [11281] | 14 |     | 
|---|
| [11232] | 15 | <?lua | 
|---|
 | 16 |   include("stats.oxo") | 
|---|
 | 17 |   include("HUDTemplates3.oxo") | 
|---|
 | 18 |   include("templates/lodInformation.oxt") | 
|---|
| [11276] | 19 |   include("templates/fastship.oxt") | 
|---|
| [11303] | 20 |   include("templates/spaceshipPirate.oxt") | 
|---|
 | 21 |  | 
|---|
 | 22 |   include("templates/spaceshipAssff.oxt") | 
|---|
| [12029] | 23 |   include("templates/SpaceRaceTemplates.oxt") | 
|---|
| [11250] | 24 |  | 
|---|
| [11232] | 25 | ?> | 
|---|
 | 26 |  | 
|---|
 | 27 | <Level | 
|---|
 | 28 |  plugins = "gametypes" | 
|---|
| [11281] | 29 |  gametype = "SpaceRace" | 
|---|
| [11232] | 30 | > | 
|---|
 | 31 |   <templates> | 
|---|
 | 32 |     <Template link=lodtemplate_default /> | 
|---|
 | 33 |   </templates> | 
|---|
 | 34 |   <?lua include("includes/notifications.oxi") ?> | 
|---|
 | 35 |  | 
|---|
 | 36 |   <Scene | 
|---|
 | 37 |     ambientlight = "0.8, 0.8, 0.8" | 
|---|
 | 38 |     skybox       = "Orxonox/skyBoxMoreNebula" | 
|---|
 | 39 |   > | 
|---|
 | 40 |    | 
|---|
| [11276] | 41 |     <?lua | 
|---|
 | 42 |       include("includes/pickups.oxi") | 
|---|
 | 43 |     ?> | 
|---|
| [11250] | 44 |  | 
|---|
 | 45 |  | 
|---|
| [11337] | 46 |   <!-- SOUNDS & MUSIC  | 
|---|
 | 47 |  | 
|---|
 | 48 | to hear the sound one has to use a headphones   | 
|---|
 | 49 | countdown at the beginning of the race  | 
|---|
 | 50 | at the and of the countdown we have the sound "go" | 
|---|
 | 51 | racetheme will be played during the whole race--> | 
|---|
| [11239] | 52 |    | 
|---|
| [11327] | 53 |     | 
|---|
| [11246] | 54 | <WorldSound name="Countdown" position="0,0,0" source="sounds/Countdown.ogg" > | 
|---|
| [11239] | 55 |       <events> | 
|---|
 | 56 |         <play> | 
|---|
 | 57 |           <EventListener event="start1" /> | 
|---|
 | 58 |         </play> | 
|---|
 | 59 |       </events> | 
|---|
| [11232] | 60 |     </WorldSound> | 
|---|
| [11239] | 61 |  | 
|---|
 | 62 |  | 
|---|
| [11246] | 63 | <WorldSound name="Go" position="0,0,0" source="sounds/Go.ogg" > | 
|---|
| [11239] | 64 |       <events> | 
|---|
 | 65 |         <play> | 
|---|
 | 66 |           <EventListener event="go" /> | 
|---|
 | 67 |         </play> | 
|---|
 | 68 |       </events> | 
|---|
 | 69 |     </WorldSound> | 
|---|
| [11246] | 70 |     <DistanceTrigger name="start1" position="0,0,0"  target="Pawn" distance=100 stayActive="true" delay=0.5 /> | 
|---|
 | 71 |     <DistanceTrigger name="go" position="0,0,0"  target="Pawn" distance=100 stayActive="true" delay=10.5  /> | 
|---|
 | 72 |  | 
|---|
 | 73 |     <DistanceTrigger name="racetheme" position="0,0,0"  target="Pawn" distance=100 stayActive="true" delay=10.75  /> | 
|---|
 | 74 |       <WorldAmbientSound source="racetheme.ogg" looping="true" playOnLoad="false" > | 
|---|
 | 75 |     <events> | 
|---|
| [11239] | 76 |         <play> | 
|---|
 | 77 |           <EventListener event="racetheme" /> | 
|---|
 | 78 |         </play> | 
|---|
 | 79 |       </events> | 
|---|
| [11246] | 80 |     </WorldAmbientSound> | 
|---|
| [11239] | 81 |  | 
|---|
 | 82 |  | 
|---|
| [11232] | 83 |     <?lua math.randomseed(98) ?> | 
|---|
 | 84 |     <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/> | 
|---|
 | 85 |     <SimpleNotification message="Reach the last check point within 150 seconds!!" /> | 
|---|
 | 86 |  | 
|---|
| [11337] | 87 |     <!-- ------------------SpawnPoint of the human player----------------- --> | 
|---|
 | 88 |     <!-- to change the starting positions of bots go to spacerace.cc star function --> | 
|---|
| [11327] | 89 |     <SpawnPoint position="-50,0,0" lookat="1,0,0" spawnclass=SpaceShip pawndesign=fastship active="true" /> | 
|---|
| [11232] | 90 |  | 
|---|
| [11337] | 91 |   <!-- Launch station of the aircrafts also starting place of the race--> | 
|---|
| [11249] | 92 |   <StaticEntity mass="50" position="-400,-20,0" direction="0,-90,0" collisionType="static"> | 
|---|
 | 93 |     <attached> | 
|---|
 | 94 |       <Model scale="20" mesh="Carrier.mesh" /> | 
|---|
 | 95 |     </attached> | 
|---|
 | 96 |       <collisionShapes> | 
|---|
 | 97 |         <BoxCollisionShape position="280,0,-100"      halfExtents="600, 200, 100" /> | 
|---|
 | 98 |         <BoxCollisionShape position="380,300,-64"     halfExtents="280, 40, 48" /> | 
|---|
 | 99 |         <BoxCollisionShape position="380,-300,-64"    halfExtents="280, 40, 48" /> | 
|---|
 | 100 |         <BoxCollisionShape position="308, 188,120"      halfExtents="440, 80, 120" /> | 
|---|
 | 101 |         <BoxCollisionShape position="308,-188,120"     halfExtents="440, 80, 120" /> | 
|---|
 | 102 |         <BoxCollisionShape position="308,0,200"       halfExtents="440, 180, 24" /> | 
|---|
 | 103 |         <BoxCollisionShape position="668,0,280"      halfExtents="108, 80, 80" /> | 
|---|
 | 104 |       </collisionShapes> | 
|---|
 | 105 |   </StaticEntity> | 
|---|
 | 106 |  | 
|---|
| [11276] | 107 |   <!-- ---------------ForceFields----------------- --> | 
|---|
 | 108 |     <ForceField position="0,0,0" direction="0,-1,0" diameter=700 velocity=2000 length=2000/> | 
|---|
 | 109 |  | 
|---|
 | 110 |     <!-- ------------------Planet----------------- --> | 
|---|
| [11808] | 111 |     <MovableEntity position="25000,5000,5000" scale=3000 pitch=-90 rotationaxis="8,1,0" rotationrate="1"> | 
|---|
 | 112 |         <attached> | 
|---|
 | 113 |             <Planet mesh="iceplanet.mesh" atmosphere="atmosphere1" atmospheresize=224.0f imagesize=1024.0f /> | 
|---|
 | 114 |         </attached> | 
|---|
 | 115 |     </MovableEntity> | 
|---|
| [11276] | 116 |     <StaticEntity position="0,0,0" collisionType=static> | 
|---|
 | 117 |         <collisionShapes> | 
|---|
 | 118 |             <SphereCollisionShape radius="1" /> | 
|---|
 | 119 |         </collisionShapes> | 
|---|
 | 120 |     </StaticEntity> | 
|---|
 | 121 |  | 
|---|
 | 122 |    <!-- ---------------asteroid belt1----------------- --> | 
|---|
| [11260] | 123 |     <?lua | 
|---|
 | 124 |     max = 50 | 
|---|
 | 125 |     for i = 0, max, 1 | 
|---|
 | 126 |     do | 
|---|
| [11276] | 127 |     x = 800+ i*1000 | 
|---|
 | 128 |     y = -500+ math.cos(i)*20 | 
|---|
 | 129 |     z = -500+ math.sin(i)*20 | 
|---|
| [11260] | 130 |     ?> | 
|---|
 | 131 |     <?lua | 
|---|
 | 132 |     for k = 1, 15, 1 | 
|---|
 | 133 |     do | 
|---|
 | 134 |     j = math.random() | 
|---|
 | 135 |     ?> | 
|---|
| [11250] | 136 |  | 
|---|
| [11260] | 137 |     <MovableEntity | 
|---|
| [11276] | 138 |       position = "<?lua print(x + math.random() * 500) ?>,<?lua print(y + math.random() * 1000) ?>,<?lua print(z + math.random() * 1000) ?>" | 
|---|
| [11260] | 139 |       collisionType = "dynamic" | 
|---|
 | 140 |       linearDamping = "0.5" | 
|---|
 | 141 |       angularDamping = "0.01" | 
|---|
| [11276] | 142 |       collisiondamage = "0.02" | 
|---|
| [11260] | 143 |       enablecollisiondamage = "true" | 
|---|
 | 144 |       scale="<?lua print(j * 5) ?>" > | 
|---|
 | 145 |       <attached> | 
|---|
 | 146 |         <Model position="0,0,0" scale="<?lua print(j * 10) ?>" mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh"> | 
|---|
 | 147 |       <?lua if k == 5 then ?><attached><!-- ---------asteroid fog----- --> | 
|---|
 | 148 |             <ParticleEmitter position="0,0,0" source="Orxonox/Steam" /> | 
|---|
 | 149 |           </attached> <?lua end ?> | 
|---|
 | 150 |         </Model> | 
|---|
 | 151 |       </attached> | 
|---|
 | 152 |       <collisionShapes> | 
|---|
 | 153 |         <SphereCollisionShape radius="<?lua print(j * 80) ?>" /> | 
|---|
 | 154 |       </collisionShapes> | 
|---|
 | 155 |     </MovableEntity> | 
|---|
 | 156 |     <?lua | 
|---|
 | 157 |     end | 
|---|
 | 158 |     ?> | 
|---|
 | 159 |     <?lua end ?> | 
|---|
| [11250] | 160 |  | 
|---|
| [11276] | 161 |    <!-- ---------------asteroid belt2----------------- --> | 
|---|
| [11260] | 162 |     <?lua | 
|---|
 | 163 |     max = 50 | 
|---|
 | 164 |     for i = 0, max, 1 | 
|---|
 | 165 |     do | 
|---|
| [11276] | 166 |     x = 800+ i*1000 | 
|---|
 | 167 |     y = 100+ math.cos(i)*-20 | 
|---|
 | 168 |     z = 100+ math.sin(i)*-20 | 
|---|
| [11260] | 169 |     ?> | 
|---|
 | 170 |     <?lua | 
|---|
 | 171 |     for k = 1, 15, 1 | 
|---|
 | 172 |     do | 
|---|
 | 173 |     j = math.random() | 
|---|
 | 174 |     ?> | 
|---|
| [11250] | 175 |  | 
|---|
| [11260] | 176 |     <MovableEntity | 
|---|
| [11276] | 177 |       position = "<?lua print(x + math.random() * 500) ?>,<?lua print(y + math.random() * 1000) ?>,<?lua print(z + math.random() * 1000) ?>" | 
|---|
| [11260] | 178 |       collisionType = "dynamic" | 
|---|
 | 179 |       linearDamping = "0.5" | 
|---|
 | 180 |       angularDamping = "0.01" | 
|---|
| [11276] | 181 |       collisiondamage = "0.02" | 
|---|
| [11260] | 182 |       enablecollisiondamage = "true" | 
|---|
 | 183 |       scale="<?lua print(j * 5) ?>" > | 
|---|
 | 184 |       <attached> | 
|---|
 | 185 |         <Model position="0,0,0" scale="<?lua print(j * 10) ?>" mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh"> | 
|---|
 | 186 |       <?lua if k == 5 then ?><attached><!-- ---------asteroid fog----- --> | 
|---|
 | 187 |             <ParticleEmitter position="0,0,0" source="Orxonox/Steam" /> | 
|---|
 | 188 |           </attached> <?lua end ?> | 
|---|
 | 189 |         </Model> | 
|---|
 | 190 |       </attached> | 
|---|
 | 191 |       <collisionShapes> | 
|---|
 | 192 |         <SphereCollisionShape radius="<?lua print(j * 80) ?>" /> | 
|---|
 | 193 |       </collisionShapes> | 
|---|
 | 194 |     </MovableEntity> | 
|---|
 | 195 |     <?lua | 
|---|
 | 196 |     end | 
|---|
 | 197 |     ?> | 
|---|
 | 198 |     <?lua end ?> | 
|---|
 | 199 |  | 
|---|
| [11328] | 200 |  | 
|---|
| [11312] | 201 |     <!-- ------------------Boards----------------- --> | 
|---|
 | 202 |     <StaticEntity position="1000,160,0" direction="-1,0,0" yaw=90 pitch=0 roll=-30 collisionType="static"> | 
|---|
 | 203 |     <attached> | 
|---|
 | 204 |       <Model scale="20" mesh="Board1.mesh" /> | 
|---|
 | 205 |     </attached> | 
|---|
 | 206 |       <collisionShapes> | 
|---|
 | 207 |         <BoxCollisionShape position="0,0,0"      halfExtents="5,10,10" /> | 
|---|
 | 208 |       </collisionShapes> | 
|---|
 | 209 |   </StaticEntity> | 
|---|
| [11249] | 210 |  | 
|---|
| [11328] | 211 |   <StaticEntity position="5000,230,500" direction="-1,0,0" yaw=90 pitch=0 roll=-30 collisionType="static"> | 
|---|
| [11312] | 212 |     <attached> | 
|---|
 | 213 |       <Model scale="20" mesh="Board2.mesh" /> | 
|---|
 | 214 |     </attached> | 
|---|
 | 215 |       <collisionShapes> | 
|---|
 | 216 |         <BoxCollisionShape position="0,0,0"      halfExtents="5,10,10" /> | 
|---|
 | 217 |       </collisionShapes> | 
|---|
 | 218 |   </StaticEntity> | 
|---|
 | 219 |  | 
|---|
| [12029] | 220 | <StaticEntity position="11000,-60,200" direction="-1,0,0" yaw=90 pitch=0 roll=-30 collisionType="static"> | 
|---|
| [11312] | 221 |     <attached> | 
|---|
 | 222 |       <Model scale="20" mesh="Board2.mesh" /> | 
|---|
 | 223 |     </attached> | 
|---|
 | 224 |       <collisionShapes> | 
|---|
 | 225 |         <BoxCollisionShape position="0,0,0"      halfExtents="5,10,10" /> | 
|---|
 | 226 |       </collisionShapes> | 
|---|
 | 227 |   </StaticEntity> | 
|---|
 | 228 |  | 
|---|
| [11282] | 229 | <!-- ---------------------Checkpoints---------------------- --> | 
|---|
| [11260] | 230 |  | 
|---|
| [11281] | 231 | <SpaceRaceManager> | 
|---|
 | 232 |  <checkpoints> | 
|---|
 | 233 |      | 
|---|
| [11337] | 234 |     <!-- distance = how far from the middle point of a check point do i have to fly ? distance variable answers this question   --> | 
|---|
| [12029] | 235 |     | 
|---|
| [11281] | 236 |  | 
|---|
| [12029] | 237 |        | 
|---|
| [11337] | 238 |  | 
|---|
| [12029] | 239 |  | 
|---|
| [11312] | 240 |     <RaceCheckPoint name="checkpoint1" yaw=90 pitch=90 position="1000,30,0" roll="0" direction="0,1,0" collisionType="static" scale="1" distance="60" checkpointindex="0" islast="false" nextcheckpoints="1,-1,-1"> | 
|---|
| [11281] | 241 |         <attached> | 
|---|
| [11328] | 242 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_Green.mesh"/> | 
|---|
| [11282] | 243 |     </attached> | 
|---|
 | 244 |     <collisionShapes> | 
|---|
 | 245 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 246 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 247 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 248 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 249 |     </collisionShapes> | 
|---|
| [11281] | 250 |     </RaceCheckPoint> | 
|---|
| [12029] | 251 |             <Model mesh="cube.mesh" scale=2 position="3000,200,100"/> | 
|---|
 | 252 |             <Model mesh="cube.mesh" scale=2 position="5000,100,500"/> | 
|---|
| [11281] | 253 |  | 
|---|
| [11284] | 254 | <RaceCheckPoint name="checkpoint2" yaw=90 pitch=90 position="3000,200,100" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="1" islast="false" nextcheckpoints="2,-1,-1"> | 
|---|
| [11281] | 255 |         <attached> | 
|---|
| [11282] | 256 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 257 |     </attached> | 
|---|
 | 258 |     <collisionShapes> | 
|---|
 | 259 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 260 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 261 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 262 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 263 |     </collisionShapes> | 
|---|
| [11281] | 264 |     </RaceCheckPoint> | 
|---|
 | 265 |  | 
|---|
 | 266 |  | 
|---|
| [12029] | 267 | <RaceCheckPoint name="checkpoint3" yaw=90 pitch=90 position="5000,80,500" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="2" islast="false" nextcheckpoints="3,-1,-1"> | 
|---|
| [11281] | 268 |         <attached> | 
|---|
| [11282] | 269 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 270 |     </attached> | 
|---|
 | 271 |     <collisionShapes> | 
|---|
 | 272 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 273 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 274 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 275 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 276 |     </collisionShapes> | 
|---|
| [11281] | 277 |     </RaceCheckPoint> | 
|---|
 | 278 |  | 
|---|
 | 279 |  | 
|---|
| [11284] | 280 | <RaceCheckPoint name="checkpoint4"  yaw=90 pitch=90 position="8000,-150,150" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="3" islast="false" nextcheckpoints="4,-1,-1"> | 
|---|
| [11281] | 281 |         <attached> | 
|---|
| [11282] | 282 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 283 |     </attached> | 
|---|
 | 284 |     <collisionShapes> | 
|---|
 | 285 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 286 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 287 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 288 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 289 |     </collisionShapes> | 
|---|
| [11281] | 290 |     </RaceCheckPoint> | 
|---|
 | 291 |  | 
|---|
 | 292 |  | 
|---|
| [12029] | 293 | <RaceCheckPoint name="checkpoint5"  yaw=90 pitch=90 position="11000,-200,200" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="4" islast="false" nextcheckpoints="5,-1,-1"> | 
|---|
| [11281] | 294 |         <attached> | 
|---|
| [11282] | 295 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 296 |     </attached> | 
|---|
 | 297 |     <collisionShapes> | 
|---|
 | 298 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 299 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 300 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 301 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 302 |     </collisionShapes> | 
|---|
| [11281] | 303 |     </RaceCheckPoint> | 
|---|
 | 304 |  | 
|---|
 | 305 |  | 
|---|
 | 306 |  | 
|---|
| [12029] | 307 | <RaceCheckPoint name="checkpoint6" yaw=90 pitch=90 position="13000,-70,350" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="5" islast="false" nextcheckpoints="6,-1,-1"> | 
|---|
| [11281] | 308 |         <attached> | 
|---|
| [11282] | 309 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 310 |     </attached> | 
|---|
 | 311 |     <collisionShapes> | 
|---|
 | 312 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 313 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 314 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 315 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 316 |     </collisionShapes> | 
|---|
| [11281] | 317 |     </RaceCheckPoint> | 
|---|
 | 318 |  | 
|---|
 | 319 |  | 
|---|
 | 320 |  | 
|---|
| [12029] | 321 | <RaceCheckPoint name="checkpoint7" yaw=90 pitch=90 position="15500,0,0" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="6" islast="false" nextcheckpoints="7,-1,-1"> | 
|---|
| [11281] | 322 |         <attached> | 
|---|
| [11282] | 323 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 324 |     </attached> | 
|---|
 | 325 |     <collisionShapes> | 
|---|
 | 326 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 327 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 328 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 329 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 330 |     </collisionShapes> | 
|---|
| [11281] | 331 |     </RaceCheckPoint> | 
|---|
 | 332 |  | 
|---|
 | 333 |  | 
|---|
| [11284] | 334 | <RaceCheckPoint name="checkpoint8" yaw=90 pitch=90 position="18000,150,-150" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="7" islast="false" nextcheckpoints="8,-1,-1"> | 
|---|
| [11281] | 335 |         <attached> | 
|---|
| [11282] | 336 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 337 |     </attached> | 
|---|
 | 338 |     <collisionShapes> | 
|---|
 | 339 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 340 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 341 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 342 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 343 |     </collisionShapes> | 
|---|
| [11281] | 344 |     </RaceCheckPoint> | 
|---|
 | 345 |  | 
|---|
 | 346 |  | 
|---|
| [11303] | 347 | <RaceCheckPoint name="checkpoint9" yaw=90 pitch=90 position="21000,200,-120" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="8" islast="false" nextcheckpoints="9,-1,-1"> | 
|---|
| [11281] | 348 |         <attached> | 
|---|
| [11282] | 349 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 350 |     </attached> | 
|---|
 | 351 |     <collisionShapes> | 
|---|
 | 352 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 353 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 354 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 355 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 356 |     </collisionShapes> | 
|---|
| [11281] | 357 |     </RaceCheckPoint> | 
|---|
| [11284] | 358 | <RaceCheckPoint name="checkpoint10" yaw=90 pitch=90 position="24000,-150,-80" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="9" islast="false" nextcheckpoints="10,-1,-1"> | 
|---|
| [11281] | 359 |         <attached> | 
|---|
| [11282] | 360 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 361 |     </attached> | 
|---|
 | 362 |     <collisionShapes> | 
|---|
 | 363 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 364 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 365 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 366 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 367 |     </collisionShapes> | 
|---|
| [11281] | 368 |     </RaceCheckPoint> | 
|---|
 | 369 |  | 
|---|
| [11284] | 370 | <RaceCheckPoint name="checkpoint11" yaw=90 pitch=90 position="27000,-200,0" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="10" islast="false" nextcheckpoints="11,-1,-1"> | 
|---|
| [11281] | 371 |         <attached> | 
|---|
| [11282] | 372 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 373 |     </attached> | 
|---|
 | 374 |     <collisionShapes> | 
|---|
 | 375 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 376 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 377 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 378 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 379 |     </collisionShapes> | 
|---|
| [11281] | 380 |     </RaceCheckPoint> | 
|---|
 | 381 |  | 
|---|
 | 382 |  | 
|---|
 | 383 |  | 
|---|
| [12029] | 384 | <RaceCheckPoint name="checkpoint12" yaw=90 pitch=90 position="30000,-250,670" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="11" islast="false" nextcheckpoints="12,-1,-1"> | 
|---|
| [11281] | 385 |         <attached> | 
|---|
| [11282] | 386 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 387 |     </attached> | 
|---|
 | 388 |     <collisionShapes> | 
|---|
 | 389 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 390 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 391 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 392 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 393 |     </collisionShapes> | 
|---|
| [11281] | 394 |     </RaceCheckPoint> | 
|---|
 | 395 |  | 
|---|
 | 396 |  | 
|---|
| [12029] | 397 | <RaceCheckPoint name="checkpoint13" yaw=90 pitch=90 position="33000,150,600" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="12" islast="false" nextcheckpoints="13,-1,-1"> | 
|---|
| [11281] | 398 |         <attached> | 
|---|
| [11282] | 399 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 400 |     </attached> | 
|---|
 | 401 |     <collisionShapes> | 
|---|
 | 402 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 403 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 404 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 405 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 406 |     </collisionShapes> | 
|---|
| [11281] | 407 |     </RaceCheckPoint> | 
|---|
 | 408 |  | 
|---|
 | 409 |  | 
|---|
 | 410 |  | 
|---|
| [12029] | 411 | <RaceCheckPoint name="checkpoint14" yaw=90 pitch=90 position="35000,500,300" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="13" islast="false" nextcheckpoints="14,-1,-1"> | 
|---|
| [11281] | 412 |         <attached> | 
|---|
| [11282] | 413 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 414 |     </attached> | 
|---|
 | 415 |     <collisionShapes> | 
|---|
 | 416 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 417 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 418 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 419 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 420 |     </collisionShapes> | 
|---|
| [11281] | 421 |     </RaceCheckPoint> | 
|---|
 | 422 |  | 
|---|
| [12029] | 423 | <RaceCheckPoint name="checkpoint15" yaw=90 pitch=90 position="38000,150,150" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="14" islast="false" nextcheckpoints="15,-1,-1"> | 
|---|
| [11281] | 424 |         <attached> | 
|---|
| [11282] | 425 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 426 |     </attached> | 
|---|
 | 427 |     <collisionShapes> | 
|---|
 | 428 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 429 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 430 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 431 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 432 |     </collisionShapes> | 
|---|
| [11281] | 433 |     </RaceCheckPoint> | 
|---|
 | 434 |  | 
|---|
| [11312] | 435 | <RaceCheckPoint name="checkpoint16" yaw=90 pitch=90 position="41000,30,-50" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="15" islast="false" nextcheckpoints="16,-1,-1"> | 
|---|
| [11289] | 436 |         <attached> | 
|---|
 | 437 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 438 |     </attached> | 
|---|
 | 439 |     <collisionShapes> | 
|---|
 | 440 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 441 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 442 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 443 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 444 |     </collisionShapes> | 
|---|
 | 445 |     </RaceCheckPoint> | 
|---|
| [11281] | 446 |  | 
|---|
| [11312] | 447 | <RaceCheckPoint name="checkpoint17" yaw=90 pitch=90 position="44000,90,0" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="16" islast="false" nextcheckpoints="17,-1,-1"> | 
|---|
 | 448 |         <attached> | 
|---|
 | 449 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 450 |     </attached> | 
|---|
 | 451 |     <collisionShapes> | 
|---|
 | 452 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 453 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 454 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 455 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 456 |     </collisionShapes> | 
|---|
 | 457 |     </RaceCheckPoint> | 
|---|
| [11289] | 458 |  | 
|---|
| [11312] | 459 | <RaceCheckPoint name="checkpoint18" yaw=90 pitch=90 position="47000,120,30" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="17" islast="false" nextcheckpoints="18,-1,-1"> | 
|---|
 | 460 |         <attached> | 
|---|
 | 461 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 462 |     </attached> | 
|---|
 | 463 |     <collisionShapes> | 
|---|
 | 464 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 465 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 466 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 467 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 468 |     </collisionShapes> | 
|---|
 | 469 |     </RaceCheckPoint> | 
|---|
| [11281] | 470 |  | 
|---|
| [11312] | 471 |     <RaceCheckPoint name="checkpoint19" yaw=90 pitch=90 position="50000,0,100" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="18" islast="false" nextcheckpoints="19,-1,-1"> | 
|---|
 | 472 |         <attached> | 
|---|
 | 473 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/> | 
|---|
 | 474 |     </attached> | 
|---|
 | 475 |     <collisionShapes> | 
|---|
 | 476 |         <BoxCollisionShape position="0,0,70"      halfExtents="70, 10, 10" /> | 
|---|
 | 477 |         <BoxCollisionShape position="0,0,-70"     halfExtents="70, 10, 10" /> | 
|---|
 | 478 |         <BoxCollisionShape position="70,0,0"      halfExtents="10, 10, 70" /> | 
|---|
 | 479 |         <BoxCollisionShape position="-70,0,0"     halfExtents="10, 10, 70" /> | 
|---|
 | 480 |     </collisionShapes> | 
|---|
| [12029] | 481 |     </RaceCheckPoint>  | 
|---|
| [11281] | 482 |  | 
|---|
| [11337] | 483 | <!-- the last checkpoint is bigger and red --> | 
|---|
| [11312] | 484 |     <RaceCheckPoint name="checkpoint20" yaw=90 pitch=90 position="53000,0,0" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="19" islast="true"> | 
|---|
 | 485 |         <attached> | 
|---|
| [11328] | 486 |       <Model position="0,0,0" scale="70" mesh="Checkpoint_Finish.mesh"/> | 
|---|
| [11312] | 487 |     </attached> | 
|---|
 | 488 |     <collisionShapes> | 
|---|
| [11328] | 489 |         <BoxCollisionShape position="0,0,90"      halfExtents="90, 13, 13" /> | 
|---|
 | 490 |         <BoxCollisionShape position="0,0,-90"     halfExtents="90, 13, 13" /> | 
|---|
 | 491 |         <BoxCollisionShape position="90,0,0"      halfExtents="13, 13, 90" /> | 
|---|
 | 492 |         <BoxCollisionShape position="-90,0,0"     halfExtents="13, 13, 90" /> | 
|---|
| [11312] | 493 |     </collisionShapes> | 
|---|
| [12029] | 494 |     </RaceCheckPoint>  | 
|---|
| [11281] | 495 |  | 
|---|
| [11272] | 496 |  | 
|---|
| [11312] | 497 | </checkpoints> | 
|---|
 | 498 | </SpaceRaceManager> | 
|---|
| [12029] | 499 |    <Arrow> | 
|---|
 | 500 |       <attached> | 
|---|
 | 501 |        <Model scale="5" mesh="botpointer4.mesh"/> | 
|---|
 | 502 |       </attached> | 
|---|
 | 503 |       <controller> | 
|---|
 | 504 |         <ArrowController accuracy = 10000> | 
|---|
 | 505 |           <gpspoints> | 
|---|
 | 506 |             <Model mesh="cube.mesh" scale=0 position="1000,30,0"/> | 
|---|
 | 507 |             <Model mesh="cube.mesh" scale=0 position="3000,200,100"/> | 
|---|
 | 508 |             <Model mesh="cube.mesh" scale=0 position="5000,80,500"/> | 
|---|
 | 509 |             <Model mesh="cube.mesh" scale=0 position="8000,-150,150"/> | 
|---|
 | 510 |             <Model mesh="cube.mesh" scale=0 position="11000,-200,200"/> | 
|---|
 | 511 |             <Model mesh="cube.mesh" scale=0 position="13000,-70,350"/> | 
|---|
 | 512 |             <Model mesh="cube.mesh" scale=0 position="15500,0,0"/> | 
|---|
 | 513 |             <Model mesh="cube.mesh" scale=0 position="18000,150,-150"/> | 
|---|
 | 514 |             <Model mesh="cube.mesh" scale=0 position="21000,200,-120"/> | 
|---|
 | 515 |             <Model mesh="cube.mesh" scale=0 position="24000,-150,-80"/> | 
|---|
 | 516 |             <Model mesh="cube.mesh" scale=0 position="27000,-200,0"/> | 
|---|
 | 517 |             <Model mesh="cube.mesh" scale=0 position="30000,-250,670"/> | 
|---|
 | 518 |             <Model mesh="cube.mesh" scale=0 position="33000,150,600"/> | 
|---|
 | 519 |             <Model mesh="cube.mesh" scale=0 position="35000,500,300"/> | 
|---|
 | 520 |             <Model mesh="cube.mesh" scale=0 position="38000,150,150"/> | 
|---|
 | 521 |             <Model mesh="cube.mesh" scale=0 position="41000,30,-50"/> | 
|---|
 | 522 |             <Model mesh="cube.mesh" scale=0 position="44000,90,0"/> | 
|---|
 | 523 |             <Model mesh="cube.mesh" scale=0 position="47000,120,30"/> | 
|---|
 | 524 |             <Model mesh="cube.mesh" scale=0 position="50000,0,100"/> | 
|---|
 | 525 |             <Model mesh="cube.mesh" scale=0 position="53000,0,0"/> | 
|---|
| [11303] | 526 |  | 
|---|
| [12029] | 527 |              | 
|---|
| [11303] | 528 |  | 
|---|
 | 529 |  | 
|---|
| [12029] | 530 |             | 
|---|
 | 531 |  | 
|---|
 | 532 |                 </gpspoints> | 
|---|
 | 533 |         </ArrowController> | 
|---|
 | 534 |       </controller> | 
|---|
 | 535 |     </Arrow> | 
|---|
 | 536 |  | 
|---|
 | 537 |  | 
|---|
| [11312] | 538 | <!-- ---------------------PickUps---------------------- --> | 
|---|
| [11303] | 539 |  | 
|---|
| [12029] | 540 |      | 
|---|
 | 541 |     <PickupSpawner pickup=mediumboostpickup position="24000,-165,-80" triggerDistance="60" respawnTime="10" maxSpawnedItems="8" scale="10"/> | 
|---|
 | 542 |      | 
|---|
 | 543 |     <PickupSpawner pickup=smallboostpickup position="42000,70,-30" triggerDistance="60" respawnTime="10" maxSpawnedItems="8" scale="10"/> | 
|---|
 | 544 |     <PickupSpawner pickup=smallspeedpickup position="32000,0,650" triggerDistance="60" respawnTime="10" maxSpawnedItems="8" scale="10"/> | 
|---|
| [11303] | 545 |  | 
|---|
| [12029] | 546 |     <PickupSpawner pickup=smallspeedpickup position="9000,-185,66" triggerDistance="60" respawnTime="10" maxSpawnedItems="8" scale="10"/> | 
|---|
 | 547 |   | 
|---|
| [11232] | 548 |   </Scene> | 
|---|
 | 549 | </Level> | 
|---|
| [11272] | 550 |   | 
|---|