[Orxonox-commit 2219] r6935 - in code/branches/presentation3: data/levels src/modules/objects/triggers src/modules/questsystem src/orxonox/gametypes

dafrick at orxonox.net dafrick at orxonox.net
Thu May 20 14:51:00 CEST 2010


Author: dafrick
Date: 2010-05-20 14:50:59 +0200 (Thu, 20 May 2010)
New Revision: 6935

Modified:
   code/branches/presentation3/data/levels/Level(Deathmatch).oxw
   code/branches/presentation3/src/modules/objects/triggers/DistanceTrigger.cc
   code/branches/presentation3/src/modules/questsystem/QuestEffectBeacon.cc
   code/branches/presentation3/src/orxonox/gametypes/TeamDeathmatch.cc
Log:
Some changed in a level also in Triggers...


Modified: code/branches/presentation3/data/levels/Level(Deathmatch).oxw
===================================================================
--- code/branches/presentation3/data/levels/Level(Deathmatch).oxw	2010-05-20 12:45:03 UTC (rev 6934)
+++ code/branches/presentation3/data/levels/Level(Deathmatch).oxw	2010-05-20 12:50:59 UTC (rev 6935)
@@ -59,6 +59,9 @@
   description="Level zerstoeren von Transportern"
   gametype=TeamDeathmatch
 >
+    <lodinformation>
+	    <MeshLodInformation mesh=Transporter.mesh lodQuality=10 />
+    </lodinformation>
 
 	<!-- Ausgang: Szene ===> ambientlight/skybox -->
 	<Scene
@@ -81,20 +84,26 @@
 <!--*****************************************************************************************************************************************************************************************-->
 
 		<!--Spieler Spawnpoint ===> position/direction-->
-		<SpawnPoint position="150,0,-50" direction="2000,0,-1000" spawnclass=SpaceShip pawndesign=spaceshipassffplayer team=0 active="true" > 
+		<SpawnPoint position="150,0,-50" direction="2000,0,-1000" spawnclass=SpaceShip pawndesign=spaceshipassffplayer team=0 active="true" name=spawn1> 
 			<events>
 				<activity>
-					<EventListener event="activateSecondSpawnpoint" />
+					<EventListener event="activateFirstSpawnpoint" />
 				</activity>
 			</events>
+			<attached>
+			    <Billboard position="0,0,0" colour="0,1.0,0" material="Examples/Flare"/>
+			</attached>
 		</SpawnPoint>
 
-		<SpawnPoint position="10000,0,3000" direction="2000,0,-1000" spawnclass=SpaceShip pawndesign=spaceshipassffplayer team=0 active="false" > 
+		<SpawnPoint position="10000,0,3000" direction="2000,0,-1000" spawnclass=SpaceShip pawndesign=spaceshipassffplayer team=0 active="false" name=spawn2> 
 			<events>
 				<activity>
 					<EventListener event="activateSecondSpawnpoint" />
 				</activity>
 			</events>
+			<attached>
+			    <Billboard position="0,0,0" colour="1.0,0,0" material="Examples/Flare"/>
+			</attached>
 		</SpawnPoint>
 
 
@@ -230,48 +239,40 @@
 
 <!--Erstellen des Asteroidenfeldes___FUNKTIONIERT_________________________________________________________________________________________________________________________________________OK--> 
 
-		<StaticEntity position="3000,0,-1000">
+		<?lua for i=0,100,1 do 
+		x=math.random(250,4000)
+		y=math.random(-500,500)
+		z=math.random(1000,2000)
+		scale=math.random(20,70)
+		?>
+		<MovableEntity collisionType=kinematic linearDamping=0.8 angularDamping=0 mass="<?lua print(scale * 5) ?>" position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" rotationaxis="<?lua print(math.random()) ?>,<?lua print(math.random()) ?>,<?lua print(math.random()) ?>" rotationrate="<?lua print(math.random()*15) ?>">
 			<attached>
-				<?lua for i=0,100,1 do 
-				x=math.random(250,4000)
-				y=math.random(-500,500)
-				z=math.random(1000,2000)
-				scale=math.random(20,70)
-				?>
-				<MovableEntity collisionType=kinematic linearDamping=0.8 angularDamping=0 mass="<?lua print(scale * 5) ?>" position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" rotationaxis="<?lua print(math.random()) ?>,<?lua print(math.random()) ?>,<?lua print(math.random()) ?>" rotationrate="<?lua print(math.random()*15) ?>">
-					<attached>
-						<Model scale=<?lua print(scale) ?> mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh" shadow=false/>
-					</attached>
-					<collisionShapes>
-        				<SphereCollisionShape radius="<?lua print(scale * 3) ?>" />
-      					</collisionShapes> 
-				</MovableEntity>
-				<?lua end ?>
+				<Model scale=<?lua print(scale) ?> mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh" shadow=false/>
 			</attached>
-		</StaticEntity>
+			<collisionShapes>
+				<SphereCollisionShape radius="<?lua print(scale * 3) ?>" />
+				</collisionShapes> 
+		</MovableEntity>
+		<?lua end ?>
 
 <!--Erstellen des Ateroidenfeldes______ENDE__________________________________________________________________________________________________________________________________________________-->
 
 <!--Erstellen von Asteroiden die zufaellig plaziert sind___________________________________________________________________________________________________________________________________OK-->
 
-		<StaticEntity position="0,0,0">
-			<attached>
-				<?lua for i=0,150,1 do 
-				x=math.random(-8000,8000)
-				y=math.random(-8000,8000)
-				z=math.random(-8000,8000)
-				?>
-				<MovableEntity collisionType=kinematic linearDamping=0.8 angularDamping=0 mass="<?lua print(scale * 5) ?>" position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" rotationaxis="<?lua print(math.random()) ?>,<?lua print(math.random()) ?>,<?lua print(math.random()) ?>" rotationrate="<?lua print(math.random()*15) ?>" >
-					<attached>
-						<Model scale=<?lua print(math.random(20,70)) ?> mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh" shadow=false/>
-					</attached>
-					<collisionShapes>
-       					<SphereCollisionShape radius="<?lua print(scale * 3) ?>" />
- 					</collisionShapes> 
-				</MovableEntity>
-				<?lua end ?>
-			</attached>
-		</StaticEntity>
+	<?lua for i=0,150,1 do 
+	x=math.random(-8000,8000)
+	y=math.random(-8000,8000)
+	z=math.random(-8000,8000)
+	?>
+	<MovableEntity collisionType=kinematic linearDamping=0.8 angularDamping=0 mass="<?lua print(scale * 5) ?>" position="<?lua print(x) ?>,<?lua print(y) ?>,<?lua print(z) ?>" rotationaxis="<?lua print(math.random()) ?>,<?lua print(math.random()) ?>,<?lua print(math.random()) ?>" rotationrate="<?lua print(math.random()*15) ?>" >
+		<attached>
+			<Model scale=<?lua print(math.random(20,70)) ?> mesh="ast<?lua print( math.mod(i,6) + 1) ?>.mesh" shadow=false/>
+		</attached>
+		<collisionShapes>
+			<SphereCollisionShape radius="<?lua print(scale * 3) ?>" />
+		</collisionShapes> 
+	</MovableEntity>
+	<?lua end ?>
 
 <!--Erstellen von Asteroiden die zufaellig plaziert sind______ENDE___________________________________________________________________________________________________________________________-->
 
@@ -404,7 +405,13 @@
 <?lua end ?>
 <!--Erstellen von Feinden auf dem Weg zu den Transportern______ENDE__________________________________________________________________________________________________________________________-->
 
-<DistanceTrigger name="activateSecondSpawnpoint" position="10000,0,3000" distance="1000" target="DistanceTriggerBeacon" targetname="PlayerDistanceTrigger" activations="1" stayactive="true" />
+<Trigger name=activateFirstSpawnpoint invert=true >
+    <DistanceTrigger name="activateSecondSpawnpoint" position="150,0,-300" distance="10" target="DistanceTriggerBeacon" targetname="PlayerDistanceTrigger" activations="1" stayactive="true">
+        <attached>
+                <Billboard position="0,0,0" colour="0,0,1.0" material="Examples/Flare" />
+        </attached>
+    </DistanceTrigger>
+</Trigger>
 
 	</Scene>
 </Level>

Modified: code/branches/presentation3/src/modules/objects/triggers/DistanceTrigger.cc
===================================================================
--- code/branches/presentation3/src/modules/objects/triggers/DistanceTrigger.cc	2010-05-20 12:45:03 UTC (rev 6934)
+++ code/branches/presentation3/src/modules/objects/triggers/DistanceTrigger.cc	2010-05-20 12:50:59 UTC (rev 6935)
@@ -154,6 +154,7 @@
         return true;
       }
     }
+
     return false;
   }
 

Modified: code/branches/presentation3/src/modules/questsystem/QuestEffectBeacon.cc
===================================================================
--- code/branches/presentation3/src/modules/questsystem/QuestEffectBeacon.cc	2010-05-20 12:45:03 UTC (rev 6934)
+++ code/branches/presentation3/src/modules/questsystem/QuestEffectBeacon.cc	2010-05-20 12:50:59 UTC (rev 6935)
@@ -133,7 +133,7 @@
 
         if(pawn == NULL)
         {
-            COUT(2) << "The QuestEffectBeacon was triggered by an entity other than a Pawn." << std::endl;
+            COUT(2) << "The QuestEffectBeacon was triggered by an entity other than a Pawn. (" << trigger->getIdentifier()->getName() << ")" << std::endl;
             return false;
         }
 

Modified: code/branches/presentation3/src/orxonox/gametypes/TeamDeathmatch.cc
===================================================================
--- code/branches/presentation3/src/orxonox/gametypes/TeamDeathmatch.cc	2010-05-20 12:45:03 UTC (rev 6934)
+++ code/branches/presentation3/src/orxonox/gametypes/TeamDeathmatch.cc	2010-05-20 12:50:59 UTC (rev 6935)
@@ -137,11 +137,11 @@
         }
 
         SpawnPoint* fallbackSpawnPoint = NULL;
-
         if (teamSpawnPoints.size() > 0)
         {
             unsigned int randomspawn = static_cast<unsigned int>(rnd(static_cast<float>(teamSpawnPoints.size())));
             unsigned int index = 0;
+            // Get random fallback spawnpoint in case there is no active SpawnPoint.
             for (std::set<SpawnPoint*>::const_iterator it = teamSpawnPoints.begin(); it != teamSpawnPoints.end(); ++it)
             {
                 if (index == randomspawn)
@@ -153,18 +153,22 @@
                 ++index;
             }
 
+            // Remove all inactive SpawnPoints from the list.
             for (std::set<SpawnPoint*>::const_iterator it = teamSpawnPoints.begin(); it != teamSpawnPoints.end(); )
             {
-                if (!(*it)->isActive())
+                if(!(*it)->isActive())
                 {
-                    COUT(1) << "MUP" << std::endl;
+                    COUT(1) << (*it)->getName() << " is inactive." << std::endl;
                     teamSpawnPoints.erase(it++);
                     continue;
                 }
+                COUT(1) << (*it)->getName() << " is active." << std::endl;
 
                 ++it;
             }
 
+            COUT(1) << "MUP " << teamSpawnPoints.size() << std::endl;
+
             randomspawn = static_cast<unsigned int>(rnd(static_cast<float>(teamSpawnPoints.size())));
             index = 0;
             for (std::set<SpawnPoint*>::const_iterator it = teamSpawnPoints.begin(); it != teamSpawnPoints.end(); ++it)




More information about the Orxonox-commit mailing list