BBumper Posted October 29, 2005 Share Posted October 29, 2005 (edited) I've been away due to internet funds completely running dry so I had to resort to a free AOL trial *puke* but enough about me here is what I discovered about 2 weeks ago 070E: $AIRPLANE $TARGETACTOR 400.0 - Makes #HYDRA (or any other airplane) strife/attack player ($PLAYER_CHAR)at a radius of 400.0 - no matter what you set the second variable to the plane will attack the player and if you try to use it on a helicopter it doesnt really fly. 0724: $HELICOPTER $TARGETACTOR 150.0 - Makes Helicopter ($MISURY) strife/attack playerat radius (150.0) no matter what you set the second variable to the heli will attack the player and it if you use code on and airplane it takes a nosedive and crashes. 0710: $AIRPLANE $ACTOR -1 300.0 Makes #HYDRA (or any other airplane) fly around/attack actor ($actor)at a radius of 300.0 Edit: If it hasnt been done already feel free to name and add the code to the sa database Edited October 29, 2005 by BBumper Link to comment Share on other sites More sharing options...
BBumper Posted November 3, 2005 Share Posted November 3, 2005 spaceeinstein I noticed under the description for 0724 you said it makes the aircraft (helicopter) attack the 'actor' but when I tested it a few weels ago I only got it to go after the 'player' even when I tried to send it to attack an 'actor' I created at a distance, I'm just curious did you have different results testing that particular code? Link to comment Share on other sites More sharing options...
spaceeinstein Posted November 3, 2005 Share Posted November 3, 2005 Whoops. Yea, it's player char only. Thanks for finding the error. Any more errors you can find? Link to comment Share on other sites More sharing options...
op9080 Posted November 4, 2005 Share Posted November 4, 2005 I need some help naming and describing an opcode. It's this opcode: 09B4: $X $Y $radius bit_mask boolfloat $X, $Y, $radius;int bit_mask, bool; It's used to set the visibility status of yellow entrance markers, like this... 09B4: $BUY_ASSET_PICKUP_X(3) $BUY_ASSET_PICKUP_Y(3) 10.0 16384 1 What it does is to search in a circle of radius $radius at center ($x, $y) for map objects form a certain pool. The structs in the pool are 60 bytes long. Then, if bool == 1, it ORs the WORD at offset 48 with bit_mask, and if bool == 0, it ANDs the WORD at offset 48 with ~bit_mask. So in the example above the effect is to either turn on or off bit 14 of this WORD. The yellow entrance markers are part of this pool (they're defined in *.ipl files somewhere) and this bit makes them either appear or disappear. The example above is used to turn on an entrance marker to a safehouse when you buy the safehouse. I don't know what to name this opcode. For one thing, I'm not sure which map objects are in this pool (it has space for 400 objects). I'm pretty sure it's not ALL map objects, or else I don't see why this opcode would not make the building itself appear or disappear in addition to the yellow marker. Also, because of the nature of the parameters (a bit mask) it may be used to set other flags of the object other than visibility. Link to comment Share on other sites More sharing options...
BBumper Posted November 4, 2005 Share Posted November 4, 2005 Whoops. Yea, it's player char only. Thanks for finding the error. Any more errors you can find? I think I found another problem with 0633 I can't get the actor to suddenly jump/roll out of a vehicle while its traveling at high speeds the car just stops or slides to a stop then the actor gets out although I don't believe you were the one who summited the description I thought I would mention it just to see if this happens to you or anyone. Link to comment Share on other sites More sharing options...
BBumper Posted November 7, 2005 Share Posted November 7, 2005 (edited) 009A Appears to make a vehicle solid (1) or unsolid (0) I really havent tested the code beyond 0-1 so I can't say for sure say that is what is does. 099A: $Car 0 or 1 OPCode Name Suggestion: 099A: $car solid_state 1 Edited November 8, 2005 by BBumper Link to comment Share on other sites More sharing options...
spaceeinstein Posted November 8, 2005 Share Posted November 8, 2005 09E7: player $PLAYER_CHAR not_frozen (if) (can someone else confirm this?) 050F: @0 = get_max_wanted_level 0560: car @1 create_random_driver @0 (actor doesn't need to be loaded, actor can be treated just like any other actors created) 09C0: get_random_car_in_area $oX1, $oY1, $oX2, $oY2, $oZ with_actors -1 = @0 Link to comment Share on other sites More sharing options...
BBumper Posted November 8, 2005 Share Posted November 8, 2005 (edited) 09E7: player $PLAYER_CHAR not_frozen (if) (can someone else confirm this?)050F: @0 = get_max_wanted_level 0560: car @1 create_random_driver @0 (actor doesn't need to be loaded, actor can be treated just like any other actors created) 09C0: get_random_car_in_area $oX1, $oY1, $oX2, $oY2, $oZ with_actors -1 = @0 Do you have any idea what "1.0" does in that opcode? 09C0: [email protected] [email protected] [email protected] [email protected] 1.0 -1 [email protected] Edit: Perhaps it has something to do with radius., I'll go offline in a few and give it a test if you like I can send you a PM about it later. Edited November 8, 2005 by BBumper Link to comment Share on other sites More sharing options...
Y_Less Posted November 8, 2005 Share Posted November 8, 2005 Its an area, so has no radius. Based on other opcodes, it will most likely be the TYPE of actor wanted, so you can look for a car with actor type 7 in that area and store its handle in @0. -1 means random (i.e. any actor/ped type). Link to comment Share on other sites More sharing options...
BBumper Posted November 8, 2005 Share Posted November 8, 2005 Its an area, so has no radius. Based on other opcodes, it will most likely be the TYPE of actor wanted, so you can look for a car with actor type 7 in that area and store its handle in @0. -1 means random (i.e. any actor/ped type). [email protected] [email protected] = Object 1 XY coordinate [email protected] [email protected] = Object 2 XY coordinate From what I've been able to determine 1.0 is not a z coordinate and I know -1 gets a random car nearby [email protected] is the car's handle I'm just unsure about 1.0 but I think its a radius. 09C0: [email protected] [email protected] [email protected] [email protected] 1.0 -1 [email protected] Link to comment Share on other sites More sharing options...
spaceeinstein Posted November 19, 2005 Share Posted November 19, 2005 Must live! 09C0's fifth parameter should be the height. The getting the area is getting the rectangle at those coordinates. 053E doesn't have this extra parameter and any things within this area would trigger this opcode at any height. I tried this using the Stinger mod. I placed a vehicle above the stinger using 09C0 and it didn't pop. If I use 053E, it'll pop. If I increased the 09C0's fifth parameter, it'll pop. 099A is very funky for me. The vehicle would float into the air and be not solid. If CJ enters the vehicle, CJ can't use a submachine gun. If you spin the vehicle too mmuch, the vehicle would warp and will do funky stuff. In Rockstar's code, this vehicle would be assigned to a set path, be locked into position, or be invisible. Well, I got one new one: 0852: set_car @0 visible_damage 0 (0=not visible/1=visible) (like the car won't get visible damage when hitting stuff but it'll still be damaged) Link to comment Share on other sites More sharing options...
ceedj Posted November 26, 2005 Share Posted November 26, 2005 (edited) Ok, first, some "No Longer Used" Opcodes: 011C: actor_clear_objective0372: set_actor_wait_stateBoth crash game And a NEW one: 0687: PLAYER_ACTORshould now be0687: clear_actor_task PLAYER_ACTOR Basically does the same thing that 011C used to. Works with other actors too. I have a few more I think, but I need to do some more testing. Enjoy! EDIT: Here's a bunch... 05B9: actor_idle $actor 10000(time in ms) // Used between certain action sequences05BB: actor_task_fall_down $actor 0 (int, always 0?) 3000(time in ms) // You the the one where Woozie runs into the wall and falls down? Yep, this is it...05C9: actor_task_idle_look $actor -1 (-1, -2, or time in ms) // Just an idle stance. You see this a lot if you know what to look for...05DE: find_closest_path_and_walk $actor //PLAYER_ACTOR works too // this is AWESOME if you set it to your player - he will walk the city! Make sure you set a ket to disable or he'll do it forever...05D9: run_to_actor_and_stop $actor $actor 5000(time in ms) 2.5(float?) // Not sure about the last param, but this runs an actor to another actor in this amount of time. If time runs out, the running actor gets tired, then stops....05DB: actor_task_run_away_look $actor $actor 1000.0(float) 5000000(time in ms) //actor runs away from actor, looking over his/her shoulder...05DC: actor_task_run_away_stop_look $actor 2336.399 -18.3093 25.4766 30.0 (x,y,z,a?) 8000(time in ms) // actor runs away from point, I think. It could be TO point, but I doubt it. When the actor stops, he/she looks over shoulder...05DD: actor_task_run_away_from_actor $actor $actor 100.0 60000 // another acotr runs from actor. It's a slightly different animation; actor stops and looks both ways at the end...07A5: actor_task_fight_actor $actor $actor 1000(time in ms) // Actor fights another actor for the time specified. Here's a few that I haven't tested, but have some ideas on... 05C1: unknown_action_sequence -1 230 // Not sure; used with 05C9 sometimes...05CF: $actor $car 119.3556 1069.892 13.665 // drive to point?05D2: unknown_action_sequence $actor $car 15.0 0 //actor drive this speed?05DA: $actor 1646.332 -1053.721 23.385 100.0 15000 //roaming coords?05E9: @35 152 // car opcode - used once in entire game05EC: @161 // car opcode05ED: @377 // car opcode05EE: @44 // car opcode05F1: @37 @35 // car - car opcode - used once in entire game05F2: @36 @35 // car - car opcode - used once in entire game05F5: unknown_action_sequence $actor -781.09 497.79 1370.782 6 10000 // actor does something at these coords05F6: $PLAYER_ACTOR 1030.105 2095.714 1054.818 2098.778 30.0 0 // is player in cube check?05F8: $PLAYER_ACTOR @198 @199 @195 @196 -30.0 0 // another player in cube check, used in steal cars (zeroing in?) and boat school (check points?)05FC: $PLAYER_ACTOR $3401 $3402 $3403 $3404 $3405 $3406 $75 0 // player in 3d cube?05FD: $PLAYER_ACTOR -1611.833 1334.313 .8012 -1615.812 1329.394 -7.9862 2.0 0 //similar to above?05FE: $PLAYER_ACTOR @198 @199 1.0 @195 @196 3.0 10.0 0 // similar to above?0603: unknown_action_sequence $actor 2299.284 -1133.929 27.3281 6 -1 // actor does something at these coords0604: $73 $74 @20 // operation? 1 and 2 are floats, 3 is usually a variable (such as Z angle)0606: -1695.1 587.6 -1771.3 -1310.0 // sets of coords? used once in entire game EDIT: Ok, this seems to be an idle_stance OR an animation cut off. But I'm guessing the idle_stance: 0792: idle_stance $actor And this one seems to do the same thing as 0605: actor_perform_animation_sequence: 0812: actor $actor perform_animation_sequence "PRTIAL_GNGTLKC" from_file "GANGS" 4.0 loop 0 0 0 0 -1 ms Although I wonder why they would have two opcodes that do the same thing. But they do... @ spaceeinstein : your toggle_HUD opcode in the DB is backwards. Should be 0(off)/1(on). Just so ya know. Enjoy! Edited November 30, 2005 by ceedj I'm actually not against democracy though. I'm against things I think are f*cking stupid. I think this is f*cking stupid. - Sweets Link to comment Share on other sites More sharing options...
spaceeinstein Posted December 18, 2005 Share Posted December 18, 2005 Nice finds there. Damn, after I disappeared from here, barely anyone found anymore new opcodes? I got two new ones: 0667: AS_actor @0 aim_at_point 969.3931 -1098.341 22.877 10000 ms If actor has weapon, it'll just aim but doesn't shoot. If used on CJ, he'll just aim and won't be controllable except you can scroll through his weapons. 09C4: set_car @0 gas_tank_explosion 0 0=hit gas tank does't blow 1=hit gas tank blow up Link to comment Share on other sites More sharing options...
FalconGT Posted December 19, 2005 Share Posted December 19, 2005 Nice finds there. Damn, after I disappeared from here, barely anyone found anymore new opcodes? I got two new ones: 0667: AS_actor @0 aim_at_point 969.3931 -1098.341 22.877 10000 ms If actor has weapon, it'll just aim but doesn't shoot. If used on CJ, he'll just aim and won't be controllable except you can scroll through his weapons. 09C4: set_car @0 gas_tank_explosion 0 0=hit gas tank does't blow 1=hit gas tank blow up Awesome find i've been looking for one to make actor aim Have you found any to make actor start to swim ?? Link to comment Share on other sites More sharing options...
Demarest Posted December 20, 2005 Share Posted December 20, 2005 Drop him in the water. Funniest moment I've ever had in SA playing it was when Rosenberg was madly swimming towards me to keep up. Link to comment Share on other sites More sharing options...
Craig Kostelecky Posted December 20, 2005 Share Posted December 20, 2005 But not all of the actors swim (if I remember right). Remember the mission where you have to drown the guy by driving off of the dock? There may be an opcode that triggers an actors ability to swim. But I haven't looked through the code yet to find it. Link to comment Share on other sites More sharing options...
spaceeinstein Posted December 20, 2005 Share Posted December 20, 2005 The actor naturally swims if it is in group with CJ (haven't tried if in every groups). If it is not, use this: 04D8: set_actor @0 ability_to_swim 0 (0=swim/1=Tommy) And I found more stuff: 0668: AS_actor @0 rotate_to_point @1 @2 @3 10000 ms Link to comment Share on other sites More sharing options...
FalconGT Posted December 20, 2005 Share Posted December 20, 2005 The actor naturally swims if it is in group with CJ (haven't tried if in every groups). If it is not, use this:04D8: set_actor @0 ability_to_swim 0 (0=swim/1=Tommy) And I found more stuff: 0668: AS_actor @0 rotate_to_point @1 @2 @3 10000 ms Awesome because my actors were dying in water. Thx heaps.. FalconGT. Link to comment Share on other sites More sharing options...
BBumper Posted December 21, 2005 Share Posted December 21, 2005 0727: $helicopter $actor $vehicle 20.0 Makes the helicopter fly/behave like a police copter it will follow the $actor or $vehicle but it will still target you if you are near it and have a wanted level. Link to comment Share on other sites More sharing options...
robbo-theman Posted December 21, 2005 Share Posted December 21, 2005 0727: $helicopter $actor $vehicle 20.0 Makes the helicopter fly/behave like a police copter it will follow the $actor or $vehicle but it will still target you if you are near it and have a wanted level. actually 0727 should be engage code since it makes maverick follow you shot at you no mather of wanted level. It is tricky since maverick have no guns. It simulates crew onboard which opens fire. It is code for maverick type heli while other heli types have some fly difficulties with. The car in code should be not empty (crashes game). However if you engage some actor in car it makes maverick shot at you (at least by me). last parameter is an altitude in the way that heli fly exactly that much higher than player actually is. I tested also some other codes regarding to flying vehicles and the codes have always "range" but that is not a range that is again altitude as above. If there is two parameters- altitudes too (low and high levels). If i am not mistaken. Link to comment Share on other sites More sharing options...
BBumper Posted December 21, 2005 Share Posted December 21, 2005 actually 0727 should be engage code since it makes maverick follow you shot at you no mather of wanted level. Didnt happen when I tested it It is tricky since maverick have no guns. I didnt test it on the Marverick I tested it on the Rain Dancer and the Sparrow It simulates crew onboard which opens fire. I don't think it works without an actor onboard and BTW the "crew" doesnt talk unless you have a wanted level. It is code for maverick type heli while other heli types have some fly difficulties with. List the heli types The car in code should be not empty (crashes game). Thats why you add -1 if you don't have a target car and vice versa if you don't have a target actor. However if you engage some actor in car it makes maverick shot at you (at least by me). I'm not sure what you mean. last parameter is an altitude in the way that heli fly exactly that much higher than player actually is. I know I tested also some other codes regarding to flying vehicles and the codes have always "range" but that is not a range that is again altitude as above. Testing a code made specifically for a helicopter on an airplane will have very funky results. Keep that in mind If there is two parameters- altitudes too (low and high levels). If i am not mistaken. ? Link to comment Share on other sites More sharing options...
robbo-theman Posted December 21, 2005 Share Posted December 21, 2005 Well it happens by me all the time. The thing about altitude is: all known opcodes regarding flying vehs following ya have "range" and it is not a range- my suggestion is to change it. I meant empty car like @1 would be an empty car- see what happens if you try. If you exchange target group of vehicle type in code it will never fly or drive or whatsoever - that should not be funky. I am trying to help with the code by retesting it you know. ah, use it with hunter and you will notice: this code engages not primary or secondary weapon system it makes any vehicle shot like police maverick does. Link to comment Share on other sites More sharing options...
BBumper Posted December 21, 2005 Share Posted December 21, 2005 (edited) Well it happens by me all the time. It either shoots you with a wanted level or not, from what I've observed it doesnt hit you with the spotlight, shoot or bother you unless you 'tell' it to in addition to having a wanted level and I'm sticking to that until I read a different opinion from a more experienced member, as for altitude and other useless minutia I really don't care. The thing about altitude is:...<SNIP>. Edited December 21, 2005 by BBumper Link to comment Share on other sites More sharing options...
robbo-theman Posted December 21, 2005 Share Posted December 21, 2005 (edited) yes...cute quotes: 070E: orders hadra (horizontal thrust) to engage mobile_player (only when in vehicle) with primary weapon 0710: orders airplane (horizontal thrust) follow, in my tests only follow this one: 08A2: orders hydra (horizontal thrust) to engage player regardless, with primary weapon but they require some pre-sets 0745: will set thrust for hydra horizontal if i remember corectly 0742: will order air veh to keep altitude, counted 1.0 = 1 bar could you confirm? btw. with wanted lev., it can be you have differend results, i think i have set 03A2: to 3 for my tests edit: did not found correct meaning for these opcodes here before Edited December 21, 2005 by robbo-theman Link to comment Share on other sites More sharing options...
BBumper Posted December 21, 2005 Share Posted December 21, 2005 (edited) (Snip)could you confirm? I suggest you actually look at the opcode database and look over this thread before flagrantly mucking over others hard work. You probably mean well but please do a little more searching, research & testing to see if the opcode you're posting about has been covered before.. Edited December 21, 2005 by BBumper Link to comment Share on other sites More sharing options...
spaceeinstein Posted December 22, 2005 Share Posted December 22, 2005 (edited) More stuff: 07AC: detach_trailer @0 from_cab @1 08CB: char_car @0 sound 0 0 0 (it doesn't have explosion, 1 1 1 makes sound of explosion) 0337: set_actor @0 visibility 0 (0=invisi/1=visi, cj cant) 0489: set_actor @0 audible 0 (0=talkative/1=quiet) 0635: AS_actor @0 aim_at_actor @1 10000 ms 0730: damage_car @0 component 0 073C: damage_car @0 component 0 Those two does exactly the same thing. For 0730: 0 - hood 1 - trunk 2 - driver door 3 - front passenger door 4 - left rear door 5 - right rear door 6 - left bulb 7 - right bulb 8 - ??? 9 - ??? 10 - window 11 - front bumper 12 - rear bumper For 073C, left bulb start with 0, then right bulb as 1, and keep going through the list above with different numbers. I first saw this from Pavel but this wasn't in here: 0825: instantly_spin_flying_vehicle @0 rotor_blade (don't use on other vehicles) I realize that if you put a driver into a trailer, the trailer would not connect. I accidentally placed a driver in the Petrolium trailer and the Tanker wouldn't attach it. Edited December 27, 2005 by spaceeinstein Link to comment Share on other sites More sharing options...
DexX Posted January 6, 2006 Share Posted January 6, 2006 070A: unknown_action_sequence $actor $object X Y Z Int1 Int2 "NULL" "NULL" -1 Links an object to an actor, by the bone. actor - actor to link the object to object - object to be linked, can be anything thats definrd in the object list, in the scm XYZ - offset to bone to attach object too (see next line) Int1 - Bone index of character that object is linked to (see below for values) Int2 - Rotation values of some sort, though i only saw "16" for a lot of the lines i checked "NULL" - unknown "NULL" - unknown -1 - unknown, duration of time for object to be linked? Bone index values- 0 - crashes game 1 - chest? 2 - neck? 3 - left shoulder 4 - right shoulder 5 - left hand 6 - right hand 7 - root? 8 - ?? 9 - left foot 10 - right foot 11 - right knee 12 - ?? 13 - left elbow 14 - right elbow 15 - left clavicle 16 - right clavicle 17 - back of neck 18 - mouth or chin (if mouth, then object rotation got screwed) 19 - crashed game I tested initially with the cigar, but that made it really hard to see since its so small. So i tried the Barrel! for bones with a "?" on the end, and it is still linked, i just don't know which specific bones. looked mighty goofy with a barrel sticking through the neck Some notes: if you punch or kick an actor linked to an object, or if you kill them, the object will be unlinked, and depending on what is is, destroyed. You cannot give an actor a gun AND link an object to them - the linked object will always get precedence, and they will not be armed. if you kill them, you can still get their weapon as a pickup though. If you link an object to the player, and THEN go over a weapon pickup, you will keep both your linked object, and the weapon, but the weapon model will be invisible. In the screenshot with the barrel, the object in his hand is NOT solid - shooting it does nothing. However, if you shoot the *actor*, they will drop their object, and then the object will become "active", and solid. Link to comment Share on other sites More sharing options...
Quadropheniac90 Posted January 7, 2006 Share Posted January 7, 2006 Pretty cool! Is there still a Vice City Opcodes topic open or not? Or should I post here? I want to know if there is a possibility that IFP files can be loaded and an animation, chosen from the file, can be done? I bet that requires memory hacking if even possible. Some help here please, I want to enable different types of animations for the player. Link to comment Share on other sites More sharing options...
Y_Less Posted January 7, 2006 Share Posted January 7, 2006 Opcodes for Bartons Editor The original OpCode topic (or at least an old one). Link to comment Share on other sites More sharing options...
DeeZire Posted January 8, 2006 Share Posted January 8, 2006 (edited) I don't think this one has been posted yet, it's only used once in the whole main.scm;- 09E9: activate_nitrous_on_car $carID Same effect as when you are in a car and activate the NOS. Car must have NOS installed on it for this opcode to work, and it appears to 'exhaust' all remaining NOS boosts in one shot - when I triggered this on a car with 10xNitrous, I had none left after using this opcode on it once. And another one;- 0843: get_zone_name_from_coords $x $y $z as_string $s Gets the zone name from the specified co-ords (x,y,z) and places that name into a string variable. Couple of shop-related ones, not completely tested under all conditions but they worked for me intially at least;- 09A9: assign_buyable_item "$string" to_id $int Gets the buyable item ($string) from shopping.dat and assigns it an ID (the $int parameter). 08C8: reset_buyable_item $int1 price_to $int2 Sets the item ID ($int) to the price specified by $int2, can be used to override the default price set in shopping.dat. Example from clothes.scm;- 09A9: assign_buyable_item "TSHIRTLOCGREY" to_id $1002108C8: reset_buyable_item $10021 price_to 15 And another;- 0393: actor $actorID perform_anim "ANIM" at $var times_normal_rate Makes the actor perform the specified animation at $var times the normal speed. Actor must already be peforming the animation, so use opcode 0611 to check it first. Another;- 097C: link_wav $int(1-4) to_object $objectID EDIT: is it just me or does opcode 03AA: no longer work in SA (play_suspect_last_seen_at)? Or is there a glitch in the Vigilante code? Edited January 23, 2006 by DeeZire Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now