Advertisement
Guest User

Untitled

a guest
Apr 30th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. local GameMode = extends_keep_existing (game_manager.gameModes["Hello"], FirstPersonGameMode) {
  2. name = 'Hello',
  3. description = 'Hello Game Demo',
  4. previewImage = `GameMode.png`,
  5. map = `hello.gmap`,
  6. spawnPos = vec(-2, 0, 1),
  7.  
  8. spawnRot = quat(-0.3363351, 0, 0, 0.9417424),
  9.  
  10. playerGfxMesh = `/detached/characters/robot_med/robot_med.mesh`,
  11. playerColMesh = `/detached/characters/robot_med/robot_med.gcol`,
  12. }
  13.  
  14. material "/darkrock/grass" { diffuseMap = "/darkrock/grass.dds" }
  15.  
  16. class `/darkrock/grass1` (ColClass) {castShadows=true,renderingDistance=5000}
  17.  
  18. function GameMode:init()
  19.  
  20. FirstPersonGameMode.init(self)
  21.  
  22. compass.enabled = true
  23.  
  24. main.speedoPos = main.camPos
  25. main.speedoSpeed = 0
  26.  
  27. safe_destroy(self.speedo)
  28. self.speedo = hud_object `/common/hud/Speedo` { parent = hud_top_right }
  29. self.speedo.position = vec(-80, -128 - self.speedo.size.y/2)
  30.  
  31. self.ground = nil
  32. self.vehicle = nil
  33.  
  34. object `/vehicles/Scarman` (0, 1, 2) { }
  35.  
  36. playground_binds.enabled = true
  37.  
  38. self:playerRespawn()
  39.  
  40. self.sfx = audio_body_make_ambient('/common/hud/MusicPlayer/Massimo_Ruberti_-_06_-_The_wind.ogg')
  41. self.sfx.pitch = 1
  42. self.sfx.volume = 1
  43. self.sfx.looping = true
  44. self.sfx:play()
  45. end
  46.  
  47.  
  48. function GameMode:setGround()
  49. if self.ground == nil then
  50. self.ground = object `/darkrock/grass1` (0, 0, 0) { }
  51. self.centreNotify = hud_text_add(`/common/fonts/Impact50`)
  52. self.centreNotify.text = 'Hello Gabriel!\nMove <w><a><s><d> keys\nBoard <f>\nJump <space>'
  53. self.centreNotify.position = vec(0, 100)
  54. self.centreNotify.parent = hud_centre
  55. self.centreNotify.shadow = vec(6, -3)
  56. self.centreNotify.colour = vec(1, .7, .3)
  57. end
  58. end
  59.  
  60. function GameMode:stepCallback(elapsed_secs)
  61. local currentMode = game_manager.currentMode
  62. if self.player1 and self.player1.instance then
  63. currentMode:setGround()
  64. end
  65. end
  66.  
  67. function GameMode:ambientVolume( volume )
  68. self.sfx.volume = volume
  69. end
  70.  
  71. function GameMode:toggleSoulMode()
  72. self:setSoulMode(not self.soulMode)
  73. end
  74.  
  75. function GameMode:destroy()
  76. FirstPersonGameMode.destroy(self)
  77. playground_binds.enabled = false
  78. end
  79.  
  80. game_manager:register(GameMode)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement