Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 4162


Ignore:
Timestamp:
Jul 5, 2006, 10:57:14 AM (18 years ago)
Author:
amaechler
Message:
 
Location:
data/branches/presentation
Files:
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • data/branches/presentation/scripts/staumanndli.lua

    r4157 r4162  
    11-- Get objects from orxonox
    2 thisscript:addObject("GenericNPC","guard")
     2thisscript:addObject("GenericNPC","staumanndli")
    33thisscript:addObject("FPSPlayer", "Player")
    44
    5 -- Global Variables
    6 walkingRouteOne = true   -- True if thestranger is walking route one
    7 exitPositionReached = false
    8 playerInLock = false
    9 hangarReached = false
    10 guardStopped = false
    11 gotoSpaceship = false
     5programRoute = true
     6height = -10
    127
    13 height = 34
     8function tick(timestep)
    149
    15 -- Returns the distance between (x1,x2,x3) and (y1,y2,y3)
    16 function dist( x1,x2,x3, y1,y2,y3 )
    17 return math.sqrt( (x1-y1)^2 + (x2-y2)^2 + (x3-y3)^2 )
     10if programRoute then
     11floorguy:runTo( 800.634338, height, -340.454163)
     12floorguy:runTo( 800.965149, height, -317.040039)
     13floorguy:runTo( 801.330627, height, -291.156891)
     14floorguy:runTo( 801.922913, height, -274.193085)
     15floorguy:runTo( 802.959045, height, -258.950653)
     16floorguy:runTo( 803.812805, height, -246.390198)
     17floorguy:runTo( 804.034180, height, -232.661407)
     18floorguy:runTo( 816.056702, height, 407.114502)
     19floorguy:runTo( 817.066284, height, 439.783112)
     20floorguy:runTo( 817.734314, height, 461.401306)
     21floorguy:runTo( 818.361816, height, 481.702789)
     22floorguy:runTo( 820.161621, height, 540.826538)
     23floorguy:runTo( 820.825195, height, 579.028748)
     24floorguy:runTo( 821.907410, height, 641.302673)
     25floorguy:runTo( 823.706055, height, 744.863098)
     26floorguy:runTo( 820.552490, height, 761.699585)
     27floorguy:runTo( 809.810425, height, 771.055420)
     28floorguy:runTo( 794.455383, height, 779.180725)
     29floorguy:runTo( 779.520386, height, 773.730957)
     30floorguy:runTo( 769.395630, height, 762.138306)
     31floorguy:runTo( 761.172668, height, 749.739258)
     32floorguy:runTo( 756.049500, height, 736.094116)
     33floorguy:runTo( 755.904297, height, 648.224854)
     34floorguy:runTo( 742.674744, height, -243.343140)
     35floorguy:runTo( 742.312805, height, -273.083893)
     36floorguy:runTo( 741.927856, height, -304.735474)
     37floorguy:runTo( 741.548035, height, -335.971069)
     38floorguy:runTo( 741.181824, height, -366.028503)
     39programRoute = false
    1840end
    1941
    20 
    21 function observePlayer()
    22 
    23 guardX = guard:getAbsCoorX()
    24 guardY = guard:getAbsCoorY()
    25 guardZ = guard:getAbsCoorZ()
    26 
    27 playerX = Player:getAbsCoorX()
    28 playerY = Player:getAbsCoorY()
    29 playerZ = Player:getAbsCoorZ()
    30 
    31 
    32 distance = dist( guardX,guardY,guardZ,playerX, playerY, playerZ)
    33 
    34 if distance > 250 and hangarRouteProgrammed and not guardStopped and not gotoSpaceship then
    35  guard:stop()
    36  guardStopped = true
     42if floorguy:finalGoalReached() then
     43programRoute = true
    3744end
    3845
    39 if distance < 250 and hangarRouteProgrammed and guardStopped and not gotoSpaceship then
    40  guard:resume()
    41  guardStopped = false
    42 end
    43 
    44 if dist( playerX,playerY,playerZ,167.361526,29,483.163818 ) < 200 then
    45 playerInLock = true
    46 end
    47 
    48 if dist( guardX,guardY,guardZ,772.325012, height, -1500.850708) < 200 then
    49 gotoSpaceship = true
    50 end
    51 
    52 
    53 end
    54 
    55 routeOneProgrammed = false
    56 function walkRouteOne(timestep)
    57 if not routeOneProgrammed then
    58 guard:walkTo( 266.396362, height, 241.398544)
    59 guard:walkTo( 254.577255, height, 241.159897)
    60 guard:walkTo( 221.120651, height, 240.484360)
    61 guard:walkTo( 187.732651, height, 239.810196)
    62 guard:walkTo( 165.661865, height, 239.364563)
    63 guard:walkTo( 148.642044, height, 239.020889)
    64 guard:walkTo( 128.012802, height, 238.604340)
    65 guard:walkTo( 65.664688, height, 237.345383)
    66 guard:walkTo( 30.099592, height, 236.627243)
    67 guard:walkTo( -14.031926, height, 236.483414)
    68 guard:walkTo( -52.224205, height, 241.776978)
    69 guard:walkTo( -83.528168, height, 245.757629)
    70 guard:walkTo( -98.730980, height, 247.394043)
    71 guard:walkTo( -111.666504, height, 246.585648)
    72 guard:walkTo( -111.666504, height, 246.585648)
    73 guard:walkTo( -114.805542, height, 246.144440)
    74 guard:walkTo( -119.267967, height, 245.360168)
    75 guard:walkTo( -138.284515, height, 239.281021)
    76 guard:walkTo( -146.166840, height, 234.512054)
    77 guard:walkTo( -157.210480, height, 222.620941)
    78 guard:walkTo( -158.519867, height, 219.674301)
    79 guard:walkTo( -158.519867, height, 219.674301)
    80 guard:walkTo( -158.478958, height, 213.490570)
    81 guard:walkTo( -158.478958, height, 213.490570)
    82 guard:walkTo( -155.965332, height, 210.303101)
    83 guard:walkTo( -150.804489, height, 203.959869)
    84 guard:walkTo( -148.853012, height, 201.561295)
    85 guard:walkTo( -145.451157, height, 197.554382)
    86 guard:walkTo( -143.694107, height, 196.373535)
    87 guard:walkTo( -139.281479, height, 193.407990)
    88 guard:walkTo( -137.526047, height, 192.228226)
    89 guard:walkTo( -103.046753, height, 182.510071)
    90 guard:runTo( -14.992087, height, 181.910767)
    91 guard:runTo( 46.347664, height, 181.493317)
    92 guard:runTo( 86.343376, height, 181.221130)
    93 guard:runTo( 124.465179, height, 194.251617)
    94 guard:runTo( 136.548996, height, 219.682953)
    95 guard:runTo( 145.162140, height, 244.268982)
    96 guard:runTo( 149.328720, height, 256.993256)
    97 guard:runTo( 162.649582, height, 268.181732)
    98 
    99 routeOneProgrammed = true
    100 end
    101 
    102 if guard:finalGoalReached() then
    103 return false
    104 end
    105 
    106 return true
    107 end
    108 
    109 
    110 exitRouteProgrammed = false
    111 function goToExitPosition(timestep)
    112 
    113 if not exitRouteProgrammed then
    114 --guard:runTo( 162.096558, height, 274.944366)
    115 --guard:runTo( 161.519516, height, 286.673370)
    116 --guard:runTo( 161.098618, height, 295.228699)
    117 --guard:runTo( 160.568466, height, 306.004486)
    118 guard:runTo( 160.151169, height, 314.486572)
    119 guard:runTo( 159.416641, height, 324.925232)
    120 guard:walkTo( 158.700073, height, 335.108154)
    121 guard:walkTo( 157.943298, height, 345.862610)
    122 guard:walkTo( 157.418381, height, 356.131256)
    123 guard:walkTo( 156.908035, height, 366.115417)
    124 guard:walkTo( 156.940308, height, 377.467712)
    125 guard:walkTo( 156.965408, height, 386.287933)
    126 guard:walkTo( 156.924698, height, 394.296417)
    127 guard:walkTo( 156.816116, height, 401.564911)
    128 guard:walkTo( 156.147583, height, 446.314850)
    129 guard:walkTo( 155.145660, height, 515.473877)
    130 guard:walkTo( 148.450058, height, 524.572571)
    131 guard:walkTo( 135.599609, height, 533.407166)
    132 guard:walkTo( 119.772217, height, 539.609192)
    133 guard:walkTo( 108.926720, height, 537.174927)
    134 guard:walkTo( 100.885788, height, 524.737793)
    135 guard:walkTo( 99.870834, height, 512.540100)
    136 guard:walkTo( 108.219215, height, 502.064178)
    137 
    138 exitRouteProgrammed = true
    139 end
    140 
    141 if guard:finalGoalReached() and playerInLock then
    142 return true
    143 end
    14446
    14547return false
    14648end
    14749
    148 
    149 hangarRouteProgrammed = false
    150 function goToHangar(timestep)
    151 
    152 if not hangarRouteProgrammed and playerInLock then
    153 
    154 guard:walkTo( 133.354797, height, 504.669128)
    155 guard:walkTo( 147.490158, height, 507.034393)
    156 guard:walkTo( 157.640610, height, 508.901001)
    157 guard:walkTo( 168.830688, height, 510.958710)
    158 guard:walkTo( 185.020630, height, 512.736206)
    159 guard:walkTo( 201.232452, height, 513.413818)
    160 guard:walkTo( 265.666138, height, 513.736023)
    161 guard:walkTo( 362.377960, height, 515.575806)
    162 guard:walkTo( 426.176392, height, 515.666748)
    163 guard:walkTo( 500.031677, height, 515.197266)
    164 guard:walkTo( 551.294250, height, 514.430237)
    165 guard:walkTo( 604.974731, height, 515.106323)
    166 guard:walkTo( 651.117920, height, 516.026550)
    167 guard:walkTo( 664.581909, height, 516.295227)
    168 guard:walkTo( 683.122803, height, 516.665100)
    169 guard:walkTo( 694.547485, height, 516.892944)
    170 guard:walkTo( 704.408569, height, 517.089539)
    171 guard:walkTo( 714.413208, height, 517.289185)
    172 guard:walkTo( 739.045288, height, 515.581970)
    173 guard:walkTo( 763.904541, height, 497.281738)
    174 guard:walkTo( 767.672791, height, 481.974457)
    175 guard:walkTo( 769.436951, height, 468.704559)
    176 guard:walkTo( 770.490967, height, 453.283386)
    177 guard:walkTo( 771.185303, height, 435.960114)
    178 guard:walkTo( 771.952820, height, 379.502045)
    179 guard:walkTo( 771.938293, height, 310.049042)
    180 guard:walkTo( 772.514526, height, 231.579498)
    181 guard:walkTo( 773.601074, height, 135.177933)
    182 guard:walkTo( 773.790771, height, 50.675163)
    183 guard:walkTo( 773.316162, height, -36.961666)
    184 guard:walkTo( 772.885986, height, -116.407944)
    185 guard:walkTo( 772.841309, height, -124.651726)
    186 guard:walkTo( 772.491333, height, -137.742279)
    187 guard:walkTo( 770.644775, height, -153.245926)
    188 guard:walkTo( 768.774414, height, -163.767120)
    189 guard:walkTo( 766.336426, height, -174.224228)
    190 guard:walkTo( 762.794128, height, -187.312271)
    191 guard:walkTo( 733.548279, height, -274.004791)
    192 guard:walkTo( 713.113647, height, -329.657959)
    193 guard:walkTo( 694.801819, height, -379.530243)
    194 guard:walkTo( 681.276062, height, -422.047028)
    195 guard:walkTo( 672.579102, height, -458.540985)
    196 guard:walkTo( 670.843384, height, -465.824615)
    197 guard:walkTo( 669.948364, height, -480.910645)
    198 guard:walkTo( 669.361511, height, -493.648529)
    199 guard:walkTo( 669.686829, height, -501.598572)
    200 guard:walkTo( 674.055664, height, -582.077637)
    201 guard:walkTo( 676.046387, height, -630.403809)
    202 guard:walkTo( 677.839050, height, -674.209534)
    203 guard:walkTo( 680.754944, height, -765.965515)
    204 guard:walkTo( 681.034180, height, -803.351135)
    205 guard:walkTo( 680.088806, height, -844.069031)
    206 guard:walkTo( 677.801514, height, -899.952148)
    207 guard:walkTo( 675.205627, height, -950.496460)
    208 guard:walkTo( 672.847778, height, -996.413574)
    209 guard:walkTo( 676.204041, height, -1043.556274)
    210 guard:walkTo( 691.304382, height, -1088.596558)
    211 guard:walkTo( 705.101318, height, -1128.320312)
    212 guard:walkTo( 720.476013, height, -1164.364380)
    213 guard:walkTo( 729.216797, height, -1183.948364)
    214 guard:walkTo( 740.145203, height, -1212.598267)
    215 guard:walkTo( 746.547363, height, -1238.340576)
    216 guard:walkTo( 756.866211, height, -1280.605347)
    217 guard:walkTo( 763.380554, height, -1314.622314)
    218 guard:walkTo( 768.731506, height, -1347.977539)
    219 guard:walkTo( 772.446655, height, -1381.641479)
    220 guard:walkTo( 772.721069, height, -1421.184937)
    221 guard:walkTo( 772.414734, height, -1457.349121)
    222 guard:walkTo( 772.803284, height, -1489.560913)
    223 
    224 guard:walkTo( 772.325012, height, -1500.850708)
    225 guard:walkTo( 772.325012, height, -1500.850708)
    226 guard:walkTo( 772.487854, height, -1508.028809)
    227 guard:walkTo( 774.761047, height, -1519.442139)
    228 guard:walkTo( 778.809204, height, -1525.292847)
    229 guard:walkTo( 783.482666, height, -1530.000610)
    230 guard:walkTo( 790.163269, height, -1536.350708)
    231 guard:walkTo( 797.713745, height, -1542.968018)
    232 guard:walkTo( 804.024475, height, -1548.390503)
    233 guard:walkTo( 810.316406, height, -1553.796875)
    234 guard:walkTo( 819.849731, height, -1561.323242)
    235 guard:walkTo( 826.676819, height, -1566.627197)
    236 guard:walkTo( 833.950928, height, -1572.278442)
    237 guard:walkTo( 840.587036, height, -1577.434082)
    238 guard:walkTo( 847.261230, height, -1582.458252)
    239 guard:walkTo( 852.104797, height, -1586.104370)
    240 guard:walkTo( 857.504944, height, -1590.169556)
    241 guard:walkTo( 861.696411, height, -1593.324829)
    242 guard:walkTo( 867.690613, height, -1597.837036)
    243 guard:walkTo( 874.808105, height, -1604.437378)
    244 guard:walkTo( 878.302429, height, -1608.333252)
    245 guard:walkTo( 884.001892, height, -1614.366211)
    246 guard:walkTo( 890.699646, height, -1621.398315)
    247 guard:walkTo( 895.391052, height, -1626.179688)
    248 guard:walkTo( 902.171509, height, -1633.090332)
    249 guard:walkTo( 906.807495, height, -1637.957764)
    250 guard:walkTo( 910.438599, height, -1641.770142)
    251 guard:walkTo( 915.626160, height, -1647.216797)
    252 guard:walkTo( 921.844727, height, -1653.745972)
    253 guard:walkTo( 928.565125, height, -1660.801636)
    254 guard:walkTo( 933.742004, height, -1666.236694)
    255 guard:walkTo( 938.956543, height, -1671.711182)
    256 guard:walkTo( 942.160706, height, -1675.745972)
    257 guard:walkTo( 947.547302, height, -1681.952881)
    258 guard:walkTo( 951.732483, height, -1687.077759)
    259 guard:walkTo( 957.284851, height, -1693.876709)
    260 guard:walkTo( 962.786438, height, -1700.614990)
    261 guard:walkTo( 966.177246, height, -1705.151245)
    262 guard:walkTo( 970.221619, height, -1710.886230)
    263 guard:walkTo( 974.503113, height, -1717.243896)
    264 guard:walkTo( 977.332153, height, -1722.064087)
    265 guard:walkTo( 981.496887, height, -1729.391357)
    266 guard:walkTo( 986.814148, height, -1738.394165)
    267 guard:walkTo( 991.428650, height, -1745.393799)
    268 guard:walkTo( 998.958069, height, -1755.184326)
    269 guard:walkTo( 1003.995300, height, -1761.734131)
    270 guard:walkTo( 1009.006226, height, -1768.234375)
    271 guard:walkTo( 1013.550842, height, -1773.405029)
    272 guard:walkTo( 1019.371277, height, -1778.674072)
    273 guard:walkTo( 1024.703491, height, -1782.708618)
    274 guard:walkTo( 1030.605469, height, -1787.173950)
    275 guard:walkTo( 1036.072876, height, -1790.982056)
    276 guard:walkTo( 1043.746094, height, -1795.485474)
    277 guard:walkTo( 1050.884644, height, -1799.663574)
    278 hangarRouteProgrammed  = true
    279 end
    280 
    281 if guard:finalGoalReached() and not guardStopped then
    282 return true
    283 end
    284 
    285 return false
    286 end
    287 
    288 
    289 
    290 function tick(timestep)
    291 --io.write("Guard called \n")
    292 observePlayer()
    293 
    294 
    295 if walkingRouteOne then
    296 walkingRouteOne = walkRouteOne(timestep)
    297 end
    298 
    299 if not walkingRouteOne and not exitPositionReached then
    300 exitPositionReached = goToExitPosition(timestep)
    301 end
    302 
    303 if not hangarReached and exitPositionReached then
    304 hangarReached = goToHangar(timestep)
    305 end
    306 
    307 return hangarReached
    308 end
    309  
     50579  373  -114
     51764  373  -197
     521070 373 -209
  • data/branches/presentation/worlds/sp_demo_mountain_lake.oxw

    r4160 r4162  
    3535
    3636      <!--<ScriptTrigger>
    37         <name>guardtrigger</name>
    38         <file>guard.lua</file>
     37        <name>staumanndli</name>
     38        <file>staumanndli.lua</file>
    3939        <function>tick</function>
    4040        <abs-coor>-500, 300, 900</abs-coor>
Note: See TracChangeset for help on using the changeset viewer.