Opius 9 Posted August 17, 2004 Damn, Rockstar do have some rather specific opcodes... Anyway, great work, again PatrickW. Quote Share this post Link to post Share on other sites
PatrickW 219 Posted August 17, 2004 @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... @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 ) 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.. Quote Share this post Link to post Share on other sites
DexX 43 Posted August 17, 2004 params: (float)x1,(float)y1,(float)z1,(float)x2,(float)y2,(float)z2It sets up a roadblock with 2 police-cars and 4 cops between the two points. Used in COPLAND ^ ^ excellent. Quote Share this post Link to post Share on other sites
Craig Kostelecky 430 Posted August 18, 2004 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. Quote Share this post Link to post Share on other sites
Demarest 23 Posted August 19, 2004 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 Quote Share this post Link to post Share on other sites
Opius 9 Posted August 28, 2004 Thanks to PatrickW for letting me play around with this 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"? Quote Share this post Link to post Share on other sites
TwoZero 0 Posted August 28, 2004 (edited) [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 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 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? Edited August 28, 2004 by TwoZero Quote Share this post Link to post Share on other sites
Opius 9 Posted August 28, 2004 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? 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... Quote Share this post Link to post Share on other sites
TwoZero 0 Posted August 28, 2004 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 Quote Share this post Link to post Share on other sites
Opius 9 Posted August 29, 2004 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. Quote Share this post Link to post Share on other sites
Craig Kostelecky 430 Posted August 29, 2004 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. Quote Share this post Link to post Share on other sites
Y_Less 1 Posted August 29, 2004 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). Quote Share this post Link to post Share on other sites
Barton Waterduck 0 Posted August 30, 2004 (edited) 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. ;-------------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" [email protected] 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 August 30, 2004 by Barton Waterduck Quote Share this post Link to post Share on other sites
Y_Less 1 Posted August 31, 2004 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. Quote Share this post Link to post Share on other sites
Barton Waterduck 0 Posted August 31, 2004 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. Quote Share this post Link to post Share on other sites
PatrickW 219 Posted September 2, 2004 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.... 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... 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..... Quote Share this post Link to post Share on other sites
Seemann 231 Posted September 3, 2004 (edited) 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 September 3, 2004 by Seemann Quote Share this post Link to post Share on other sites
PatrickW 219 Posted September 4, 2004 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 Quote Share this post Link to post Share on other sites
zbos 4 Posted September 6, 2004 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 it is opcode 84C9: to be correct Quote Share this post Link to post Share on other sites
Y_Less 1 Posted September 7, 2004 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! Quote Share this post Link to post Share on other sites
random_download 0 Posted September 7, 2004 it is opcode 84C9: to be correct Would that not make it a "NOT" opcode, having the 8 as the first character? Quote Share this post Link to post Share on other sites
Y_Less 1 Posted September 9, 2004 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? Quote Share this post Link to post Share on other sites
Opius 9 Posted September 20, 2004 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. Quote Share this post Link to post Share on other sites
Un3462 1 Posted September 20, 2004 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? Quote Share this post Link to post Share on other sites
Seemann 231 Posted September 24, 2004 (edited) 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 September 24, 2004 by Seemann Quote Share this post Link to post Share on other sites
Whacko 0 Posted September 24, 2004 Hello, I`m new here. Might be interessting for those who code cutscenes: 0160: point_camera -726.505 -1167.339 11.744 20460: 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 Quote Share this post Link to post Share on other sites
Seemann 231 Posted September 25, 2004 (edited) 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 September 25, 2004 by Seemann Quote Share this post Link to post Share on other sites
Barton Waterduck 0 Posted September 26, 2004 uh, what's a seemann ? a ..... seaman perhaps ? Quote Share this post Link to post Share on other sites
Seemann 231 Posted September 27, 2004 seemann is the seaman in German. And what? Quote Share this post Link to post Share on other sites
Whacko 0 Posted October 3, 2004 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) Quote Share this post Link to post Share on other sites