POLPOX – User

From Bohemia Interactive Community
Jump to navigation Jump to search
(→‎ParticleArray: Add tweak and fix.)
m (Fix flag in darkmode + Some formatting)
 
(24 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{| cellpadding="0" style="float: right; margin-left: 1em; margin-bottom: 0.5em;"
{| cellpadding="0" class="float-right"
| <div style="box-shadow: 0 0 0.5em 0.125em rgba(0,0,0,0.25); display: flex; margin-right: 1em; height: 2em; width: 3em;">
| <div style="background-color: #FFF; box-shadow: 0 0 0.5em 0.125em rgba(0,0,0,0.25); display: flex; margin-right: 1em; height: 2em; width: 3em;">
<div style="background-color: #BC002D; border-radius: 1.2em; margin: auto; height: 1.2em; width: 1.2em"></div>
<div style="background-color: #BC002D; border-radius: 1.2em; margin: auto; height: 1.2em; width: 1.2em"></div>
</div>
</div>
|{{User ja}}
| {{UserLanguage|ja}}
|-
|-
|
|
|{{User en-2}}
| {{UserLanguage|en|2}}
|}<!--Stolen from Lou's page--><!-- /I know what you did… 👀/ -->
|}<!--Stolen from Lou's page--><!-- /I know what you did… 👀/ -->
{|
{| class="align-center" style="min-width: 40em"
!colspan="3"|Where I live
! colspan="3" | Where I live
|-
|-
|[https://steamcommunity.com/id/polpox/ Steam]
| [https://steamcommunity.com/id/polpox/ Steam]
|Twitter([https://twitter.com/polpox_avenger/ JA]/[https://twitter.com/polpoxEN/ EN])
| Twitter([https://twitter.com/polpox_avenger/ JA]/[https://twitter.com/polpoxEN/ EN])
|[https://forums.bohemia.net/profile/892104-polpox/ Forums]
| [https://forums.bohemia.net/profile/892104-polpox/ Forums]
|-
|-
|colspan="3"|[https://polpoxarma.blogspot.com/2014/09/blog-post.html#english Also cursed biography on my blog]
| colspan="3" | [https://polpoxarma.blogspot.com/2014/09/blog-post.html#english Also cursed biography on my blog]
|}
== My very own sandbox (aka Idea for contribute to the wiki) ==
=== April Fool things by Bohemia Interactive ===
{| class="bikitable"
! 2014
| [[Arma 3 Karts]] ([https://www.bohemia.net/blog/bohemia-interactive-presents-arma-3-dlc-strategy-releases-arma-3-karts-dlc It eventually became true])
|-
! 2015
| Nothing?
|-
! 2016
| [https://www.bohemia.net/blog/bohemia-interactive-deploys-arma-eau-de-combat “Arma” Eau De Combat]
|-
! 2017
| Nothing due to it being a Saturday.
|-
! 2018
| Nothing due to it being a Sunday.
|-
! 2019
| [https://www.bohemia.net/blog/bohemia-interactive-announces-bohemia-sandbox-theme-park Bohemia Sandbox Theme Park]
|-
! 2020
| More to come... Soon&trade;
|-
! ...
| style="text-align: center" | ...
|-
|-
! <s>2035</s>
| colspan="3" | [https://arma3.com/news/community-profile-21-polpox Community Profile]
| <s>Launches Operation Magnitude</s>
|}
|}


===Missing events in [[Armaverse Timeline]]===
*Red Tiger Coup
*<s>Kavala Coup</s>
*<s>Jerusalem Ceasefire</s>
*First Contact events (Which aren't canon though)
**June 15 2039, Electron-39 starts
**Olom Meteor Strike in 2020 (Coverup news)
**July 7 2039, Electron-39 supposed to be ended
Maybe there's more
=== Easter eggs in BI games ===
→ [[:Category:Easter Eggs]]
===Is DLC Restricted?===
->[[Arma_3_DLC_Restrictions]]¯\_(ツ)_/¯
=== Obsolete → Outdated template ===
{{outdated|arma|1.15|See [[Template:outdated]] 😉}}
===Missile Components===
Kind of personal memo. Useful when you're trying to do [[setMissileTarget]] and [[setMissileTargetPos]]?<BR>
Looks like SACLOS one (manualControl = 1) is the only component to do setMissileTargetPos.<BR>
See Also: [[Arma_3_Sensors_config_reference#componentType|Component Types]], [[Arma_3_Sensors#Precision_guided_munitions|Munition guidance list]]
{| class="wikitable sortable"
|+Missile Components list
|-
!classname
!Cone (degrees)
!Components
!Air Target Range (m)
!Ground Target Range (m)
!Max lock speed (km/h)
!Used in
|-
|MissileCore
|50
|SACLOS
|N/A
|N/A
|0
|N/A
|-
|ammo_Missile_CruiseBase
|360
|Data Link
|0?-32000
|0?-32000
|1
|N/A
|-
|rowspan="2"|ammo_Missile_CannonLaunchedBase
|rowspan="2"|50
|AI Manual
|500-8000
|500-8000
|rowspan="2"|0
|rowspan="2"|N/A
|-
|SACLOS
|N/A
|N/A
|-
|rowspan="2"|ammo_Bomb_LaserGuidedBase
|rowspan="2"|120
|NV
|500-5000
|500-5000
|rowspan="2"|30
|rowspan="2"|N/A
|-
|Laser
|0?-5000
|0?-5000
|-
|Laserbeam
|0
|SACLOS
|N/A
|N/A
|0
|Designator Batteries
|-
|rowspan="3"|M_PG_AT
|rowspan="3"|30
|IR
|500-4000
|500-4000
|rowspan="3"|35
|rowspan="3"|DAGR<BR>DAGR<BR>DAGR
|-
|Laser
|0?-4000
|0?-4000
|-
|SACLOS
|N/A
|N/A
|-
|rowspan="2"|M_AT
|rowspan="2"|30
|IR
|500-4000
|500-4000
|rowspan="2"|35
|rowspan="2"|DAR<BR>DAR<BR>DAR
|-
|Laser
|0?-4000
|0?-4000
|-
|M_NLAW_AT_F
|5
|Visual
|500-800
|500-800
|35
|PCML Missile
|-
|rowspan="3"|M_Scalpel_AT
|rowspan="3"|30
|IR
|500-6000
|500-6000
|rowspan="3"|55
|rowspan="3"|Scalpel E2<BR>Scalpel E2<BR>Scalpel E2<BR>Scalpel<BR>Scalpel<BR>Scalpel 3x<BR>Scalpel 4x
|-
|Laser
|0?-6000
|0?-6000
|-
|SACLOS
|N/A
|N/A
|-
|rowspan="3"|M_Scalpel_AT_hidden
|rowspan="3"|30
|IR
|500-6000
|500-6000
|rowspan="3"|55
|rowspan="3"|Scalpel E2
|-
|Laser
|0?-6000
|0?-6000
|-
|SACLOS
|N/A
|N/A
|-
|rowspan="3"|Bo_Air_LGB
|rowspan="3"|30
|IR
|500-6000
|500-6000
|rowspan="3"|55
|rowspan="3"|N/A
|-
|Laser
|0?-6000
|0?-6000
|-
|SACLOS
|N/A
|N/A
|-
|rowspan="3"|Bo_Air_LGB_hidden
|rowspan="3"|30
|IR
|500-6000
|500-6000
|rowspan="3"|55
|rowspan="3"|N/A
|-
|Laser
|0?-6000
|0?-6000
|-
|SACLOS
|N/A
|N/A
|-
|rowspan="2"|Bo_GBU12_LGB
|rowspan="2"|120
|NV
|500-5000
|500-5000
|rowspan="2"|30
|rowspan="2"|GBU-12
|-
|Laser
|0?-5000
|0?-5000
|-
|rowspan="2"|Bo_GBU12_LGB_MI10
|rowspan="2"|120
|NV
|500-5000
|500-5000
|rowspan="2"|30
|rowspan="2"|GBU-12
|-
|Laser
|0?-5000
|0?-5000
|-
|rowspan="2"|Bomb_03_F
|rowspan="2"|120
|NV
|500-5000
|500-5000
|rowspan="2"|30
|rowspan="2"|LOM-250G<BR>KAB 250 LGB x1<BR>KAB 250 LGB x1
|-
|Laser
|0?-5000
|0?-5000
|-
|rowspan="2"|Bomb_04_F
|rowspan="2"|120
|NV
|500-5000
|500-5000
|rowspan="2"|30
|rowspan="2"|GBU-12<BR>GBU 12 LGB x1<BR>GBU 12 LGB x1<BR>GBU 12 LGB x2
|-
|Laser
|0?-5000
|0?-5000
|-
|M_Titan_AA
|4
|IR
|500-3500
|500-2500
|250
|Titan AA Missile
|-
|M_Titan_AA_static
|4
|IR
|500-3500
|500-2500
|250
|Zephyr
|-
|M_Titan_AA_long
|30
|IR
|500-4500
|500-3500
|500
|Titan Missile<BR>Titan Missile
|-
|M_Zephyr
|40
|Radar
|0?-10000
|0?-5000
|835
|Zephyr<BR>Zephyr<BR>Zephyr
|-
|M_Zephyr_Mi06
|40
|Radar
|0?-10000
|0?-5000
|835
|N/A
|-
|M_Zephyr_air
|40
|Radar
|0?-10000
|0?-5000
|835
|N/A
|-
|M_Air_AA
|90
|IR
|500-6000
|500-5000
|600
|ASRAAM<BR>ASRAAM<BR>ASRAAM<BR>ASRAAM
|-
|M_Air_AA_MI02
|90
|IR
|500-6000
|500-5000
|600
|ASRAAM<BR>ASRAAM
|-
|M_Air_AA_MI06
|90
|IR
|500-6000
|500-5000
|600
|ASRAAM
|-
|rowspan="2"|M_Titan_AT
|rowspan="2"|4.5
|IR
|500-2000
|500-2000
|rowspan="2"|35
|rowspan="2"|Titan AT Missile
|-
|SACLOS
|N/A
|N/A
|-
|M_Titan_AP
|4.5
|SACLOS
|N/A
|N/A
|35
|Titan AP Missile
|-
|rowspan="2"|M_Titan_AT_static
|rowspan="2"|4.5
|IR
|500-2000
|500-2000
|rowspan="2"|35
|rowspan="2"|Titan Missile
|-
|SACLOS
|N/A
|N/A
|-
|rowspan="2"|M_Titan_AT_long
|rowspan="2"|12
|IR
|500-5000
|500-5000
|rowspan="2"|35
|rowspan="2"|Titan Missile<BR>Titan Missile<BR>Titan Missile
|-
|SACLOS
|N/A
|N/A
|-
|rowspan="2"|M_Air_AT
|rowspan="2"|4.5
|IR
|500-2000
|500-2000
|rowspan="2"|35
|rowspan="2"|AG Missiles<BR>AG Missiles
|-
|SACLOS
|N/A
|N/A
|-
|Missile_AA_04_F
|30
|IR
|500-5000
|500-4000
|445
|Falchion-22<BR>Falchion-22
|-
|Missile_AGM_02_F
|50
|IR
|500-8000
|500-8000
|55
|Macer<BR>Macer 3x<BR>Macer II AGM x1<BR>Macer II AGM x1<BR>Macer II AGM x2<BR>Macer II AGM x1<BR>Macer II AGM x2
|-
|M_Mo_82mm_AT
|40
|IR
|500-800
|500-800
|0
|N/A
|-
|M_Mo_82mm_AT_LG
|40
|Laser
|0?-800
|0?-800
|0
|N/A
|-
|M_Mo_120mm_AT
|40
|IR
|500-800
|500-800
|0
|N/A
|-
|M_Mo_120mm_AT_LG
|40
|Laser
|0?-800
|0?-800
|0
|N/A
|-
|M_Mo_155mm_AT
|40
|IR
|500-800
|500-800
|0
|N/A
|-
|M_Mo_155mm_AT_LG
|40
|Laser
|0?-800
|0?-800
|0
|N/A
|-
|M_Mo_230mm_AT_LG
|40
|Laser
|0?-800
|0?-800
|0
|N/A
|-
|M_Mo_230mm_AT
|40
|IR
|500-800
|500-800
|0
|N/A
|-
|Missile_AA_03_F
|45
|IR
|500-6000
|500-4000
|700
|Sahr-3<BR>Sahr-3
|-
|Missile_AGM_01_F
|20
|IR
|500-8000
|500-8000
|40
|Sharur<BR>KH25 AGM x1<BR>KH25 AGM x1<BR>KH25 AGM x1
|-
|rowspan="3"|M_Jian_AT
|rowspan="3"|30
|IR
|500-6000
|500-6000
|rowspan="3"|35
|rowspan="3"|Jian
|-
|Laser
|0?-6000
|0?-6000
|-
|SACLOS
|N/A
|N/A
|-
|rowspan="2"|ammo_Missile_MediumRangeAABase
|rowspan="2"|70
|Active Radar
|0?-12000
|0?-8000
|rowspan="2"|777.778
|rowspan="2"|N/A
|-
|Data Link
|0?-12000
|0?-8000
|-
|ammo_Missile_ShortRangeAABase
|180
|IR
|500-5000
|500-4000
|600
|N/A
|-
|ammo_Missile_rim116
|180
|IR
|500-5000
|500-4000
|600
|Spartan AA
|-
|rowspan="2"|ammo_Missile_rim162
|rowspan="2"|170
|Active Radar
|0?-12000
|0?-8000
|rowspan="2"|888.889
|rowspan="2"|Centurion AA
|-
|Data Link
|0?-12000
|0?-8000
|-
|rowspan="2"|ammo_Missile_AMRAAM_C
|rowspan="2"|70
|Active Radar
|0?-12000
|0?-8000
|rowspan="2"|777.778
|rowspan="2"|AMRAAM C AA x1<BR>AMRAAM C AA x1<BR>AMRAAM C AA x1<BR>AMRAAM C AA x2
|-
|Data Link
|0?-12000
|0?-8000
|-
|rowspan="2"|ammo_Missile_AMRAAM_D
|rowspan="2"|140
|Active Radar
|0?-13000
|0?-9000
|rowspan="2"|777.778
|rowspan="2"|AMRAAM D AA x1<BR>AMRAAM D AA x1<BR>AMRAAM D AA x1<BR>AMRAAM D AA x1<BR>AMRAAM D AA x2
|-
|Data Link
|0?-13000
|0?-9000
|-
|ammo_Missile_BIM9X
|180
|IR
|500-5000
|500-4000
|600
|BIM 9X AA x1<BR>BIM 9X AA x1<BR>BIM 9X AA x1<BR>BIM 9X AA x2
|-
|rowspan="2"|ammo_Missile_AA_R77
|rowspan="2"|90
|Active Radar
|0?-12000
|0?-8000
|rowspan="2"|777.778
|rowspan="2"|R77 MR AA x1<BR>R77 MR AA x1<BR>R77 MR AA x1
|-
|Data Link
|0?-12000
|0?-8000
|-
|ammo_Missile_AA_R73
|150
|IR
|500-6000
|500-4000
|600
|R73 SR AA x1<BR>R73 SR AA x1
|-
|rowspan="2"|BombCluster_01_Ammo_F
|rowspan="2"|120
|NV
|500-5000
|500-5000
|rowspan="2"|30
|rowspan="2"|CBU-85<BR>CBU-85 Cluster x1<BR>CBU-85 Cluster x2
|-
|Laser
|0?-5000
|0?-5000
|-
|rowspan="2"|BombCluster_02_Ammo_F
|rowspan="2"|120
|NV
|500-5000
|500-5000
|rowspan="2"|30
|rowspan="2"|RBK-500F<BR>RBK-500F Cluster x1
|-
|Laser
|0?-5000
|0?-5000
|-
|rowspan="2"|BombCluster_02_Cap_Ammo_F
|rowspan="2"|120
|NV
|500-5000
|500-5000
|rowspan="2"|30
|rowspan="2"|RBK-500F Cluster x1
|-
|Laser
|0?-5000
|0?-5000
|-
|rowspan="2"|BombCluster_03_Ammo_F
|rowspan="2"|120
|NV
|500-5000
|500-5000
|rowspan="2"|30
|rowspan="2"|BL778<BR>BL778 Cluster x1<BR>BL778 Cluster x2
|-
|Laser
|0?-5000
|0?-5000
|-
|rowspan="2"|M_125mm_cannon_ATGM
|rowspan="2"|50
|AI Manual
|500-8000
|500-8000
|rowspan="2"|0
|rowspan="2"|125mm ATGM
|-
|SACLOS
|N/A
|N/A
|-
|rowspan="2"|M_120mm_cannon_ATGM
|rowspan="2"|50
|AI Manual
|500-8000
|500-8000
|rowspan="2"|0
|rowspan="2"|120mm ATGM
|-
|SACLOS
|N/A
|N/A
|-
|M_120mm_cannon_ATGM_LG
|180
|Laser
|0?-8000
|0?-8000
|35
|120mm ATGM LG
|-
|M_Vorona_HEAT
|50
|SACLOS
|N/A
|N/A
|0
|9M135 HEAT Missile
|-
|M_Vorona_HE
|50
|SACLOS
|N/A
|N/A
|0
|9M135 HE Missile
|-
|M_127mm_Firefist_AT
|4
|IR
|500-4500
|500-4500
|41.6667
|FireFIST ATGM Missile
|-
|ammo_Missile_Cruise_01
|360
|Data Link
|0?-32000
|0?-32000
|1
|Cruise Missile HE
|-
|ammo_Missile_Cruise_01_Cluster
|360
|Data Link
|0?-32000
|0?-32000
|1
|Cruise Missile Cluster
|-
|rowspan="2"|ammo_Missile_LongRangeAABase
|rowspan="2"|70
|Active Radar
|0?-16000
|0?-8000
|rowspan="2"|777.778
|rowspan="2"|N/A
|-
|Data Link
|0?-16000
|0?-8000
|-
|ammo_Missile_AntiRadiationBase
|120
|Anti Radiation
|0?-16000
|0?-16000
|55
|N/A
|-
|rowspan="3"|ammo_Bomb_SmallDiameterBase
|rowspan="3"|120
|NV
|0?-8000
|0?-8000
|rowspan="3"|30
|rowspan="3"|N/A
|-
|Laser
|0?-8000
|0?-8000
|-
|IR
|500-8000
|500-8000
|-
|ammo_Missile_mim145
|120
|Active Radar
|0?-16000
|0?-8000
|777.778
|Defender AA
|-
|ammo_Missile_s750
|120
|Active Radar
|0?-16000
|0?-8000
|777.778
|Rhea AA
|-
|ammo_Missile_HARM
|120
|Anti Radiation
|0?-16000
|0?-16000
|55
|AGM-88C HARM x1<BR>AGM-88C HARM x1<BR>AGM-88C HARM x1<BR>AGM-88C HARM x1
|-
|rowspan="3"|ammo_Bomb_SDB
|rowspan="3"|120
|NV
|0?-8000
|0?-8000
|rowspan="3"|30
|rowspan="3"|GBU SDB x1<BR>GBU SDB x4
|-
|Laser
|0?-8000
|0?-8000
|-
|IR
|500-8000
|500-8000
|-
|ammo_Missile_KH58
|120
|Anti Radiation
|0?-16000
|0?-16000
|55
|KH58 ARM x1<BR>KH58 ARM x1<BR>KH58 ARM x1
|}
<code><nowiki>_data = ("isClass (_x >> 'Components' >> 'SensorsManagerComponent' >> 'Components') or (getNumber (_x >> 'manualControl') == 1)" configClasses (configFile >> "CfgAmmo") apply {
_cfg = _x ;
_mags = "getText (_x >> 'ammo') == configName _cfg" configClasses (configFile >> "CfgMagazines") ;
_launchers = ("(getNumber (_x >> 'scope') >= 1) and
{
(configName _x) isKindOf ['LauncherCore',(configFile >> 'CfgWeapons')]
}" configClasses (configFile >> "CfgWeapons")) ;
[
configName _cfg,
"true" configClasses (_cfg >> "components" >> "SensorsManagerComponent" >> "Components"),
_mags//_launchers select {(toLower (_mags#0)) in (([configName _x,true] call BIS_fnc_compatibleMagazines) apply {toLower _x})}
]
}) ;
#define PB _return pushBack
_return = [
'{| class="wikitable sortable"',
'|+Missile Components list',
'|-',
'!classname',
'!Cone (degrees)',
'!Components',
'!Air Target Range (m)',
'!Ground Target Range (m)',
'!Max lock speed (km/h)',
'!Used in'
] ;
_lastSpan = 0 ;
_addComponent = {
if !(_this isEqualTo "SACLOS") then {
PB "|" + (configName _this call _componentToString) ;
{
_minRange = getNumber (_this >> _x >> "minRange") ;
_maxRange = getNumber (_this >> _x  >> "maxRange") ;
if (_minRange == _maxRange) then {
PB "|" + "0?-" + (str _maxRange) ;
} else {
PB "|" + (str _minRange) + "-" + (str _maxRange) ;
} ;
} forEach ["AirTarget","GroundTarget"] ;
} else {
PB "|" + "SACLOS" ;
PB "|" + "N/A" ;
PB "|" + "N/A" ;
} ;
} ;
_componentToString = {
if (_this == "IRSensorComponent") exitWith {"IR"} ;
if (_this == "NVSensorComponent") exitWith {"NV"} ;
if (_this == "LaserSensorComponent") exitWith {"Laser"} ;
if (_this == "VisualSensorComponent") exitWith {"Visual"} ;
if (_this == "RadarSensorComponent") exitWith {"Radar"} ;
if (_this == "DataLinkSensorComponent") exitWith {"Data Link"} ;
if (_this == "ActiveRadarSensorComponent") exitWith {"Active Radar"} ;
if (_this == "AntiRadiationSensorComponent") exitWith {"Anti Radiation"} ;
if (_this == "AIManualSensorComponent") exitWith {"AI Manual"} ;
_this
} ;
{
_x params ["_name","_sensors","_wpn"] ;
_cfg = (configFile >> "CfgAmmo" >> _name) ;
if (getNumber (_cfg >> "manualControl") == 1) then {
_sensors pushBack "SACLOS" ;
} ;
PB "|-" ;
_rowspan = (if (count _sensors >= 2) then {format ['rowspan="%1"|',count _sensors]} else {""}) ;
PB "|" + _rowspan + _name ;
PB "|" + _rowspan + str getNumber (_cfg >> "missileLockCone") ;
_sensors#0 call _addComponent ;
PB "|" + _rowspan + str getNumber (_cfg >> "missileLockMaxSpeed") ;
if (count _wpn != 0) then {
PB "|" + _rowspan + ((_wpn apply {getText (_x >> "displayName")}) - [""] joinString "<BR>") ;
} else {
PB "|" + _rowspan + "N/A" ;
} ;
{
if (_forEachIndex != 0) then {
PB "|-" ;
_x call _addComponent ;
} ;
} forEach _sensors ;
} forEach _data ;
PB "|}" ;
copyToClipboard (_return joinString endl) ;</nowiki></code>
===Particle effects===
Useful particle effects.<BR>
See also: [[ParticleArray]]
{| class="wikitable sortable"
|-
!Type
!Note
|-
|<code>["a3\data_f\particleeffects\universal\universal.p3d",16,10,32,1],"","billboard"</code>
|Fire
|-
|<code>["a3\data_f\particleeffects\universal\universal.p3d",16,12,8,0],"","billboard"</code>
|White smoke
|-
|<code>["a3\data_f\particleeffects\universal\universal.p3d",16,13,2,0],"","billboard"</code>
|Fire spark
|-
|<code>["a3\data_f\particleeffects\universal\universal.p3d",16,14,5,1],"","billboard"</code>
|Chaff
|-
|<code>["a3\data_f\particleeffects\universal\universal.p3d",16,7,48,1],"","billboard"</code>
|Smoke 1
|-
|<code>["a3\data_f\particleeffects\universal\universal_02.p3d",8,0,40,1],"","billboard"</code>
|Smoke 2
|-
|<code>["a3\data_f\particleeffects\universal\universal.p3d",16,12,13,0],"","billboard"</code>
|Dusty smoke
|-
|<code>["a3\data_f\particleeffects\universal\universal.p3d",16,2,80,0],"","billboard"</code>
|Explosion 1
|-
|<code>["a3\data_f\particleeffects\universal\universal.p3d",16,0,32,0],"","billboard"</code>
|Explosion 2
|-
|<code>["a3\data_f\particleeffects\universal\universal.p3d",16,13,10,0],"","billboard"</code>
|Water splash
|-
|<code>["a3\data_f\particleeffects\universal\universalonsurface.p3d",16,12,8,0],"","billboard"</code>
|Water splash (surface)
|-
|<code>["a3\data_f\particleeffects\universal\stonesmall.p3d",1,0,1,1],"","spaceobject"</code>
|Stone (grey)
|-
|<code>["a3\data_f\particleeffects\pstone\pstone.p3d",1,0,1,1],"","spaceobject"</code>
|Stone (khaki)
|-
|<code>["a3\data_f\particleeffects\wallpart\wallpart.p3d",1,0,1,1],"","spaceobject"</code>
|Building shard
|-
|<code>["a3\data_f\particleeffects\universal\universal.p3d",16,12,9,0],"","billboard"</code>
|Dirt
|-
|<code>["a3\data_f\particleeffects\shard\shard.p3d",1,0,1,0],"","spaceobject"</code>
|Metal shard 1
|-
|<code>["a3\data_f\particleeffects\shard\shard2.p3d",1,0,1,0],"","spaceobject"</code>
|Metal shard 2
|-
|<code>["a3\data_f\particleeffects\shard\shard3.p3d",1,0,1,0],"","spaceobject"</code>
|Metal shard 3
|-
|<code>["a3\data_f\particleeffects\shard\shard4.p3d",1,0,1,0],"","spaceobject"</code>
|Metal shard 4
|-
|<code>["a3\data_f\particleeffects\universal\refract.p3d",1,0,1,0],"","billboard"</code>
|Refract/haze
|-
|<code>["a3\data_f\particleeffects\universal\underwatersmoke.p3d",4,0,16,1],"","billboard"</code>
|Bubbles
|-
|<code>["a3\data_f\particleeffects\universal\universal.p3d",16,13,1,0],"","billboard"</code>
|Blood
|-
|<code>["a3\data_f\particleeffects\universal\meat_ca.p3d",1,0,1,0],"","spaceobject"</code>
|Body meat
|-
|<code>["a3\data_f\particleeffects\universal\universalonsurface.p3d",16,13,3,0],"","billboard"</code>
|Water splash 2 (surface)
|-
|<code>["a3\data_f\particleeffects\universal\universal.p3d",16,12,16,0],"","billboard"</code>
|White orb
|-
|<code>["a3\data_f\particleeffects\universal\sparksball.p3d",1,0,1,0],"","spaceobject"</code>
|Spark
|-
|<code>["a3\data_f\particleeffects\wallpart\wallpart2.p3d",1,0,1,1],"","spaceobject"</code>
|Concrete debri
|-
|<code>["a3\data_f\particleeffects\universal\universal.p3d",16,15,15,1],"","billboard"</code>
|Single bubble
|}
===ctrlCreate controls===
<spoiler>* RscText
* RscTextSmall
* RscTitle
* RscProgress
* RscProgressNotFreeze
* RscPicture
* RscLadderPicture
* RscPictureKeepAspect
* RscHTML
* RscButton
* RscShortcutButton
* RscButtonSmall
* RscEdit
* RscCombo
* RscListBox
* RscListNBox
* RscXListBox
* RscTree
* RscSlider
* RscSliderH
* RscXSliderH
* RscActiveText
* RscStructuredText
* RscBackgroundStripeTop
* RscBackgroundStripeBottom
* RscToolbox
* RscHitZones
* RscXKeyShadow
* RscXKey
* RscMapControl
* RscObject
* RscLineBreak
* RscCompass
* RscWatch
* RscCheckBox
* RscDisplayUavTerminalWaypointMenu
* RscIGText
* RscIGProgress
* RscListBoxKeys
* RscBackground
* RscLine
* RscActivePicture
* RscButtonTextOnly
* RscShortcutButtonMain
* RscButtonEditor
* RscIGUIShortcutButton
* RscGearShortcutButton
* RscButtonMenu
* RscButtonMenuOK
* RscButtonMenuCancel
* RscButtonMenuSteam
* RscLoadingText
* RscIGUIListBox
* RscIGUIListNBox
* RscFrame
* RscBackgroundGUI
* RscBackgroundGUILeft
* RscBackgroundGUIRight
* RscBackgroundGUIBottom
* RscBackgroundGUITop
* RscBackgroundGUIDark
* RscBackgroundLogo
* RscMapControlEmpty
* IGUIBack
* RscVignette
* CA_Mainback
* CA_Back
* CA_Title_Back
* CA_Black_Back
* CA_Title
* CA_Logo
* CA_Logo_Small
* CA_RscButton
* CA_RscButton_dialog
* CA_Ok
* CA_Ok_image
* CA_Ok_image2
* CA_Ok_text
* ctrlCheckbox
* ctrlCheckboxBaseline
* ctrlActivePicture
* ctrlStatic
* ctrlControlsGroupNoScrollbars
* ctrlStructuredText
* RscTextMulti
* RscTreeSearch
* RscPictureAllowPixelSplit
* RscPictureKeepAspectAllowPixelSplit
* RscVideo
* RscVideoKeepAspect
* RscActivePictureKeepAspect
* RscButtonMenuBIKI
* RscTextCheckBox
* RscEditMulti
* RscEditReadOnly
* RscEditMultiReadOnly
* RscMapSignalBackground
* RscMapSignalPicture
* RscMapSignalText
* RscInterlacingScreen
* RscFeedback
* RscVehicleToggles
* RscTrafficLight
* RscButtonSearch
* RscControlsTable
* RscIGUIText
* RscOpticsText
* RscOpticsValue
* RscIGUIValue
* RscButtonMenuMain
* RscButtonTestCentered
* RscDisplayDebriefing_RscTextMultiline
* RscButtonArsenal
* RscTextNoShadow
* RscButtonNoColor
* RscToolboxButton
* ctrlStaticPicture
* ctrlStaticPictureKeepAspect
* ctrlStaticPictureTile
* ctrlStaticFrame
* ctrlStaticLine
* ctrlStaticMulti
* ctrlStaticBackground
* ctrlStaticOverlay
* ctrlStaticTitle
* ctrlStaticFooter
* ctrlStaticBackgroundDisable
* ctrlStaticBackgroundDisableTiles
* ctrlButton
* ctrlButtonPicture
* ctrlButtonPictureKeepAspect
* ctrlButtonOK
* ctrlButtonCancel
* ctrlButtonClose
* ctrlButtonToolbar
* ctrlButtonSearch
* ctrlButtonExpandAll
* ctrlButtonCollapseAll
* ctrlButtonFilter
* ctrlEdit
* ctrlEditMulti
* ctrlSliderV
* ctrlSliderH
* ctrlCombo
* ctrlComboToolbar
* ctrlListbox
* ctrlToolbox
* ctrlToolboxPicture
* ctrlToolboxPictureKeepAspect
* ctrlCheckboxes
* ctrlCheckboxesCheckbox
* ctrlProgress
* ctrlHTML
* ctrlActiveText
* ctrlActivePictureKeepAspect
* ctrlTree
* ctrlControlsGroup
* ctrlControlsGroupNoHScrollbars
* ctrlControlsGroupNoVScrollbars
* ctrlShortcutButton
* ctrlShortcutButtonOK
* ctrlShortcutButtonCancel
* ctrlShortcutButtonSteam
* ctrlXListbox
* ctrlXSliderV
* ctrlXSliderH
* ctrlMenu
* ctrlMenuStrip
* ctrlMap
* ctrlMapEmpty
* ctrlMapMain
* ctrlListNBox
* ctrlCheckboxToolbar
</spoiler>
Not even tested - I'd like to add it to [[ctrlCreate]] article after confirm
<code><nowiki>"(isNumber (_x >> 'type') isEqualTo true) and !isClass (_x >> 'controls')" configClasses (configFile) apply {"* " + configName _x} joinString endl</nowiki></code>
=ParticleArray=
'''Todo and note:'''<br>
'''-Add the section for the array from setParticleRandom, setParticleCircle, setParticleFire?'''<br>
'''-Planning remove and merge to format section, suggestions?'''<br>
'''-Make A3-compatible copy-and-paste examples'''<br>
'''-Make this article more tutorial-ish, I prefer it rather just describe only ParticleArray'''<br>
'''--If so, probably ParticleArray is not a name for the article; change it to ''Arma 3 Particle Effects: Scripting'' or something? '''<br>
<br>
{{Wikipedia|Particle_system|Particle}} is a lightweight for performance effect system that is to be used for emulate dusts, fires, explosions, and/or anything. Every explosions, dusts, fires and most of in-game 3D effects are made in this system. <br>
Particles can be generated by script commands like [[drop]], so you can also do emulate them easily.
== How to ''drop'' particles ==
{{Informative | To spawn via config, see [[Arma_3_Particle_Effects|this article]].}}
There're two ways to spawn particles: [[drop]] and ''#particlesource''.
== Format ==
===[[setParticleParams]]/[[drop]]===
<code>[
shapeName,
animationName,
type,
timerPeriod,
lifeTime,
position,
moveVelocity,
rotationVelocity,
weight,
volume,
rubbing,
size,
color,
animationPhase,
randomDirectionPeriod,
randomDirectionIntensity,
onTimer,
beforeDestroy,
object,
angle, {{cc|{{since||}}}}
onSurface, {{cc|{{since|arma3|0.74}}}}
bounceOnSurface, {{cc|{{since|arma3|0.74}}}}
emissiveColor, {{cc|{{since|arma3|1.08}}}}
vectorDir {{cc|{{since|arma3|1.92}}}}
]</code>
{| class="wikitable sortable"
! # !! parameter name !! Type !! Description
|-
| 0 || shapeName || Render || [[Image:a3_universal_ca.jpg|thumb|{{arma3}} universal particle texture, file path: ''a3\data_f\ParticleEffects\Universal\Universal'']]
[[String]] or [[Array]] format [p3dPath, n<sup>th</sup>, index, count, loop]:
* p3dPath: [[String]] - File path to the particle you desired to use.
* n<sup>th</sup>: [[Number]] - Divide the particle texture by this number. '''Warning: do not put 0, or results CTD!''' Doesn't affect anything if the particle is SpaceObject.
* index: [[Number]] - The 0-based row index that start of the animation. Doesn't affect anything if the particle is SpaceObject.
* count: [[Number]] - The animation count that the particles will use. If the number is bigger than n<sup>th</sup>, will continue to next row. Doesn't affect anything if the particle is SpaceObject.
* loop: [[Number]] - ('''Optional''', default 1) If 0, the particle will stop its animation when there's no more texture left, 1 to loop back to the start of the texture set. Doesn't affect anything if the particle is SpaceObject.
For example, to use the fire texture that shown in the picture, put this:
<code>["a3\data_f\ParticleEffects\Universal\Universal", 16, 10, 32, 1]</code>
|-
| 1 || animationName || {{n/a}} || [[String]] - Obsolete parameter that was meant to play .rtm animations, will throw "Skeletal animation not supported for particles" rpt error if not empty
|-
| 2 || type || Render || [[String]] - "Billboard" that the particle will always face to the camera, or "SpaceObject" that that particle is similar with regular objects.
|-
| 3 || timerPeriod || Script || [[Number]] - The script that defined in ''onTimer'' parameter will be executed in this time after a particle is generated, in seconds.
|-
| 4 || lifetime || Physical || [[Number]] - The life time of each particles in seconds.
|-
| 5 || position || Physical || [[Array]] format [[Position]], the center is the position of the source.
|-
| 6 || moveVelocity || Physical || [[Array]] format [[velocity]].
|-
| 7 || rotationVelocity || Physical || [[Number]] - particle rotations per second.
|-
| 8 || weight || Physical || [[Number]] - weight of the particle (kg).
|-
| 9 || volume || Physical || [[Number]] - volume of the particle in m<sup>3</sup>.
|-
| 10 || rubbing || Physical || [[Number]] - Determines how particles blown by winds (include downwash by helicopters).
|-
| 11 || size || Render || [[Array]] of [[Number]]s - particle size along its ''lifetime'', in meter.
Example: this will generate particles that 1m sized, then will increase its size to 2m and 4m when its end of life, smoothly.
<code>[1, 2, 4]</code>
|-
| 12 || color || Render || [[Array]] of [[Array]]s format [[Color]]
Example: this will generate half-transparent grey particle, then will change its color to transparent white.
<code>[[0.5, 0.5, 0.5, 0.3], [1, 1, 1, 0]]</code>
|-
| 13 || animationPhase || Render || [[Array]] of [[Number]]s - phase of the animation in time. In other words, the play speed of the selected frames for the Number of Frames to Play above.  The higher the number, the faster it plays through the animation frames. Note that if the Number of Frames to Play above is set to 1, this will have no visible effect.
Example:
<code>[2, 0]</code>
|-
| 14 || randomDirectionPeriod || Random || [[Number]] - In seconds. See below.
|-
| 15 || randomDirectionIntensity || Random || [[Number]] - How particles change its velocity randomly every once in ''randomDirectionPeriod'' seconds, in meters'''?'''
|-
| 16 || onTimer || Script || [[String]] - code executed on timer. ''Supports only .sqf path and doesn't support function?'' <code>[[private]] _particlePosition = [[_this]];</code>
|-
| 17 || beforeDestroy || Script || [[String]] - code executed right before particle's destruction. ''Supports only .sqf path and doesn't support function?'' <code>[[private]] _particlePosition = [[_this]];</code>
|-
| 18 || object || Physical || [[Object]] - If this parameter isn't [[objNull]], the particle source will be attached to the object. The source will stop to generate its particles when the distahce between the object and the source is further than [[getObjectViewDistance|Object View Distance]].
|-
| 19 || angle || Physical || [[Number]] - ('''Optional''', default 0) determines the particle's starting angle '''in radian'''. [[pi]] = 180°. {{since|||y}}
|-
| 20 || onSurface || Physical || [[Boolean]] - ('''Optional''', default [[false]]) Bounce the particles when hit the terrain surface if [[true]]. If ''circleRadius'' > 0, placing of particle on (water) surface on start of its existence. Circle radius is defined by command [[setParticleCircle]]. {{since|arma3|0.74|y}}
|-
| 21 || bounceOnSurface || Physical || [[Number]] - ('''Optional''', default -1) coef of bounce in collision with terrain surface, 0..1 for collisions, -1 to disable collision. Should be used soberly as it has a significant impact on performance. {{since|arma3|0.74|y}}
|-
| 22 || emissiveColor || Render || [[Array]] of [[Array]]s format [[Color]] - ('''Optional''', default {{Inline code|[&nbsp;]}}'''?''') Sets emissivity of the particle ('''RGB0'''). Works as lighting of particles, so must be combined with correctly set particle color. Last parameter has no meaning for now. {{since|arma3|1.08|y}}
|-
| 23 || vectorDir || Physical || [[Array]] format [[vectorDir]]'''?''' - ('''Optional''') Sets the default direction for '''SpaceObject''' particles. {{since|arma3|1.92|y}}
|}
===[[setParticleRandom]]===
<code>[
lifeTimeVar,
positionVar,
moveVelocityVar,
rotationVelocityVar,
sizeVar,
colorVar,
randomDirectionPeriodVar,
randomDirectionIntensityVar,
angleVar,
bounceOnSurfaceVar
];</code>
{| class="wikitable sortable"
! # !! parameter name !! Type !! Description
|-
| 0 || lifeTimeVar || ||
|-
| 1 || positionVar || ||
|-
| 2 || moveVelocityVar || ||
|-
| 3 || rotationVelocityVar || ||
|-
| 4 || sizeVar || ||
|-
| 5 || colorVar || ||
|-
| 6 || randomDirectionPeriodVar || ||
|-
| 7 || randomDirectionIntensityVar || ||
|-
| 8 || angleVar || ||
|-
| 9 || bounceOnSurfaceVar || ||
|}
===[[setParticleCircle]]===
<code>[
circleRadius,
circleVelocity
];</code>
{| class="wikitable sortable"
! # !! parameter name !! Type !! Description
|-
| 0 || circleRadius || ||
|-
| 1 || circleVelocity || ||
|}
===[[setParticleFire]]===
<code>[
coreIntensity,
coreDistance,
damageTime
];</code>
{| class="wikitable sortable"
! # !! parameter name !! Type !! Description
|-
| 0 || coreIntensity || ||
|-
| 1 || coreDistance || ||
|-
| 2 || damageTime || ||
|}
== Examples ==
=== Simple Smoke (Arma 3) ===
This copy and paste example generates a smoke source in front of the player.
<code>_PS1 = "#particlesource" [[createVehicleLocal]] ([[player]] [[modelToWorld]] [0,2,0]);
_PS1 [[setParticleParams]] [
["\A3\data_f\ParticleEffects\Universal\Universal_02", 8, 0, 40, 1], "", "Billboard",
1, 3, [0, 0, 0], [0, 0, 0],
1, 0.045, 0.04, 0.03,
[0.3, 1.5, 3.5],
[[0.6, 0.6, 0.6, 0.7], [1, 1, 1, 0.25], [1, 1, 1, 0.0]],
[1, 0.25],
0, 0, "", "", _PS1,
0, false, -1,
<nowiki>[[0, 0, 0, 0]]</nowiki>
];
_PS1 [[setParticleRandom]] [
1,
[0.1, 0.1, 0.1],
[0.3, 0.3, 0.8],
5, 0.5,
[0, 0, 0, 0.3],
0, 0,
pi, 0
];
_PS1 setDropInterval 0.02;</code>
== Tutorials ==


* [http://www.ofpec.com/ed_depot/index.php?action=details&id=38&page=0&cat=xyz Vektorboson's Drop Tutorial]
{{UserDefaultPage}}

Latest revision as of 12:20, 21 June 2023

This user is able to contribute with a native level of Japanese.
This user is able to contribute with an intermediate level of English.
Where I live
Steam Twitter(JA/EN) Forums
Also cursed biography on my blog
Community Profile