Difference between revisions of "01C3"

From GTAMods Wiki
Jump to navigation Jump to search
m (Example)
Line 13: Line 13:
 
: Point
 
: Point
 
:: CleanupCar( [''car handle''] )
 
:: CleanupCar( [''car handle''] )
: raw binary
+
: raw bytes
 
:: <code>C3 01 [data type] [''car handle'']</code>
 
:: <code>C3 01 [data type] [''car handle'']</code>
 
'''Parameter'''
 
'''Parameter'''
Line 21: Line 21:
 
: [[MARK_CAR_AS_NO_LONGER_NEEDED]]
 
: [[MARK_CAR_AS_NO_LONGER_NEEDED]]
  
This opcode will mark the vehicle as no longer needed. The vehicle will no longer be remembered by the game. If you want your vehicle to disappear after it is destroyed or after you are finished with it, use this opcode to make it into a random traffic vehicle so it will disappear like a traffic vehicle. This opcode is only needed when the vehicle is spawned ([[00A5]], etc.) or grabbed from the streets ([[0327]], etc.). This opcode is not needed for any other cases. Using this with disregard will cause problems with other scripts trying to recognize the same vehicle.
+
This opcode will mark the vehicle as no longer needed. The vehicle will no longer be remembered by the game and treated similarly to traffic vehicles. If you want your vehicle to disappear after it is destroyed or after you are finished with it, use this opcode to make it into a traffic vehicle so it will disappear like a traffic vehicle. This opcode should be used if the vehicle is spawned ([[00A5]], etc.) or grabbed from the streets ([[0327]], etc.). This opcode should not be used for other cases ([[03C0]], etc.). Using this with disregard will cause problems with other scripts trying to recognize a nonexistent vehicle.
 
 
  
 
{{Icon|LCS}}
 
{{Icon|LCS}}
Line 35: Line 34:
  
 
== Example ==
 
== Example ==
The following example, using Sanny Builder, will spawn a Pony in front of the player character. A number is displayed on the screen to show the existence of the Pony, 0 means it does not exist while 1 means it does. Pressing the ACTION key will mark the Pony as no longer needed. If left alone, the Pony will disappear like normal traffic vehicles.
+
The following example, using Sanny Builder, will spawn a Pony close to the player character. A number is displayed on the screen to show the existence of the Pony; 0 means it does not exist and 1 means it does. Pressing the CAMERA key will mark the Pony as no longer needed. After that, if left alone, the Pony will disappear like normal traffic vehicles.
 
<source lang="scm">
 
<source lang="scm">
 +
// set constants
 +
const
 +
SPAWNED_CAR = 0@
 +
X_POS = 1@
 +
Y_POS = 2@
 +
Z_POS = 3@
 +
PONY_EXISTS = 4@
 +
CAR_MODEL = #PONY
 +
end
 +
 
// spawn pony
 
// spawn pony
Model.Load(#PONY)
+
0247: request_model CAR_MODEL
 
repeat
 
repeat
 
     wait 0
 
     wait 0
 
     if
 
     if
         #PONY.Available()
+
         0248:  model CAR_MODEL available
 
     then
 
     then
 
         break
 
         break
 
     end
 
     end
 
until false
 
until false
Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)
+
00A0: store_actor $PLAYER_ACTOR position_to X_POS Y_POS Z_POS
2@ += 3.0
+
X_POS += 4.0
Car.Create(0@, #PONY, 1@, 2@, 3@)
+
00A5: SPAWNED_CAR = create_car CAR_MODEL at X_POS Y_POS Z_POS
Model.Destroy(#PONY)
+
0249: release_model CAR_MODEL
1@ = 1 // pony exists
+
PONY_EXISTS = true // pony exists
  
 
// check the existence of and remove references to pony
 
// check the existence of and remove references to pony
Line 57: Line 66:
 
     wait 10
 
     wait 10
 
     if  
 
     if  
         00E1:  key_pressed 0 4 // action key
+
         00E1:  key_pressed 0 13 // camera key
 
     then
 
     then
         Car.RemoveReferences(0@)
+
         01C3: remove_references_to_car SPAWNED_CAR
 
     end
 
     end
 
     if
 
     if
         Car.Wrecked(0@)
+
         0119:  car SPAWNED_CAR wrecked
 
     then
 
     then
         1@ = 0 // pony does not exist
+
         PONY_EXISTS = false // pony does not exist
 
     end
 
     end
 
     // display existence of pony as a number onscreen
 
     // display existence of pony as a number onscreen
     01E5: text_1number_highpriority 'NUMBER' 1@ 10 ms 1
+
     01E5: text_1number_highpriority 'NUMBER' PONY_EXISTS 10 ms 1
 
end
 
end
 
</source>
 
</source>

Revision as of 20:47, 13 August 2011

GTA III Vice City San Andreas


Description

Removes references to a vehicle

Syntaxes

Sanny Builder
01C3: [car handle]
Car.RemoveReferences( [car handle] )
Mission Builder
01C3: [car handle]
GTAMA
cleanup_car [car handle]
Point
CleanupCar( [car handle] )
raw bytes
C3 01 [data type] [car handle]

Parameter

[car handle]
The handle of a vehicle; vehicle does not have to exist

Native analog

MARK_CAR_AS_NO_LONGER_NEEDED

This opcode will mark the vehicle as no longer needed. The vehicle will no longer be remembered by the game and treated similarly to traffic vehicles. If you want your vehicle to disappear after it is destroyed or after you are finished with it, use this opcode to make it into a traffic vehicle so it will disappear like a traffic vehicle. This opcode should be used if the vehicle is spawned (00A5, etc.) or grabbed from the streets (0327, etc.). This opcode should not be used for other cases (03C0, etc.). Using this with disregard will cause problems with other scripts trying to recognize a nonexistent vehicle.

Liberty City Stories


Equivalent opcode: 01C8
For the usage of 01C3 in the script, see 01BE.

Vice City Stories


Equivalent opcode: 0113

Example

The following example, using Sanny Builder, will spawn a Pony close to the player character. A number is displayed on the screen to show the existence of the Pony; 0 means it does not exist and 1 means it does. Pressing the CAMERA key will mark the Pony as no longer needed. After that, if left alone, the Pony will disappear like normal traffic vehicles.

// set constants
const
SPAWNED_CAR = 0@
X_POS = 1@
Y_POS = 2@
Z_POS = 3@
PONY_EXISTS = 4@
CAR_MODEL = #PONY
end

// spawn pony
0247: request_model CAR_MODEL
repeat
    wait 0
    if
        0248:   model CAR_MODEL available
    then
        break
    end
until false
00A0: store_actor $PLAYER_ACTOR position_to X_POS Y_POS Z_POS
X_POS += 4.0
00A5: SPAWNED_CAR = create_car CAR_MODEL at X_POS Y_POS Z_POS
0249: release_model CAR_MODEL
PONY_EXISTS = true  // pony exists

// check the existence of and remove references to pony
while true
    wait 10
    if 
        00E1:   key_pressed 0 13  // camera key
    then
        01C3: remove_references_to_car SPAWNED_CAR
    end
    if
        0119:   car SPAWNED_CAR wrecked
    then
        PONY_EXISTS = false  // pony does not exist
    end
    // display existence of pony as a number onscreen
    01E5: text_1number_highpriority 'NUMBER' PONY_EXISTS 10 ms 1
end

Keywords

remove, cleanup, reference, references, car, vehicle