setHit: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "{{uc:{{PAGENAME}}}}" to "")
m (Text replacement - "{{Link|:Category:" to "{{Link|Category:")
 
(64 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Command|Comments=
{{RV|type=command
____________________________________________________________________________________________


| arma2 |Game name=
|game1= arma2
|version1= 1.00


|1.00|Game version=
|game2= arma2oa
|version2= 1.50


|arg= local |Multiplayer Arguments=
|game3= tkoh
|version3= 1.00


|eff= global |Multiplayer Effects=
|game4= arma3
____________________________________________________________________________________________
|version4= 0.50


| Set damage on a part of an object.
|arg= local
{{Informative | Some part names are in Czech; see [[Translations|translation table]]. }} |DESCRIPTION=
____________________________________________________________________________________________


| object [[setHit]] [part, damage, useEffects] |SYNTAX=
|eff= global


|p1 = [part, damage, useEffects]: [[Array]] |Parameter1=
|gr1= Object Manipulation


|p2= object: [[Object]] - [[local]] object|PARAMETER2=
|descr=
{{{!}} class="wikitable float-right align-center-col-2"
{{!}}+
! {{Link|Category: Event Handlers|Event Handler}}
! Triggered
{{!}}-
{{!}} {{hl|Hit}}
{{!}} {{Icon|unchecked}}
{{!}}-
{{!}} {{hl|HandleDamage}}
{{!}} {{Icon|unchecked}}
{{!}}-
{{!}} {{hl|Killed}}
{{!}} {{Icon|checked}}
{{!}}-
{{!}} {{hl|MPKilled}}
{{!}} {{Icon|checked}}
{{!}}}


|p3= part: [[String]] - Name of the part ([[Named_Selection|selection]] name) |Parameter3=
Set damage on a part of an object.
{{Feature|informative|Some part names are in Czech; see the [[ArmA: Armed Assault: Selection Translations|translation table]].}}


|p4= damage: [[Number]] - Damage value ranging 0..1, 0 being fully functional, 1 being destroyed |Parameter4=
|s1= object [[setHit]] [part, damage, useEffects, killer, instigator, breakRotor]


|p5 = {{GVI|arma3|1.67}} useEffects: [[Boolean]] - (Optional, default [[true]]) [[false]] to skip destruction effects |Parameter5=
|p1= object: [[Object]] - [[local]] object


| [[Nothing]] |RETURNVALUE=
|p2= part: [[String]] - name of the part ([[Named_Selection|selection]] name)
____________________________________________________________________________________________


|x1= <code>[[vehicle]] [[player]] [[setHit]] ["motor", 1];</code> |EXAMPLE1=
|p3= damage: [[Number]] - damage value ranging 0..1, 0 being fully functional, 1 being destroyed


|x2= <code>[[vehicle]] [[player]] [[setHit]] ["mala vrtule", 0.95];</code> |EXAMPLE2=
|p4= useEffects: [[Boolean]] - (Optional, default [[true]]) [[false]] to skip destruction effects
|p4since= arma3 1.68


|x3= <code>[[if]] ([[local]] _heli) [[then]] {
|p5= killer: [[Object]] - (Optional, default [[objNull]]) the entity that caused the damage. If the damage leads to the death of the unit, the killer will be used as the object that caused the kill.
_heli [[setHit]] ["velka vrtule", 0];
* it can be used to show "killed by player" in debriefing statistics and kill messages in the chat (if death messages are enabled).
} [[else]] {
* it will alter the killer's [[rating]] as if the killer directly killed the unit.
[[hint]] ("Vehicle " + [[str]] _heli + " must be local to this machine to do that!");
* it will be listed as <sqf inline>_killer</sqf> parameter in the [[Arma 3: Event Handlers#Killed|Killed]] event handler.
};</code> |EXAMPLE3=
|p5since= arma3 2.08
____________________________________________________________________________________________


| [[getHit]], [[getHitPointDamage]], [[setHitPointDamage]], [[damage]], [[setDamage]], [[setFuel]], [[setAmmo]], [[getHitIndex]], [[setHitIndex]] |SEEALSO=
|p6= instigator: [[Object]] - (Optional, default [[objNull]]) the person that instigated the damage.
}}
* if a tank is a killer, the tank gunner that pulled the trigger is instigator
* it will be listed as <sqf inline>_instigator</sqf> parameter in the [[Arma 3: Event Handlers#Killed|Killed]] event handler.
|p6since= arma3 2.12
 
|p7= breakRotor: [[Boolean]] - (Optional, default [[false]]) if the hitpoint is rotor on a helicopter, [[true]] will break the rotor as well as play corresponding sound if 'useEffects' is also [[true]].
|p7since= arma3 2.18
 
|r1= [[Nothing]]


<h3 style='display:none'>Notes</h3>
|x1= <sqf>vehicle player setHit ["motor", 1];</sqf>
<dl class='command_description'>
<!-- Note Section BEGIN -->


<dd class="notedate">
|x2= <sqf>vehicle player setHit ["mala vrtule", 0.95];</sqf>
<dt class="note">[[User:Deadfast|Deadfast]]
<dd class="note">Damaging specific parts of the vehicle will not update its overall [[damage]] value (as of v1.03):
<code>[[player]] [[setHit]] ["hands", 0.9];
[[hint]] [[str]] ([[damage]] [[player]]); {{cc|will return 0}}</code>


<dd class="notedate">
|x3= <sqf>
<dt class="note">[[User:DenV|denisko.redisko]]
if (local _heli) then
<dd class="note">Direct use of the names of sections of the model is likely a bad practice, and will not work on some addons.
{
So instead:
_heli setHit ["velka vrtule", 0];
<code>_MH60S [[setHit]] ["elektronika", _hit];</code>
}
should be used:
else
<code>_MH60S [[setHit]] [<nowiki/>[[getText]] ([[configFile]] >> "cfgVehicles" >> "MH60S" >> "HitPoints" >> "HitAvionics" >> "name"), _hit];</code>
{
</dl>
hint ("Vehicle " + str _heli + " must be local to this machine to do that!");
};
</sqf>


<h3 style='display:none'>Bottom Section</h3>
|seealso= [[getHit]] [[getHitPointDamage]] [[setHitPointDamage]] [[damage]] [[setDamage]] [[setFuel]] [[setAmmo]] [[getHitIndex]] [[setHitIndex]] [[forceHitPointsDamageSync]]
}}


[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
{{Note
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
|user= Deadfast
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
|timestamp= 20090824110900
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
|text= Damaging specific parts of the vehicle will not update its overall [[damage]] value (as of v1.03):
<sqf>
player setHit ["hands", 0.9];
hint str (damage player); // will return 0
</sqf>
|game= arma2
}}


<!-- CONTINUE Notes -->
{{Note
<dl class="command_description">
|user= DenV
<dd class="notedate">Posted on September 11, 2018 - 19:37 (UTC)</dd>
|timestamp= 20110329142500
<dt class="note">[[User:HazJ|HazJ]]</dt>
|text= Direct use of the names of sections of the model is likely a bad practice, and will not work on some addons.
<dd class="note">
So instead:
You can use [[getHit]] if you are using 1.64 EOL version.
<sqf>_MH60S setHit ["elektronika", _hit];</sqf>
</dd>
should be used:
</dl>
<sqf>_MH60S setHit [getText (configFile >> "cfgVehicles" >> "MH60S" >> "HitPoints" >> "HitAvionics" >> "name"), _hit];</sqf>
<!-- DISCONTINUE Notes -->
}}

Latest revision as of 14:52, 16 October 2024

Hover & click on the images for description

Description

Description:
Event Handler Triggered
Hit Unchecked
HandleDamage Unchecked
Killed Checked
MPKilled Checked

Set damage on a part of an object.

Some part names are in Czech; see the translation table.
Groups:
Object Manipulation

Syntax

Syntax:
object setHit [part, damage, useEffects, killer, instigator, breakRotor]
Parameters:
object: Object - local object
part: String - name of the part (selection name)
damage: Number - damage value ranging 0..1, 0 being fully functional, 1 being destroyed
since Arma 3 logo black.png1.68
useEffects: Boolean - (Optional, default true) false to skip destruction effects
since Arma 3 logo black.png2.08
killer: Object - (Optional, default objNull) the entity that caused the damage. If the damage leads to the death of the unit, the killer will be used as the object that caused the kill.
  • it can be used to show "killed by player" in debriefing statistics and kill messages in the chat (if death messages are enabled).
  • it will alter the killer's rating as if the killer directly killed the unit.
  • it will be listed as _killer parameter in the Killed event handler.
since Arma 3 logo black.png2.12
instigator: Object - (Optional, default objNull) the person that instigated the damage.
  • if a tank is a killer, the tank gunner that pulled the trigger is instigator
  • it will be listed as _instigator parameter in the Killed event handler.
since Arma 3 logo black.png2.18
breakRotor: Boolean - (Optional, default false) if the hitpoint is rotor on a helicopter, true will break the rotor as well as play corresponding sound if 'useEffects' is also true.
Return Value:
Nothing

Examples

Example 1:
vehicle player setHit ["motor", 1];
Example 2:
vehicle player setHit ["mala vrtule", 0.95];
Example 3:
if (local _heli) then { _heli setHit ["velka vrtule", 0]; } else { hint ("Vehicle " + str _heli + " must be local to this machine to do that!"); };

Additional Information

See also:
getHit getHitPointDamage setHitPointDamage damage setDamage setFuel setAmmo getHitIndex setHitIndex forceHitPointsDamageSync

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
Deadfast - c
Posted on Aug 24, 2009 - 11:09 (UTC)

Damaging specific parts of the vehicle will not update its overall damage value (as of v1.03):

player setHit ["hands", 0.9]; hint str (damage player); // will return 0

DenV - c
Posted on Mar 29, 2011 - 14:25 (UTC)
Direct use of the names of sections of the model is likely a bad practice, and will not work on some addons. So instead:
_MH60S setHit ["elektronika", _hit];
should be used:
_MH60S setHit [getText (configFile >> "cfgVehicles" >> "MH60S" >> "HitPoints" >> "HitAvionics" >> "name"), _hit];