Jump to content
Sign in to follow this  
Cyper

Smoke, dust, fire, and shaking screen

Recommended Posts

My old tricks that I used for smoke, dust and fire effects in ARMA II does not work anymore. I have found one firescript for ARMA III but with that script I couldn't control the fires size, lenght etc.

And the camera shake effect does not work for me.

Share this post


Link to post
Share on other sites

For the cam shake:

enableCamShake true; addCamShake [5,200,5];

To stop it:

enableCamShake false;

The parameters are explained here: https://community.bistudio.com/wiki/addCamShake

Concerning the particle effects, you can use this tool to generate your smoke ect. : http://forums.bistudio.com/showthread.php?157226-Particle-Editor

(I am not advertising my stuff, it is a port from arma 1 ;))

Share this post


Link to post
Share on other sites

I have already tried to use ''addshake'' before through a trigger, and it does not work anymore.

Is there any way to add smoke, dust and fire without having to download something? There must be a script for it. At least for fire because i've seen it in a campaign mission.

Share this post


Link to post
Share on other sites

I use this one; it's taken from the first episode of the campaign:

private ["_effect","_pos","_fire","_smoke"];
private ["_light","_brightness","_color","_ambient","_intensity","_attenuation"];

_pos 	= _this select 0;
_effect = _this select 1;

_fire	= "";
_smoke	= "";
_light	= objNull;
_color	= [1,0.85,0.6];
_ambient = [1,0.3,0];

switch (_effect) do {
case "FIRE_SMALL" : {
	_fire 	= "SmallDestructionFire";
	_smoke 	= "SmallDestructionSmoke";
	_brightness	= 1.0;
	_intensity	= 10;
	_attenuation = [0,0,0,1];
};
case "FIRE_MEDIUM" : {
	_fire 	= "MediumDestructionFire";
	_smoke 	= "MediumDestructionSmoke";
	_brightness	= 1.0;
	_intensity	= 400;
	_attenuation = [0,0,0,2];
};
case "FIRE_BIG" : {
	_fire 	= "BigDestructionFire";
	_smoke 	= "BigDestructionSmoke";
	_brightness	= 1.0;
	_intensity	= 1600;
	_attenuation = [0,0,0,1.6];
};
case "SMOKE_SMALL" : {
	_smoke 	= "SmallDestructionSmoke";
};
case "SMOKE_MEDIUM" : {
	_smoke 	= "MediumSmoke";
};
case "SMOKE_BIG" : {
	_smoke 	= "BigDestructionSmoke";
};
};

if (_fire != "") then {
_eFire = "#particlesource" createVehicleLocal _pos;
_eFire setParticleClass _fire;
_eFire setPosATL _pos;
};

if (_smoke != "") then {
_eSmoke = "#particlesource" createVehicleLocal _pos;
_eSmoke setParticleClass _smoke;
_eSmoke setPosATL _pos;
};

//create lightsource
if (_effect in ["FIRE_BIG", "FIRE_MEDIUM", "FIRE_SMALL"]) then {
_pos   = [_pos select 0,_pos select 1,(_pos select 2)+1];
_light = createVehicle ["#lightpoint", _pos, [], 0, "CAN_COLLIDE"];
_light setPosATL _pos;

_light setLightBrightness _brightness;
_light setLightColor _color;
_light setLightAmbient _ambient;
_light setLightIntensity _intensity;
_light setLightAttenuation _attenuation;
_light setLightDayLight false;
};

Simply execute via:

nul = [(getPos player), "FIRE_BIG"] execVM "createFireEffect.sqf";

Or make a function out of it if you intend to use it multiple times.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×