Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. Red Dead Redemption 2

      1. PC
      2. Gameplay
      3. Missions
      4. Help & Support
    2. Red Dead Online

      1. Gameplay
      2. Find Lobbies & Outlaws
      3. Help & Support
      4. Frontier Pursuits
    1. Crews & Posses

      1. Recruitment
    2. Events

    1. GTA Online

      1. Diamond Casino & Resort
      2. DLC
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Grand Theft Auto Series

    3. GTA 6

    4. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    5. GTA IV

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA IV Mods
    6. GTA Chinatown Wars

    7. GTA Vice City Stories

    8. GTA Liberty City Stories

    9. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA SA Mods
    10. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA VC Mods
    11. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA III Mods
    12. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    13. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    3. Featured Mods

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Programming
      5. Movies & TV
      6. Music
      7. Sports
      8. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. News

    2. Forum Support

    3. Site Suggestions

Opius

Opcodes for Bartons Editor (GTA3 + VC)

Recommended Posts

Opius

Damn, Rockstar do have some rather specific opcodes...

 

Anyway, great work, again PatrickW. inlove.gif

Share this post


Link to post
Share on other sites
PatrickW

@Two-Zero,

I have started GTA modding half a year ago, and have since been here on an almost daily base. But I've mostly been lurking the knowledge of the more experience people, posting only occasionally. I've been studying VC code quite extensively to enlarge my skills. Now I feel more confident to start more ambitious projects... smile.gif

 

@CyQ, thanx the typo has been corected.

 

 

Here are some more opcodes, now tested and well...

 

 

04eb=3,actor %1d% crouch %2d% %3d% ms

 

params: actor, flag(1=duck/0=stand), time

Makes Actor crouch for given duration

( We're finally freed from that bank-account opcode smile.gif )

 

 

02df=1, player %1d% fires weapon

 

condition for if

 

 

02e0=1, actor %1d% fires weapon

 

condition for if

 

 

051a=2, is actor %1d% shot_by %2d%

 

condition for if

 

 

053e=6,get_car_handle_in_rect %1d% %2d% %3d% %4d% %5d% %6d%

 

This opcode is already known in the opcode-dbase, but the fifth parameter, CARTYPE was unknown.

053e: get_car_handle_in_rect $x1 $y2 $x2 $y2 #PCJ600 $a_car

This codes finds the handle of a random car of type PCJ600 in area x1,y1,x2,y2 and puts it in $a_car

if cartype = -1 any car while do, else only cars of the given type are considered.

 

 

01ed=1, clear actor%1d% threats

 

to clear the threats set using 001a: ( see three msg up )

 

 

Have fun with them, if there is any suggestions for better names, just shout and we'll where it ends..

 

Share this post


Link to post
Share on other sites
DexX

 

params: (float)x1,(float)y1,(float)z1,(float)x2,(float)y2,(float)z2

It sets up a roadblock with 2 police-cars and 4 cops between the two points.

Used in COPLAND

inlove.gif

^ ^

excellent. cookie.gif

Share this post


Link to post
Share on other sites
Craig Kostelecky

Here's a minor opcode that I stumbled on with LC.

 

0544: save_longest_time_in_bloodring $WHATEVER_RECORD_YOU_WANT_TO_STORE

 

That's important if anybody's doing a TC and wants a place to store a highest integer record. I ended up using it for the most checkpoints in Bling-Bling Scramble.

Share this post


Link to post
Share on other sites
Demarest
053e=6,get_car_handle_in_rect %1d% %2d% %3d% %4d% %5d% %6d%

 

This opcode is already known in the opcode-dbase, but the fifth parameter, CARTYPE was unknown.

053e: get_car_handle_in_rect $x1 $y2 $x2 $y2 #PCJ600 $a_car

This codes finds the handle of a random car of type PCJ600 in area x1,y1,x2,y2 and puts it in $a_car

if cartype = -1 any car while do, else only cars of the given type are considered.

That's very handy indeed smile.gif

 

 

Share this post


Link to post
Share on other sites
Opius

Thanks to PatrickW for letting me play around with this smile.gif

 

049C: $WANDERER1 = path_object_on_path_spath 0 .dat_and_rotation 0.0049D: attach_path_object $WANDERER1 to_object $TRAIN1049F: set_path_object $WANDERER1 distance_along_path_to 1000.0049E: set_path_object $WANDERER1 speed_to 1.004A1: disable_path_object $WANDERER1

 

All these control objects that can move horozontally while keeping the player on them, like the Colonels ship.

 

[EDIT]HOLY F*CK! I found out what the integer unknown with 049C is! It sets what number SPATH.DAT file it should follow! Can anyone say "multiple train-like objects"?

Share this post


Link to post
Share on other sites
TwoZero

[EDIT]HOLY F*CK! I found out what the integer unknown with 049C is! It sets what number SPATH.DAT file it should follow! Can anyone say "multiple train-like objects"?

multiple train-like objects

 

tounge.gif

 

That would be f*cking awesome... PatrickW is working on recreating the trian for the LC mod, this would be very helpfull. And I will also do some messing around with this when I have some time.

 

Very very nice find smile.gif

 

Edit: Wait did you try to make a new file? like "spath1.dat" and use it? so it would mean we could create a endless number of path files for objects? wow.gif

Edited by TwoZero

Share this post


Link to post
Share on other sites
Opius
Edit: Wait did you try to make a new file? like "spath1.dat" and use it? so it would mean we could create a endless number of path files for objects? wow.gif

Yep, made spath1.dat and used this line... (obviously still in the old format)

 

049C: unknown_set_special_object_flags 1 0.0 to $WANDERER1

 

 

and spath1.dat consists of this...

 

10-0.0 0.0 10.0-500.0 0.0 10.0-1000.0 0.0 10.0-1500.0 0.0 10.0-1500.0 500.0 10.0-1500.0 1000.0 10.0-1000.0 1000.0 10.0-500.0 1000.0 10.0-0.0 1000.0 10.0-0.0 500.0 10.0

 

BANG! Object travels that path. That's why I'm so excited over this. I really only thought about it when I saw in the EXE that spath0.dat wasn't called by it's full name, just "spath%.dat". I started thinking about what could be setting the variable, then remembered the code PatrickW sent me. Thirty minutes later...

Share this post


Link to post
Share on other sites
TwoZero

wow.gif that is f*cking awesome, in the next few hours I'm gonna try to make 2 objects move on the railtrack of LC, just on a straight path, from left to right.

 

This would also mean you could do stuff like creating new flying planes for cutscene's and stuff.

Except that rotation isn't included in path files confused.gif

Share this post


Link to post
Share on other sites
Opius

Actually, I've found that the objects, upon reaching a point in the path, will turn to face the next point while moving towards it.

 

And you can set the global rotation for all objects attached to a path object with the first opcode.

Share this post


Link to post
Share on other sites
Craig Kostelecky

I'm not sure if I'm reading this right or not, but could that code be used to simulate the movement of a vehicle for either the car crusher or emergency crane? Right now in LC, we just make the cars disappear.

Share this post


Link to post
Share on other sites
Y_Less

Hello rotating cars, if you remember, I needed something like this to easilly turn a car in a circle for my crane mod, which I had temporarilly stopped due to this, thankyou!

 

 

Also (don't know if these have been found - i need to update, if they have, soz) also found these whailst working on my crane:

 

 

834E: NOT object (object) at (co-ords) angle (angle) then move_to_point_by_angle (angle) (number) (flags)

 

 

 

834D: NOT object  (object) at_angle  (angle) then instant_rotate_by_angle  (angle)  (flags)

 

 

flags:

 

0? - move

NOT 0 - move if not blocked

 

 

 

057D: play mp3 (flag)

 

 

flags:

 

0? - bridges closed (bclosed.mp3)

1? - bridges open (bopen.mp3)

2 on - mp3's in order except abient sounds and (bclosed/ bopen)

 

The first 2 are conditional checks that check if a object is at a position or angle, and if they are not, moves it an ammount towards it (not sure how far - just a bit of the distance) and rotates it by the second angle specified (e.g. if you want it to rotate to angle 0 from 90 by angle 40, the first 2 times you call it, it will rotate 40 towards 0, the 3rd time it will only rotate 10). 0 means move it, 1 means move it if there is nothing blocking it.

 

The 3rd Opcode plays MP3s, 0 and 1 are the hurricane warnings, after that, it plays through MP3s in alphabetical order, except the ambience ones and the hurricane ones again (don't know how it knows, but it does).

Share this post


Link to post
Share on other sites
Barton Waterduck

Just use the 00AB (put_car) command instead of any move commands.

 

Did some work on a GTA 1 to VC mod once. This code was a working mission with a working crane. No idea if it still works. v0.14 code.

 

edit: You need to remark all codes with phone in them because phones only works if they are set up correctly in the IPL files. smile.gif

 

;-------------Mission 6-- GTA missions -------------; GTA 1 mission 4 - get 2 yellow cabs:Gta1_4_Mission0050: gosub £Gta1_4_MissionEntry00D6: if 0?0112:   wasted_or_busted004D: jump_if_false £Gta1_4_MissionDoneWB0050: gosub £Gta1_4_MissionFailed:Gta1_4_MissionDoneWB0050: gosub £Gta1_4_MissionCleanup004E: end_thread:Gta1_4_MissionEntry; 03A4: name_thread "BANKJO4"0004: $ONMISSION = 1?  \\ integer values054C: use_GXT_table "HAIT2"0006: [email protected] = 0?00BB: text_lowpriority "HAT2_6" 4000& ms 1? \\ We need two yellow cabs for a bank job. Bring 'em to the docks in New Guernsey.; Gta1_4_test; 0055: put_player $PLAYER_CHAR at -970.3! 358.7! 11.3!; 0002: jump £Gta1_4_test; 0247: request_model #cabbie; :Gta1_4_gettaxxi; 0001: wait 0? ms; 00D6: if 0?; 0248:   model #cabbie available; 004D: jump_if_false £Gta1_4_gettaxxi; 00A5: [email protected] = create_car #cabbie at -1010.3! -1439.5! -100!; 0249: release_model #cabbie; 0055: put_player $PLAYER_CHAR at -1010.3! -1434.5! -100!018A: $Gta1_4_docks_marker = create_checkpoint_at -1007.9! -1468.5! 11.9!03BC: $Gta1_4_docks_sphere = create_sphere -1007.9! -1468.5! 11.9! 4!0006: [email protected] = 0?:Gta1_4_loopit0001: wait 0? ms00D6: if 2?02DE:   player $PLAYER_CHAR driving_taxi_vehicle00FA:   player $PLAYER_CHAR stopped 0? ()near_point_in_car -1007.9! -1468.5! 11.9! radius 4! 4! 4!0039:   [email protected] == 0?004D: jump_if_false £Gta1_4_loopit203C1: $Gta1_4_taxi = player $PLAYER_CHAR car00BB: text_lowpriority "HAT2_B8" 4000& ms 1?  \\ Get your buns outta there, I'm pickin' it up!0006: [email protected] = 1?:Gta1_4_loopit20001: wait 0? ms00D6: if 0?8119:   NOT car $Gta1_4_taxi wrecked004D: jump_if_false £Gta1_4_loopit00D6: if 1?81B0:   NOT car $Gta1_4_taxi stopped 0? ()near_point -1007.9! -1468.5! 11.9! radius 4! 4! 4!0039:   [email protected] == 1?004D: jump_if_false £Gta1_4_loopit300BE: text_clear_all0006: [email protected] = 0?:Gta1_4_loopit30006: [email protected] = 0?:Gta1_4_loopit40001: wait 0? ms00D6: if 0?8119:   NOT car $Gta1_4_taxi wrecked004D: jump_if_false £Gta1_4_loopit00D6: if 1?01B0:   car $Gta1_4_taxi stopped 0? ()near_point -1007.9! -1468.5! 11.9! radius 4! 4! 4!80DC:   NOT player $PLAYER_CHAR driving $Gta1_4_taxi004D: jump_if_false £Gta1_4_loopit00D6: if 0?0019:   [email protected] > 2000&004D: jump_if_false £Gta1_4_loopit40007: [email protected] = 10.8!00D6: if 0?0039:   [email protected] == 0?004D: jump_if_false £Gta1_4_text200BB: text_lowpriority "HAT2_7" 4000& ms 1? \\ OK, one more should do it!0002: jump £Gta1_4_loopit5:Gta1_4_text200BB: text_lowpriority "HAT2_2" 4000& ms 1? \\ I gotta keep movin', man. Answer the phone in North West New Guernsey.0405: enable_phone $HaitiPhone0164: disable_marker $Gta1_4_docks_marker03BD: destroy_sphere $Gta1_4_docks_sphere018A: $Gta1_4_phone_marker = create_checkpoint_at -1113.14! -59.794! 11.9!:Gta1_4_loopit50001: wait 0? ms00D6: if 0?8119:   NOT car $Gta1_4_taxi wrecked004D: jump_if_false £Gta1_4_MissionFailed300AB: put_car $Gta1_4_taxi at -1007.9! -1468.5! [email protected]: [email protected] += 0.1!00D6: if 0?0021:   [email protected] > 19.6!004D: jump_if_false £Gta1_4_loopit50007: [email protected] = -1468.5!:Gta1_4_loopit60001: wait 0? ms00D6: if 0?8119:   NOT car $Gta1_4_taxi wrecked004D: jump_if_false £Gta1_4_MissionFailed300AB: put_car $Gta1_4_taxi at -1007.9! [email protected] 19.6!000F: [email protected] -= 0.1!00D6: if 0?0023:   -1502.4! > [email protected]: jump_if_false £Gta1_4_loopit60007: [email protected] = 19.6!:Gta1_4_loopit70001: wait 0? ms00D6: if 0?8119:   NOT car $Gta1_4_taxi wrecked004D: jump_if_false £Gta1_4_MissionFailed300AB: put_car $Gta1_4_taxi at -1007.9! -1502.4! [email protected]: [email protected] -= 0.1!00D6: if 0?0023:   18.2! > [email protected]: jump_if_false £Gta1_4_loopit700D6: if 0?0039:   [email protected] == 0?004D: jump_if_false £Gta1_4_loopit80006: [email protected] = 0?0006: [email protected] = 1?; 01C3: remove_references_to_car $Gta1_4_taxi  \\ Like turning a car into any random car00A6: destroy_car $Gta1_4_taxi0002: jump £Gta1_4_loopit:Gta1_4_loopit8; 01C3: remove_references_to_car $Gta1_4_taxi  \\ Like turning a car into any random car00A6: destroy_car $Gta1_4_taxi0006: [email protected] = 0?; testing; 00BB: text_lowpriority "HAT2_8" 4000& ms 1? \\ Hey! I owe you one, man. Good job.:Gta1_4_Get_phone0001: wait 0? ms00D6: if  0?8019:    NOT   [email protected] >  90000&&  \\ integer values004D: jump_if_false £Gta1_4_MissionFailed200D6: if  0?00E7:   player $PLAYER_CHAR stopped  0? ()near_point_on_foot -1113.14! -59.794! radius  2!  2!004D: jump_if_false £Gta1_4_Get_phone; testing; 01E4: text_1number_lowpriority "HJ_IS" 16@ 4000& ms 1?; 0001: wait 4000& ms; 51000 ms when going fast in a bobcat; 58000 ms when going fast in a flatbed; up to 90000 ms when going the wrong way and driving slow in a flatbed024E: disable_phone $HaitiPhone0164: disable_marker $Gta1_4_phone_marker00BB: text_lowpriority "HAT2_5" 4000& ms 1? \\ My brother knows I'm bangin' his wife. Waste the sonofabitch before he finds me.0109: player $PLAYER_CHAR money += 5000&:Gta1_4_test018A: $Gta1_4_brother_marker = create_checkpoint_at -969.9! 372.2! 11.3!03BC: $Gta1_4_brother_sphere = create_sphere -969.9! 372.2! 11.3! 3!:Gta1_4_find_brother0001: wait 0? ms00D6: if  0?00E4:   player $PLAYER_CHAR  0? near_point_on_foot -969.9! 372.2! radius 3! 3!004D: jump_if_false £Gta1_4_find_brother0164: disable_marker $Gta1_4_brother_marker03BD: destroy_sphere $Gta1_4_brother_sphere0247: request_model #ARMY0247: request_model #M6001F0: set_max_wanted_level_to 0?:Gta1_4_Get_Brother0001: wait 0? ms00D6: if 1?0248:   model #army available0248:   model #M60 available004D: jump_if_false £Gta1_4_Get_Brother0006: [email protected] = -970&0006: [email protected] = 417&0050: gosub £Gta1_4_getcoords; area: from x=-940! y=424!  to  x=-990! y=399! 009A: $Gta1_4_brother = create_actor 4? #army at [email protected] [email protected] 11.2!04D7: lock_actor $Gta1_4_brother in_current_position 1?0173: set_actor $Gta1_4_brother z_angle_to 180!01B2: give_actor $Gta1_4_brother weapon 32? ammo 3999&  \\ Load the weapon model before using this02E2: set_actor $Gta1_4_brother weapon_accuracy_to 90? percent01CA: actor $Gta1_4_brother kill_player $PLAYER_CHAR0187: $Gta1_4_brother_marker = create_marker_above_actor $Gta1_4_brother0004: $GTA1_4_BROTHER_HEALTH = 100?03C4: set_status_text_to $Gta1_4_Brother_Health  1? (bar) "HAT2_3" \\ health::Gta1_4_Brother_Control0001: wait 0? ms00D6: if 0?803B:   NOT  [email protected] == [email protected]: jump_if_false £Gta1_4_Brother_Control2005A: [email protected] += [email protected]:Gta1_4_Brother_Control200D6: if 0?803B:   NOT  [email protected] == [email protected]: jump_if_false £Gta1_4_Brother_Control3005A: [email protected] += [email protected]:Gta1_4_Brother_Control300D6: if 1?003B:   [email protected] == [email protected]:   [email protected] == [email protected]: jump_if_false £Gta1_4_Brother_Control40050: gosub £Gta1_4_getcoords:Gta1_4_Brother_Control400D6: if 0?8118:   NOT   actor $Gta1_4_brother dead004D: jump_if_false £Gta1_4_Brother_Dead008F: [email protected] = integer_to_float [email protected]  \\ never used in VC or GTA 3008F: [email protected] = integer_to_float [email protected]  \\ never used in VC or GTA 300A1: put_actor $Gta1_4_brother at [email protected] [email protected] -100!; 0222: set_player $PLAYER_CHAR health_to 200&; 035E: set player $PLAYER_CHAR armour_to 200&0002: jump £Gta1_4_Brother_Control:Gta1_4_Brother_Dead000C: $GTA1_4_BROTHER_HEALTH -= 10?00D6: if 0?8038:   NOT $GTA1_4_BROTHER_HEALTH == 0?004D: jump_if_false £Gta1_4_Brother_Dead2009B: destroy_actor_instantly $Gta1_4_brother009A: $Gta1_4_brother = create_actor 4? #army at [email protected] [email protected] 11.2!04D7: lock_actor $Gta1_4_brother in_current_position 1?01B2: give_actor $Gta1_4_brother weapon 32? ammo 3999&  \\ Load the weapon model before using this02E2: set_actor $Gta1_4_brother weapon_accuracy_to 90? percent020F: actor $Gta1_4_brother look_at_player $PLAYER_CHAR01CA: actor $Gta1_4_brother kill_player $PLAYER_CHAR0187: $Gta1_4_brother_marker = create_marker_above_actor $Gta1_4_brother0002: jump £Gta1_4_Brother_Control:Gta1_4_Brother_Dead20109: player $PLAYER_CHAR money += 50000&&00BB: text_lowpriority "HAT2_8" 4000& ms 1? \\ Hey! I owe you one, man. Good job.0217: text_styled "ASM1_2" 4000& ms 1? \\ MISSION COMPLETE!0051: return:Gta1_4_getcoords0001: wait 0? ms0209: [email protected] = random_int -940& -990&  \\ x0209: [email protected] = random_int 399& 424&  \\ y00D6: if 1?803B:   NOT  [email protected] == [email protected]:   NOT  [email protected] == [email protected]: jump_if_false £Gta1_4_getcoords00D6: if  0?  001D:   [email protected] > [email protected]  \\ if new x pos > current x pos004D: jump_if_false £Gta1_4_getcoords20006: [email protected] = 1?0002: jump £Gta1_4_getcoords3:Gta1_4_getcoords20006: [email protected] = -1?:Gta1_4_getcoords300D6: if  0?001D:   [email protected] > [email protected]  \\; if new y pos > current y pos004D: jump_if_false £Gta1_4_getcoords40006: [email protected] = 1?0002: jump £Gta1_4_getcoords5:Gta1_4_getcoords40006: [email protected] = -1?:Gta1_4_getcoords50051: return; 00BB: text_lowpriority "HAT2_B8" 4000& ms 1?  \\ Get your buns outta there, I'm pickin' it up!; 0001: wait  4100& ms; 00BB: text_lowpriority "HAT2_7" 4000& ms 1? \\ OK, one more should do it!; 0001: wait  4100& ms; 00BB: text_lowpriority "HAT2_2" 4000& ms 1? \\ I gotta keep movin', man. Answer the phone in North West New Guernsey.; 0001: wait  4100& ms; 00BB: text_lowpriority "HAT2_5" 4000& ms 1? \\ My brother knows I'm bangin' his wife. Waste the sonofabitch before he finds me.; 0001: wait  4100& ms; 00BB: text_lowpriority "HAT2_B3" 4000& ms 1? \\ The man's long gone. You got any idea what this is gonna do to my weekend, uh?; 0001: wait  4100& ms; 00BB: text_lowpriority "HAT2_8" 4000& ms 1? \\ Hey! I owe you one, man. Good job.; 0001: wait  4100& ms; 0217: text_styled "ASM1_2" 4000& ms 1? \\ MISSION COMPLETE!; 0001: wait  4100& ms0051: return:Gta1_4_MissionFailed300BA: text_styled "M_FAIL" 4000& ms 1?   \\ MISSION FAILED!0051: return:Gta1_4_MissionFailed200BB: text_lowpriority "HAT2_B3" 4000& ms 1? \\ The man's long gone. You got any idea what this is gonna do to my weekend, uh?00BA: text_styled "M_FAIL" 4000& ms 1?   \\ MISSION FAILED!0051: return:Gta1_4_Missionfailed00BA: text_styled "M_FAIL" 4000& ms 1?   \\ MISSION FAILED!0051: return:Gta1_4_MissionCleanup01F0: set_max_wanted_level_to 6?0249: release_model #ARMY0249: release_model #M600151: remove_status_text $Gta1_4_Brother_Health0164: disable_marker $Gta1_4_docks_marker0164: disable_marker $Gta1_4_phone_marker0164: disable_marker $Gta1_4_brother_marker03BD: destroy_sphere $Gta1_4_docks_sphere024E: disable_phone $HaitiPhone0004: $ONMISSION = 0?00D8: mission_cleanup0051: return; gxt table HAIT2; start: no money; [1052]We need two yellow cabs for a bank job. Bring 'em to the docks in New Guernsey.; [HAT2_6]  We need two yellow cabs for a bank job. Bring 'em to the docks in New Guernsey.; create marker near docks, when near with ANY car; [crane0]Get your buns outta there, I'm pickin' it up!; [HAT2_B8]  Get your buns outta there, I'm pickin' it up!; when yellow TAXI picked up and placed on boat (no money); [9000]OK, one more should do it!; [HAT2_7]  OK, one more should do it!; again,; [crane0]Get your buns outta there, I'm pickin' it up!; [HAT2_B8]  Get your buns outta there, I'm pickin' it up!; when second taxi in place on boat (no money); [1053]I gotta keep movin', man. Answer the phone in North West New Guernsey.; [HAT2_2]  I gotta keep movin', man. Answer the phone in North West New Guernsey.; get to phone, time limit  (2500 money); [1054]My brother knows I'm bangin' his wife. Waste the sonofabitch before he finds me.; [HAT2_5]  My brother knows I'm bangin' his wife. Waste the sonofabitch before he finds me.; if you can't reach phone in time; [1055]The man's long gone. You got any idea what this is gonna do to my weekend, uh?; [HAT2_B3]  The man's long gone. You got any idea what this is gonna do to my weekend, uh?; when brother dead, mission complete (score 50000); [1056]Hey! I owe you one, man. Good job.; [HAT2_8]  Hey! I owe you one, man. Good job.

 

Edited by Barton Waterduck

Share this post


Link to post
Share on other sites
Y_Less

I did eventually resort to the put code, but with it travelling in a circle, it was a little more complex and the code has doubled in size since i added it, but oh well, when its finished, ill post it here.

Share this post


Link to post
Share on other sites
Barton Waterduck
I did eventually resort to the put code, but with it travelling in a circle, it was a little more complex and the code has doubled in size since i added it, but oh well, when its finished, ill post it here.

Those GTA 1 cranes are much simpler.

Share this post


Link to post
Share on other sites
PatrickW
Actually, I've found that the objects, upon reaching a point in the path, will turn to face the next point while moving towards it.

 

And you can set the global rotation for all objects attached to a path object with the first opcode.

Great find opius,

 

I already thought that that parameter indicated the path to follow, but used to the hardcoded stuff R* normally uses I never even tried to add another file....

cookie.gifcookie.gifcookie.gifcookie.gif

 

The second parameter though, I disagree with your finding. From my experimentation, it is not an angle, but the "width"of the path to follow.

If you send an object allong a path, (say a train on the tracks) and this parameter

is set to 90.0 it will cut of the corners, resulting in a generally more smooth path. If you make the parameter smallen, the points in the path-file are followed more closely. This led me to believe that this parameter is the "path-width" or maximal allowed deviation from the straightlines between the given points.

 

For the other opcodes, your findings exactly match mine... smile.gif

 

 

All these control objects that can move horozontally while keeping the player on them, like the Colonels ship.

 

 

These will not only move horizontally, but fully 3D. My train follows nicely the de/inclines in the tracks.....

 

 

 

 

Share this post


Link to post
Share on other sites
Seemann

hi to all!

 

here 2 new opr-codes

 

 

04Ñ9: is_player_driving_plane $PLAYER_CHAR

 

 

it checks if player is driving a heli/plane (for example maverick, hunter, sparrow etc.)

parameter is only one: $PLAYER_CHAR

 

 

04A8: is_player_driving_boat $PLAYER_CHAR

 

checks if player is driving a boat (for example predator, squalo etc)

 

Parameter is only $PLAYER_CHAR

 

Edited by Seemann

Share this post


Link to post
Share on other sites
PatrickW

Nice ones seemann, those will sure come in handy in certain mods.

 

Could you correct the opcode for the first one, It's got an N with a ~ in it,

where it should be hex-notation smile.gif

 

Share this post


Link to post
Share on other sites
zbos

 

Nice ones seemann, those will sure come in handy in certain mods.

 

Could you correct the opcode for the first one, It's got an N with a ~ in it,

where it should be hex-notation  smile.gif

it is opcode

 

84C9:

 

 

to be correct

Share this post


Link to post
Share on other sites
Y_Less

Another one:

 

054D: display_message_at_stadium 0?

 

Tells the engine which of the event messages to display on the LCD display outside the Hyman Memorial Stadium. I was trying to figure out this OpCode before, I knew it told the engine which event was on, but I didn't know what it did with the information. Then later I was trying to figure out where the scrolling text was stored and found it in the exe (its hard coded so you can't change it legally) but I wondered how it knew which was which, put 2 and 2 together, tested it, and it worked!

Share this post


Link to post
Share on other sites
random_download
it is opcode

 

84C9:

 

 

to be correct

Would that not make it a "NOT" opcode, having the 8 as the first character?

Share this post


Link to post
Share on other sites
Y_Less

Well if it is 84C9, then that is

84C9:  NOT is_player_driving_plane $PLAYER_CHAR

and the normal one is

04C9: is_player_driving_plane $PLAYER_CHAR

 

 

BTW, on the subject of Opcodes, why are they listed as, say 84C9, when in the mission script .scm, they appear as C984 who and why were they swapped?

Share this post


Link to post
Share on other sites
Opius

04F4: put_actor $A7F into_turret_mode_on_object $2CA at_offset 4.267 -4.745  4.179 unknown 0 angle 360.0 weapon 27

 

 

Really only useful when using wanderer objects.

 

 

0545: (unknown)

 

Still no idea what this does. It seems to totally lock up the game world, removing all peds and cars except the player. You can get the world moving again by turning streaming back on (03AF), but this will not allow you to access the menu. One interesting side effect is that if you die, the camera spirals upwards away from your body infinitaly, instead of you respawning at the hospital.

Share this post


Link to post
Share on other sites
Un3462

it is very possible that 0545 simply clears everything to get memory freed up for the somewhat heavy cutscene that follows it. we could name it "clear_world" or something?

Share this post


Link to post
Share on other sites
Seemann

 

0543: add_to_bloodring_kills_stat $int

 

par: integer

 

increments the number of "bloodring kills" stats by the int value

 

 

0534: add_to_pizzas_delivered_stat $int

 

par: integer

 

increments the number of "pizza's delivered" stats by the int value

Edited by Seemann

Share this post


Link to post
Share on other sites
Whacko

Hello, I`m new here. smile.gif

 

Might be interessting for those who code cutscenes:

0160: point_camera -726.505 -1167.339 11.744  2

0460: set_camera_pointing_time  0.0  4000

 

Opcode 0460 only works when the pan-parameter of opcode 0160 ist set to 2 (pan)

 

X Y Z Coords

Pan-Flag (1 = cut, 2 = pan)

Unkown (0.0 - 30.0 seemed to do nothing, negative values let the camera do strange this ^^)

Time in ms the movement shall last

 

Figured out with the help of http://vc-db.webtools4you.net/?do=data

Share this post


Link to post
Share on other sites
Seemann

hi. 3 new op-codes

 

 

0578: save_to_highest_vigilante_level_stat $int

 

par: integer

 

stores the highest vigilante level ($int) in the stats

 

 

0581: show_radar 0

 

par: integer

par = 0: radar invisible

par 0: radar visible

 

this opcode do radar visible/invisible

 

 

0582:  0 save_to_hotring_best_stat $int

 

par: 0, integer

 

first parameter = 0. if its 0, record doesn't stores

second par is your record

Edited by Seemann

Share this post


Link to post
Share on other sites
Barton Waterduck

uh, what's a seemann ? a ..... seaman perhaps ? notify.gif

Share this post


Link to post
Share on other sites
Seemann

seemann is the seaman in German. And what? mad.gif

Share this post


Link to post
Share on other sites
Whacko

Actually Opcode 049F: is entered as:

049f 2  unknown -/- no -/- "set_wanderer_position"

... searching in the R*-main I found this:

049F: unknown_change_special_objects_flag $2D2  3250.0

 

The section $2D2 ist used again seems to deal with Cortez yacht (not really sure `bout this - just wanted to drop a line, cause I´m searchin for something else right now)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • 2 Users Currently Viewing
    0 members, 0 Anonymous, 2 Guests

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.