Guest User

Untitled

a guest
Feb 18th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.07 KB | None | 0 0
  1. @name ACF Manual Gearbox
  2. @inputs GearUp GearDown RPM W
  3. @outputs OGear
  4. @persist GearWait Gear Clutch TClutch
  5. @trigger
  6.  
  7.  
  8.  
  9.  
  10.  
  11. ## This chip was made by Kickasskyle
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18. interval(20)
  19. ################
  20.  
  21.  
  22. ## IMPORTANT: If you have more than one engine, use the example line below, and add an RPM variable for each engine
  23. # and divide rpm by the amount of engines. Don't forget to put an input for each rpm (RPM1 RPM2 RPM3 etc)
  24. #Example:
  25. #EngineRPM = RPM1+RPM2 / 2
  26.  
  27.  
  28.  
  29. #Constants
  30. MinRPM = 1800
  31. ClutchSmoother = 0.1
  32.  
  33.  
  34.  
  35. if(clk()){
  36.  
  37.  
  38. GearChange = GearUp + GearDown
  39.  
  40. #RPM & ClutchControl
  41. #RPM Monitor
  42. if(RPM>MinRPM){
  43. TClutch = clamp(!W,0,0.9)
  44. }else{
  45. TClutch = 1
  46. }
  47.  
  48.  
  49. #ClutchSmoother
  50.  
  51. Clutch = clamp(TClutch,Clutch-ClutchSmoother,Clutch+ClutchSmoother)
  52. ClutchR = Clutch
  53. ClutchL = Clutch
  54.  
  55.  
  56. if(!GearChange & GearWait){
  57. GearWait = 0
  58. }
  59.  
  60.  
  61.  
  62. if(GearChange){
  63.  
  64. #Neutral Shifting
  65. if(Gear == 0 & !GearWait){
  66. if(GearUp){
  67. Gear = 1
  68. GearWait = 1
  69. }
  70. }
  71. #Gear 1 Shifting
  72. if(Gear == 1 & !GearWait){
  73. if(GearUp){
  74. Gear = 2
  75. GearWait = 1
  76. }
  77. if(GearDown){
  78. Gear = 0
  79. GearWait = 1
  80. }
  81. }
  82. #Gear 2 Shifting
  83. if(Gear == 2 & !GearWait){
  84. if(GearUp){
  85. Gear = 3
  86. GearWait = 1
  87. }
  88. if(GearDown){
  89. Gear = 1
  90. GearWait = 1
  91. }
  92. }
  93.  
  94. #Gear 3 Shifting
  95. if(Gear == 3 & !GearWait){
  96. if(GearUp){
  97. Gear = 4
  98. GearWait = 1
  99. }
  100. if(GearDown){
  101. Gear = 2
  102. GearWait = 1
  103. }
  104. }
  105. #Gear 3 Shifting
  106. if(Gear == 4 & !GearWait){
  107. if(GearUp){
  108. Gear = 5
  109. GearWait = 1
  110. }
  111. if(GearDown){
  112. Gear = 3
  113. GearWait = 1
  114. }
  115. }
  116. #Gear 3 Shifting
  117. if(Gear == 5 & !GearWait){
  118. if(GearUp){
  119. Gear = 6
  120. GearWait = 1
  121. }
  122. if(GearDown){
  123. Gear = 4
  124. GearWait = 1
  125. }
  126. }
  127. #Gear 4 Shifting
  128. if(Gear == 6 & !GearWait){
  129. if(GearDown){
  130. Gear = 5
  131. GearWait = 1
  132. }
  133. }
  134. }
  135.  
  136.  
  137. if(Gear == 0){
  138. OGear = 0
  139. }
  140. if(Gear == 1){
  141. OGear = 1
  142. }
  143. if(Gear == 2){
  144. OGear = 2
  145. }
  146. if(Gear == 3){
  147. OGear = 3
  148. }
  149. if(Gear == 4){
  150. OGear = 4
  151. }
  152. if(Gear == 5){
  153. OGear = 5
  154. }
  155. if(Gear == 6){
  156. OGear = 6
  157. }
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166. }
Add Comment
Please, Sign In to add comment