Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: data/trunk/scripts/spaceship_flight.lua @ 4413

Last change on this file since 4413 was 4328, checked in by muellmic, 18 years ago

lights now children of player

File size: 1.8 KB
RevLine 
[4202]1-- Create the trigger
2trigger = ScriptTrigger()
3trigger:setName("spaceship_flight_trigger")
4trigger:setScript("spaceship_flight.lua")
5trigger:setFunction("tick")
6trigger:setAbsCoor(2500, 0, -1695)
7trigger:setTarget("SPACE_CRAFT")
8trigger:setRadius(150)
9
10-- Add Objects
[4114]11thisscript:addObject("GameWorld", "Ambush_at_Uranus")
[4094]12thisscript:addObject("Spacecraft2D", "SPACE_CRAFT")
[4202]13thisscript:addObject("Gate", "Hypergate")
14thisscript:addObject("SpaceShip", "TerranCruizer")
15-- Global Variables
16horizontalmode = false
17gateReached = false
18terrancriuseratgate = false
[3905]19
20
[4202]21function dist( x1,x2,x3, y1,y2,y3 )
[4328]22  return math.sqrt( (x1-y1)^2 + (x2-y2)^2 + (x3-y3)^2 )
[4202]23end
[3905]24
[4202]25
26function observeSpaceCraft()
[4328]27  SPACE_CRAFTX = SPACE_CRAFT:getAbsCoorX()
28  SPACE_CRAFTY = SPACE_CRAFT:getAbsCoorY()
29  SPACE_CRAFTZ = SPACE_CRAFT:getAbsCoorZ()
[4202]30
[4328]31  distance = dist(SPACE_CRAFTX,SPACE_CRAFTY,SPACE_CRAFTZ,6053.186035, -2.306574, -1704.989624)
[4202]32
[4328]33  if distance < 100 then
34    Hypergate:destroy()
35  end
[4202]36
37end
38
[3919]39function tick(timestep)
[4328]40  observeSpaceCraft()
[3919]41
[4328]42  if not horizontalmode then
43    Ambush_at_Uranus:setPlaymode("Horizontal")
44    Ambush_at_Uranus:setSoundtrack("sound/music/00-luke_grey_-_hypermode.ogg")
45    SPACE_CRAFT:setAirFriction(3.0)
46    horizontalmode = true
47  end
[3919]48
[4328]49  if not terrancriuseratgate then
50    dx = 70 * timestep
51    dy = 0 * timestep
52    dz = 0 * timestep
[4202]53
[4328]54    TerranCruizerX = TerranCruizer:getAbsCoorX()
55    TerranCruizerY = TerranCruizer:getAbsCoorY()
56    TerranCruizerZ = TerranCruizer:getAbsCoorZ()
[4202]57
[4328]58    distance = dist(TerranCruizerX,TerranCruizerY,TerranCruizerZ,6053.186035, -2.306574, -1704.989624)
[4202]59
[4328]60    if distance < 100  then
61      TerranCruizer:hide()
62      dx = 5000
63      terrancriuseratgate = true
64    end
[4202]65
[4328]66    TerranCruizer:setAbsCoor(TerranCruizerX + dx, TerranCruizerY + dy, TerranCruizerZ + dz)
[4202]67
[4328]68  end
[4202]69
70 return false
71end
Note: See TracBrowser for help on using the repository browser.