Advertisement
Guest User

Untitled

a guest
Jul 5th, 2015
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. @name ACF AT Tank pivot
  2. @inputs Active Pod:wirelink RPM
  3. @outputs LeftGear RightGear LeftClutch RightClutch LeftBrake RightBrake Throttle Ops Speed
  4. @persist MaxGear Gear Clutch [ShiftSpeeds ShiftGear]:array
  5. @trigger
  6.  
  7. interval(200)
  8.  
  9. W = Pod:number("W")
  10. A = Pod:number("A")
  11. S = Pod:number("S")
  12. D = Pod:number("D")
  13. Brake = Pod:number("Space")
  14. ForceGear1 = Pod:number("Alt") #Hold Alt to stay in first gear for climbing
  15.  
  16. ############ SETTINGS ############
  17.  
  18. MaxGear = 6 #Set to maximum gear
  19. ShiftUp = 3000 #Set to shiftup RPM
  20. ShiftDown = 2200 #Set to shiftdown RPM
  21. CutOff = 1200 #Set to cutoff RPM
  22. ShiftSpeeds = array(6,11,17,23,99999,99999) #Set speeds at which the tank will shift up
  23. BrakePower = 20 #Set to braking power
  24. PivotSpeed = 5 #Set to max speed at which the tank will pivot in place
  25.  
  26. ShiftGear = array(1,2,3,4,5,6,7)
  27. LeftGear = Gear
  28. RightGear = Gear
  29. Speed = toUnit("mph",entity():vel():length())
  30. Ops = ops()
  31.  
  32. Clutch = clamp(((CutOff*1.4)-RPM)/(CutOff/2),0,1)
  33.  
  34. if( W | A | S | D) {
  35. Throttle = 100
  36. }
  37. else {
  38. Throttle = 0
  39. }
  40.  
  41.  
  42. LeftClutch = Clutch
  43. RightClutch = Clutch
  44.  
  45. if((W | A | S | D) & !ForceGear1) {
  46.  
  47. ############ SHIFTING ############
  48.  
  49. if(W & Gear>=0 & Gear<MaxGear) {
  50. if(RPM>ShiftUp & Speed>ShiftSpeeds:number(Gear) & Gear!=MaxGear-1)
  51. {
  52. Gear = ShiftGear:number(Gear+1)
  53. }
  54. elseif (RPM<ShiftDown & Speed<ShiftSpeeds:number(Gear)-1 & Gear!=1) {
  55. Gear = ShiftGear:number(Gear-1)
  56. }
  57. }
  58. elseif(S) {
  59. Gear = MaxGear
  60. }
  61. ############ STEERING ############
  62.  
  63. if(A & Speed>PivotSpeed) {
  64. LeftBrake = BrakePower/1.5
  65. LeftClutch = 1
  66. RightBrake = 0
  67. }
  68. elseif(A & Speed<=PivotSpeed) {
  69. LeftGear = MaxGear
  70. RightGear = 1
  71. }
  72. elseif(D & Speed>PivotSpeed) {
  73. RightBrake = BrakePower/1.5
  74. RightClutch = 1
  75. LeftBrake = 0
  76. }
  77. elseif(D & Speed<=PivotSpeed) {
  78. RightGear = MaxGear
  79. LeftGear = 1
  80. }
  81. elseif(Brake) {
  82. LeftBrake = BrakePower
  83. RightBrake = BrakePower
  84. }
  85. else {
  86. LeftBrake = RightBrake = 0
  87. }
  88. }
  89. elseif(ForceGear1) {
  90. Gear = 1
  91. }
  92. else {
  93. Gear = 0
  94. LeftBrake = RightBrake = 0
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement