Jump to content
Sign in to follow this  
tsj

manual transmission

Recommended Posts

tsj    0

hi i wish to be able to drive any vehicle in gtasa with a manual transmission. but no one has ever made such a mods. so i thought of sharing it with all of you, if anyone could create it, he will be a very good modder. if mod created will ya please email it to me [email protected] or just post it on thegtaplace/gtagaming/gtagarage if possible. Thanks in advance pal

Share this post


Link to post
Share on other sites

Sounds interesting but as I remember the one I have for VC is a DLL and not a script. Which means you would need to know a lot more about making a dll and not just modding the scm with a cleo script. I am not saying it couldn't be done with a CLEO script, however it wouldn't make the cars performance any better.

02E3: [email protected] = car [email protected] speed

This opcode would fetch the car speed and could be used as a speedometer. Then since most cars have 3 to 4 gears and various top speeds you would need a table for each car. If the player's car is in first gear it should not be allowed past a certain speed 0-7 for example then 2nd gear 8-15, 3rd gear 16-30, then 4th gear 31 and up.

Need 4 Speed is made to run manual transmission or auto. The idea is you can burn rubber in 1st and hang in lower gears to get better performance. GTA game engine is not built that way the focus is more on fighting shooting and story, so if anything this type of mod wouldn't be for better performance just the illusion you have a stick shift.

BTW I did a search and found this on a Russian Forum, so it is not my code:

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP 

:Noname_2
0001: wait 0 ms 
00D6: if and
0256:   player $PLAYER_CHAR defined 
0038:   $ONMISSION == 0 
004D: jump_if_false @Noname_2 
00D6: if and
00DF:   actor $PLAYER_ACTOR driving 
84A7:   not actor $PLAYER_ACTOR driving_boat 
84A9:   not actor $PLAYER_ACTOR driving_heli 
84AB:   not actor $PLAYER_ACTOR driving_plane 
84C8:   not actor $PLAYER_ACTOR driving_flying_vehicle 
89AE:   not actor $PLAYER_ACTOR driving_train 
004D: jump_if_false @Noname_2 
00D6: if and
80DD:   not actor $PLAYER_ACTOR driving_car_with_model #BMX 
80DD:   not actor $PLAYER_ACTOR driving_car_with_model #BIKE 
80DD:   not actor $PLAYER_ACTOR driving_car_with_model #MTBIKE 
80DD:   not actor $PLAYER_ACTOR driving_car_with_model #COMBINE 
80DD:   not actor $PLAYER_ACTOR driving_car_with_model #TRACTOR 
004D: jump_if_false @Noname_2 
0050: gosub @Noname_1093 
077E: get_active_interior_to $Active_Interior 
00D6: if and
0039:   [email protected] == 0 
0038:   $Active_Interior == 0 
004D: jump_if_false @Noname_2 
03C0: [email protected] = actor $PLAYER_ACTOR car 
0006: [email protected] = 1 
0006: [email protected] = 0 

:Noname_180
0001: wait 0 ms 
0050: gosub @Noname_1093 
00D6: if and
00DB:   actor $PLAYER_ACTOR in_car [email protected] 
0038:   $ONMISSION == 0 
8039:   not  [email protected] == 1 
004D: jump_if_false @Noname_1070 
02E3: [email protected] = car [email protected] speed 
0A97: [email protected] = car [email protected] struct 
0A8E: [email protected] = [email protected] + 1180 
0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 
008E: [email protected] = float [email protected] to_integer 
00D6: if 
0039:   [email protected] == -1 
004D: jump_if_false @Noname_296 
0006: [email protected] = 6 

:Noname_296
00D6: if and
0039:   [email protected] == 6 
0039:   [email protected] == 1 
004D: jump_if_false @Noname_328 
0006: [email protected] = 1 

:Noname_328
00D6: if 
0039:   [email protected] == 1 
004D: jump_if_false @Noname_353 
0006: [email protected] = 0 

:Noname_353
0050: gosub @Noname_407 
03F0: enable_text_draw 1 
033F: set_text_draw_letter_size 0.6 1.6 
045A: draw_text_1number 208.55 425.333 GXT 'NUMBER' number [email protected]  
0002: jump @Noname_180 

:Noname_407
00D6: if 
81F3:   not car [email protected] in_air 
004D: jump_if_false @Noname_1068 
00D6: if 
81F4:   not car [email protected] flipped 
004D: jump_if_false @Noname_1068 
00D6: if 
0AB0:   key_pressed 107 
004D: jump_if_false @Noname_626 
00D6: if 
0039:   [email protected] == 0 
004D: jump_if_false @Noname_479 
000A: [email protected] += 1 

:Noname_479
00D6: if and
0039:   [email protected] == 1 
0021:   [email protected] > 10.0 
004D: jump_if_false @Noname_514 
000A: [email protected] += 1 

:Noname_514
00D6: if and
0039:   [email protected] == 2 
0021:   [email protected] > 16.5 
004D: jump_if_false @Noname_549 
000A: [email protected] += 1 

:Noname_549
00D6: if and
0039:   [email protected] == 3 
0021:   [email protected] > 21.9 
004D: jump_if_false @Noname_584 
000A: [email protected] += 1 

:Noname_584
00D6: if and
0039:   [email protected] == 4 
0021:   [email protected] > 41.0 
004D: jump_if_false @Noname_626 
000A: [email protected] += 1 
0002: jump @Noname_733 

:Noname_626
00D6: if 
0AB0:   key_pressed 109 
004D: jump_if_false @Noname_783 
0A97: [email protected] = car [email protected] struct 
0A8E: [email protected] = [email protected] + 1180 // int 
0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0 
008E: [email protected] = float [email protected] to_integer 
00D6: if and
0039:   [email protected] == 0 
8039:   not  [email protected] == -1 
0039:   [email protected] == 0 
004D: jump_if_false @Noname_726 
0006: [email protected] = 1 
000E: [email protected] -= 1 

:Noname_726
0002: jump @Noname_758 

:Noname_733
00D6: if 
0019:   [email protected] > 5 
004D: jump_if_false @Noname_758 
0006: [email protected] = 5 

:Noname_758
00D6: if 
002B:   0 >= [email protected] 
004D: jump_if_false @Noname_783 
0006: [email protected] = 1 

:Noname_783
00D6: if 
0039:   [email protected] == 0 
004D: jump_if_false @Noname_811 
04BA: set_car [email protected] speed_to 0.0 

:Noname_811
00D6: if and
0039:   [email protected] == 1 
0031:   [email protected] >= 11.3 
004D: jump_if_false @Noname_849 
04BA: set_car [email protected] speed_to 11.3 

:Noname_849
00D6: if and
0039:   [email protected] == 2 
0031:   [email protected] >= 17.0 
004D: jump_if_false @Noname_887 
04BA: set_car [email protected] speed_to 17.0 

:Noname_887
00D6: if and
0039:   [email protected] == 3 
0031:   [email protected] >= 22.5 
004D: jump_if_false @Noname_925 
04BA: set_car [email protected] speed_to 22.5 

:Noname_925
00D6: if and
0039:   [email protected] == 4 
0031:   [email protected] >= 41.5 
004D: jump_if_false @Noname_963 
04BA: set_car [email protected] speed_to 41.5 

:Noname_963
00D6: if and
0039:   [email protected] == 3 
0023:   3.0 > [email protected] 
004D: jump_if_false @Noname_998 
0006: [email protected] = 1 

:Noname_998
00D6: if and
0039:   [email protected] == 4 
0023:   3.0 > [email protected] 
004D: jump_if_false @Noname_1033 
0006: [email protected] = 1 

:Noname_1033
00D6: if and
0039:   [email protected] == 5 
0023:   3.0 > [email protected] 
004D: jump_if_false @Noname_1068 
0006: [email protected] = 1 

:Noname_1068
0051: return 

:Noname_1070
01C3: remove_references_to_car [email protected] 
03F0: enable_text_draw 0 
0006: [email protected] = 0 
0002: jump @Noname_2 

:Noname_1093
00D6: if 
0AB0:   key_pressed 106 
004D: jump_if_false @Noname_1175 
00D6: if 
0039:   [email protected] == 0 
004D: jump_if_false @Noname_1145 
0006: [email protected] = 1 
0001: wait 1000 ms 
0002: jump @Noname_1175 

:Noname_1145
00D6: if 
0039:   [email protected] == 1 
004D: jump_if_false @Noname_1175 
0006: [email protected] = 0 
0001: wait 1000 ms 

:Noname_1175
0051: return

I haven't tried it so don't blame me if it bites.

JAB B)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×