deleteVehicle: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (2.16 -> 2.18)
 
(100 intermediate revisions by 22 users not shown)
Line 1: Line 1:
[[Category:Scripting Commands|DELETEVEHICLE]]
{{RV|type=command
[[Category:Scripting Commands OFP 1.97|DELETEVEHICLE]]
[[Category:Scripting Commands OFP 1.46|DELETEVEHICLE]]
[[Category:Scripting Commands ArmA|DELETEVEHICLE]]


|game1= ofp
|version1= 1.34


<h2 style="color:#000066">'''deleteVehicle ''object'''''</h2>
|game2= ofpe
|version2= 1.00


|game3= arma1
|version3= 1.00


'''Operand types:'''
|game4= arma2
|version4= 1.00


'''object:''' [[Object]]
|game5= arma2oa
|version5= 1.50


'''Type of returned value:'''
|game6= tkoh
|version6= 1.00


[[Nothing]]
|game7= arma3
|version7= 0.50


'''Compatibility:'''
|arg= global


Added in version '''1.34'''
|eff= global


'''Description:'''
|gr1= Object Manipulation


Delete any unit or vehicle.
|descr= Deletes an object. Only objects inserted in the mission editor and objects created during the game's progress can be deleted by this command. Terrain objects and players cannot be deleted.
{{Feature|informative|The actual object deletion, when the object becomes [[objNull]], happens on the next frame after command execution, but there are some object modifications that happen immediately. For example if the object is a unit in a group, it immediately becomes groupless (<sqf inline>isNull group _unit; // true</sqf>).}}


Only vehicles inserted in editor or created during mission can be deleted.
|pr= {{Feature|warning|Use [[deleteVehicleCrew]] to delete units that are in a vehicle! Do '''not''' use this command for a vehicle's [[crew]] members as it may lead to all sorts of bugs and ghost objects left on the map.}}


Player unit cannot be deleted.
|s1= [[deleteVehicle]] object


|p1= object: [[Object]]


'''Example:'''
|r1= [[Nothing]]


'''deleteVehicle''' tankOne
|s2= [[deleteVehicle]] objects
|s2since= arma3 2.18


|p21= objects: [[Array]] of [[Object]]s


'''Comments:'''
|r2= [[Nothing]]


(1) Since this function will not delete a player unit, a useful multiplayer application is the removal of AI created by players leaving the game.  If you run '''deleteVehicle''' for every playable soldier, the AI units will be removed.
|x1= <sqf>deleteVehicle _house1;</sqf>


( 2) If ''unit1'' is a living unit that is currently located inside a vehicle then<br>
|x2= Deleting a vehicle with crew:
'''deleteVehicle''' ''unit1''<br>
<sqf>
will result in some very strange, and unwelcome, things happening.  A safe way to delete ''unit1'' if it is, or might be, inside a vehicle is:
// might want to make sure that the car is local
{ car deleteVehicleCrew _x } forEach crew car;
deleteVehicle car;
</sqf>


[[unassignVehicle]] ''unit1''<br>
|seealso= [[deleteVehicleCrew]] [[createUnit]] [[createVehicleLocal]] [[createVehicle]] [[Arma_3:_Event_Handlers#Deleted | Deleted EH]]
''unit1'' [[setPos]] [0,0,0]<br>
}}
'''deleteVehicle''' ''unit1''
 
(3) If you use '''deleteVehicle''' ''unit1'' you cannot use ''unit1'' later in commands like '''[[if]] [[alive]]''' ''unit1'' ''': hint "he's alive"''', it will probably cause a Crash to Desktop. So you have to ask '''[[if]] [[isNull]]''' ''unit1'' ''': [[exit]]''' before using any command (this goes especially for addon scripts).
 
'''Edit:'''  This may be an issue with addons.  It is not a problem for a standard mission.
 
The line:<br>
[[if]] ([[alive]] ''unit1'') then {[[hint]]"He is alive"} [[else]] {[[hint]]"Oh no he's not"}<br>
works just fine for living units that have been deleted in a standard mission.

Latest revision as of 15:01, 8 February 2024

Hover & click on the images for description

Description

Description:
Deletes an object. Only objects inserted in the mission editor and objects created during the game's progress can be deleted by this command. Terrain objects and players cannot be deleted.
The actual object deletion, when the object becomes objNull, happens on the next frame after command execution, but there are some object modifications that happen immediately. For example if the object is a unit in a group, it immediately becomes groupless (isNull group _unit; // true).
Problems:
Use deleteVehicleCrew to delete units that are in a vehicle! Do not use this command for a vehicle's crew members as it may lead to all sorts of bugs and ghost objects left on the map.
Groups:
Object Manipulation

Syntax

Syntax:
deleteVehicle object
Parameters:
object: Object
Return Value:
Nothing

Alternative Syntax

Syntax:
deleteVehicle objects
Parameters:
objects: Array of Objects
Return Value:
Nothing

Examples

Example 1:
deleteVehicle _house1;
Example 2:
Deleting a vehicle with crew:
// might want to make sure that the car is local { car deleteVehicleCrew _x } forEach crew car; deleteVehicle car;

Additional Information

See also:
deleteVehicleCrew createUnit createVehicleLocal createVehicle Deleted EH

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note