yes the decals and the barrels can all be changed, you just need to assign a script to each so it knows what is what - as there are 6 stages you need 6 scripts (mostly just empty scripts to name the objects as this is not done automatically by the engine - that we have access to anyway)
1.a. create a barrel to use as the clean barrel and name it the % of health you wish it to reach before it changes to the 2nd stage (i.e. if you want it to change when it's at 10%HP then name it 10.) this value is based on the health/strength you set on the barrel (so give it some HP as you wish)
1.b. give it barrel_explode_custom.lua and set it immobile and dynamic (important to set this one immobile as it will still be in game even when you can't see it - unfortunately i can't allow the barrel to fall over yet, if ever we get the ability to swap textures then sure)
2.a. place a barrel to act as your dented barrel exactly inside the first barrel
2.b. give it barrel_dented_custom.lua and set it explodable (optional but i think it works well) and dynamic
3.a. place the final barrel to use as the burnt barrel and again place it inside the first & second barrels
3.b. give it barrel_dead_custom.lua
4. place your explosion decal and give it barrel_explosion_decal.lua
5. place your smoke decal and give it barrel_smoke_decal.lua
6. place your oil decal and give it barrel_oil_decal.lua
7. open barrel_explode_custom.lua and edit the min and max sizes for your decals (the barrel will automatically disappear once the decals have stopped growing)
repeat for all barrels (extract and paste each) - it's a bit of a process to explain but it's really quite simple
note* if you arent able to get your decals near to the barrel for some reason you may need to edit the lines in the original check for the decal - it'll look like this (the 55 will need to be bigger) & if the barrels are using the wrong decals etc it's because they are too close to another barrel (and getting assigned wrong) 55 is about as low as the value can go and still get a result so only way to avoid it is to move them further away im afraid.
Quote: "if GetDistance(e,a) < 55 then
explode_decal[e] = a
end"
and the script wont work unless all pieces are in place - no skipping decals (however you may edit the "Show()" command for whatever decal you dont wish to show at around line 97, that should be enough.
life\'s one big game
windows vista ultimate
i5 @3.3ghz, 4gb ram, geforce gtx460, directx 11