1 | <LevelInfo |
---|
2 | name = "Planet and City level" |
---|
3 | description = "Fly into the planet. Get teleported into a city" |
---|
4 | tags = "test" |
---|
5 | screenshot = "emptylevel.png" |
---|
6 | /> |
---|
7 | |
---|
8 | <?lua |
---|
9 | include("stats.oxo") |
---|
10 | include("HUDTemplates3.oxo") |
---|
11 | include("templates/lodInformation.oxt") |
---|
12 | ?> |
---|
13 | |
---|
14 | <?lua |
---|
15 | include("templates/spaceshipAssff2.oxt") |
---|
16 | include("templates/spaceshipPirate.oxt") |
---|
17 | include("templates/spaceshipEscort.oxt") |
---|
18 | include("templates/spaceshipRing.oxt") |
---|
19 | include("templates/spaceshipSwallow.oxt") |
---|
20 | ?> |
---|
21 | |
---|
22 | |
---|
23 | <!-- Global variable definition --> |
---|
24 | <?lua |
---|
25 | PLANET_DISTANCE = 1000000 |
---|
26 | PLANET_SCALE = 20000 |
---|
27 | SKYBOX_SCALE = 100000 |
---|
28 | X = 20 |
---|
29 | Y = 20 |
---|
30 | CELL_SIZE = 600 |
---|
31 | ?> |
---|
32 | |
---|
33 | <!-- city generator --> |
---|
34 | <?lua |
---|
35 | function randomHouses(x,y,cellSize) |
---|
36 | returnString = "" |
---|
37 | for currentX = 1, x, 1 do |
---|
38 | for currentY = 1, y, 1 do |
---|
39 | houseNr = math.floor(math.random()*7 + 1) |
---|
40 | orientation = math.floor(math.random()*4)*90 |
---|
41 | houses = {"Glasstower1","ETH","Hausc1","PrimeTower","Hausc2","101","hausc3"} |
---|
42 | scales = {100,100,100,100,100,100,100} |
---|
43 | collisionShapes = {--[[Glasstower1]]"<BoxCollisionShape position=\"0,405,0\" halfExtents=\"90,405,90\" /><BoxCollisionShape position=\"0,855,0\" halfExtents=\"110, 45, 110\" /><BoxCollisionShape position=\"0,957,0\" halfExtents=\"5, 70, 5\" /> ",--[[ETH]]"<BoxCollisionShape position=\"-46.16,22.423,3.439\" halfExtents=\"89.5,30.4,151.5\" /><BoxCollisionShape position=\"105.607996,22.905,-137.980005\" halfExtents=\"31.40,23.55,39.25\" /><BoxCollisionShape position=\"105.607996,22.905,137.078003\" halfExtents=\"31.40,23.55,39.25\" /><BoxCollisionShape position=\"65.356,22.905,118.208997\" halfExtents=\"31.40,23.55,20.40\" /><BoxCollisionShape position=\"65.356,22.905,-121.712\" halfExtents=\"31.40,23.55,20.40\" /><SphereCollisionShape position=\"44.985001,60.196997,0.352 \" radius=\"31.65\" />",--[[Hausc1]]"<BoxCollisionShape position=\"0,71.43,0\" halfExtents=\"142.86, 71.43, 142.86\" /><BoxCollisionShape position=\"-71.43,285.72,-71.43\" halfExtents=\"71.43, 142.86, 71.43\" /><BoxCollisionShape position=\"71.43,428.58,0\" halfExtents=\"71.43, 285.72, 142.86\" /><BoxCollisionShape position=\"71.43,857.16,-71.43\" halfExtents=\"71.43, 142.86, 71.43\" /><BoxCollisionShape position=\"-35.715,214.29,35.715\" halfExtents=\"35.715, 71.43, 35.715\" /><BoxCollisionShape position=\"-35.715,500.01,-107.145\" halfExtents=\"35.715, 71.43, 35.715\" /><BoxCollisionShape position=\"107.145,785.73,35.715\" halfExtents=\"35.715, 71.43, 35.715\" />",--[[PrimeTower]]"<BoxCollisionShape position=\"-16.1,278.6,053.\" halfExtents=\"063,296,063\" yaw=\"-16.5\" /> <BoxCollisionShape position=\"007.1,278.6,027.3\" halfExtents=\"065,296,065\" yaw=\"-28\" /><BoxCollisionShape position=\"012.8,278.6,-63.3\" halfExtents=\"076,296,076\" yaw=\"4\" /> <BoxCollisionShape position=\"023.18,278.6,-135.4\" halfExtents=\"067.7,296,067.7\" yaw=\"-36\" />",--[[Hausc2]]"<BoxCollisionShape position=\"0,349.999,-166.667\" halfExtents=\"83.333, 349.999, 83.333\" /><BoxCollisionShape position=\"0,349.999,166.667\" halfExtents=\"83.333, 349.999, 83.333\" /><BoxCollisionShape position=\"41.666,291.666,0\" halfExtents=\"41.666, 58.333, 83.333\" /><BoxCollisionShape position=\"-41.666,524.999,0\" halfExtents=\"41.666, 58.333, 83.333\" /> ",--[[101]]"<BoxCollisionShape position=\"0,565.7,0\" halfExtents=\"76,565.7,76\" /><BoxCollisionShape position=\"-2.8,1210,1\" halfExtents=\"39,82,39\" />",--[[hausc3]]"<BoxCollisionShape position=\"0,300,-208.33\" halfExtents=\"250,0,65.1\" pitch=\"-50.194\" /><BoxCollisionShape position=\"0,300,-125\" halfExtents=\"250,0,65.1\" pitch=\"50.194\" /><BoxCollisionShape position=\"125,275,0\" halfExtents=\"48.59,0,250\" roll=\"30.964\" /><BoxCollisionShape position=\"208.33,275,0\" halfExtents=\"48.59,0,250\" roll=\"-30.964\" /><BoxCollisionShape position=\"166.67,125,0\" halfExtents=\"83.33,125,250\" /><BoxCollisionShape position=\"-83.33,125,-166.67\" halfExtents=\"166.66,125,83.33\" />"} |
---|
44 | if (currentX > 0 and currentX < x and currentY > 1 --[[and currentY ~= y]]) then |
---|
45 | returnString = returnString .. "<StaticEntity collisionType=\"static\" position=\"" .. (currentX*cellSize) .. "," .. (currentY*cellSize - (cellSize/2)) .. ",0\" direction=\"0,1,0\" pitch=\"0\" roll=\"0\" yaw=\"" .. orientation .. "\"> <attached> <Model position=\"0,0,0\" mesh=\"" .. houses[houseNr] .. ".mesh\" scale=\"" .. scales[houseNr] .. "\"/></attached><collisionShapes>" .. collisionShapes[houseNr] .. "</collisionShapes></StaticEntity>\n\n" |
---|
46 | end |
---|
47 | returnString = returnString .. "<StaticEntity collisionType=\"static\" position=\"" .. (currentX*cellSize - cellSize/2) .. "," .. (currentY*cellSize) .. ",0\" direction=\"0,1,0\" pitch=\"0\" roll=\"0\" yaw=\"0\"> <attached> <Model position=\"0,0,0\" mesh=\"CityGroundLamps.mesh\" scale=\"" .. cellSize .. "\"/><Model position=\"0,0,0\" mesh=\"CityGround.mesh\" scale=\"" .. cellSize .. "\"/></attached><collisionShapes><BoxCollisionShape position=\"0,0,0\" halfExtents=\"500,0,500\"/><BoxCollisionShape position=\"48.5,50.88,192\" halfExtents=\"5,50.88,5\"/><BoxCollisionShape position=\"48.5,50.88,-192\" halfExtents=\"5,50.88,5\"/><BoxCollisionShape position=\"48.5,50.88,-54\" halfExtents=\"5,50.88,5\"/><BoxCollisionShape position=\"48.5,50.88,54\" halfExtents=\"5,50.88,5\"/><BoxCollisionShape position=\"-48.5,50.88,192\" halfExtents=\"5,50.88,5\"/><BoxCollisionShape position=\"-48.5,50.88,-192\" halfExtents=\"5,50.88,5\"/><BoxCollisionShape position=\"-48.5,50.88,-54\" halfExtents=\"5,50.88,5\"/><BoxCollisionShape position=\"-48.5,50.88,54\" halfExtents=\"5,50.88,5\"/></collisionShapes></StaticEntity>\n\n" |
---|
48 | end |
---|
49 | end |
---|
50 | return returnString |
---|
51 | end |
---|
52 | |
---|
53 | ?> |
---|
54 | |
---|
55 | <Level> |
---|
56 | <templates> |
---|
57 | <Template link=lodtemplate_default /> |
---|
58 | </templates> |
---|
59 | |
---|
60 | <?lua include("includes/notifications.oxi") ?> |
---|
61 | |
---|
62 | |
---|
63 | <Scene |
---|
64 | ambientlight = "0.45, 0.4, 0.35" |
---|
65 | skybox = "Orxonox/Starbox" |
---|
66 | > |
---|
67 | |
---|
68 | |
---|
69 | <Planet |
---|
70 | position="<?lua print(PLANET_DISTANCE)?>,0,0" |
---|
71 | scale="<?lua print(PLANET_SCALE)?>" |
---|
72 | collisionType="dynamic" |
---|
73 | linearDamping="0.8" |
---|
74 | angularDamping="0" |
---|
75 | mass="5.9e21" |
---|
76 | mesh="planets/earth.mesh" |
---|
77 | atmosphere="atmosphere1" |
---|
78 | rotationaxis="0,1,0" |
---|
79 | rotationrate="0.2" |
---|
80 | atmospheresize="80.0f" |
---|
81 | imagesize="1024.0f" |
---|
82 | collisiondamage= 2 |
---|
83 | enablecollisiondamage= false |
---|
84 | /> |
---|
85 | |
---|
86 | <DistanceTrigger name="SkyboxVisible" position="0,0,0" target="Pawn" distance="100000" stayActive="true" delay=0 /> |
---|
87 | |
---|
88 | <?lua print(randomHouses(X,Y,CELL_SIZE)) ?> |
---|
89 | |
---|
90 | <StaticEntity position="0,0,0" direction="0,0,0" collisionType=static mass=0 friction=0.01 yaw=90 pitch=180 roll=90 > |
---|
91 | <attached> |
---|
92 | <Model position="0,0,0" mesh="skyboxHoenggerberg.mesh" scale3D="<?lua print(SKYBOX_SCALE)?>,<?lua print(SKYBOX_SCALE)?>,<?lua print(SKYBOX_SCALE)?>" lodLevel="0"> |
---|
93 | <events> |
---|
94 | <visibility> |
---|
95 | <EventTrigger> |
---|
96 | <events> |
---|
97 | <trigger> |
---|
98 | <EventListener event="SkyboxVisible"/> |
---|
99 | </trigger> |
---|
100 | </events> |
---|
101 | </EventTrigger> |
---|
102 | </visibility> |
---|
103 | </events> |
---|
104 | </Model> |
---|
105 | </attached> |
---|
106 | </StaticEntity> |
---|
107 | |
---|
108 | <Light type="directional" position="-90,50,60" lookat="0,0,0" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/> |
---|
109 | |
---|
110 | <SpawnPoint team=0 position="<?lua print(PLANET_DISTANCE - PLANET_SCALE - 2000)?>,0,0" lookat="<?lua print(PLANET_DISTANCE) ?>,0,0" spawnclass=SpaceShip pawndesign=spaceshipescort orientation="-0.4,-0.6,0.6,0.4" /> |
---|
111 | |
---|
112 | <PortalEndPoint position="<?lua print(X*CELL_SIZE/2) ?>,<?lua print(Y*CELL_SIZE/2) ?>,500" id="3" distance="40" target="Pawn"/> |
---|
113 | <PortalEndPoint position="<?lua print(PLANET_DISTANCE) ?>,0,0" id="2" distance="<?lua print(PLANET_SCALE)?>" target="Pawn"/> |
---|
114 | <PortalEndPoint position="<?lua print(PLANET_DISTANCE + PLANET_SCALE + 6000) ?>,0,0" id="1" distance="40" target="Pawn"/> |
---|
115 | |
---|
116 | <PortalLink fromID="2" toID="3" /> |
---|
117 | <PortalLink fromID="3" toID="1" /> |
---|
118 | </Scene> |
---|
119 | </Level> |
---|