Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @name ACF AT Tank pivot
- @inputs Active Pod:wirelink RPM
- @outputs LeftGear RightGear LeftClutch RightClutch LeftBrake RightBrake Throttle Ops Speed
- @persist MaxGear Gear Clutch [ShiftSpeeds ShiftGear]:array
- @trigger
- interval(200)
- W = Pod:number("W")
- A = Pod:number("A")
- S = Pod:number("S")
- D = Pod:number("D")
- Brake = Pod:number("Space")
- ForceGear1 = Pod:number("Alt") #Hold Alt to stay in first gear for climbing
- ############ SETTINGS ############
- MaxGear = 6 #Set to maximum gear
- ShiftUp = 3000 #Set to shiftup RPM
- ShiftDown = 2200 #Set to shiftdown RPM
- CutOff = 1200 #Set to cutoff RPM
- ShiftSpeeds = array(6,11,17,23,99999,99999) #Set speeds at which the tank will shift up
- BrakePower = 20 #Set to braking power
- PivotSpeed = 5 #Set to max speed at which the tank will pivot in place
- ShiftGear = array(1,2,3,4,5,6,7)
- LeftGear = Gear
- RightGear = Gear
- Speed = toUnit("mph",entity():vel():length())
- Ops = ops()
- Clutch = clamp(((CutOff*1.4)-RPM)/(CutOff/2),0,1)
- if( W | A | S | D) {
- Throttle = 100
- }
- else {
- Throttle = 0
- }
- LeftClutch = Clutch
- RightClutch = Clutch
- if((W | A | S | D) & !ForceGear1) {
- ############ SHIFTING ############
- if(W & Gear>=0 & Gear<MaxGear) {
- if(RPM>ShiftUp & Speed>ShiftSpeeds:number(Gear) & Gear!=MaxGear-1)
- {
- Gear = ShiftGear:number(Gear+1)
- }
- elseif (RPM<ShiftDown & Speed<ShiftSpeeds:number(Gear)-1 & Gear!=1) {
- Gear = ShiftGear:number(Gear-1)
- }
- }
- elseif(S) {
- Gear = MaxGear
- }
- ############ STEERING ############
- if(A & Speed>PivotSpeed) {
- LeftBrake = BrakePower/1.5
- LeftClutch = 1
- RightBrake = 0
- }
- elseif(A & Speed<=PivotSpeed) {
- LeftGear = MaxGear
- RightGear = 1
- }
- elseif(D & Speed>PivotSpeed) {
- RightBrake = BrakePower/1.5
- RightClutch = 1
- LeftBrake = 0
- }
- elseif(D & Speed<=PivotSpeed) {
- RightGear = MaxGear
- LeftGear = 1
- }
- elseif(Brake) {
- LeftBrake = BrakePower
- RightBrake = BrakePower
- }
- else {
- LeftBrake = RightBrake = 0
- }
- }
- elseif(ForceGear1) {
- Gear = 1
- }
- else {
- Gear = 0
- LeftBrake = RightBrake = 0
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement