1 | -- Create the trigger |
---|
2 | trigger = TickTrigger() |
---|
3 | trigger:setName("maintrigger") |
---|
4 | trigger:setScript("spaceship_tower.lua") |
---|
5 | trigger:setFunction("tick") |
---|
6 | |
---|
7 | triggerOne = SpaceTrigger() |
---|
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) |
---|
13 | --triggerOne:setDebugDraw(true) |
---|
14 | |
---|
15 | triggerTwo = SpaceTrigger() |
---|
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) |
---|
22 | |
---|
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 | |
---|
32 | -- Get objects from orxonox |
---|
33 | thisscript:addObject("FPSPlayer", "Player") |
---|
34 | thisscript:addObject("GenericNPC", "pedestrianOne") |
---|
35 | thisscript:addObject("GenericNPC", "hangarguyOne") |
---|
36 | thisscript:addObject("GenericNPC", "panicGuy") |
---|
37 | thisscript:addObject("QuestGUI", "First_Quest") |
---|
38 | thisscript:addObject("QuestGUI", "Second_Quest") |
---|
39 | thisscript:addObject("QuestGUI", "Third_Quest") |
---|
40 | |
---|
41 | |
---|
42 | |
---|
43 | |
---|
44 | -- Globals |
---|
45 | questOneStarted = false |
---|
46 | barReached = false |
---|
47 | runProg = true |
---|
48 | |
---|
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 | |
---|
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 | |
---|
205 | function startSecondQuest(timestep) |
---|
206 | if First_Quest:isActive() then |
---|
207 | Second_Quest:startGUI() |
---|
208 | return true |
---|
209 | end |
---|
210 | |
---|
211 | return false |
---|
212 | end |
---|
213 | |
---|
214 | |
---|
215 | function startThirdQuest(timestep) |
---|
216 | |
---|
217 | if barReached then |
---|
218 | Third_Quest:startGUI() |
---|
219 | return true |
---|
220 | end |
---|
221 | |
---|
222 | return false |
---|
223 | end |
---|
224 | |
---|
225 | function action(timestep) |
---|
226 | print("Action trigger triggered ! \n") |
---|
227 | return false |
---|
228 | end |
---|
229 | |
---|
230 | -- THE tick function |
---|
231 | |
---|
232 | function tick(timestep) |
---|
233 | --io.write("Towerscript called \n") |
---|
234 | |
---|
235 | if not questOneStarted then |
---|
236 | panicGuy:setVisibility(false) |
---|
237 | First_Quest:startGUI() |
---|
238 | questOneStarted = true |
---|
239 | end |
---|
240 | |
---|
241 | if Player:getAbsCoorX() > 800 then |
---|
242 | barReached = true |
---|
243 | end |
---|
244 | |
---|
245 | if barReached then |
---|
246 | panic:tick(timestep) |
---|
247 | end |
---|
248 | |
---|
249 | pedestrian:tick(timestep) |
---|
250 | hangarguy:tick(timestep) |
---|
251 | |
---|
252 | |
---|
253 | return false |
---|
254 | end |
---|