Advertisement
Guest User

MobilityV1.5

a guest
Jan 19th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.25 KB | None | 0 0
  1. @name GenericDriveV1.5
  2. @inputs Active W A S D Space Engine:entity
  3. @outputs Throttle GearOut GearTC LgearTC RgearTC LgearOut RgearOut Lclutch Rclutch HardBrake
  4. @persist Gear Lgear Rgear GEARTIME Speed Active Dualclutch Dualgearbox Rev
  5. @persist Brakepower Turnpower Twospeed Fourspeed Sixspeed Eightspeed
  6. @persist ShiftTime TransferCase
  7.  
  8. #E2 cropped from another E2 by Midnite, cleaned a bit by TwistedTail
  9.  
  10. #---------------------------------------------------------------------------------------------------------------#
  11. #INSTRUCTIONS FOR WIRING THIS DRIVE E2:
  12.  
  13. #-----IMPORTANT NOTES (meaning you must read this shit for it to work right)-----#
  14. # - Make sure E2 is facing north and your tank is facing north (to find north, use spray. Top of pic = north)
  15. # - Make sure to Spawn E2 on ground, then move to your tank facing north
  16. # - Make sure to parent it to your baseplate, then weld it to your baseplate. (recommended for best performance)
  17. # - This E2 was made to handle and deal with all types of Gearbox setups
  18.  
  19. #---MAIN CONTROLS AND SHIT---#
  20. # - Wire Active on the E2 to Active on your Pod Controller
  21. # - Wire W on the E2 to W on your Pod Controller
  22. # - Wire A on the E2 to A on your Pod Controller
  23. # - Wire S on the E2 to S on your Pod Controller
  24. # - Wire D on the E2 to D on your Pod Controller
  25.  
  26. #---NOTE: If Garbox is facing rear, make final drive negative, if facing front, make final drive positive---#
  27.  
  28. #---ENGINES AND GEARBOXES---#
  29. # - Wire Engine[ENTITY] on the E2 to Entity[ENTITY] on your engine (Just for once engine, even if you have several)
  30. # - Wire Throttle on your Engine(s) to Throttle on the E2
  31. # - Wire Gear on Main Gearbox to GearOut on the E2 (This goes for all gearboxes)
  32.  
  33. #---IF REAR GEARBOX / FORWARD FACING GEARBOX (with dualclutch)---#
  34. # - Wire Left Clutch and Left Brake on the Main Gearbox to LClutch on the E2
  35. # - Wire Right Clutch and Right Brake on the Main Gearbox to RClutch on the E2
  36.  
  37. #---IF FRONTAL GEARBOX / REAR FACING GEARBOX (with dualclutch)---#
  38. # - Wire Left Clutch and Left Brake on the Main Gearbox to Rlutch on the E2
  39. # - Wire Right Clutch and Right Brake on the Main Gearbox to LClutch on the E2
  40.  
  41. #---IF FRONTAL FACING GEARBOX WITH TRANSFERS---#
  42. # - Wire Gear on the Main Gearbox to GearOut on the E2
  43. # - Wire Gear on Right transfer to RGearTC & Right Brake and Right Clutch on the transfers to LClutch on the E2
  44. # - Wire Gear on left transfer to LGearTC & Left Brake and left Clutch on the transfers to RClutch on the E2
  45. # - MAKE SURE: Left Transfer has negative final drive and Right Transfer has positive final drive
  46.  
  47. #---IF REAR FACING GEARBOX WITH TRANSFERS---#
  48. # - Wire Gear on the Main Gearbox to GearOut on the E2
  49. # - Wire Gear on Right transfer to RGearTC & Right Brake and Right Clutch on the transfers to RClutch on the E2
  50. # - Wire Gear on left transfer to LGearTC & Left Brake and left Clutch on the transfers to LClutch on the E2
  51. # - MAKE SURE: Right Transfer has negative final drive and Left Transfer has positive final drive
  52.  
  53. #---NOTE: If you are using Weld Latch brakes, Wire Activate on both Latches to Hardbrake on the E2---#
  54.  
  55. #---------------------------------------------------------------------------------------------------------------#
  56.  
  57. if(first()|dupefinished()){
  58.  
  59. #---DualClutch or DualGearbox---#
  60. #---Only choose one---#
  61. Dualclutch = 1
  62. Dualgearbox = 0
  63.  
  64. #---Transfer Cases or Nah?---#
  65. TransferCase = 0
  66.  
  67. #---OneSpeed-TwoSpeed-RedSpeed-BlueSpeed---#
  68. #---NOTE: Only put 1 on one of these and 0 on rest---#
  69. Twospeed = 1
  70. Fourspeed = 0
  71. Sixspeed = 0
  72. Eightspeed = 0
  73.  
  74.  
  75. Turnpower = 19 #--Turning Power(1-5 tankettes ; 5-10 lights ; 10-15 mediums ; 15-20 heavies/MBTs -- Don't Exceed 20)--#
  76. Brakepower = 16 #--Braking Power(1-3 tanketts ; 3-8 lights ; 8-13 mediums ; 13-18 heavies/MBTs -- Don't Exceed 20)--#
  77.  
  78. Rev = 0 #---this is good for quick starts but can be loud and is horrible on fuel---#
  79.  
  80. ShiftTime = 5 #---How long between shifts (counts in milliseconds --> 1000ms = 1s)---# #Note to Mid: kys fag, 90ms != 1s
  81.  
  82. }
  83.  
  84. interval(100)
  85.  
  86. ChangeRPM = Engine:acfRedline()*90/100
  87. DownChangeRPM = Engine:acfPowerbandMin()
  88. Throttle=0
  89. Rclutch=0
  90. Lclutch=0
  91. if(Active==0|Rclutch+Lclutch>0){HardBrake=1}else{HardBrake=0}
  92.  
  93. #if(changed(Active)){reset()}
  94. if(Active==1){
  95.  
  96. if(!W&!S&!A&!D&!Space){Gear=0,Lgear=0,Rgear=0}
  97. if(Space){Gear=0,Lgear=0,Rgear=0}
  98. if(Gear==0){GearOut=1}else{GearOut=Gear}
  99. if(Lgear==0){LgearOut=1}else{LgearOut=Lgear}
  100. if(Rgear==0){RgearOut=1}else{RgearOut=Rgear}
  101. if(Engine:acfRPM()<ChangeRPM/4){Gear=0,Lgear=0,Rgear=0}
  102.  
  103. if(Dualclutch==1&TransferCase==0){GEARTIME = GEARTIME - 1
  104. if(S&!W&Twospeed){Gear = 2}
  105. if(!S&W&Twospeed){Gear = 1}
  106. if(Fourspeed){
  107. if(S&!W){Gear=4}else{
  108. if(W&!S&Gear==4){Gear=1}else{
  109. if(Engine:acfRPM()>ChangeRPM&Gear<=2&!S&W&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear+1}
  110. elseif(Engine:acfRPM()<DownChangeRPM&Gear<=3&!S&W&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear-1}}}}
  111. elseif(Sixspeed){
  112. if(S&!W){Gear=6}else{
  113. if(W&!S&Gear==6){Gear=1}else{
  114. if(Engine:acfRPM()>ChangeRPM&Gear<=4&!S&W&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear+1}
  115. elseif(Engine:acfRPM()<DownChangeRPM&Gear<=5&!S&W&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear-1}}}}
  116. elseif(Eightspeed){
  117. if(S&!W){Gear=8}else{
  118. if(W&!S&Gear==8){Gear=1}else{
  119. if(Engine:acfRPM()>ChangeRPM&Gear<=6&!S&W&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear+1}
  120. elseif(Engine:acfRPM()<DownChangeRPM&Gear<=7&!S&W&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear-1}}}}
  121. if(W|A|S|D){Throttle=100}
  122. if(A&!Space){Rclutch = Turnpower}else{Rclutch = 0}
  123. if(D&!Space){Lclutch = Turnpower}else{Lclutch = 0}
  124. if(Space){Rclutch = Brakepower}
  125. if(Space){Lclutch = Brakepower}
  126. if(!W&!S&!A&!D&!Space){Rclutch = Brakepower}
  127. if(!W&!S&!A&!D&!Space){Lclutch = Brakepower}
  128. if(!W&!S&!A&!D&!Space&Rev){Throttle = 100}}
  129.  
  130. if(Dualgearbox==1&TransferCase==0){GEARTIME = GEARTIME - 1
  131. if(A&Twospeed&!W&!S){Lgear=2,Rgear=1}
  132. elseif(D&Twospeed&!W&!S){Lgear=1,Rgear=2}
  133. elseif(A&Fourspeed&!W&!S){Lgear=4,Rgear=1}
  134. elseif(D&Fourspeed&!W&!S){Lgear=1,Rgear=4}
  135. elseif(A&Sixspeed&!W&!S){Lgear=6,Rgear=1}
  136. elseif(D&Sixspeed&!W&!S){Lgear=1,Rgear=6}
  137. elseif(A&Eightspeed&!W&!S){Lgear=8,Rgear=1}
  138. elseif(D&Eightspeed&!W&!S){Lgear=1,Rgear=8}
  139. if(!S&W&Twospeed){Lgear = 1,Rgear = 1}
  140. if(S&!W&Twospeed){Lgear = 2,Rgear = 2}
  141. if(Fourspeed){
  142. if(S&!W){Lgear=4,Rgear=4}else{
  143. if(W&!S&(Lgear==4|Rgear==4)){Rgear=1,Lgear=1}else{
  144. if(Engine:acfRPM()>ChangeRPM&Lgear<=2&Rgear<=2&!S&W&GEARTIME<=0){GEARTIME=ShiftTime,Rgear=Rgear+1,Lgear=Lgear+1}
  145. elseif(Engine:acfRPM()<DownChangeRPM&Lgear<=3&Rgear<=3&!S&W&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Rgear=Rgear-1,Lgear=Lgear-1}}}}
  146. if(Sixspeed){
  147. if(S&!W){Lgear=6,Rgear=6}else{
  148. if(W&!S&(Lgear==6|Rgear==6)){Rgear=1,Lgear=1}else{
  149. if(Engine:acfRPM()>ChangeRPM&Lgear<=4&Rgear<=4&!S&W&GEARTIME<=0){GEARTIME=ShiftTime,Rgear=Rgear+1,Lgear=Lgear+1}
  150. elseif(Engine:acfRPM()<DownChangeRPM&Lgear<=5&Rgear<=5&!S&W&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Rgear=Rgear-1,Lgear=Lgear-1}}}}
  151. if(Eightspeed){
  152. if(S&!W){Lgear=8,Rgear=8}else{
  153. if(W&!S&(Lgear==8|Rgear==8)){Rgear=1,Lgear=1}else{
  154. if(Engine:acfRPM()>ChangeRPM&Lgear<=6&Rgear<=6&!S&W&GEARTIME<=0){GEARTIME=ShiftTime,Rgear=Rgear+1,Lgear=Lgear+1}
  155. elseif(Engine:acfRPM()<DownChangeRPM&Lgear<=7&Rgear<=7&!S&W&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Rgear=Rgear-1,Lgear=Lgear-1}}}}
  156. if(W|A|S|D){Throttle=100}
  157. if(D&W|D&S){Rclutch = Turnpower}
  158. if(A&W|A&S){Lclutch = Turnpower}
  159. if(Space){Rclutch = Brakepower}
  160. if(Space){Lclutch = Brakepower}
  161. if(!W&!S&!A&!D&!Space){Rclutch = Brakepower}
  162. if(!W&!S&!A&!D&!Space){Lclutch = Brakepower}
  163. if(!W&!S&!A&!D&!Space&Rev){Throttle = 100}}
  164.  
  165. if(Dualclutch==1&TransferCase==1){GEARTIME = GEARTIME - 1
  166. if(S&!W){GearTC = 2}else{GearTC = 1}
  167. if(Twospeed){
  168. if(Engine:acfRPM()>ChangeRPM&Gear<=1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear+1}
  169. elseif(Engine:acfRPM()<DownChangeRPM&Gear<=2&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear-1}}
  170. if(Fourspeed){
  171. if(Engine:acfRPM()>ChangeRPM&Gear<=3&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear+1}
  172. elseif(Engine:acfRPM()<DownChangeRPM&Gear<=4&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear-1}}
  173. if(Sixspeed){
  174. if(Engine:acfRPM()>ChangeRPM&Gear<=5&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear+1}
  175. elseif(Engine:acfRPM()<DownChangeRPM&Gear<=6&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear-1}}
  176. if(Eightspeed){
  177. if(Engine:acfRPM()>ChangeRPM&Gear<=7&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear+1}
  178. elseif(Engine:acfRPM()<DownChangeRPM&Gear<=8&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear-1}}
  179. if(W|A|S|D){Throttle=100}
  180. if(A&!Space){Rclutch = Turnpower}else{Rclutch = 0}
  181. if(D&!Space){Lclutch = Turnpower}else{Lclutch = 0}
  182. if(Space){Rclutch = Brakepower}
  183. if(Space){Lclutch = Brakepower}
  184. if(!W&!S&!A&!D&!Space){Rclutch = Brakepower}
  185. if(!W&!S&!A&!D&!Space){Lclutch = Brakepower}
  186. if(!W&!S&!A&!D&!Space&Rev){Throttle = 100}}
  187.  
  188. if(Dualgearbox==1&TransferCase==1){GEARTIME = GEARTIME - 1
  189. if(S&!W){LgearTC=2,RgearTC=2}else{RgearTC=1,LgearTC=1}
  190. if(A&Twospeed&!W&!S){LgearTC=2,RgearTC=1,Lgear=1,Rgear=1}
  191. elseif(D&Twospeed&!W&!S){LgearTC=1,RgearTC=2,Lgear=1,Rgear=1}
  192. elseif(A&Fourspeed&!W&!S){LgearTC=2,RgearTC=1,Lgear=1,Rgear=1}
  193. elseif(D&Fourspeed&!W&!S){LgearTC=1,RgearTC=2,Lgear=1,Rgear=1}
  194. elseif(A&Sixspeed&!W&!S){LgearTC=2,RgearTC=1,Lgear=1,Rgear=1}
  195. elseif(D&Sixspeed&!W&!S){LgearTC=1,RgearTC=2,Lgear=1,Rgear=1}
  196. elseif(A&Eightspeed&!W&!S){LgearTC=2,RgearTC=1,Lgear=1,Rgear=1}
  197. elseif(D&Eightspeed&!W&!S){LgearTC=1,RgearTC=2,Lgear=1,Rgear=1}
  198. if(Twospeed){
  199. if(Engine:acfRPM()>ChangeRPM&Lgear<=1&Rgear<=1&GEARTIME<=0){GEARTIME=ShiftTime,Rgear=Rgear+1,Lgear=Lgear+1}
  200. elseif(Engine:acfRPM()<DownChangeRPM&Lgear<=2&Rgear<=2&Rgear>1&Lgear>1&GEARTIME<=0){GEARTIME=ShiftT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement