Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @name GenericDriveV1.5
- @inputs Active W A S D Space Engine:entity
- @outputs Throttle GearOut GearTC LgearTC RgearTC LgearOut RgearOut Lclutch Rclutch HardBrake
- @persist Gear Lgear Rgear GEARTIME Speed Active Dualclutch Dualgearbox Rev
- @persist Brakepower Turnpower Twospeed Fourspeed Sixspeed Eightspeed
- @persist ShiftTime TransferCase
- #E2 cropped from another E2 by Midnite, cleaned a bit by TwistedTail
- #---------------------------------------------------------------------------------------------------------------#
- #INSTRUCTIONS FOR WIRING THIS DRIVE E2:
- #-----IMPORTANT NOTES (meaning you must read this shit for it to work right)-----#
- # - Make sure E2 is facing north and your tank is facing north (to find north, use spray. Top of pic = north)
- # - Make sure to Spawn E2 on ground, then move to your tank facing north
- # - Make sure to parent it to your baseplate, then weld it to your baseplate. (recommended for best performance)
- # - This E2 was made to handle and deal with all types of Gearbox setups
- #---MAIN CONTROLS AND SHIT---#
- # - Wire Active on the E2 to Active on your Pod Controller
- # - Wire W on the E2 to W on your Pod Controller
- # - Wire A on the E2 to A on your Pod Controller
- # - Wire S on the E2 to S on your Pod Controller
- # - Wire D on the E2 to D on your Pod Controller
- #---NOTE: If Garbox is facing rear, make final drive negative, if facing front, make final drive positive---#
- #---ENGINES AND GEARBOXES---#
- # - Wire Engine[ENTITY] on the E2 to Entity[ENTITY] on your engine (Just for once engine, even if you have several)
- # - Wire Throttle on your Engine(s) to Throttle on the E2
- # - Wire Gear on Main Gearbox to GearOut on the E2 (This goes for all gearboxes)
- #---IF REAR GEARBOX / FORWARD FACING GEARBOX (with dualclutch)---#
- # - Wire Left Clutch and Left Brake on the Main Gearbox to LClutch on the E2
- # - Wire Right Clutch and Right Brake on the Main Gearbox to RClutch on the E2
- #---IF FRONTAL GEARBOX / REAR FACING GEARBOX (with dualclutch)---#
- # - Wire Left Clutch and Left Brake on the Main Gearbox to Rlutch on the E2
- # - Wire Right Clutch and Right Brake on the Main Gearbox to LClutch on the E2
- #---IF FRONTAL FACING GEARBOX WITH TRANSFERS---#
- # - Wire Gear on the Main Gearbox to GearOut on the E2
- # - Wire Gear on Right transfer to RGearTC & Right Brake and Right Clutch on the transfers to LClutch on the E2
- # - Wire Gear on left transfer to LGearTC & Left Brake and left Clutch on the transfers to RClutch on the E2
- # - MAKE SURE: Left Transfer has negative final drive and Right Transfer has positive final drive
- #---IF REAR FACING GEARBOX WITH TRANSFERS---#
- # - Wire Gear on the Main Gearbox to GearOut on the E2
- # - Wire Gear on Right transfer to RGearTC & Right Brake and Right Clutch on the transfers to RClutch on the E2
- # - Wire Gear on left transfer to LGearTC & Left Brake and left Clutch on the transfers to LClutch on the E2
- # - MAKE SURE: Right Transfer has negative final drive and Left Transfer has positive final drive
- #---NOTE: If you are using Weld Latch brakes, Wire Activate on both Latches to Hardbrake on the E2---#
- #---------------------------------------------------------------------------------------------------------------#
- if(first()|dupefinished()){
- #---DualClutch or DualGearbox---#
- #---Only choose one---#
- Dualclutch = 1
- Dualgearbox = 0
- #---Transfer Cases or Nah?---#
- TransferCase = 0
- #---OneSpeed-TwoSpeed-RedSpeed-BlueSpeed---#
- #---NOTE: Only put 1 on one of these and 0 on rest---#
- Twospeed = 1
- Fourspeed = 0
- Sixspeed = 0
- Eightspeed = 0
- Turnpower = 19 #--Turning Power(1-5 tankettes ; 5-10 lights ; 10-15 mediums ; 15-20 heavies/MBTs -- Don't Exceed 20)--#
- Brakepower = 16 #--Braking Power(1-3 tanketts ; 3-8 lights ; 8-13 mediums ; 13-18 heavies/MBTs -- Don't Exceed 20)--#
- Rev = 0 #---this is good for quick starts but can be loud and is horrible on fuel---#
- ShiftTime = 5 #---How long between shifts (counts in milliseconds --> 1000ms = 1s)---# #Note to Mid: kys fag, 90ms != 1s
- }
- interval(100)
- ChangeRPM = Engine:acfRedline()*90/100
- DownChangeRPM = Engine:acfPowerbandMin()
- Throttle=0
- Rclutch=0
- Lclutch=0
- if(Active==0|Rclutch+Lclutch>0){HardBrake=1}else{HardBrake=0}
- #if(changed(Active)){reset()}
- if(Active==1){
- if(!W&!S&!A&!D&!Space){Gear=0,Lgear=0,Rgear=0}
- if(Space){Gear=0,Lgear=0,Rgear=0}
- if(Gear==0){GearOut=1}else{GearOut=Gear}
- if(Lgear==0){LgearOut=1}else{LgearOut=Lgear}
- if(Rgear==0){RgearOut=1}else{RgearOut=Rgear}
- if(Engine:acfRPM()<ChangeRPM/4){Gear=0,Lgear=0,Rgear=0}
- if(Dualclutch==1&TransferCase==0){GEARTIME = GEARTIME - 1
- if(S&!W&Twospeed){Gear = 2}
- if(!S&W&Twospeed){Gear = 1}
- if(Fourspeed){
- if(S&!W){Gear=4}else{
- if(W&!S&Gear==4){Gear=1}else{
- if(Engine:acfRPM()>ChangeRPM&Gear<=2&!S&W&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear+1}
- elseif(Engine:acfRPM()<DownChangeRPM&Gear<=3&!S&W&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear-1}}}}
- elseif(Sixspeed){
- if(S&!W){Gear=6}else{
- if(W&!S&Gear==6){Gear=1}else{
- if(Engine:acfRPM()>ChangeRPM&Gear<=4&!S&W&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear+1}
- elseif(Engine:acfRPM()<DownChangeRPM&Gear<=5&!S&W&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear-1}}}}
- elseif(Eightspeed){
- if(S&!W){Gear=8}else{
- if(W&!S&Gear==8){Gear=1}else{
- if(Engine:acfRPM()>ChangeRPM&Gear<=6&!S&W&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear+1}
- elseif(Engine:acfRPM()<DownChangeRPM&Gear<=7&!S&W&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear-1}}}}
- if(W|A|S|D){Throttle=100}
- if(A&!Space){Rclutch = Turnpower}else{Rclutch = 0}
- if(D&!Space){Lclutch = Turnpower}else{Lclutch = 0}
- if(Space){Rclutch = Brakepower}
- if(Space){Lclutch = Brakepower}
- if(!W&!S&!A&!D&!Space){Rclutch = Brakepower}
- if(!W&!S&!A&!D&!Space){Lclutch = Brakepower}
- if(!W&!S&!A&!D&!Space&Rev){Throttle = 100}}
- if(Dualgearbox==1&TransferCase==0){GEARTIME = GEARTIME - 1
- if(A&Twospeed&!W&!S){Lgear=2,Rgear=1}
- elseif(D&Twospeed&!W&!S){Lgear=1,Rgear=2}
- elseif(A&Fourspeed&!W&!S){Lgear=4,Rgear=1}
- elseif(D&Fourspeed&!W&!S){Lgear=1,Rgear=4}
- elseif(A&Sixspeed&!W&!S){Lgear=6,Rgear=1}
- elseif(D&Sixspeed&!W&!S){Lgear=1,Rgear=6}
- elseif(A&Eightspeed&!W&!S){Lgear=8,Rgear=1}
- elseif(D&Eightspeed&!W&!S){Lgear=1,Rgear=8}
- if(!S&W&Twospeed){Lgear = 1,Rgear = 1}
- if(S&!W&Twospeed){Lgear = 2,Rgear = 2}
- if(Fourspeed){
- if(S&!W){Lgear=4,Rgear=4}else{
- if(W&!S&(Lgear==4|Rgear==4)){Rgear=1,Lgear=1}else{
- if(Engine:acfRPM()>ChangeRPM&Lgear<=2&Rgear<=2&!S&W&GEARTIME<=0){GEARTIME=ShiftTime,Rgear=Rgear+1,Lgear=Lgear+1}
- elseif(Engine:acfRPM()<DownChangeRPM&Lgear<=3&Rgear<=3&!S&W&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Rgear=Rgear-1,Lgear=Lgear-1}}}}
- if(Sixspeed){
- if(S&!W){Lgear=6,Rgear=6}else{
- if(W&!S&(Lgear==6|Rgear==6)){Rgear=1,Lgear=1}else{
- if(Engine:acfRPM()>ChangeRPM&Lgear<=4&Rgear<=4&!S&W&GEARTIME<=0){GEARTIME=ShiftTime,Rgear=Rgear+1,Lgear=Lgear+1}
- elseif(Engine:acfRPM()<DownChangeRPM&Lgear<=5&Rgear<=5&!S&W&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Rgear=Rgear-1,Lgear=Lgear-1}}}}
- if(Eightspeed){
- if(S&!W){Lgear=8,Rgear=8}else{
- if(W&!S&(Lgear==8|Rgear==8)){Rgear=1,Lgear=1}else{
- if(Engine:acfRPM()>ChangeRPM&Lgear<=6&Rgear<=6&!S&W&GEARTIME<=0){GEARTIME=ShiftTime,Rgear=Rgear+1,Lgear=Lgear+1}
- elseif(Engine:acfRPM()<DownChangeRPM&Lgear<=7&Rgear<=7&!S&W&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Rgear=Rgear-1,Lgear=Lgear-1}}}}
- if(W|A|S|D){Throttle=100}
- if(D&W|D&S){Rclutch = Turnpower}
- if(A&W|A&S){Lclutch = Turnpower}
- if(Space){Rclutch = Brakepower}
- if(Space){Lclutch = Brakepower}
- if(!W&!S&!A&!D&!Space){Rclutch = Brakepower}
- if(!W&!S&!A&!D&!Space){Lclutch = Brakepower}
- if(!W&!S&!A&!D&!Space&Rev){Throttle = 100}}
- if(Dualclutch==1&TransferCase==1){GEARTIME = GEARTIME - 1
- if(S&!W){GearTC = 2}else{GearTC = 1}
- if(Twospeed){
- if(Engine:acfRPM()>ChangeRPM&Gear<=1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear+1}
- elseif(Engine:acfRPM()<DownChangeRPM&Gear<=2&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear-1}}
- if(Fourspeed){
- if(Engine:acfRPM()>ChangeRPM&Gear<=3&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear+1}
- elseif(Engine:acfRPM()<DownChangeRPM&Gear<=4&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear-1}}
- if(Sixspeed){
- if(Engine:acfRPM()>ChangeRPM&Gear<=5&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear+1}
- elseif(Engine:acfRPM()<DownChangeRPM&Gear<=6&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear-1}}
- if(Eightspeed){
- if(Engine:acfRPM()>ChangeRPM&Gear<=7&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear+1}
- elseif(Engine:acfRPM()<DownChangeRPM&Gear<=8&Gear>1&GEARTIME<=0){GEARTIME=ShiftTime,Gear=Gear-1}}
- if(W|A|S|D){Throttle=100}
- if(A&!Space){Rclutch = Turnpower}else{Rclutch = 0}
- if(D&!Space){Lclutch = Turnpower}else{Lclutch = 0}
- if(Space){Rclutch = Brakepower}
- if(Space){Lclutch = Brakepower}
- if(!W&!S&!A&!D&!Space){Rclutch = Brakepower}
- if(!W&!S&!A&!D&!Space){Lclutch = Brakepower}
- if(!W&!S&!A&!D&!Space&Rev){Throttle = 100}}
- if(Dualgearbox==1&TransferCase==1){GEARTIME = GEARTIME - 1
- if(S&!W){LgearTC=2,RgearTC=2}else{RgearTC=1,LgearTC=1}
- if(A&Twospeed&!W&!S){LgearTC=2,RgearTC=1,Lgear=1,Rgear=1}
- elseif(D&Twospeed&!W&!S){LgearTC=1,RgearTC=2,Lgear=1,Rgear=1}
- elseif(A&Fourspeed&!W&!S){LgearTC=2,RgearTC=1,Lgear=1,Rgear=1}
- elseif(D&Fourspeed&!W&!S){LgearTC=1,RgearTC=2,Lgear=1,Rgear=1}
- elseif(A&Sixspeed&!W&!S){LgearTC=2,RgearTC=1,Lgear=1,Rgear=1}
- elseif(D&Sixspeed&!W&!S){LgearTC=1,RgearTC=2,Lgear=1,Rgear=1}
- elseif(A&Eightspeed&!W&!S){LgearTC=2,RgearTC=1,Lgear=1,Rgear=1}
- elseif(D&Eightspeed&!W&!S){LgearTC=1,RgearTC=2,Lgear=1,Rgear=1}
- if(Twospeed){
- if(Engine:acfRPM()>ChangeRPM&Lgear<=1&Rgear<=1&GEARTIME<=0){GEARTIME=ShiftTime,Rgear=Rgear+1,Lgear=Lgear+1}
- 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