Advertisement
DatAmazingCheese

Crew Command V1

Apr 18th, 2017
1,089
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.32 KB | None | 0 0
  1. @name Crew Command
  2. @inputs [GunnerPOD CommanderPOD DriverPOD CamController]:wirelink Gun:entity
  3. @outputs Fire
  4. @persist Language:string CrewVolume
  5. @trigger Gunner Commander Driver W A S D Space
  6. @model models/props_lab/reciever01d.mdl
  7.  
  8. if(first() | duped() | dupefinished())
  9. {
  10. # You require this addon for sounds #
  11.  
  12. # http://steamcommunity.com/sharedfiles/filedetails/?id=906654112 #
  13.  
  14. ######################################## SETTINGS #########################################
  15.  
  16. Language = "english" # (english, russian) #
  17.  
  18. ###########################################################################################
  19.  
  20. if(Language == "russian"){CrewVolume = 0.35}else{CrewVolume = 0.8}
  21.  
  22. function void playUP()
  23. {
  24. local Number = randint(3)
  25. local SoundString = "acf_modern_tank_sound_pack/crew/" + Language + "/loader-up"
  26.  
  27. soundPlay("loaderup",1,SoundString + Number:toString() + ".wav")
  28.  
  29. }
  30.  
  31. local Players = players()
  32.  
  33. holoCreate(1)
  34. holoModel(1,"models/sprops/misc/alphanum/alphanum_arrow_b.mdl")
  35. holoAng(1,ang(180,0,0))
  36. holoScale(1,vec(10,1,20))
  37. holoMaterial(1,"models/debug/debugwhite")
  38. holoColor(1,vec4(255,0,0,160))
  39. holoVisible(1,Players,0)
  40.  
  41. holoCreate(2)
  42. holoModel(2,"models/sprops/misc/alphanum/alphanum_arrow_b.mdl")
  43. holoAng(2,ang(180,90,0))
  44. holoScale(2,vec(10,1,20))
  45. holoMaterial(2,"models/debug/debugwhite")
  46. holoColor(2,vec4(255,0,0,160))
  47. holoVisible(2,Players,0)
  48. holoParent(2,1)
  49.  
  50. ###############################################################################################
  51. }
  52.  
  53. ############################################ Seats ############################################
  54.  
  55. Gunner = GunnerPOD["Entity",entity]
  56. Commander = CommanderPOD["Entity",entity]
  57. Driver = DriverPOD["Entity",entity]
  58.  
  59. ############################################# Gun #############################################
  60.  
  61. GunReady = Gun:acfReady()
  62.  
  63. ######################################## Commander Keys #######################################
  64.  
  65. W = CommanderPOD["W",number]
  66. A = CommanderPOD["A",number]
  67. S = CommanderPOD["S",number]
  68. D = CommanderPOD["D",number]
  69.  
  70. Space = CommanderPOD["Space",number]
  71.  
  72. CM1 = CommanderPOD["Mouse1",number]
  73. CM2 = CommanderPOD["Mouse2",number]
  74.  
  75. CR = CommanderPOD["R",number]
  76. CF = CommanderPOD["Light",number]
  77. CT = Commander:driver():keyPressed("T")
  78.  
  79. CActive = CommanderPOD["Active",number]
  80.  
  81. ### Gunner Keys ###
  82.  
  83. M1 = GunnerPOD["Mouse1",number]
  84. GActive = GunnerPOD["Active",number]
  85.  
  86. ### Camera Stuff ###
  87.  
  88. HitPos = CamController["HitPos",vector]
  89.  
  90. ###############################################################################################
  91.  
  92. interval(500)
  93.  
  94. if(changed(Commander:driver() & Commander:driver()))
  95. {
  96. Commander:printDriver(_HUD_PRINTTALK,"Welcome commander!")
  97. Commander:printDriver(_HUD_PRINTTALK,"W A S D Space to direct your driver,")
  98. Commander:printDriver(_HUD_PRINTTALK,"M1 to notify gunner of enemy tank,")
  99. Commander:printDriver(_HUD_PRINTTALK,"M2 to tell gunner to fire,")
  100. Commander:printDriver(_HUD_PRINTTALK,"R to tell gunner to reengage,")
  101. Commander:printDriver(_HUD_PRINTTALK,"T to tell gunner he hit target,")
  102. Commander:printDriver(_HUD_PRINTTALK,"F to tell gunner to cease fire.")
  103. }
  104.  
  105. ### Commander - Driver Commands ###
  106.  
  107. if(CActive)
  108. {
  109. # Forward
  110.  
  111. if(changed(W) & W)
  112. {
  113. Driver:hintDriver("Driver, move out!",4)
  114. #Commander:hintDriver("Driver, move out",4)
  115. Driver:soundPlay("moveout",2,"acf_modern_tank_sound_pack/crew/" + Language + "/tc/driver-move.wav")
  116. soundVolume("moveout",CrewVolume)
  117. }
  118.  
  119. # Left
  120.  
  121. if(changed(A) & A)
  122. {
  123. Driver:hintDriver("Driver, move left!",4)
  124. #Commander:hintDriver("Driver, move left",4)
  125. Driver:soundPlay("moveleft",2,"acf_modern_tank_sound_pack/crew/" + Language + "/tc/driver-left.wav")
  126. soundVolume("moveleft",CrewVolume)
  127. }
  128.  
  129. # Reverse
  130.  
  131. if(changed(S) & S)
  132. {
  133. Driver:hintDriver("Driver, back up!",4)
  134. #Commander:hintDriver("Driver, back up",4)
  135. Driver:soundPlay("moveback",2,"acf_modern_tank_sound_pack/crew/" + Language + "/tc/driver-back.wav")
  136. soundVolume("moveback",CrewVolume)
  137. }
  138.  
  139. # Right
  140.  
  141. if(changed(D) & D)
  142. {
  143. Driver:hintDriver("Driver, move right!",4)
  144. #Commander:hintDriver("Driver, move right",4)
  145. Driver:soundPlay("moveright",2,"acf_modern_tank_sound_pack/crew/" + Language + "/tc/driver-right.wav")
  146. soundVolume("moveright",CrewVolume)
  147. }
  148.  
  149. # Stop
  150.  
  151. if(changed(Space) & Space)
  152. {
  153. Driver:hintDriver("Driver, stop!",4)
  154. #Commander:hintDriver("Driver, stop",4)
  155. Driver:soundPlay("stop",2,"acf_modern_tank_sound_pack/crew/" + Language + "/tc/driver-stop.wav")
  156. soundVolume("stop",CrewVolume)
  157. }
  158.  
  159. ### Commander - Gunner Commands ###
  160.  
  161. # Gunner Sabot Tank
  162.  
  163. if(changed(CM1) & CM1)
  164. {
  165. holoPos(1,HitPos+vec(0,0,192))
  166. holoVisible(1,Gunner:driver(),1)
  167. holoVisible(2,Gunner:driver(),1)
  168. holoVisible(1,Commander:driver(),1)
  169. holoVisible(2,Commander:driver(),1)
  170.  
  171. stoptimer("hide")
  172. timer("hide",5000)
  173.  
  174. Gunner:hintDriver("Gunner, SABOT, TANK",4)
  175. Gunner:soundPlay("sabottank",2,"acf_modern_tank_sound_pack/crew/" + Language + "/tc/gunner-sabot-tank.wav")
  176. soundVolume("sabottank",CrewVolume)
  177. }
  178.  
  179. # Fire!
  180.  
  181. if(changed(CM2) & CM2)
  182. {
  183. Gunner:hintDriver("FIRE!",4)
  184. Gunner:soundPlay("fire",2,"acf_modern_tank_sound_pack/crew/" + Language + "/tc/fire.wav")
  185. }
  186.  
  187. # Reengage!
  188.  
  189. if(changed(CR) & CR)
  190. {
  191. Gunner:hintDriver("Reengage!",4)
  192. Gunner:soundPlay("reengage",2,"acf_modern_tank_sound_pack/crew/" + Language + "/tc/reengage.wav")
  193. soundVolume("reengage",CrewVolume)
  194. }
  195.  
  196. # Cease Fire!
  197.  
  198. if(changed(CF) & CF)
  199. {
  200. Gunner:hintDriver("Cease fire!",4)
  201. Gunner:soundPlay("ceasefire",2,"acf_modern_tank_sound_pack/crew/" + Language + "/tc/ceasefire.wav")
  202. soundVolume("ceasefire",CrewVolume)
  203. }
  204.  
  205. # Target!
  206.  
  207. if(changed(CT) & CT)
  208. {
  209. Gunner:hintDriver("Target!",4)
  210. Gunner:soundPlay("target",2,"acf_modern_tank_sound_pack/crew/" + Language + "/tc/target.wav")
  211. soundVolume("target",CrewVolume)
  212. }
  213.  
  214. if(clk("hide"))
  215. {
  216. holoVisible(1,Gunner:driver(),0)
  217. holoVisible(2,Gunner:driver(),0)
  218. holoVisible(1,Commander:driver(),0)
  219. holoVisible(2,Commander:driver(),0)
  220. }
  221.  
  222. }
  223.  
  224. ### Gunner - Firing ###
  225.  
  226. # On the way
  227.  
  228. if(changed(M1) & M1 & GunReady)
  229. {
  230. timer("ontheway",500)
  231. Driver:hintDriver("On the way!",4)
  232. Commander:hintDriver("On the way!",4)
  233. soundPlay("ontheway",2,"acf_modern_tank_sound_pack/crew/" + Language + "/gn/on-the-way.wav")
  234. soundVolume("ontheway",CrewVolume*10)
  235. }
  236.  
  237. if(clk("ontheway"))
  238. {
  239. Fire = 1
  240. }
  241. else
  242. {
  243. Fire = 0
  244. }
  245.  
  246. ### Loader - UP ###
  247.  
  248. # UP
  249.  
  250. if(changed(GunReady) & GunReady)
  251. {
  252. playUP()
  253. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement