Spawn a vehicle
Jump to navigation
Jump to search
How to spawn a car using...
... opcode 00A5
Here's the basic example of creating a vehicle right before a player using 00A5 opcode. You need to press the Action button to create a vehicle.
{$CLEO .cs} 0000: NOP :CARSPAWN_2 0001: wait 250 ms 00D6: if 0256: player $PLAYER_CHAR defined 004D: jump_if_false @CARSPAWN_2 00D6: if 00E1: player 0 pressed_key 4 004D: jump_if_false @CARSPAWN_2 0247: load_model #INFERNUS :CARSPAWN_45 8248: not model #INFERNUS available 004D: jump_if_false @CARSPAWN_68 0001: wait 0 ms 0002: jump @CARSPAWN_45 :CARSPAWN_68 04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.0 4.0 1.4 0395: clear_area 1 at 0@ 1@ 2@ radius 3.0 00A5: 3@ = create_car #INFERNUS at 0@ 1@ 2@ 01C3: remove_references_to_car 3@ 0249: release_model #INFERNUS 0001: wait 2000 ms 0002: jump @CARSPAWN_2
You may learn different ways of loading a model reading this article.
... memory hack
This code also creates a vehicle before a player.
{$CLEO .cs} 0000: NOP :CARSPAWN_2 0001: wait 250 ms 00D6: if 0256: player $PLAYER_CHAR defined 004D: jump_if_false @CARSPAWN_2 00D6: if 00E1: player 0 pressed_key 4 004D: jump_if_false @CARSPAWN_2 0AA5: call 0x0043A0B6 num_params 1 pop 1 #INFERNUS 0001: wait 2000 ms 0002: jump @CARSPAWN_2
It works same as the example above. The called procedure does all needed stuff (model loading, coords calculation) itself. But it only works on the version 1.0 US due to the fact the memory addresses differ on various game versions.
... opcode 014B
This is an example of creating a parked vehicle. Note that once created this vehicle will always be present in your game if you save.
{$CLEO .cs} 014B: 0@ = init_parked_car_generator #HOTRING color -1 -1 1 alarm 0 door_lock 0 0 10000 at -2335.069 -1613.274 483.7184 angle 0.0 014C: set_parked_car_generator 0@ cars_to_generate_to 101 0A95: enable_thread_saving 0A93: end_custom_thread