Aug 17 2009, 09:17 PM Post #1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Coding like a Rockstar! Posts: 1,468 From: ??? Joined: 28-May 09 | Opcode Database Go for SASCM.ini Let's have a bash at finishing the documentation of all the unknown parameters and opcodes in San Andreas. Posts in this topic go towards improving the GTAG Opcode Database and Documentation and the widely used SASCM.ini file. GXT/FXT Capabillities: Colours
Symbols ~u~ Up arrow. ~d~ Down arrow. ~<~ Left arrow. ~>~ Right arrow. Keypresses (These change according to your control settings. For example, if the players action button was set to "TAB" you can use the code to show that...) E.G: Press ~k~~PED_ANSWER_PHONE~ == Press TAB On Foot
Unused
Don't let the "crashes game" fool you into thinking it doesn't exist. When using an incorrect/inexistant GXT keypress value, the text displays. So in this case, HB_TAKE_SCREEN_SHOT is probably the only non-functioning one. The others try and do stuff, but that seems to lead to errors. Functions have probably been removed. Other ( = [ ) = ] { = ? * = & | makes a degrees sign. Little circle above text. ^ makes an upside down ! ] Makes a star. [ Large space. Parameters: CODE 009A: 2@ = create_actor_pedtype X model #MALE01 at 0.0 0.0 0.0 Changes the type of character being created. Pedtype 0 = Player1 Pedtype 1 = Player2 Pedtype 2 = Player_NETWORK Pedtype 3 = Player_UNUSED Pedtype 4 = CIVMALE (Default) Pedtype 5 = CIVFEMALE Pedtype 6 = Cop Pedtype 7 = Gang1 (Ballas) Pedtype 8 = Gang2 (Grove Street) Pedtype 9 = Gang3 (LS Vagos) Pedtype 10 = Gang4 (SF Rifa) Pedtype 11 = Gang5 (Da Nang Boys) Pedtype 12 = Gang6 (Mafia) Pedtype 13 = Gang7 (Mountain Cloud) Pedtype 14 = Gang8 (Varrio Los Aztecas) Pedtype 15 = Gang9 (Unused) Pedtype 16 = Gang10 (Unused) CODE 07E0: set_marker @0 type X Creates the bouncing marker above characters heads. Type 1 = Enemy Marker (Red) Type 2 = Friendly Marker (Blue) CODE 00AF: set_car 62@ driver_behaviour_to X Changes the way a character drives the vehicle. Driver Behaviour 0 = Stopped. Driver Behaviour 1 = Follow roads and paths. Driver Behaviour 2 = Tries to kill player. CODE 00AE: set_car 71@ traffic_behaviour_to X Changes the way a character drives the vehicle. Traffic Behaviour 0 = Stop for other traffic. Traffic Behaviour 1 = Impatient. Overtakes other traffic. Traffic Behaviour 2 = Very impatient. Speeds regardless of traffic. Traffic Behaviour 3 = Steady speed. Crashes through traffic Traffic Behaviour 4 = Stops for other cars. Drives fast. Traffic Behaviour 5+ = Stops at traffic lights. Drives through traffic. CODE 067F: set_car 35@ lights X Changes the vehicles lights. Lights 0 = Off. Lights 1 = On. Lights 2 = Default (off in day, on at night). I'll probably update this list with new ones found. Hopefully we'll end up having a full documentation of the opcode's parameters so they can be used easily. Your turn! -------------------- | CLEO 4.3.22 | A?i?a?o?3D | UI SDK | Black Market Mod 1.0.1 | GInput 0.3 | Cheat Keyboard | Tactile Cheat Activation | Stream Ini Extender 0.7 | SuperVars | ScrDebug | Vigilante Justice: San Andreas | | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Aug 20 2009, 02:04 PM Post #2 | |
In motus... Posts: 361 From: Portugal Joined: 28-May 09 | Thanks for all the GXT/CleoGXT (FXT) params. They're needed for Design Your Own Mission mission (custom) editing |
Aug 20 2009, 03:19 PM Post #3 | |
Coding like a Rockstar! Posts: 1,468 From: ??? Joined: 28-May 09 | I believe the ones listed are ALL the capabilities. Any others you see posted are usually wrong. I tested every symbol on my keyboard with a few different types of text and only those did something. I'm not sure about ~a~, though... -------------------- | CLEO 4.3.22 | A?i?a?o?3D | UI SDK | Black Market Mod 1.0.1 | GInput 0.3 | Cheat Keyboard | Tactile Cheat Activation | Stream Ini Extender 0.7 | SuperVars | ScrDebug | Vigilante Justice: San Andreas | |
Aug 21 2009, 02:05 PM Post #4 | |
In motus... Posts: 361 From: Portugal Joined: 28-May 09 | I know. I just said these work in DYOM .dat editing. (mission editing) and said thanks. |
Oct 4 2009, 05:59 PM Post #5 | |
Coding like a Rockstar! Posts: 1,468 From: ??? Joined: 28-May 09 | CODE 09E5: create_flash_light_at 225@ 226@ 227@ RGB_mask 255 255 255 radius 200.0 Param1: x coord of the flash light. Param2: y coord of the flash light. Param3: z coord of the flash light. Param4: Amount of Red in flash light. Param5: Amount of Blue in flash light. Param6: Amount of Green in flash light. Param7: How far flash light can take effect on peds, cars etc. This opcode creates a quick flash of light that can not be seen, but what the light touches can (cars, peds etc.). Params 4,5 and 6 controll the RGB (red, green, blue) in the colour. You may not know it, but every colour discovered can be created with only Red, green and blue (bit like mixing paint). If red was set to 255, there would be 100% red in the colour. If the others were set to 0, the colour would be fully red. If RG and B are set to 255, the colour would be white, as white is a combination of every colour (believe it or not). You can use MS Paint to find the right colour. Open Paint, double-click any colour on the bottom panel, click "define custom colors" and drag the cursor around to find the colour you want. The Red, Green and Blue will show up in the boxes underneath. Simply paste each one and you have your coloured flash! CODE 03E7: flash_hud_component 4 I've been tackling with this one... It appears that some numbers don't do anything, but that just doesn't make sense. So if you know more about this opcode, post! 3 = armour bar 4 = health bar 8 = radar (& height bar when in flying vehicle) 10 = lung capacity .. And that's about all I can find. -------------------- | CLEO 4.3.22 | A?i?a?o?3D | UI SDK | Black Market Mod 1.0.1 | GInput 0.3 | Cheat Keyboard | Tactile Cheat Activation | Stream Ini Extender 0.7 | SuperVars | ScrDebug | Vigilante Justice: San Andreas | |
Dec 31 2009, 04:44 AM Post #6 | |
Coding like a Rockstar! Posts: 1,468 From: ??? Joined: 28-May 09 | CODE 07FE: set_actor $PLAYER_ACTOR fighting_style_to 5 7 People seem confused about this opcode and don't understand the 2 parameters. Param1: Fighting style 4 Standard 5 Boxing 6 Martial Arts 7 Kickboxing 8-14 Various weapon styles 15 Default 16 Elbows Param2: Moves Now, this limits the amount of moves the actor can perform. So for example, if they are set to use boxing, you can ensure they only do the first two punches in the boxing combo or enable them to do everything. This is used for the trainers, as they are made to attack, but are made to do specific moves. You may also find that some have moves that aren't usually used in the normal game. -------------------- | CLEO 4.3.22 | A?i?a?o?3D | UI SDK | Black Market Mod 1.0.1 | GInput 0.3 | Cheat Keyboard | Tactile Cheat Activation | Stream Ini Extender 0.7 | SuperVars | ScrDebug | Vigilante Justice: San Andreas | |
Jan 30 2010, 05:55 AM Post #7 | |
Coding like a Rockstar! Posts: 1,468 From: ??? Joined: 28-May 09 | CODE 06E1: AS_actor 50@ using_car 51@ target_car 69@ with_order 29 max_speed 30.0 traffic_flag 2 with_order: 0 = stopped. 3 = follows sirens, tries to stop other car. follows anywhere. never stops. 4 = follows sirens, tries to stop other car. stops when other car stops. 5 = follows with sirens, stops ahead of other car. 6 = similar to above. 7 = follows by reversing. 8 = drives away from other car. 10 = similar to 7? 12 = drives away from other car. 16 = follows other car. 24 = follows other car, gets out of car when close and tries to kill other driver. 25 = follows other car on foot, tries to wreck other car when close. 26 = similar to 5. 29 = tries to keep 9-o'clock angle on other car. 30 = tries to keep 3-o'clock angle on other car. 32 = tries to keep 12-o'clock angle on other car. 33 = seems to be the max. some have not quite been figured out due to their seemingly odd behaviours traffic_flag (see 00AE) -------------------- | CLEO 4.3.22 | A?i?a?o?3D | UI SDK | Black Market Mod 1.0.1 | GInput 0.3 | Cheat Keyboard | Tactile Cheat Activation | Stream Ini Extender 0.7 | SuperVars | ScrDebug | Vigilante Justice: San Andreas | |
Jan 31 2010, 12:35 AM Post #8 | |
Coding like a Rockstar! Posts: 1,468 From: ??? Joined: 28-May 09 | Wow... I found out about a coding trick... As well as discovering that 2 opcodes were falsely considered as nopcodes... 0485 and 059A are NOT nopcodes. SANNY 0485: return_true 059A: return_false Lemme explain... If you know enough about coding, you know all about gosubs (or at least you think you do )... They execute code at a specified thread and then return. However, like with most coding languages, they can return true or false (although most languages can return values too). Then, get this... you can use "gosub" as a condition... Yeah, that's right. A condition. SANNY :MyThread wait 0 if 0050: gosub @Check then 0662: "gosub has returned true. Player is controllable!" else 0662: "gosub has returned false. Player is not controllable!" end end_thread :Check if 03EE: player $PLAYER_CHAR controllable then 0485: return_true else 059A: return_false end return May be very useful, eh? Updated opcode databse (and sascm.ini). -------------------- | CLEO 4.3.22 | A?i?a?o?3D | UI SDK | Black Market Mod 1.0.1 | GInput 0.3 | Cheat Keyboard | Tactile Cheat Activation | Stream Ini Extender 0.7 | SuperVars | ScrDebug | Vigilante Justice: San Andreas | |
Mar 3 2010, 05:13 AM Post #9 | |
Coding like a Rockstar! Posts: 1,468 From: ??? Joined: 28-May 09 | Removed some of the ordering options. Only the opcode one exists now (the others didn't work anyway). Also fixed some bugs and added code for more consistent pages. -------------------- | CLEO 4.3.22 | A?i?a?o?3D | UI SDK | Black Market Mod 1.0.1 | GInput 0.3 | Cheat Keyboard | Tactile Cheat Activation | Stream Ini Extender 0.7 | SuperVars | ScrDebug | Vigilante Justice: San Andreas | |
Apr 2 2010, 07:13 PM Post #10 | |
Coding like a Rockstar! Posts: 1,468 From: ??? Joined: 28-May 09 | Work on adding III and VC compatibility is going smoothly... All documented opcodes for the two games can now be found in the database. There have been some issues, though... CLEO opcodes for III and VC won't be as well documented as the ones for SA due to the fact they use opcodes that have uses in games released later. So if there's a Vice City CLEO function and a San Andreas function that share the same opcode, San Andreas will take priority, since it's a later game and is an original opcode. Maybe I'll find a workaround for this. -------------------- | CLEO 4.3.22 | A?i?a?o?3D | UI SDK | Black Market Mod 1.0.1 | GInput 0.3 | Cheat Keyboard | Tactile Cheat Activation | Stream Ini Extender 0.7 | SuperVars | ScrDebug | Vigilante Justice: San Andreas | |
May 11 2010, 10:42 AM Post #11 | |
Coding like a Rockstar! Posts: 1,468 From: ??? Joined: 28-May 09 | I consider myself a finder of many things now CODE 0709: set_decision_maker 0@ on_event 31 task 413 respect 0.0 hate 0.0 like 0.0 dislike 0.0 in_car 0 on_foot 1 Woot! Gawd, this forum is the shiznit. If this website had more activity it'd be the perfect. -------------------- | CLEO 4.3.22 | A?i?a?o?3D | UI SDK | Black Market Mod 1.0.1 | GInput 0.3 | Cheat Keyboard | Tactile Cheat Activation | Stream Ini Extender 0.7 | SuperVars | ScrDebug | Vigilante Justice: San Andreas | |
May 12 2010, 02:53 AM Post #12 | |
Coding like a Rockstar! Posts: 1,468 From: ??? Joined: 28-May 09 | CODE 05D3: AS_actor 1@ goto_point 0.0 0.0 0.0 mode 4 -2 ms mode 4 - Walk 6 - Run -------------------- | CLEO 4.3.22 | A?i?a?o?3D | UI SDK | Black Market Mod 1.0.1 | GInput 0.3 | Cheat Keyboard | Tactile Cheat Activation | Stream Ini Extender 0.7 | SuperVars | ScrDebug | Vigilante Justice: San Andreas | |
Jul 2 2010, 02:33 AM Post #13 | |
Coding like a Rockstar! Posts: 1,468 From: ??? Joined: 28-May 09 | Added some messy code to give the opcode database search ability. Very basic, but that's all that's needed for now. I'm planning on (eventually) redoing the whole database system now that I fully know what needs adding. Right now there is a lot of unnecessary code due to me not knowing exactly what to do when I started (me not knowing CLEO 4 would come out didn't help) -------------------- | CLEO 4.3.22 | A?i?a?o?3D | UI SDK | Black Market Mod 1.0.1 | GInput 0.3 | Cheat Keyboard | Tactile Cheat Activation | Stream Ini Extender 0.7 | SuperVars | ScrDebug | Vigilante Justice: San Andreas | |
Jul 24 2010, 02:19 AM Post #14 | |
Coding like a Rockstar! Posts: 1,468 From: ??? Joined: 28-May 09 | Добрае утра! Sorry, I just wanted to try out my new language skillz... It's not even morning yet But here I am, 3AM in the morning... A less random find than usual... Weapon ID 56 Seems to refer to "no dangerous weapon". As seen by the use in the main.scm. SANNY if 82D8: not actor $PLAYER_ACTOR current_weapon == 56 then 010E: set_player $PLAYER_CHAR minimum_wanted_level_to 2 end This is used in the interior scripts for the police stations. If the current_weapon is 56, the player isn't holding a weapon of threat, so the above returns true and the player recieves 2 stars. I've reason to believe there are more ID's like this, that do odd things -------------------- | CLEO 4.3.22 | A?i?a?o?3D | UI SDK | Black Market Mod 1.0.1 | GInput 0.3 | Cheat Keyboard | Tactile Cheat Activation | Stream Ini Extender 0.7 | SuperVars | ScrDebug | Vigilante Justice: San Andreas | |
Aug 7 2010, 04:26 AM Post #15 | |
Coding like a Rockstar! Posts: 1,468 From: ??? Joined: 28-May 09 | CODE 06B5: set_searchlight 4@ travel_to 0.0 0.0 0.0 speed 0.0 This, simply put, makes the searchlight target travel to the specified coords. The first example of this in the main.scm has all floats at 0, which would quite simply make the searchlight stop... No, it doesn't make the searchlight go to coords 0.0 0.0 0.0 instantly. Pretty standard opcode. -------------------- | CLEO 4.3.22 | A?i?a?o?3D | UI SDK | Black Market Mod 1.0.1 | GInput 0.3 | Cheat Keyboard | Tactile Cheat Activation | Stream Ini Extender 0.7 | SuperVars | ScrDebug | Vigilante Justice: San Andreas | |
Aug 8 2010, 01:31 PM Post #16 | |
Member Posts: 197 From: Liberty City, Shoreside Joined: 15-July 10 | Hmm... I have a question... In original SASCM.ini there is incorrect opcodes with sin and cos, did you fix this in yours? This post has been edited by TLMC: Aug 8 2010, 01:31 PM |
Aug 8 2010, 02:30 PM Post #17 | |
Coding like a Rockstar! Posts: 1,468 From: ??? Joined: 28-May 09 | It might be fixed... In the database it's recorded as being changed from the original sascm.in - Is this correct? CODE 02F6: 14@ = cosine 45.0 // (float) CODE 02F7: 13@ = sine 45.0 // (float) I can't test at the moment. -------------------- | CLEO 4.3.22 | A?i?a?o?3D | UI SDK | Black Market Mod 1.0.1 | GInput 0.3 | Cheat Keyboard | Tactile Cheat Activation | Stream Ini Extender 0.7 | SuperVars | ScrDebug | Vigilante Justice: San Andreas | |
Aug 11 2010, 08:45 PM Post #18 | |
Member Posts: 197 From: Liberty City, Shoreside Joined: 15-July 10 | Must be SANNY 02F6: 14@ = sine 90.0 02F7: 13@ = cosine 90.0 This post has been edited by TLMC: Aug 11 2010, 08:46 PM |
Aug 11 2010, 09:27 PM Post #19 | |
Coding like a Rockstar! Posts: 1,468 From: ??? Joined: 28-May 09 | Updated. -------------------- | CLEO 4.3.22 | A?i?a?o?3D | UI SDK | Black Market Mod 1.0.1 | GInput 0.3 | Cheat Keyboard | Tactile Cheat Activation | Stream Ini Extender 0.7 | SuperVars | ScrDebug | Vigilante Justice: San Andreas | |
Aug 17 2010, 03:08 PM Post #20 | |
The master of cut retort Posts: 239 From: Warsaw, PL Joined: 21-July 10 | SANNY 0605: actor -1 perform_animation_sequence "M_SMKLEAN_LOOP" IFP_file "LOWRIDER" rate 4.0 loop 1 lockX 0 lockY 0 lockF 0 time -1 // versionA 0812: AS_actor -1 perform_animation "LRGIRL_IDLELOOP" IFP_file "LOWRIDER" 4.0 loopA 0 lockX 0 lockY 0 lockF 0 time -1 // versionB 0A1A: actor 88@ perform_animation "HIKER_POSE_L" IFP_file "MISC" 4.0 loopA 0 lockX 0 lockY 0 lockF 1 -1 ms // versionC Finally differences discovered! VersionA stops animation when actor is hit/shot/aimed/something other - just when he need to play any other, EXE coded animation. VersionB plays animation regardless of situation. VersionC unlocks walking while animation is on. |