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. DLC
      2. Find Lobbies & Players
      3. Guides & Strategies
      4. Vehicles
      5. Content Creator
      6. Help & Support
      7. The Diamond Casino Heist
    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

GTA:SA Opcodes

Recommended Posts

ZAZ

0A4A: gives also the mouse movement

 

:MControl_01wait 00A4A: store_joystick_X_offset_to [email protected] Y_offset_to [email protected]: [email protected] = float_to_integer [email protected]  0092: [email protected] = float_to_integer [email protected]: enable_text_draw 1045A: text_draw_1number  200.0  50.0 'NUMBER' [email protected]    // value045A: text_draw_1number  350.0  50.0 'NUMBER' [email protected]    // value0002: jump @MControl_01

 

Share this post


Link to post
Share on other sites
Wesser

Oh, nice find with that opcode ZAZ! tounge.gif

 

It helped me a lot to create an internal mouse system and a newer menu without using the memory. I could say this is a sketch of what I'm planning to do with my mod:

 

{$CLEO}0000: NOPwhile true wait 0  if  0AB0:  key_pressed 0x7B // F12 then   03F0: enable_text_draw 1    gosub @LoadMousePtr    gosub @LoadMenuItems    while true     wait 0      gosub @DrawMenuBack      gosub @DrawExitItem      gosub @DrawMousePtr      0AB1: call_scm_func @getItemRectPos 4 320.0 240.0 45.0 22.5 [email protected] [email protected] [email protected] [email protected] // ExitItemRect     // Adjust mouse point     0087: [email protected] = [email protected]      [email protected] -= 16.0 // mouse tex scale X / 2     0087: [email protected] = [email protected]      [email protected] -= 16.0 // mouse tex scale Y / 2     if and     0035:  [email protected] >= [email protected]      0035:  [email protected] >= [email protected]      0035:  [email protected] >= [email protected]      0035:  [email protected] >= [email protected]      then       [email protected] = 0        [email protected] = 255        if        0AB0:  key_pressed 0x1 // left mouse btn       then         break       end     else       [email protected] = 255        [email protected] = 0      end   end   03F0: enable_text_draw 0    0391: release_txd_dictionary end gosub @SetMousePosDef end:LoadMousePtr0390: load_txd_dictionary 'LD_BEAT' 038F: load_texture "upl" as 1 return :LoadMenuItems0390: load_txd_dictionary 'LD_GRAV' 038F: load_texture "exity" as 2 038F: load_texture "exitw" as 3 return :DrawMenuBack03E3: set_texture_to_be_drawn_antialiased 1 038E: draw_box_position 320.0 240.0 size 128.0 64.0 RGBA 0 0 0 190 return:DrawExitItem03E3: set_texture_to_be_drawn_antialiased 1 038D: draw_texture 2 position 320.0 240.0 size 45.0 22.5 RGBA 128 128 128 [email protected] 03E3: set_texture_to_be_drawn_antialiased 1 038D: draw_texture 3 position 320.0 240.0 size 45.0 22.5 RGBA 128 128 128 [email protected] return :DrawMousePtrgosub @getMousePos 03E3: set_texture_to_be_drawn_antialiased 1 038D: draw_texture 1 position [email protected] [email protected] size 32.0 32.0 RGBA 128 128 128 255 return :[email protected] = 320.0 // screen center [email protected] = 240.0 // screen center [email protected] = 2.5 // mouse sensivityreturn :getMousePos0A4A: store_joystick_X_offset_to [email protected] Y_offset_to [email protected] 0073: [email protected] /= [email protected] // sensivity X0073: [email protected] /= [email protected] // sensivity Yif  [email protected] <> 0.0 then 005B: [email protected] += [email protected] endif  0.0 > [email protected] then [email protected] = 0.0 else if    [email protected] > 640.0  then   [email protected] = 640.0  endendif  [email protected] <> 0.0 then 005B: [email protected] += [email protected] endif  0.0 > [email protected] then [email protected] = 0.0 else if    [email protected] > 448.0  then   [email protected] = 448.0  endendreturn :getItemRectPos{ [email protected] - texture pos X [email protected] - texture pos Y [email protected] - texture scale X [email protected] - texture scale Y}0087: [email protected] = [email protected] 0087: [email protected] = [email protected] [email protected] /= 2.0 0063: [email protected] -= [email protected] // texture left pos X005B: [email protected] += [email protected] // texture right pos X0087: [email protected] = [email protected] 0087: [email protected] = [email protected] [email protected] /= 2.0 0063: [email protected] -= [email protected] // texture left pos Y005B: [email protected] += [email protected] // texture right pos Y0AB2: ret 4 [email protected] [email protected] [email protected] [email protected] 

 

Edited by Wesser

Share this post


Link to post
Share on other sites
Deji

Yeah, I was working on similar things to you, Wesser. I'd planned on using memory, but I forgot about that opcode. I knew about it from trying to replicate something similar to the Pool script.

 

Got a few good ideas for use of this opcode though. I'm trying to figure out how to make the texture sync better in my script. At the moment it doesn't seem to point at the right thing turn.gif

 

 

I have been able to get the mouse sensitivity in the settings to apply to it, though smile.gif

Share this post


Link to post
Share on other sites
Wesser

 

I have been able to get the mouse sensitivity in the settings to apply to it, though smile.gif

It doesn't seem like that. The mouse shown in menu works itself without any sensivity or at least with the one which can be changed by options.

 

I discoroved a bad opcode description, found at 046D:

 

046D: [email protected] = actor $PLAYER_ACTOR car_free_seats

 

It sounds weird because of the player handle. It really gets the number of all members which are in a group of an actor:

 

046D: [email protected] = actor $PLAYER_ACTOR members_in_group

 

Share this post


Link to post
Share on other sites
Deji

The mouse sensitivity in the options changes the sensitivity in the game, although now I think about it. It must change it for that opcode too, so there's not really much point in it lol. That's hours of math out the window...

 

 

EDIT: Nah, mouse sensitivity doesn't change it. So I guess I gotta do the math again xD

 

 

Nice discovery on that opcode, Wesser. Maybe I can fix one of my old scripts now.

 

 

And btw. Where is the place to get the latest sascm.ini these days? The opcode database website is down and I really feel like making another one to replace it since it was pretty handy.

Edited by Deji

Share this post


Link to post
Share on other sites
spaceeinstein

Seemann has the latest file but it was last updated years ago. I think it's the one in the latest Sanny Builder update. I had been attempting to update the ini files for all three games but I got too lazy and they are sitting in my computer unfinished.

Share this post


Link to post
Share on other sites
Deji

Well I'm always happy to build up the new SASCM.ini's and build a new opcode database with descriptions on opcodes and parameters etc. Goes towards my advancing in PHP.

 

If anyone wishes to contribute, it'd save a load of time smile.gif

Share this post


Link to post
Share on other sites
NTAuthority
Well I'm always happy to build up the new SASCM.ini's and build a new opcode database with descriptions on opcodes and parameters etc. Goes towards my advancing in PHP.

 

If anyone wishes to contribute, it'd save a load of time smile.gif

I was personally planning on a new opcode description format in XML, made a beginning but never came back to it; it could have legacy SASCM names and an export script which'd make SASCM.ini files for such usage... an example of my old version of that database is like this:

 

 

 <function name="CREATE_PLAYER"> 	<internal game="scm">0053</internal> 	<description>Creates a player at a specified position. Note that PC versions of GTA games only support input for one local player.</description> 	<parameters>   <parameter type="int" description="The player number, usually 0" />   <parameter type="float" description="X position" />   <parameter type="float" description="Y position" />   <parameter type="float" description="Z position" />   <parameter type="pointer" description="Pointer to the returned player ID" /> 	</parameters> </function> [...] <function name="CREATE_CHAR"> 	<internal game="scm">009a</internal> 	<description>Creates a CHAR at a specified position in the world.</description> 	<parameters>   <parameter type="ePedtype" description="PEDTYPE constant to use for the relationship linking" />   <parameter type="model" description="Model to use for this CHAR. This model needs to be loaded using REQUEST_MODEL." />   <parameter type="float" description="X position" />   <parameter type="float" description="Y position" />   <parameter type="float" description="Z position" />   <parameter type="pointer" description="Pointer to the returned player ID" />   <parameter type="int" game="sco" description="Unknown value, seems to be always set to 1" /> 	</parameters> </function>

 

 

... including documentation for those hard things, should really continue on it tounge.gif

Share this post


Link to post
Share on other sites
Deji

Hmm. Yeah. I was planning on something similar using a database instead. I prefer a database to an XML file for some reason. Seems easier to find stuff.

 

 

With PHP reading from the database, it would be possible to make the latest SASCM.ini by reading the database and creating the file appropriately... Meaning that the latest SASCM.ini doesn't have to be uploaded, it just has to be requested smile.gif

 

 

I started about 2 minutes after my post and am now up to opcode 006B. Still a long way to go but I think I've made some good progress. Luckily I'm able to do repetitive tasks for hours smile.gif

 

 

EDIT: 200 opcodes. Don't reckon I'll be finished soon, but I've added quite a few good opcodes and noticed some that aren't defined in opcodes.txt or used in the main.scm that could be really good! I will try and set up the DB so that it can provide you with an opcodes.txt giving you examples of all the opcodes, not just the ones in the main.scm. Can't wait to finish it as it's useful for me, too. smile.gif

 

 

EDIT2: Mkay, no I realise I've been doing this for 12 hours... But hey, 362 opcodes. Not even half done yet.

 

 

EDIT3: 466, I'll continue the rest tomorrow. Nearing the halway point. Managed to create the script that creates the sascm.ini, too.

 

 

EDIT4: All these edits are from boredom. 778 opcodes, over half way done after 25 hours. Impressive, eh? *me puts music back on*.

Edited by Deji

Share this post


Link to post
Share on other sites
Deji

 

Updated SASCM.ini

 

I finished the database a couple of hours ago. However I still have some more stuff to do before you can access it. Meanwhile enjoy this updated SASCM.ini - First update in how long?

 

 

 

Download SASCM.ini

 

 

Note that this file may be updated again from the time when this post is made. All I have to do is click a button and the SASCM updates with the latest opcodes in the database.

 

 

It contains all the latest clarifications and new opcodes since page 38, I believe... Which is when this files seems to have been last updated. It also contains some corrections by me on opcodes that I know well.

 

 

However, due to the lack of caffeine and sleep that enabled me to create this database in under 36 hours, I cannot guarantee the SASCM.ini is completely valid. It will work no matter what, yes... But if you find that a line is missing (I think there may be 1), or is incorrect tell me and I'll correct it. Still, there are probably more corrections than errors, the maximum errors probably being 10 due to my supreme expertise. Have fun wink.gif

Edited by Deji

Share this post


Link to post
Share on other sites
Deji

Fixed link. Added those opcodes wink.gif

 

When you say

 

 

you didn't consider the news of this topic here.

 

Are you talking about 0A4A? That change was considered, however I didn't think it was completely necessary to specify the mouse part in the opcode line, as many other opcodes use more than the joystick and aren't specified. However it is specified in the database wink.gif If you offer a suitable name change I will apply it.

 

 

New Opcode Info

 

0751=8,AS_actor %1d% flee_from_actor %2d% run_distance %3d% time %4d% unknown %5h% %6d% %7d% away_radius %8d%

 

to

 

0751=8,AS_actor %1d% flee_from_actor %2d% run_distance %3d% time %4d% change_course %5h% unknown %6d% %7d% away_radius %8d%

 

 

The previously unknown flag, "change_course" specifies whether the fleeing actor will change the direction he's running in according to the player.

 

0 - the actor will not change his direction when the other actor is in front, he will walk around the other actor, though.

1 - the actor will change his direction when the other actor is in front.

 

 

New changes have been added to the database and SASCM.ini

Share this post


Link to post
Share on other sites
Deji

 

0341: unknown_text_draw_flag 0 03E0: unknown_text_draw_flag 1 

 

 

0341: disable_text_draw_redefinition 0 03E0: set_text_number_to_be_drawn_antialiased 1 

 

The first make text draw readable more time so you can modify its values and read it everytime.

Just for confirmation... It seems to me more like it "justifies" the text (alignment)... Or is that what you meant?

 

 

I bring new opcode!

 

 

03E0: unknown_text_draw_flag 1

 

 

03E0: draw_text_behind_textures 1

 

 

Simply sets the next drawn text to draw behind any drawn textures.

 

0 = draw in front of textures.

1 = draw behind textures.

 

Found it by needing it. I needed it and instantly knew that such and opcode should exist in San Andreas. Searched for unknown text/texture draw and tried out the 3 opcodes that turned up, hence me questioning Wessers find.

 

 

EDIT: Wait, just noticed that you added 03E0 as numbered text to be drawn anti-aliased... Now I'm really confused.

 

I know that 03E0 is definitely what I specified, since it's an easy to spot difference. Unless these opcodes do two things, which doesn't seem right? Surely numbered text uses the same anti-alias opcode to all the others, right?

 

Anyway, I think this means we only have 1 more text draw opcode to define, which is nice news.

Edited by Deji

Share this post


Link to post
Share on other sites
NTAuthority

0341: SET_TEXT_JUSTIFY

 

Whatever that means, I don't know; it's just what I got tracing 0x0341 in listener's GTA3 .idb file, a call to CFont::SetJustifyOff, which would very likely correspond to that name -- R* likely used it for numbers, usually together with SET_TEXT_PROPORTIONAL, and it would do a similar thing.

 

(possible hint: 03E4 could be 'SET_TEXT_RIGHT_JUSTIFY', so this could reset to left align?)

Edited by NTAuthority

Share this post


Link to post
Share on other sites
ZAZ

 

Are you talking about 0A4A? That change was considered,

No, I think if somebody makes an updated sascm.ini he should look in this topic for news.

The last sascm.ini was done on 8/17/2008, so you should go here: http://www.gtaforums.com/index.php?showtopic=194990&st=660

and consider all new added posts

then you should find my post about 09BD:, 09D5:, 06EC:, 097D:, 096B: and 096C:

 

furthermore is this opcode description wrong:

064F: remove_references_to_particle [email protected]

 

064F: works similar like 064C: but it works only correct with temporary partikcl (PLAYMODE: 0 /look in effects.fxp)

 

EXPLOSION_TINY = PLAYMODE: 0 (temporary)

make particle visible, then delete is possible with 0650:

 

petrolcan = PLAYMODE: 1 (durable)

make particle visible, then delete is Not possible with 0650: also not with 064E: and also not with 0976:

 

flamethrower = PLAYMODE: 2 (durable)

make particle visible, then delete is Not possible with 0650: also not with 064E: and also not with 0976:

 

it seems to mean

064F: make_temporary_particle_visible_and_remove_references [email protected]

but I mean it's not neccesary to remove reference of a PLAYMODE: 0 - particle, don't know

Edited by ZAZ

Share this post


Link to post
Share on other sites
Deji

Yeah, all those have been set. If you do find any more that are invalid or missing, tell me. At first it may take a while to get the SASCM up to date, but after that's over, the whole job is much simpler and things should stay updated and valid.

 

 

Okay, I guess I can allow access to the Opcode Database page now. However you will not be able to access the opcode information database there, just download the latest SASCM.ini which is updated along with the opcode database.

 

I'm also working on getting the *opcodes.txt file sorted out so you can use opcode search and the magical F1 key wink.gif

 

 

EDIT: Added opcodes.txt download link, hope it's all working n such.

 

EDIT2: Hmm, some opcodes are missing. I'll add them wink.gif

 

 

EDIT3: More or less fixed.

 

There are 56 opcodes that are not in the opcodes.txt file at the time of writing (still less than there used to be). This is because I do not know the exact parameters of the opcode, for example:

 

 

006c=2,%1d% *= %2d%; (int)

 

 

I'm not sure whether variables should be used there... And if so, which ones? etc. They also aren't used in the original main.scm to check.

 

 

But they can be figured out, and when they are, examples can be made so that we can have a full opcodes.txt file. No more missing out on opcodes we didn't know existed (which has annoyed me many of times).

Edited by Deji

Share this post


Link to post
Share on other sites
spaceeinstein

PLPynton had all the math opcodes documented neatly (like @ = float for 0007). The link to his INI is broken so I'm hoping someone else has a backup of that file. There were tons of stuff that were discovered but documentation is now lost or misplaced.

Share this post


Link to post
Share on other sites
OrionSR

This code is updated in sascm.ini, but not opcodes.txt.

 

076B: get_zone [email protected] dealer_density_to [email protected] 

 

 

If this flag is enabled then CJ will not receive a wanted level for entering this vehicle in view of the police. This flag is identified as "player owned" in the save file documentation.

 

;0A17: set_parked_car_generator $2786 flag 1 0A17: set_parked_car_generator $2786 to_player_owned 1

 

Share this post


Link to post
Share on other sites
Wesser

From Seemann's gta_sa.idb:

 

006C=2,%1d% *= %2d% ; $ *= @ (int)

 

Share this post


Link to post
Share on other sites
Deji

Thanks and added.

 

When checking for accidentally left out info, I search "unknown"... However for some reason, some opcodes just replace "unknown_flag" with "flag"... As if we're supposed to know what that does, eh?

 

 

Anyway, I wanted to ask about this:

 

 

0914: NOP 47

 

 

Each number seems to refer to an external script. In the main.scm they do that to every number from 0 to 77, which is the amount of external scripts existent.

 

.. And this nopcode doesn't seem to exist in III or VC. So does it really just do nothing in itself? Or does it NOP the external scripts. It also occurs before the external scripts are initiated.

Share this post


Link to post
Share on other sites
NTAuthority

It could be like most of the 'NOP' opcodes added (not removed!) in SA; this one probably having done one of two things:

 

1. logging the existence of the streamed script at runtime

2. just being a placeholder for the .sc compiler and a DEFINE_STREAMED_SCRIPT (or similar) command, only being used to direct the compiler to the correct .sc file

Share this post


Link to post
Share on other sites
spaceeinstein

 

This code is updated in sascm.ini, but not opcodes.txt.

Opcode.txt is generated from the INI file. Click on Tools>Make opcodes.txt to generate an update version.

 

0914? I had spent all my time updating GTAModding for nothing. sad.gif I'm thinking of quitting contributing to that site because rarely anyone goes there, not even the admins that are suppose to fix the problems on that site.

Edited by spaceeinstein

Share this post


Link to post
Share on other sites
ZAZ
PLPynton had all the math opcodes documented neatly (like @ = float for 0007). The link to his INI is broken so I'm hoping someone else has a backup of that file. There were tons of stuff that were discovered but documentation is now lost or misplaced.

PLPyntons_UnifiedOpcodesDatabase_Reloaded

Share this post


Link to post
Share on other sites
ghost of delete key
0341: SET_TEXT_JUSTIFY

 

Whatever that means, I don't know; it's just what I got tracing 0x0341 in listener's GTA3 .idb file, a call to CFont::SetJustifyOff, which would very likely correspond to that name -- R* likely used it for numbers, usually together with SET_TEXT_PROPORTIONAL, and it would do a similar thing.

 

(possible hint: 03E4 could be 'SET_TEXT_RIGHT_JUSTIFY', so this could reset to left align?)

Hey, just a note about text parameters...

 

In typography, justify means to spread the text evenly between margins; the spaces between words are adjusted to fill the width, so to speak.

 

Otherwise, you have left-justify or right-justify, which places the line of text hard against one margin or the other with non-adjusted spaces. colgate.gif

 

The nomenclature should probably follow that of HTML or CSS; where the align attribute would be left, right, or justify.

 

 

 

Also, listener's .idb file was mentioned, could someone point me to a link? I have to run now so I don't have time to search, but I'll check back later tonight. Gotta get Seeman's too, and compare these with mine.

 

I spent the last day mapping the SCM circuitry in the exe, and there's a lot of good stuff in there to be had.

 

 

Deji, nice work on the Opcode DB! I was wanting to launch one, but too many pokers in the fire, you know? tounge2.gif

This will be SOOO useful!

Share this post


Link to post
Share on other sites
NTAuthority
Hey, just a note about text parameters...

 

In typography, justify means to spread the text evenly between margins; the spaces between words are adjusted to fill the width, so to speak.

 

Otherwise, you have left-justify or right-justify, which places the line of text hard against one margin or the other with non-adjusted spaces. colgate.gif

Forgot about that part - I initially thought it'd be related to something like that, but SET_TEXT_PROPORTIONAL had that as side-effect too. tounge.gif

 

 

Also, listener's .idb file was mentioned, could someone point me to a link? I have to run now so I don't have time to search, but I'll check back later tonight. Gotta get Seeman's too, and compare these with mine.

 

 

http://public.sannybuilder.com/gtasa_exe_idb/ - there's one for GTA3 and GTAIV too.

Share this post


Link to post
Share on other sites
Deji

I've been wanting to better document the main.scm's routines and methods, particularly the main thread.

 

 

:MAIN -

Start Line: 617

End line: 1339

 

Total Lines: 723

 

:MAIN_LOOP -

Start Line: 1017

End Line: 1339

 

Total Lines: 323

 

 

Useful for me as I find myself jumping around the main thread a lot and am trying to make my own main thread with a similar structure to Rockstars.

 

I was suprised to find the main loop was only 323 lines long. I thought the default main loop was a really complex thread that stopped jumping to parts of itself as the game progressed when it actually jumps right back to the start (:MAIN_4075), so it's easier to replicate than I thought.

 

 

EDIT: The main never jumps up, either... Except when it reaches the end.

 

 

The main isn't used to start missions, which surprised me. The 2nd mission creates a thread that checks the mission statuses and starts new missions accordingly. Then after 2 missions have passed, that thread closes itself and mission 3 creates a new thread starting the next set of missions. Which is nice info to know, I guess.

Edited by Deji

Share this post


Link to post
Share on other sites
spaceeinstein

I don't think this is the correct place to post that. Why do you want to post that anyway? Don't you think it's known for a while?

Edited by spaceeinstein

Share this post


Link to post
Share on other sites
Deji

Umm, yeah. Guess you're right. Originally it was a question that I figured out myself so I edited the post smile.gif

Share this post


Link to post
Share on other sites
Deji

Excuse my bump, but the Opcode Database is now browsable. You can view opcodes from specified categories as well as ones that appear in specified games.

 

Yes, some of the categories are empty and certain opcodes aren't in any specific category. Things still need sorting out in that area. If you notice any database errors, tell me. I'm too tired from editing this all day to do any more cleaning up.

 

Hopefully it has enough to be useful to some. The opcode editing code still needs to be fixed in order to allow people to edit it but I'll continue to make changes where required in order to sort the opcodes better. Have fun, anyway.

 

 

EDIT: Oh yeah, and it's probably un-needed to say by now... just assume this statement counts for every month... the sascm.ini has been updated with one or two opcode definitions. wink.gif

Share this post


Link to post
Share on other sites
Deji

OMG! I'm sooo buzzed...

 

 

050E: unknown_object $OBJ unknown_car [email protected]

 

 

->

 

 

050E: set_object $OBJ no_collision_with_car [email protected]

 

 

 

Script used to come to this conclusion:

 

 

0247: load_model #DYN_WOODPILE2while 8248:   not model #DYN_WOODPILE2 available   wait 0end0107: $OBJ = create_object #DYN_WOODPILE2 at 1588.0555 -1626.4186 13.00382: set_object $OBJ collision_detection 1 if and   0449:   actor $PLAYER_ACTOR in_a_car   0471:   actor $PLAYER_ACTOR near_object_in_rectangle $OBJ radius 5.0 5.0 flag 0then   03C0: [email protected] = actor $PLAYER_ACTOR car   050E: unknown_object $OBJ unknown_car [email protected]

 

 

Car could go through the object... Then I destroyed it by punching it.

 

 

I want to say a few words:

 

We have come a long way since...

 

Ah hell. I'll say em when the rest of the opcodes are found tounge.gif

 

 

 

Added to opcode database. Wow... A new opcode smile.gif I'll have fun playing with this seemingly useless one. One for actors would be useful...

 

Oh... It works with Vice City, too. Unfortunately my database can't give out vcscm.ini's yet. Soon, maybe... spaceeinstein... Maybe this is useful to you? smile.gif

 

 

Rockstar... We will crack the coding side of your most successful game.

Don't you dare mention GTA IV xD

Edited by Deji

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.


  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

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