Feature #2783

Addon to tweak bullet hit ground FX

Added by kju over 5 years ago. Updated over 4 years ago.

Status:Expired Start date:07/12/2009
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:-
Target version:-

History

Updated by nikita320106 over 5 years ago

something like this
1 class CfgPatches 2 { 3 class _co_Bullet_FX_Fix 4 { 5 units[] = {}; 6 weapons[] = {}; 7 requiredVersion = 0.1; 8 requiredAddons[] = {"CAData", "CAMisc", "CAData_ParticleEffects", "CAWeapons",}; 9 }; 10 };
create new class for 7.62 for example
1 2 class Bullet_762: BulletBase { 3 4 soundDefault1[] = {"ca\sounds\weapons\hits\hit_concrete_01", 0.316228, *0.9,/*1*/ 60}; 5 soundDefault2[] = {"ca\sounds\weapons\hits\hit_concrete_02", 0.316228, *0.9,/*1*/ 60}; 6 as above.............................................................................. 7 bulletFly1[] = {"ca\sounds\weapons\hits\bullet_by1", 1.000000, 0.9,/*1*/ 50}; 8 bulletFly2[] = {"ca\sounds\weapons\hits\bullet_by2", 1.000000, 0.9,/*1*/ 50}; 9 as above............................................................................... 10 11 class HitEffects { 12 Hit_Foliage = "ImpactLeaves"; 13 Hit_Glass = "ImpactGlass"; 14 Hit_Glass_Thin = "ImpactGlassThin"; 15 Hit_Wood = "ImpactWood"; 16 Hit_Metal = "ImpactMetal"; 17 Hit_Plaster = "ImpactPlaster"; 18 Hit_Rubber = "ImpactRubber"; 19 Hit_Concrete = "ImpactConcrete"; 20 Hit_Blood = "ImpactBlood"; 21 }; 22 23 class CfgCloudlets { 24 25 class ImpactMetal { 26 27 class SparksLight { 28 simulation = "light"; 29 type = "SparksLight"; 30 position[] = {0, 0, 0}; 31 intensity = 0.002000;// 0.001000; 32 interval = 1; 33 lifeTime = 0.500000; 34 }; 35 36 class ImpactSparks1 { 37 simulation = "particles"; 38 type = "ImpactSparks1"; 39 position[] = {0, 0, 0}; 40 intensity = 1.500000;// 1; 41 interval = 1; 42 lifeTime = 0.500000; 43 }; 44 45 class ImpactSparks2 { 46 simulation = "particles"; 47 type = "ImpactSparks2"; 48 position[] = {0, 0, 0}; 49 intensity = 1; 50 interval = 1; 51 lifeTime = 1; 52 }; 53 54 class ImpactSmoke { 55 simulation = "particles"; 56 type = "ImpactSmoke"; 57 position[] = {0, 0, 0}; 58 intensity = 1; 59 interval = 1; 60 lifeTime = 1; 61 }; 62 63 class ImpactSmoke2 { 64 simulation = "particles"; 65 type = "ImpactSmoke2"; 66 position[] = {0, 0, 0}; 67 intensity = 1; 68 interval = 1; 69 lifeTime = 1; 70 }; 71 72 }; 73 74 class ImpactWood { 75 76 class ImpactDust { 77 simulation = "particles"; 78 type = "ImpactDustWood"; 79 position[] = {0, 0, 0}; 80 intensity = 2;// 1; 81 interval = 1; 82 lifeTime = 1; 83 }; 84 85 class WoodChippings { 86 simulation = "particles"; 87 type = "WoodChippings"; 88 position[] = {0, 0, 0}; 89 intensity = 1; 90 interval = 1; 91 lifeTime = 1; 92 }; 93 94 class WoodChippings2 { 95 simulation = "particles"; 96 type = "WoodChippings2"; 97 position[] = {0, 0, 0}; 98 intensity = 1; 99 interval = 1; 100 lifeTime = 1; 101 }; 102 103 class WoodHole { 104 simulation = "particles"; 105 type = "WoodHole"; 106 position[] = {0, 0, 0}; 107 intensity = 1; 108 interval = 1; 109 lifeTime = 1; 110 }; 111 }; 112 113 class ImpactPlaster { 114 115 class ImpactDust { 116 simulation = "particles"; 117 type = "ImpactDustPlaster"; 118 position[] = {0, 0, 0}; 119 intensity = 2;// 1; 120 interval = 1; 121 lifeTime = 1; 122 }; 123 124 class ImpactConcrete { 125 simulation = "particles"; 126 type = "ImpactConcrete"; 127 position[] = {0, 0, 0}; 128 intensity = 2;// 1; 129 interval = 1; 130 lifeTime = 1; 131 }; 132 }; 133 134 class ImpactRubber { 135 136 class ImpactDust { 137 simulation = "particles"; 138 type = "ImpactSmoke"; 139 position[] = {0, 0, 0}; 140 intensity = 2;// 1; 141 interval = 1; 142 lifeTime = 1; 143 }; 144 }; 145 146 class ImpactBlood { 147 148 class Blood { 149 simulation = "particles"; 150 type = "Blood"; 151 position[] = {0, 0, 0}; 152 intensity = 1; 153 interval = 1; 154 lifeTime = 2; 155 }; 156 }; 157 158 class ImpactConcrete { 159 160 class ImpactDust { 161 simulation = "particles"; 162 type = "ImpactDustConcrete"; 163 position[] = {0, 0, 0}; 164 intensity = 2;// 1; 165 interval = 1; 166 lifeTime = 1; 167 }; 168 169 class ImpactDust2 { 170 simulation = "particles"; 171 type = "ImpactDustConcrete2"; 172 position[] = {0, 0, 0}; 173 intensity = 2;// 1; 174 interval = 1; 175 lifeTime = 1; 176 }; 177 178 class ImpactConcrete { 179 simulation = "particles"; 180 type = "ImpactConcrete"; 181 position[] = {0, 0, 0}; 182 intensity = 1; 183 interval = 1; 184 lifeTime = 1; 185 }; 186 187 class ImpactConcrete2 { 188 simulation = "particles"; 189 type = "ImpactConcrete2"; 190 position[] = {0, 0, 0}; 191 intensity = 2;// 1; 192 interval = 1; 193 lifeTime = 1; 194 }; 195 }; 196 197 class ImpactLeaves { 198 199 class LeavesFall { 200 simulation = "particles"; 201 type = "LeavesFall"; 202 position[] = {0, 0, 0}; 203 intensity = 1; 204 interval = 1; 205 lifeTime = 1; 206 }; 207 208 class SticksFall { 209 simulation = "particles"; 210 type = "SticksFall"; 211 position[] = {0, 0, 0}; 212 intensity = 1; 213 interval = 1; 214 lifeTime = 0.080000; 215 }; 216 }; 217 218 }; 219 220 }; 221
changing second' parameter for all sounds from soundDefault to bulletfly we' lower them to bass a little.

changing intensity parameter for all dust we' make them more visible.

then class B_762x51_Ball: inherit from Bullet_762 instead of BulletBase like this
B_762x51_Ball: Bullet_762{.....};
B_762x54_Ball: Bullet_762 {.....};

further continue as well as above.
1 class Bullet_127: BulletBase { 2 3 soundDefault1[] = {"ca\sounds\weapons\hits\hit_concrete_01", 0.316228, 0.8, 60}; 4 soundDefault2[] = {"ca\sounds\weapons\hits\hit_concrete_02", 0.316228, 0.8, 60}; 5 .................................................................................. 6 bulletFly1[] = {"ca\sounds\weapons\hits\bullet_by1", 1.000000, 0.8, 50}; 7 bulletFly2[] = {"ca\sounds\weapons\hits\bullet_by2", 1.000000, 0.8, 50}; 8 9 explosive = 0; 10 11 class HitEffects { 12 Hit_Foliage = "ImpactLeaves"; 13 Hit_Glass = "ImpactGlass"; 14 Hit_Glass_Thin = "ImpactGlassThin"; 15 Hit_Wood = "ImpactWood"; 16 Hit_Metal = "ImpactMetal"; 17 Hit_Plaster = "ImpactPlaster"; 18 Hit_Rubber = "ImpactRubber"; 19 Hit_Concrete = "ImpactConcrete"; 20 Hit_Blood = "ImpactBlood"; 21 }; 22 23 class CfgCloudlets { 24 25 class ImpactMetal { 26 27 class SparksLight { 28 simulation = "light"; 29 type = "SparksLight"; 30 position[] = {0, 0, 0}; 31 intensity = 0.003000;//0.001000; 32 interval = 1; 33 lifeTime = 0.500000; 34 }; 35 36 class ImpactSparks1 { 37 simulation = "particles"; 38 type = "ImpactSparks1"; 39 position[] = {0, 0, 0}; 40 intensity = 1; 41 interval = 1; 42 lifeTime = 1.000000; 43 }; 44 45 class ImpactSparks2 { 46 simulation = "particles"; 47 type = "ImpactSparks2"; 48 position[] = {0, 0, 0}; 49 intensity = 1.300000;//1; 50 interval = 1; 51 lifeTime = 1; 52 }; 53 54 class ImpactSmoke { 55 simulation = "particles"; 56 type = "ImpactSmoke"; 57 position[] = {0, 0, 0}; 58 intensity = 1; 59 interval = 1; 60 lifeTime = 1; 61 }; 62 63 class ImpactSmoke2 { 64 simulation = "particles"; 65 type = "ImpactSmoke2"; 66 position[] = {0, 0, 0}; 67 intensity = 1; 68 interval = 1; 69 lifeTime = 1; 70 }; 71 72 }; 73 74 class ImpactWood { 75 76 class ImpactDust { 77 simulation = "particles"; 78 type = "ImpactDustWood"; 79 position[] = {0, 0, 0}; 80 intensity = 3;//1; 81 interval = 1; 82 lifeTime = 2; 83 }; 84 85 class WoodChippings { 86 simulation = "particles"; 87 type = "WoodChippings"; 88 position[] = {0, 0, 0}; 89 intensity = 1; 90 interval = 1; 91 lifeTime = 1; 92 }; 93 94 class WoodChippings2 { 95 simulation = "particles"; 96 type = "WoodChippings2"; 97 position[] = {0, 0, 0}; 98 intensity = 2;//1; 99 interval = 1; 100 lifeTime = 1; 101 }; 102 103 class WoodHole { 104 simulation = "particles"; 105 type = "WoodHole"; 106 position[] = {0, 0, 0}; 107 intensity = 1; 108 interval = 1; 109 lifeTime = 1; 110 }; 111 }; 112 113 class ImpactPlaster { 114 115 class ImpactDust { 116 simulation = "particles"; 117 type = "ImpactDustPlaster"; 118 position[] = {0, 0, 0}; 119 intensity = 3;//1; 120 interval = 1; 121 lifeTime = 2;//1; 122 }; 123 124 class ImpactConcrete { 125 simulation = "particles"; 126 type = "ImpactConcrete"; 127 position[] = {0, 0, 0}; 128 intensity = 2;//1; 129 interval = 1; 130 lifeTime = 1; 131 }; 132 }; 133 134 class ImpactRubber { 135 136 class ImpactDust { 137 simulation = "particles"; 138 type = "ImpactSmoke"; 139 position[] = {0, 0, 0}; 140 intensity = 3;//1; 141 interval = 1; 142 lifeTime = 1; 143 }; 144 }; 145 146 class ImpactBlood { 147 148 class Blood { 149 simulation = "particles"; 150 type = "Blood"; 151 position[] = {0, 0, 0}; 152 intensity = 2;//1; 153 interval = 1; 154 lifeTime = 2; 155 }; 156 }; 157 158 class ImpactConcrete { 159 160 class ImpactDust { 161 simulation = "particles"; 162 type = "ImpactDustConcrete"; 163 position[] = {0, 0, 0}; 164 intensity = 3;//1; 165 interval = 1; 166 lifeTime = 1; 167 }; 168 169 class ImpactDust2 { 170 simulation = "particles"; 171 type = "ImpactDustConcrete2"; 172 position[] = {0, 0, 0}; 173 intensity = 3;//1; 174 interval = 1; 175 lifeTime = 1; 176 }; 177 178 class ImpactConcrete { 179 simulation = "particles"; 180 type = "ImpactConcrete"; 181 position[] = {0, 0, 0}; 182 intensity = 2;//1; 183 interval = 1; 184 lifeTime = 1; 185 }; 186 187 class ImpactConcrete2 { 188 simulation = "particles"; 189 type = "ImpactConcrete2"; 190 position[] = {0, 0, 0}; 191 intensity = 1; 192 interval = 1; 193 lifeTime = 1; 194 }; 195 }; 196 197 class ImpactLeaves { 198 199 class LeavesFall { 200 simulation = "particles"; 201 type = "LeavesFall"; 202 position[] = {0, 0, 0}; 203 intensity = 3;//1; 204 interval = 1; 205 lifeTime = 1; 206 }; 207 208 class SticksFall { 209 simulation = "particles"; 210 type = "SticksFall"; 211 position[] = {0, 0, 0}; 212 intensity = 1; 213 interval = 1; 214 lifeTime = 0.080000; 215 }; 216 }; 217 218 }; 219 220 };

if we' want to continue for 25-30 mm shell (for AA and Air gun) we' should choose a way:

  • inherit bullet base with bullet's hit effect tweaking them as above

  • or inherit explosive bullet class with
    CraterEffects = "ExploAmmoCrater";
    explosionEffects = "ExploAmmoExplosion";
    with tweakin explosive param from 0.600000 to _what_you_want
    (directly specifies to explosion and crater effect's intensity )

or mix both ways
make new class mm_AP_Shell with much more heavy bullets effect
and some mm_HE_Shell class with explosive crater and explosion effects

Updated by kju over 5 years ago

privet nikita!

thanks for your post. It was just a reminder for me.
I will reduce the dust kick up.

PS: Changing inheritance for already defined classes is no good idea,
if you were suggesting that.

Updated by nikita320106 over 5 years ago

kju wrote:

PS: Changing inheritance for already defined classes is no good idea,
if you were suggesting that.

my bad) but Im about various intensity for every caliber
then for every bullet??? ooooo))

o)next one idea)) if you need)) you know better))

in intensity = 1;
whether it's possible write something like
intensity = "1 - 1*(ceil * rain)"; for every dust effect) including tanks, helis and cars dust???
i shall check some later)

Updated by kju over 5 years ago

Well you can still change any value in every class. Just more work. :)

You can try, yet BI only uses double values from 0 till 5 or so.
I doubt ceil, rain etc are available in this part.

Updated by nikita320106 over 5 years ago

sorry
intensy with rain in expression don't work

Updated by kju over 4 years ago

  • Status changed from New to Expired

Also available in: Atom PDF