SYN_Vander Posted October 31, 2021 Posted October 31, 2021 (edited) So either I never understood how this works or something has changed over the years. I always though that the 'OnKilled' event works as follows for static objects (with entity): -When 50% of the individual components is destroyed the object will trigger 'OnKilled' event. However, I now realize after testing that each individual component triggers an 'OnKilled' event! This makes it hard to determine when an object is destroyed unless you know how many components makes up the object. To illustrate: In this example the object is composed of 4 tents. The counter will only trigger if it counts 4 'OnKilled' events. I destroy the object with a Damage complete command and immediately the subtitle shows, telling me that each individual tent triggered an 'OnKilled' event. Now suppose I want to know when this object is destroyed: Let's say I would want to know if 50% of the buildings is destroyed. How to do this? Visually I can count 14 separate objects, but I can't be sure. I may have to go through all the damage states... And there are many many different objects in the sim! 1) Is this the way it is supposed to work? 2) How do you guys solve this problem? Just guess the amount of components? Or is there another easier way? I already tried 'OnDamaged', but this also seems to be triggered by individual components. My goal is to automatically calculate the success counter for an objective that exists out of multiple of these objects for my mission generator. Edited October 31, 2021 by SYN_Vander
ITAF_Airone1989 Posted October 31, 2021 Posted October 31, 2021 (edited) Don't know if can help you, but for some object I did a test to check how many obcjet are "inside" - > ("real" value) They should be fairly accurate Spoiler Visible Real af_barracksround1;6000 af_barracksround2;6000 4 23 af_barrackssmall;3000 4 11 af_camptents1;2000 af_camptents2;2000 2 2 af_guardgate;500 af_hangardoubleside;15000 af_hangartent1;3000 3 3 af_hangartent2;6000 2 2 af_smalltents;1000 8 8 arf_ammo_1;1500 arf_ammo_2;1500 arf_ammo_3;1500 3 11 arf_ammo_4;1500 arf_barak;6000 arf_caponiers_1_v_5;25000 arf_caponiers_10_h_3;25000 arf_caponiers_11_h_5;25000 arf_caponiers_12_h_5;25000 arf_caponiers_2_v_5;25000 arf_caponiers_3_v_5;25000 arf_caponiers_4_r_6;25000 arf_caponiers_5_r_7;25000 arf_caponiers_6_h_4;25000 arf_caponiers_7_h_4;25000 arf_caponiers_8_h_4;25000 arf_caponiers_9_h_3;25000 arf_dugouts_1;20000 4 6 arf_dugouts_2;20000 6 8 arf_dugouts_3;20000 arf_eu_barrackblack;10000 arf_eu_barrackblack4;10000 arf_eu_barrackwhite;15000 arf_eu_barrackwhite4;15000 arf_eu_controltower;15000 arf_eu_lufthangar;20000 arf_gsm_1;1500 4 8 arf_gsm_2;1500 arf_hangararc;35000 arf_hangarbox;25000 arf_hangars_1;15000 arf_hangars_2;15000 arf_hangars_3;15000 arf_nets_1_4;1500 arf_nets_2_5;1500 arf_nets_3_3;1500 arf_saray;10000 arf_sign_forward;500 arf_sign_left;500 arf_sign_noway;500 arf_sign_right;500 arf_sklad;20000 arf_tower;15000 arf_tower_1;1500 arf_tower_2;1500 art_position_amb1;500 art_position_amb2;500 art_position_at;10000 art_position_at2;10000 art_position_big;10000 art_position_medium;10000 art_position_small;10000 bf_barbed_1;1000 bf_barbed_2;1000 bf_barbed_3;1000 bf_barbed_4;1000 bf_barbed_5;1000 bf_barbed_50;1000 bf_gunpos_1;25000 bf_gunpos_2;25000 bf_gunpos_3;50000 bf_gunpos_4;50000 bf_gunpos_5;50000 16 bf_gunpos_6;50000 bf_gunpos_7;50000 bf_gunpos_8;50000 bf_tents_1;6000 bf_tents_2;6000 4 4 bf_tents_3;1000 4 4 country_100x100_1;10000 country_100x100_2;10000 country_100x100_3;10000 country_100x100_4;10000 country_200x100_1;10000 country_200x100_2;10000 country_200x100_3;10000 country_200x100_4;10000 country_200x100_5;10000 country_200x100_6;10000 country_b_block1;10000 country_b_block2;10000 country_b_block3;10000 country_b_block4;10000 country_m_block1;10000 country_m_block2;10000 country_m_block3;10000 country_m_block4;10000 country_m_corner_block1;10000 country_m_corner_block2;10000 country_m_corner_block3;10000 country_m_corner_block4;10000 country_m_corner_block5;10000 country_m_corner_block6;10000 country_m_corner_block7;10000 country_m_corner_block8;10000 dugout;20000 fake_block;10000 guardgate1;500 gumrak;20000 industrial_200x140_01;20000 13 industrial_200x140_02;15000 20 industrial_300x100_01;15000 14 industrial_300x100_02;20000 16 industrial_300x100_03;20000 10 industrial_300x100_04;15000 8 industrial_block_bigwarehouse_300x100;25000 16 industrial_block_eu_fabric200x200;50000 industrial_block_eu_fabric200x200_2;100000 industrial_block_eu_fabric250x100;100000 industrial_block_eu_fabric300x200;50000 industrial_block_eu_fabric300x200_2;50000 industrial_block_fuel_300x100;15000 32 industrial_block_fuel2_300x100;15000 30 industrial_block_fuel25m_300x100;15000 8 industrial_block_fuel35m_300x100;20000 10 industrial_block_midwarehouse_200x140;20000 12 industrial_block_smallwarehouse_150x100;15000 28 industrial_block_smallwarehouse_300x100;15000 43 industrial_block_smallwarehouse2_150x100;15000 19 industrial_block_smallwarehouse2_300x100;15000 industrial_block_zavodcement;20000 29 industrial_block_zavodoktyabr;20000 28 industrial_cornerl_01;20000 8 industrial_cornerl_02;15000 10 industrial_cornerr_01;15000 7 industrial_cornerr_02;15000 11 industrial_object_oil;15000 1 1 industrial_object_oilsmall;10000 1 1 industrial_object_smallwarehouse;10000 industrial_object_zavodkorpys45m;20000 1 1 Edited October 31, 2021 by ITAF_Airone1989 1
AEthelraedUnraed Posted November 1, 2021 Posted November 1, 2021 On 10/31/2021 at 2:44 PM, SYN_Vander said: So either I never understood how this works or something has changed over the years. I always though that the 'OnKilled' event works as follows for static objects (with entity): -When 50% of the individual components is destroyed the object will trigger 'OnKilled' event. However, I now realize after testing that each individual component triggers an 'OnKilled' event! This makes it hard to determine when an object is destroyed unless you know how many components makes up the object. To illustrate: In this example the object is composed of 4 tents. The counter will only trigger if it counts 4 'OnKilled' events. I destroy the object with a Damage complete command and immediately the subtitle shows, telling me that each individual tent triggered an 'OnKilled' event. Now suppose I want to know when this object is destroyed: Let's say I would want to know if 50% of the buildings is destroyed. How to do this? Visually I can count 14 separate objects, but I can't be sure. I may have to go through all the damage states... And there are many many different objects in the sim! 1) Is this the way it is supposed to work? 2) How do you guys solve this problem? Just guess the amount of components? Or is there another easier way? I already tried 'OnDamaged', but this also seems to be triggered by individual components. My goal is to automatically calculate the success counter for an objective that exists out of multiple of these objects for my mission generator. Well, the more sub-objects there are, the less the exact amount matters. It's not like anyone's gonna make an objective of "destroy 47 buildings" Just guesstimate the amount. You can set one of the sub-objects to damaged to quickly test how many there are. If you see a result, there are at least as many sub-objects as the number of the one you destroyed. If nothing happens, there are less. But yeah, I've said this before, but I re-iterate that it'd be great to have all the separate sub-objects as well, instead of just the combined objects. Imperative for when you want to destroy one specific building.
SYN_Vander Posted November 2, 2021 Author Posted November 2, 2021 Thnx. Yeah, I guess this the only way.
=LG/F=Kathon Posted November 3, 2021 Posted November 3, 2021 You can also use Command:Damage and destroy particular object and then check in the log files how many sub-objects there were.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now