| [4468] | 1 | -- Create the trigger | 
|---|
| [4765] | 2 | trigger = TickTrigger() | 
|---|
| [4468] | 3 | trigger:setName("maintrigger") | 
|---|
|  | 4 | trigger:setScript("spaceship_tower.lua") | 
|---|
|  | 5 | trigger:setFunction("tick") | 
|---|
|  | 6 |  | 
|---|
| [4765] | 7 | triggerOne = SpaceTrigger() | 
|---|
| [4653] | 8 | triggerOne:setScript("spaceship_tower.lua") | 
|---|
|  | 9 | triggerOne:setFunction("startSecondQuest") | 
|---|
|  | 10 | triggerOne:setTarget("Player") | 
|---|
|  | 11 | triggerOne:setAbsCoor(1177.693, -12.796, 203.514) | 
|---|
|  | 12 | triggerOne:setRadius(50) | 
|---|
| [4655] | 13 | --triggerOne:setDebugDraw(true) | 
|---|
| [4653] | 14 |  | 
|---|
| [4765] | 15 | triggerTwo = SpaceTrigger() | 
|---|
| [4671] | 16 | triggerTwo:setScript("spaceship_tower.lua") | 
|---|
|  | 17 | triggerTwo:setFunction("startThirdQuest") | 
|---|
|  | 18 | triggerTwo:setTarget("Player") | 
|---|
|  | 19 | triggerTwo:setTriggerParent("panicGuy") | 
|---|
|  | 20 | triggerTwo:setRadius(70) | 
|---|
|  | 21 | --triggerTwo:setDebugDraw(true) | 
|---|
| [4653] | 22 |  | 
|---|
| [4904] | 23 | triggerAc = ActionTrigger() | 
|---|
|  | 24 | triggerAc:setScript("spaceship_tower.lua") | 
|---|
|  | 25 | triggerAc:setFunction("action") | 
|---|
|  | 26 | triggerAc:setTarget("Player") | 
|---|
|  | 27 | triggerAc:setAbsCoor(506.862518, 35, -162.215515) | 
|---|
|  | 28 | triggerAc:setRadius(20) | 
|---|
|  | 29 | triggerAc:setDebugDraw(true) | 
|---|
|  | 30 |  | 
|---|
|  | 31 |  | 
|---|
| [4468] | 32 | -- Get objects from orxonox | 
|---|
|  | 33 | thisscript:addObject("FPSPlayer", "Player") | 
|---|
|  | 34 | thisscript:addObject("GenericNPC", "pedestrianOne") | 
|---|
|  | 35 | thisscript:addObject("GenericNPC", "hangarguyOne") | 
|---|
| [4671] | 36 | thisscript:addObject("GenericNPC", "panicGuy") | 
|---|
| [4653] | 37 | thisscript:addObject("QuestGUI", "First_Quest") | 
|---|
|  | 38 | thisscript:addObject("QuestGUI", "Second_Quest") | 
|---|
| [4671] | 39 | thisscript:addObject("QuestGUI", "Third_Quest") | 
|---|
| [4468] | 40 |  | 
|---|
|  | 41 |  | 
|---|
| [4653] | 42 |  | 
|---|
|  | 43 |  | 
|---|
|  | 44 | -- Globals | 
|---|
|  | 45 | questOneStarted = false | 
|---|
| [4671] | 46 | barReached = false | 
|---|
|  | 47 | runProg = true | 
|---|
| [4653] | 48 |  | 
|---|
| [4468] | 49 | -- pedestrian | 
|---|
|  | 50 | pedestrian = { } | 
|---|
|  | 51 | --{ | 
|---|
|  | 52 | function pedestrian:tick(timestep) | 
|---|
|  | 53 | if pedestrianOne:finalGoalReached() then | 
|---|
|  | 54 |  | 
|---|
|  | 55 | pedestrianOne:walkTo(516.458313, -352, -80.734474) | 
|---|
|  | 56 | pedestrianOne:walkTo(512.872253, -352, -116.005737) | 
|---|
|  | 57 | pedestrianOne:walkTo(499.799866, -352, -159.124832) | 
|---|
|  | 58 | pedestrianOne:walkTo(475.927399, -352, -210.216354) | 
|---|
|  | 59 | pedestrianOne:walkTo(448.311920, -352, -265.528564) | 
|---|
|  | 60 | pedestrianOne:walkTo(414.508118, -352, -323.333405) | 
|---|
|  | 61 | pedestrianOne:walkTo(370.584290, -352, -385.605530) | 
|---|
|  | 62 | pedestrianOne:walkTo(343.100464, -352, -415.069794) | 
|---|
|  | 63 | pedestrianOne:walkTo(264.569794, -352, -476.752869) | 
|---|
|  | 64 | pedestrianOne:walkTo(210.117767, -352, -506.892090) | 
|---|
|  | 65 | pedestrianOne:walkTo(164.443237, -352, -522.833435) | 
|---|
|  | 66 | pedestrianOne:walkTo(104.187263, -352, -532.872925) | 
|---|
|  | 67 | pedestrianOne:walkTo(2.165657, -352, -541.539734) | 
|---|
|  | 68 | pedestrianOne:walkTo(-83.860703, -352, -536.539429) | 
|---|
|  | 69 | pedestrianOne:walkTo(-190.057220, -352, -505.938080) | 
|---|
|  | 70 | pedestrianOne:walkTo(-304.299713, -352, -443.351471) | 
|---|
|  | 71 | pedestrianOne:walkTo(-386.765076, -352, -389.817383) | 
|---|
|  | 72 | pedestrianOne:walkTo(-450.359467, -352, -317.446564) | 
|---|
|  | 73 | pedestrianOne:walkTo(-496.030060, -352, -220.342926) | 
|---|
|  | 74 | pedestrianOne:walkTo(-519.588379, -352, -123.082298) | 
|---|
|  | 75 | pedestrianOne:walkTo(-532.314880, -352, -23.615164) | 
|---|
|  | 76 | pedestrianOne:walkTo(-532.617371, -352, 45.020267) | 
|---|
|  | 77 | pedestrianOne:walkTo(-523.393188, -352, 122.215889) | 
|---|
|  | 78 | pedestrianOne:walkTo(-514.028748, -352, 161.396454) | 
|---|
|  | 79 | pedestrianOne:walkTo(-494.465302, -352, 209.894760) | 
|---|
|  | 80 | pedestrianOne:walkTo(-442.015442, -352, 297.304840) | 
|---|
|  | 81 | pedestrianOne:walkTo(-390.615448, -352, 374.627777) | 
|---|
|  | 82 | pedestrianOne:walkTo(-319.119080, -352, 442.413940) | 
|---|
|  | 83 | pedestrianOne:walkTo(-217.457092, -352, 494.077393) | 
|---|
|  | 84 | pedestrianOne:walkTo(-151.378113, -352, 521.028198) | 
|---|
|  | 85 | pedestrianOne:walkTo(-65.499962, -352, 534.818909) | 
|---|
|  | 86 | pedestrianOne:walkTo(-12.994286, -352, 543.250610) | 
|---|
|  | 87 | pedestrianOne:walkTo(43.301056, -352, 545.434570) | 
|---|
|  | 88 | pedestrianOne:walkTo(111.077263, -352, 542.904480) | 
|---|
|  | 89 | pedestrianOne:walkTo(159.826782, -352, 531.741943) | 
|---|
|  | 90 | pedestrianOne:walkTo(218.487457, -352, 509.065948) | 
|---|
|  | 91 | pedestrianOne:walkTo(276.665436, -352, 477.931427) | 
|---|
|  | 92 | pedestrianOne:walkTo(332.371368, -352, 443.890839) | 
|---|
|  | 93 | pedestrianOne:walkTo(378.867981, -352, 401.978882) | 
|---|
|  | 94 | pedestrianOne:walkTo(415.942627, -352, 345.542542) | 
|---|
|  | 95 | pedestrianOne:walkTo(453.910004, -352, 273.056732) | 
|---|
|  | 96 | pedestrianOne:walkTo(488.833588, -352, 204.519592) | 
|---|
|  | 97 | pedestrianOne:walkTo(512.676575, -352, 145.735123) | 
|---|
|  | 98 | pedestrianOne:walkTo(525.567139, -352, 66.236511) | 
|---|
|  | 99 |  | 
|---|
|  | 100 | end | 
|---|
|  | 101 |  | 
|---|
|  | 102 | end | 
|---|
|  | 103 |  | 
|---|
|  | 104 | --} | 
|---|
|  | 105 |  | 
|---|
|  | 106 |  | 
|---|
|  | 107 |  | 
|---|
|  | 108 | -- hangarguy | 
|---|
|  | 109 | hangarguy = { } | 
|---|
|  | 110 | --{ | 
|---|
|  | 111 |  | 
|---|
|  | 112 | hangarguy.routeProgramed = false | 
|---|
|  | 113 |  | 
|---|
|  | 114 | function hangarguy:tick(timestep) | 
|---|
|  | 115 | if not hangarguy.routeProgramed then | 
|---|
|  | 116 |  | 
|---|
|  | 117 | hangarguyOne:walkTo( 4.520885, 35, -715.864136) | 
|---|
|  | 118 | hangarguyOne:walkTo( 4.436781, 35, -710.607483) | 
|---|
|  | 119 | hangarguyOne:walkTo( 4.271256, 35, -700.261902) | 
|---|
|  | 120 | hangarguyOne:walkTo( 4.108314, 35, -690.077698) | 
|---|
|  | 121 | hangarguyOne:walkTo( 2.860425, 35, -612.082458) | 
|---|
|  | 122 | hangarguyOne:walkTo( 2.336200, 35, -579.317566) | 
|---|
|  | 123 | hangarguyOne:walkTo( 19.468971, 35, -558.118713) | 
|---|
|  | 124 | hangarguyOne:walkTo( 58.664307, 35, -541.788879) | 
|---|
|  | 125 | hangarguyOne:walkTo( 102.207947, 35, -538.448669) | 
|---|
|  | 126 | hangarguyOne:walkTo( 148.613098, 35, -525.434814) | 
|---|
|  | 127 | hangarguyOne:walkTo( 194.356705, 35, -510.325592) | 
|---|
|  | 128 | hangarguyOne:walkTo( 241.033600, 35, -493.087036) | 
|---|
|  | 129 | hangarguyOne:walkTo( 280.100891, 35, -476.127960) | 
|---|
|  | 130 | hangarguyOne:walkTo( 317.930084, 35, -459.305878) | 
|---|
|  | 131 | hangarguyOne:walkTo( 352.476410, 35, -435.666595) | 
|---|
|  | 132 | hangarguyOne:walkTo( 372.327820, 35, -421.279785) | 
|---|
|  | 133 | hangarguyOne:walkTo( 399.971436, 35, -395.954559) | 
|---|
|  | 134 | hangarguyOne:walkTo( 416.877686, 35, -362.181549) | 
|---|
|  | 135 | hangarguyOne:walkTo( 432.721222, 35, -311.302490) | 
|---|
|  | 136 | hangarguyOne:walkTo( 469.218750, 35, -233.788040) | 
|---|
|  | 137 | hangarguyOne:walkTo( 487.923004, 35, -200.841125) | 
|---|
|  | 138 | hangarguyOne:walkTo( 506.862518, 35, -162.215515) | 
|---|
|  | 139 | hangarguyOne:walkTo( 529.612061, 35, -115.549751) | 
|---|
|  | 140 | hangarguyOne:walkTo( 542.065125, 35, -88.352898) | 
|---|
|  | 141 | hangarguyOne:walkTo( 558.192444, 35, -39.543404) | 
|---|
|  | 142 | hangarguyOne:walkTo( 559.105713, 35, -34.795399) | 
|---|
|  | 143 | hangarguyOne:walkTo( 563.437378, 35, -31.207838) | 
|---|
|  | 144 | hangarguyOne:walkTo( 575.247192, 35, -21.994106) | 
|---|
|  | 145 | hangarguyOne:walkTo( 590.928040, 35, -15.268648) | 
|---|
|  | 146 | hangarguyOne:walkTo( 660.693298, 35, -4.461691) | 
|---|
|  | 147 | hangarguyOne:walkTo( 666.650879, 35, -2.223409) | 
|---|
|  | 148 | hangarguyOne:walkTo( 668.187927, 35, 4.955472) | 
|---|
|  | 149 | hangarguyOne:walkTo( 671.830505, 35, 21.968117) | 
|---|
|  | 150 | hangarguyOne:walkTo( 675.100159, 35, 37.731144) | 
|---|
|  | 151 | hangarguyOne:walkTo( 677.764221, 35, 53.632107) | 
|---|
|  | 152 | hangarguyOne:walkTo( 677.170837, 35, 62.944923) | 
|---|
|  | 153 | hangarguyOne:walkTo( 675.125671, 35, 81.444199) | 
|---|
|  | 154 | hangarguyOne:walkTo( 674.070251, 35, 97.964783) | 
|---|
|  | 155 | hangarguyOne:walkTo( 674.865112, 35, 112.956894) | 
|---|
|  | 156 | hangarguyOne:walkTo( 683.106750, 35, 123.733559) | 
|---|
|  | 157 | hangarguyOne:walkTo( 697.092224, 35, 130.347214) | 
|---|
|  | 158 | hangarguyOne:walkTo( 711.597778, 35, 134.194839) | 
|---|
|  | 159 | hangarguyOne:walkTo( 731.452209, 35, 133.556061) | 
|---|
|  | 160 | hangarguyOne:walkTo( 744.283691, 35, 127.194984) | 
|---|
|  | 161 | hangarguyOne:walkTo( 754.862183, 35, 113.226959) | 
|---|
|  | 162 | hangarguyOne:walkTo( 759.921082, 35, 101.175034) | 
|---|
|  | 163 | hangarguyOne:walkTo( 765.828674, 35, 86.496742) | 
|---|
|  | 164 | hangarguyOne:walkTo( 772.430176, 35, 70.094063) | 
|---|
|  | 165 | hangarguyOne:walkTo( 778.920776, 35, 53.967388) | 
|---|
|  | 166 | hangarguyOne:walkTo( 786.386292, 35, 36.463428) | 
|---|
|  | 167 | hangarguyOne:walkTo( 806.520142, 35, 25.996820) | 
|---|
|  | 168 | hangarguyOne:walkTo( 867.622192, 35, 17.105639) | 
|---|
|  | 169 | hangarguyOne:walkTo( 897.198181, 35, 13.109496) | 
|---|
|  | 170 | hangarguyOne:walkTo( 929.129517, 35, 9.825047) | 
|---|
|  | 171 | hangarguyOne:walkTo( 987.034302, 35, 6.972207) | 
|---|
|  | 172 | hangarguyOne:walkTo( 1040.090698, 35, 5.634526) | 
|---|
|  | 173 | hangarguyOne:walkTo( 1095.084595, 35, 6.542047) | 
|---|
|  | 174 | hangarguyOne:walkTo( 1137.440552, 35, 8.371919) | 
|---|
|  | 175 | hangarguyOne:walkTo( 1180.903564, 35, 11.816477) | 
|---|
|  | 176 |  | 
|---|
|  | 177 | hangarguy.routeProgramed = true | 
|---|
|  | 178 |  | 
|---|
|  | 179 | end | 
|---|
|  | 180 |  | 
|---|
|  | 181 | end | 
|---|
|  | 182 |  | 
|---|
|  | 183 | --} | 
|---|
|  | 184 |  | 
|---|
|  | 185 |  | 
|---|
| [4671] | 186 | -- pedestrian | 
|---|
|  | 187 | panic = { } | 
|---|
|  | 188 | --{ | 
|---|
|  | 189 | function panic:tick(timestep) | 
|---|
|  | 190 |  | 
|---|
|  | 191 | if runProg and Player:getAbsCoorX() < 700 then | 
|---|
|  | 192 | panicGuy:setVisibility(true) | 
|---|
|  | 193 | panicGuy:runTo( 532.556641, 21.618149, 121.871323 ) | 
|---|
|  | 194 | panicGuy:runTo( 544.452026, 21.618143, 50.025143 ) | 
|---|
|  | 195 |  | 
|---|
|  | 196 | runProg = false | 
|---|
|  | 197 | end | 
|---|
|  | 198 |  | 
|---|
|  | 199 | end | 
|---|
|  | 200 |  | 
|---|
|  | 201 | --} | 
|---|
|  | 202 |  | 
|---|
|  | 203 |  | 
|---|
|  | 204 |  | 
|---|
| [4653] | 205 | function startSecondQuest(timestep) | 
|---|
| [4659] | 206 | if First_Quest:isActive() then | 
|---|
| [4653] | 207 | Second_Quest:startGUI() | 
|---|
| [4671] | 208 | return true | 
|---|
| [4659] | 209 | end | 
|---|
|  | 210 |  | 
|---|
| [4671] | 211 | return false | 
|---|
|  | 212 | end | 
|---|
|  | 213 |  | 
|---|
|  | 214 |  | 
|---|
|  | 215 | function startThirdQuest(timestep) | 
|---|
|  | 216 |  | 
|---|
|  | 217 | if barReached then | 
|---|
|  | 218 | Third_Quest:startGUI() | 
|---|
| [4653] | 219 | return true | 
|---|
|  | 220 | end | 
|---|
|  | 221 |  | 
|---|
| [4671] | 222 | return false | 
|---|
|  | 223 | end | 
|---|
| [4653] | 224 |  | 
|---|
| [4904] | 225 | function action(timestep) | 
|---|
|  | 226 | print("Action trigger triggered ! \n") | 
|---|
|  | 227 | return false | 
|---|
|  | 228 | end | 
|---|
| [4671] | 229 |  | 
|---|
| [4468] | 230 | -- THE tick function | 
|---|
|  | 231 |  | 
|---|
|  | 232 | function tick(timestep) | 
|---|
|  | 233 | --io.write("Towerscript called \n") | 
|---|
|  | 234 |  | 
|---|
| [4653] | 235 | if not questOneStarted then | 
|---|
| [4671] | 236 | panicGuy:setVisibility(false) | 
|---|
| [4653] | 237 | First_Quest:startGUI() | 
|---|
|  | 238 | questOneStarted = true | 
|---|
|  | 239 | end | 
|---|
|  | 240 |  | 
|---|
| [4671] | 241 | if Player:getAbsCoorX() > 800 then | 
|---|
|  | 242 | barReached = true | 
|---|
|  | 243 | end | 
|---|
| [4653] | 244 |  | 
|---|
| [4671] | 245 | if barReached then | 
|---|
|  | 246 | panic:tick(timestep) | 
|---|
|  | 247 | end | 
|---|
|  | 248 |  | 
|---|
| [4468] | 249 | pedestrian:tick(timestep) | 
|---|
|  | 250 | hangarguy:tick(timestep) | 
|---|
|  | 251 |  | 
|---|
| [4671] | 252 |  | 
|---|
| [4468] | 253 | return false | 
|---|
| [4904] | 254 | end | 
|---|