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

PLPynton

Unified opcodes database

Recommended Posts

tomworld10

 

 

 

 

@PLPYnton : which question, don't remember it was a question...... biggrin.gif

But well 05EB looks pretty nice but like what path you're talking about ????

And then, how do I make this path ????

 

And was momentum_apply_to_vehicle (or whatever it is) not good ?

 

And well how would that help me once you "skycardive", moving the path ????

 

 

Well for now I'm really busy drinking making a tutorial, so no time for burning my neurons away on watch maths I have to do to move that car......

 

 

 

Talking about vehicle and while I'm thinking about that have you found an opcode that get the model variation (roof or not, mirrors on the cheetah....) of a vehicle ????

would be very cool.

 

 

Have a drink

 

 

 

Share this post


Link to post
Share on other sites
PLPynton

i was refering to rail the car so the car will drop down from the sky like on a rope|rails. will not rotate. you can adjust its speed of falling anytime you like and this looks quite amaizing when i tested it, especially because you wanted to use this as a cutscene in a mission, not as a commom function. path can be created from coords and furthermore i have heard that someone is working on a fully functional patheditor. nevermind, do not drink so much as i do.

 

i have done full breakdown of transfender some time ago and i think i have that code, but i am drinking now so i will try to post it tomorrow (btw quite good stuff what i have, is named "zubrowka", comes from my homeland, known in other lands as well- if you have a chance to try: mix it with apple juice but do not go under 30% alc)

 

take care mate.

Edited by PLPynton

Share this post


Link to post
Share on other sites
PLPynton

no i do not have that code and i am sorry to inform you but i do not think it does not exist. i have now like 110 unknow and among them there is only few vehicle set codes.

i see what you are doing with these cars so since i am in possesion quite few transfender and shopping codes i will present them. i haven't used them for a long time but i can extract some good info about them. at least much better than ever known here:

 

 

075D=1,set_shopping_item_pool_items_type_to %1h% ;; 16-byte strings

it choses type of shopping items, see shopping.dat, reset pool before estabilishing new one

 

075E=1,set_shopping_item_pool_items_section_to %1d% ;; 16-byte strings

it choses section of shopping items, see shopping.dat, reset pool before estabilishing new one

 

075F=1,get_shopping_item_pool_number_of_indexes_to %1d%

returns example: how many itemID available for specified type section and so on, variable between vehicles, shops ect

 

0760=2,get_shopping_item_pool_index %1d% itemID_to %2d%

when pool estabilished returns itemID under specified index

 

087C=0,set_shopping_item_pool_prepare_for_reset

needed in case of transfender ie 0760. without reset old pool is used and new one can not be created. it can be reset anytime as it does not affect any index data in pool.

 

097D=2,get_vehicle %1d% number_of_possible_paint_jobs_to %2h%

number of special paint jobs possible to be applied

 

0790=1,charge_money_for_shopping_itemID %1d%

discounts money from money pool, for price see shopping.dat

 

096B=0,set_present_mod_apply

present mod is applied, no charge in cash and old is deleted on that slot the present mod occupies

 

096C=0,set_present_mod_remove

present mod is removed, if another added before then it will remain

 

096D=3,get_vehicle %1d% mod_slot %2h% built_in_itemID_to %3d%

the old name was twisted with description for P2-P3. returns specified slot number mod itemID built in. it returns -1 for empty slot. never the less breakdown looks so:

0-hood

1-vents

2-spoilers

3-side skirts

4-front bullbars

5-rear bullbars

6-lights

7-roof

8-nitro

9-hydraulics

10-stereo

11-spoilers

12-wheels

13-exhaust

14-front bumper

15-rear bumper

16-misc (will or can without some care hang the game for some vehs)

 

06E5=3,get_vehicle %1d% possible_to_built_in_mod_pool_index %2d% itemID_to %3d%

will vary between different veh models as they can be modded in different ways. returns available (if) to built in mod itemID for pool index 0 and above. example for cheetah:

mod index-mod itemID

0-1019 twin exhaust

1-1018 upswept exhaust

2-1008 5x nitro

3-1009 2x nitro

4-1010 10x nitro

5-1001 win spoiler

6-1023 fury spoiler

7-1003 alpha spoiler

8-1007 side skirts

9-1087 hydraulics

10-1086 stereo

11-(-1)

as more than 10 is not available for cheetach and it does not return wheels data for any vehicle as the wheels are defined diferently for models

 

06E6=2,get_itemID %1d% destinated_mod_slot_to %2d%

returns mod slot number: where to mount specified mod itemID. the slots are same for each vehicle modelID (see 096B breakdown)

 

06E7=3,set_vehicle %1d% add_mod_with_itemID %2o% handle_as %3d%

adds specified mod itemID and gives it handle for further needs

 

06E8=2,set_vehicle %1d% delete_mod %2d% ;***

deletes specified (handle!) mod from vehicle

 

06E9=1,request_mod_itemID %1o%

request to load into memory

 

06EA=1, has_mod_itemID %1o% loaded

check if loaded

 

06EB=1,mark_mod_itemID_as_no_longer_needed %1o%

get rid from memory

 

06EC=2,get_vehicle %1d% number_of_color_indices_to %2d%

returns how many color combinations are defined in carcols.dat for specified vehicle, mind that service colors are ignored (not counted to)

 

06ED=2,set_vehicle %1d% paint_job_to %2h%

just name change

 

078C=2,get_shopping_itemID %1d% nametag_to %2d% ;; 8-byte strings

wrong name it was. this one returns nametag not the name

 

0761=2,get_shopping_itemID %1d% price_to %2d%

available anytime to get the price

 

08C8=2,set_shopping_itemID %1d% price_to %2d%

immidiate and constant effect until price reset to default

 

08C9=1,set_shopping_itemID %1d% price_to_default

not immidiate effect! price will be set to defaults after shopping items pool fully recreated (reset and set)

 

09A9=2,get_shopping_item_with_texturename %1h% itemID_to %2d% ;; 16-byte strings

name correction as it concerns texturenames and model #IDs. specified item pool has to be defined for it to work (see shopping.dat section shops)

 

087B=4,set_player %1d% apply_shopping_item_texturename %2h% modelname %3h% item_type %4h% ;; 16-byte strings

applies clothes, haircuts and things like that using specified models and textures (names). it allows to retexture player model as well

 

0783=3,get_shopping_itemID %1d% mode %2b:item_type/model% store_to %3d%

returns model or item type for specified handle of itemID

 

0784=4,set_player %1d% apply_shopping_itemID %2h% model %3h% item_type %4h%

another method to change player components but here by using ID not names. item_type breakdown looks:

0=clothes/torso

1=haircuts/hair

2=clothes/legs

3=clothes/shoes

4=tatos/left upper arm

5=tatos/left lower arm

6=tatos/right upper arm

7=tatos/right lower arm

8=tatos/back top

9=tatos/left chest

10=tatos/right chest

11=tatos/stomach

12=tatos/lower back

13=clothes/extra1(necklace)

14=clothes/extra2(bracelet/watch)

15=clothes/extra3(glasses)

16=clothes/extra4(hats)

17=clothes/extra5(uniform)

 

08F7=4,get_player %1d% shopping_item_in_possesion_type %2h% itemID_to %3d% model_to %4d%

one way of getting info about items in possesion. presets needed: when shopping items pool is empty then it returns nothing

 

0793=0,set_player_all_shopping_items_in_possesion_save_configuration

creates in memory a backup configuration for all shopping items on body. does not affect in anyway items stored in warderobe.

 

0794=0,set_player_all_shopping_items_in_possesion_load_configuration

brings up backup configuration for all shopping items on body. does not affect in anyway items stored in warderobe. player has to be rebuild after this one

 

070D=1,set_player %1d% rebuild_model_and_items

just name change

 

 

it might be that i have overlooked something, in that case i will update it sometime.

 

Edit- if someboby would like to download the biggest, the most proffesional and the most advanced version of opcodes definition the link is placed in first post on first page.

Edited by PLPynton

Share this post


Link to post
Share on other sites
PLPynton

another update available.

added 40+ unknown

updated 20+

few minor fixes

and that is going to be last update for now. maybe after vacations.

i wish you all nice summer, lot of pleasure or whatever good weather and wet ......

Share this post


Link to post
Share on other sites
Xieîn

Well, here is working convertor for mission scripts i've done, for people who want use their sources with the new INIs:

 

http://freewebs.com/sannybuilder/sconvert10.rar

 

This small tool allows:

 

- Quickly convert the sources decompiled with one *scm.ini to with another one (reverse conversion is possible).

- Checking any *scm.ini files for errors and defects in detail.

- Sorting ini files.

 

Usage instructions are inside. Remarks about bugs and wishes are welcomed.

 

Have fun. wink.gif

 

P.S. A Sanny Builder classes are not supported now because it is connected with the other files which have more complex structure - such converter most likely only will be in new SB. Any other SB syntax is supported fully.

 

*****

 

Some of my reflections about the subject. I understand that having done independently huge volume of amazing work, you position your sascm.ini as subject of the first using for all, PLPython, supporting necessity of it by words like "professional", "most advanced", etc. But changing those things which already became actually tradition at coders, you can bring in not sickly mess to community. For example, why you think that

 

"mark_something_as_no_longer_needed"

 

is "professional"? Only because that was in a R* script? notify.gif Normal record "remove_references" first is shorter and second, the main thing, incomparably is more habitual to any coder. And here there are no mistakes as you said (also as Char instead of Actor - this thing really sucks, don't take offence). Words like "at_3D/2D_coord" in my opinion just block up free space - seeing amount of floats it is possible to understand coords type at once.

 

The only thing - it is amount of opcodes that ceased to be called "unknown'. Already for it the work done by you can be named simply amazing - it what we all didn't try to be engaged so assiduously for long time. smile.gif Not, I do not argue that there are many good new descriptions, but to change them ALL it was not necessary at all.

 

P.S. Btw there are OPRs in your ini which are described as nop but actually they are not.

Edited by Xieîn

Share this post


Link to post
Share on other sites
PLPynton

well, i am back.

 

that is powerful tool, indeed. appreciations for your work.

 

why did i change most of it? well it is simple as devil himself. "we" do understand the meaning of codes that is 'cause we are experienced a bit. this story does not look so shiny when novice user is trying to start. he is forced to understand new terms, new language meanings basically just because "we" do not like to unlearn what we have learned for sake of incoming talents. "we" shield in this way ourselves is small world propagating conservatism. at least that is the way i see it.

 

about these nops could you point them? i am sure it isn't that simple but there is a chance you know all of them... as i do not have any time to write compare tool

 

 

@ all interested

i should have mention that earlier, well most of the text editors have find and replace option. please use it to change all the words you like. you can change all "char" back into "actor" within few seconds...

that is the idea, you can change it by yourself and you are still fully compatible with all releases of main database. and you will get all the new codes as below to integrate them by yourself if you like.

 

i have some fresh stuff as well. some were available in last download some not:

 

 

0788=2,set_helicopter %1d% magnet_enabled %2h%

just name change

 

0789=1,set_helicopter %1d% magnet_to_release_all_what_attached

corrected and extended to full functionality (objects chars and vehs)

 

078B=4,get_helicopter %1d% magnet_attached_vehicle_handle_as %2d% char_handle_as %3d% object_handle_as %4d%

corrected and extended to full functionality

 

0888=2,create_marker_above_char %1d% handle_as %2d% ;same as 0187

works as 0187

 

0717=1,set_char %1d% assign_to_dialogue_mode

anytime for valid actor

 

0719=0,set_dialogue_mode_enabled

some actor has to be assigned and dialoque build first

 

0A47=0,set_dialogue_mode_enabled_without_GXT

enables as normally 0719 does except allows not to print dialogue GXT references

 

071A=2, is_char %1d% present_dialogue_GXT_reference %2g%

actor has to be assigned to built dialogue and dialogue mode enabled, the dialogue itself does not need to take place yet.

 

08ED=1,set_char %1d% remove_from_dialogue_mode

anytime for valid actor after assigned to

 

0A18=6,set_dialogue_classA_question_GXT %1g% answer_yes_GXT %2g% answer_no_GXT %3g% question_WAV %4d% answer_yes_WAV %5d% answer_no_WAV %6d%

creates tree level for conversation YES and NO dialogues, load GXT first.

 

0A3C=2,set_dialogue_classA_end_GXT_ref %1g% WAV_ref %2d%

terminate dialogue for specified GXT chosen in 0A18 prints it and plays specified WAV reference

 

09A4=6,set_dialogue_classB_question_GXT %1g% answer_yes_GXT %2g% answer_no_GXT %3g% question_WAV_T %4d% answer_yes_WAV_T %5d% answer_no_WAV_T %6d%

creates tree level for conversation YES and NO dialogues, load GXT first. it uses not single wav but tables that are assigned regarding to peds modelID so each ped has its own voice when found inside table

 

09AA=2,set_dialogue_classB_end_GXT_ref %1g% WAV_table %2d%

terminate dialogue for specified GXT chosen in 09A4 and plays specified WAV table. it uses not single wav but tables that are assigned regarding to peds modelID so each ped has its own voice when found inside table

 

05C1=2,AS_char %1h% speak_quote_from_WAV_table %2d%

ex. 222 will make him speak quote "request taxi" and using correct ped modelID voice. it uses not single wav but tables that are assigned regarding to peds modelID so each ped has its own voice when found inside table

 

0503=6,create_char_on_rope_with_pedtype %1h% modelID %2t% at_3D_coord %3d% %4d% %5d% handle_as %6d%

creates char on a rope like swat desant from maverick. char will travel on a rope to the ground and make some voices as well

 

068B=1,set_vehicle %1d% all_disembark

in order of seats, driver first and only driver can bail out the rest after car stopped.

 

04D2=6,set_airplane %1d% fly_autopilot_around_3D_coord %2d% %3d% %4d% altitude_between %5h% and %6h%

does not need pilot or the pilot is not flying it anyway.

 

04D3=7,get_nearest_vehicle_path_coordinates_from_3D_coord %1d% %2d% %3d% type %4d% store_to %5d% %6d% %7d%

no comment

 

08CB=4,set_vehicle %1d% explode_with_shake %2h% effect %3h% sound %4h% ;apply_no_damage_nor_shock_wave

kills what inside but harmless outside veh. extra flags for some additional effects

 

0561=3,create_random_ped_in_vehicle %1d% in_passengerseat %2h% handle_as %3d%

just as 0560 but for passengerseats

 

05D1=9,AS_char %1d% drive_vehicle %2d% to_3D_coord %3d% %4d% %5d% max_speed %6d% drive_mode %7h% use_handling_for_modelID %8t% traffic_behaviour %9h%

orders char to use vehicle (not the flying ones) to drive to coord with max speed, mode eg. 0= pathes 2= straight line, using handling for defined veh model and defined traffic behaviour

 

0781=2,get_shopping_itemID %1d% modelID_to %2d% ;char equipement only

gets modelID from item. rules here exactly the same as in other shopping items

 

0782=2,get_shopping_itemID %1d% weapon_group_to %2d% ;char equipement only

gets weapon group from item. rules here exactly the same as in other shopping items

 

08F0=2,use_model %1d% instead_of_model %2d% ;; 8-byte strings

cutscenes only

 

06F1=1,set_2_player_distance_limit_to %1d% ;float and x2 ***

in 2 player mode only

 

06E0=1,set_camera_in_2player_mode %1h% ;***

in 2 player mode only

 

09A2=1,destroy_object %1d% with_fade

no comment

 

0916=2,set_object %1d% attractive_to_magnet %2h%

no comment

 

0A11=3,set_vehicle %1d% colorC_to %2d% colorD_to %3d%

sets additional 2 colors in 4 color vehicles like cement

 

0A12=3,get_vehicle %1d% colorC_to %2d% colorD_to %3d%

gets additional 2 colors in 4 color vehicles like cement

Edited by PLPynton

Share this post


Link to post
Share on other sites
Y_Less

 

why did i change most of it? well it is simple as devil himself. "we" do understand the meaning of codes that is 'cause we are experienced a bit. this story does not look so shiny when novice user is trying to start. he is forced to understand new terms, new language meanings basically just because "we" do not like to unlearn what we have learned for sake of incoming talents. "we" shield in this way ourselves is small world propagating conservatism. at least that is the way i see it.

 

So how is your syntax better for new people than the old one? Either way they have to learn it all, it makes no difference to them wether the variable goes at the start or the end and anyone coming into it with any coding background at all will find it very odd that the target is last, as well as the fact this forces experienced people to relearn stuff they don't need to. So:

 

Old system, people required to learn:

 

complete n00bs to whome it makes no difference.

 

New system, people required to learn:

 

complete n00bs, to whome it makes no difference,

people with coding experience as it goes against all standard practices,

people with experience who have been using and helping people years, who will now have less ability to help.

 

I still fail to see how this is of any use to the community and not a hinderence.

Share this post


Link to post
Share on other sites
spaceeinstein
The main advantage to this INI file is that it will be compatible with any INI files that is edited by Pynton. Another advantage is that code mods released in text with this INI file will be compatible to any INI file edited by Pynton. If you want the conventional way, you can download my version of the SASCM.ini. It is almost always up-to-date. Edited by spaceeinstein

Share this post


Link to post
Share on other sites
Demarest
I realize the "old way" isn't perfect. I also recognize the scale of such a project. But I agree that further factioning is not forward movement. The same goes for you, space. I only say that because I've seen a few opcode you named backwards so that 0 is on and 1 is off, which goes against everything I've been taught about 1's and 0's for the last 16 years.

Share this post


Link to post
Share on other sites
PLPynton

YES.

it is exactly the way you described space.

@all "against all the odds"

furthermore i am always posting all the newsflashes - so space does not have to waste his time to go thru my data and look for new codes. in this way i propagate old database in the same as new one.

 

Share this post


Link to post
Share on other sites
spaceeinstein
I have some question for some of the opcodes. What does "spoot" in 080A means? What does 020D and 03AB mean?

Share this post


Link to post
Share on other sites
Y_Less

03AB: set_car_strong - not a clue what it means

 

020D: is_car_flipped - upside down

Share this post


Link to post
Share on other sites
spaceeinstein
In his file, it said "is_vehicle_railed" for 020D.

Share this post


Link to post
Share on other sites
PLPynton

080A it is like place when you rotate/shift such an object, it is really hard to explane for me in english. get all 8 of them and create some pickups at result coords and you will see what it gives to you, i hope you will find better description as this sucks i can see.

 

i can not unfortunatelly get my notes at themoment to give statement regarding to 03AB but it seems to be engine interia increaser or some sort of bug.

 

020D can be easy misunderstood and by accident mixed with 01F4 functionality. what it does thru the game engine is checking if vehicle is "toutching" ground with any part and wheels. means when:

chasis / wheels

1 1 - colliding

1 0 - derailed (here is the check not derailed = railed)

0 1 - drives

0 0 - in air

make small experiment pls, but it should return 1 in case 1, 3 & 4 and i do not remember if regardless of water or not

Share this post


Link to post
Share on other sites
PLPynton

few fresh ones few updated. download - see first post

 

0A39=1,get_vehicle_camera_mode_to %1d%

like 09AD just gets the value (0-fpp, 1-behind close, 2-behind, 3-behind far, 5- cinematic)

 

0801=1,get_camera_zoom_factor_to %1d% ;float

gets zoom factor as well as it was set in 0922

 

0901=2,set_player %1d% able_to_jump %2h%

no comment

 

0297=1,set_player %1d% reset_destroyed_modelID_counters

clear function for 0298

 

09ED=2, is_within_chars %1d% field_of_view_char %2d%

is a forward-facing part of the observable world that is seen in given moment (180-degree). works for dead chars as well

 

09DE=1, is_char %1d% entering_vehicle

from the very moment he starts to open the doors including present driver removal period

 

074F=2, is_char %1d% ped_event %2h% ;int

as it was in 080E

 

07F6=3,get_group %1d% number_of_leaders_to %2d% number_of_members_to %3d%

updated to full description

 

0350=2,set_char %1d% maintain_position %2d% when_attacked

pretty clear however it could be missunderstood as e.g. attacked will not try to fight back. char simply maintains position and fights back when target in range (unarmed makes actor not fight back in most of the cases). in case when set to 0 char will look for cover and such when engaged.

 

03A2=2,set_vehicle %1d% action %2h%

tricky one, separate modes for ground and other types. 0 turns off. vehicle moves along paths and does not require driver or it changes handling for a vehicle into different type or even remembers if accelerate button was pressed and keeps it pressed.

 

09DA=3, is_cash_pickup_at_3D_coord %1d% %2d% %3d%

no comment

 

0460=2,set_camera_transverse_delay %1d% time %2d%

updated to correct meaning

 

0480=2, is_char %1d% looking_at_death_of_char_with_pedtype %2h%

it is not constant as name says, detection concerns the very moment of death

 

0381=4,set_object %1d% velocity_in_direction_XYZ %2d% %3d% %4d% ;float world hi

name update

 

0682=5,detach_object %1d% with_velocity_ZYX %2d% %3d% %4d% flag %5h% ;float vehicle hi hi lo

0684=5,detach_vehicle %1d% with_velocity_ZYX %2d% %3d% %4d% flag %5h% ;float vehicle hi hi lo

name update

Share this post


Link to post
Share on other sites
PLPynton

one added:

 

06E4=2,AS_actor %1d% attempt_to_bust_actor %2d%

pretty funny one

 

several fixed. but that's not it yet. i have changed chars BACK into actors. why? to get arguments away from oposition... well everyone could use find and replace but seems to be some are not capable of simple task like that. peace

 

if there is a doubt in global variables names let me clarify it. the database when downloaded contains as well variables.ini (since ages) and that ini is compactible with my coding standarts here.

you can use $PLAYER_ACTOR or $SCPLAYER and it gets decompiled as $PLAYER_ACTOR. same story is with $PLAYER_CHAR. my database is compactible with an old variable names.

download in first post or in my sig.

Edited by PLPynton

Share this post


Link to post
Share on other sites
Demarest
several fixed. but that's not it yet. i have changed chars BACK into actors. why? to get arguments away from oposition... well everyone could use find and replace but seems to be some are not capable of simple task like that. peace

Asshole tounge.gif It's not that I can't search and replace, it's that you had no business changing the way things were done, especially towards a nomenclature that would be more confusing to others. char has always meant player, SA got away fomr most player opcodes, and you had updated actor opcodes to say char. Poor taste, really.

 

But that's not why I came here. I came here to post my gratitude for making an effort to fix the problem. I would've been onboard sooner, but I was literally ignorant of the fact that there was a problem that needed fixing. Also, thank you for your efforts towards restoring the admittedly minor damage such name changes would cause colgate.gif

 

Compatibility or not, I'd still urge you to scrap the variables.ini altogether. That file plays a bigger role than it used to now that the engine supports arrays. Probably best if it's not messed with except when needed. Nothing to gain from further division. But it's your call. In light of what you're accomplishing, it's barely worth mentioning and it was only an issue in your release thread because you neglected to mention it was needed.

 

Here's to a brighter future of all of us working TOGETHER

Demarest raises glass

Share this post


Link to post
Share on other sites
PLPynton

i got confused and i have changed it but now is back as it was on the begining.

mb has no support anymore, not like sb, which is pretty well covered with support. that is why i had to reorganize database but you will always get confused in the process, that is certain.

 

the second names for variables player_actor and player_char are in the ini in order to use my code as plain text. actually using this database just instead of conventional one you will not notice second names anyway.

 

 

Share this post


Link to post
Share on other sites
pdescobar

A couple of notes. First, there's a syntax error in the definition of opcode 080B which is in just about every copy of the SASCM.INI I've seen. There's a comma instead of an equals:

 

080B,1,nop_consume_string %1d% 

 

I believe it should be

 

080B=1,nop_consume_string %1d% 

 

 

Secondly, as I understand it, a major point to this version of the INI is having parameters in numerical order for all opcodes. I ran some checks on the September 24th INI, and the following opcodes have parameters that are not in numerical order. Feel free to ignore this list if I've misunderstood the goals. smile.gif

 

038F=2,request_texture %2h% handle_as %1d% ;; Load dictionary with 0390 first03CF=2,load_WAV %2s% handle_as %1d%0500=3,  is_player %1d% skin %3s% bodypart %2h% 05D9=4,AS_actor %1d% run_to_actor %2d% stop_within_radius %4d% time %3d%0630=2,put_actor %2d% in_group %1d% as_leader 0631=2,put_actor %2d% in_group %1d% as_member 06D5=9,create_racing_checkpoint_at_3D_coord %2d% %3d% %4d% rotated_to_3D_coord %5d% %6d% %7d% type %1d% radius %8d% handle_as %9d%0855=5,get_noise_level %5d% at_coordinates %2d% %3d% %4d% unknown %1h% 087D=2,assign_sequence %2d% to_group %1d% 08F1=4,get_zone_string %4d% from_coordinates %1d% %2d% %3d%097B=2,play_sound %2d% on_object %1d% 

 

Share this post


Link to post
Share on other sites
Demarest
@pdescobar: I didn't read your entire list as the 1st two items make the point I was going to say anyways. You are correct that 038F should be in numerical order. However with 03CF, we the coding community have been referring to it in that order since GTA3. Therefore it should stay exactly as listed.

Share this post


Link to post
Share on other sites
PLPynton
A couple of notes...

great, thanks mate, i would never be able to find that out without your help. thanks again!

Share this post


Link to post
Share on other sites
Bigun

^Why not update DL with the fixes he kindly pointed out? I know maybe no new opcodes / actual changes were made but you should update asap to fix "bugs" as well, not only updating when actual SASCM is changed. You probably won't need to ever do a "bugfix release" on this again, though. colgate.gif

Share this post


Link to post
Share on other sites
Demarest
^Why not update DL with the fixes he kindly pointed out?

Not everything pointed out is in need of fixing.

Share this post


Link to post
Share on other sites
Bigun

Well, you care about param order the most, it seems, so I assume you probably talked in the above post about 03CF, which you already did in another previous post (which if I may add, I acknowledged) so I don't see the need to mention it again so soon..?

Share this post


Link to post
Share on other sites
PLPynton

actually yes, parameter order at the first place.

 

download updated.

thanks to pdescobar it shall be the last "incompactible fix". from now on all the opcodes have original order as i dreamed of.

 

one fixed through to correct meaning:

 

0778=1,recreate_objects_in_object_group %1h%

Share this post


Link to post
Share on other sites
Demarest

 

Well, you care about param order the most, it seems, so I assume you probably talked in the above post about 03CF, which you already did in another previous post (which if I may add, I acknowledged) so I don't see the need to mention it again so soon..?

Considering it JUST got released incorrectly AND you said all as if you meant all, I think it was highly relevant. And as a matter of clarification, I could care less about param order. What I care about is unity. People being able to code together, share codes together, etc. This community was established even before I walked in, so I don't presume to make it my own. Support those that would all you want, but don't slander me.

 

@Pynton: I'm not at all sure where you're getting your reference from, but here is the original file once again. If you'd like, I can upload the original for MB 0.22, released over 3 years ago when 03CF evolved to having 2 parameters that has

03CF=2,load_wav %2s% as %1d%

Being that in GTA3, it was simply load wav, I can at least see where Barton was coming from by adding on the "new" parameter at the end even if the engine looks for it first. Do I agree with him? Well, that's not really relevant. What's relevant is uniformity.

 

When this topic was first posted, I was opposed to it because I thought it was an effort to further faction the community. Once I THOUGHT it was instead you trying to repair the damage that was done (that I hadn't known about before it), I took back what I said. If however you release the file with

03CF=2,load_WAV_slot %1d% with_wav_reference %2d%

...you ARE further factioning the community as SAMB was released with

03CF=2,load_wav %2s% as %1d%

Just like with the damage you were alegedly out to correct, this would pollute the pool with variations that when mismatched, will crash games. What's the point in that? Which doesn't even begin to address why a person would change the flavor text, but that's not going to crash games, so I guess it would be up to the person making the effort, even if it is disrespectful to the community.

 

Please clarify what exactly your intentions are here.

Share this post


Link to post
Share on other sites
PLPynton

well when i have THE original file then i can just add all unknown (by this time) opcodes with correct meaning and there we go. i will do that, if that helps, but i will need your help by checking it periodically when i am in progress. that is small workaround but is quite simple: 100 codes at a time, little bit checking and so till the end.

 

furthermore bringing back all the opcodes to original order of their parameters was just first step of my 3 step program (heh). the next step will be to enlarge this database: every single opcode will be exactly described regarding to its functionality and parameters. that will be a simple text inside that file at the very end of it or in separate file.

step 3 would be to write simple app that can be injected into MB/SB and this app will work quite like opcode guide. something like you can see in excel. i believe that it would be really good to have something like that instead of jumping between few sources of information and forcing your brain to retire.

 

Share this post


Link to post
Share on other sites
Demarest

Step 2 sounds nice. There are lots of times I use an INI for reference and wish it also had the notations the opcode database was good for back in the day.

 

As for step 1, by original, do you mean the order we've always used?

Share this post


Link to post
Share on other sites
PLPynton

i am glad you like that idea.

original order for me is to keep always alphanumerical order 1, 2, 3 ect. sorry for that but i have to get some basis for my work. it will be easy to change back into forums order later when help description is ready. i will keep some structure so app reading my text can get info about each opcodes parameter as well.

 

edit: Dem, you posted that original ini as reference. question about it: every undescribed in it opcode has to be in same order as this file states (%1d% %2d% ...) right?

 

and check here. i changed opcodes 0900 till end. i did not changed order of parameters and pasted in only undescribed opcodes without toutching these known in that file. each changed opcode has minus sign on front.

Edited by PLPynton

Share this post


Link to post
Share on other sites
Demarest
original order for me is to keep always alphanumerical order 1, 2, 3 ect.

Then that's not original order. Using a different order than what was relased and used by countless number of individuals only factions the community further. That's bad. If you're going to bother with all this effort, why not do it right?

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.