ssm4862 10 Posted February 12, 2012 I want to stop the smoke effect at any time. But I do not remember the command. Please help. (* It's largely irrelevant question. I want Near the fire closer to the players want to give a continuous damage.) Game Logic (hpad1) : nul = [hpad1] execVM "smoke.sqf"; Smoke.sqf : _obj = _this select 0; _PS1 = "#particlesource" createVehicleLocal getpos _obj; _PS2 = "#particlesource" createVehicleLocal getpos _obj; _PS3 = "#particlesource" createVehicleLocal getpos _obj; _PS1 setParticleCircle [0, [0, 0, 0]]; _PS1 setParticleRandom [0.2, [1, 1, 0], [0.5, 0.5, 0], 1, 0.5, [0, 0, 0, 0], 0, 0]; _PS1 setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 8, 2, 6], "", "Billboard", 1, 1, [0, 0, 0], [0, 0, 0.5], 1, 1, 0.9, 0.3, [1.5], [[1, 0.7, 0.7, 0.5]], [1], 0, 0, "", "", _obj]; _PS1 setDropInterval 0.03; _PS2 setParticleCircle [0, [0, 0, 0]]; _PS2 setParticleRandom [0, [0, 0, 0], [0.33, 0.33, 0], 0, 0.25, [0.05, 0.05, 0.05, 0.05], 0, 0]; _PS2 setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 8, 0, 1], "", "Billboard", 1, 10, [0, 0, 0.5], [0, 0, 2.9], 1, 1.275, 1, 0.066, [4, 5, 10, 10], [[0.3, 0.3, 0.3, 0.33], [0.4, 0.4, 0.4, 0.33], [0.2, 0.2, 0, 0]], [0, 1], 1, 0, "", "", _obj]; _PS2 setDropInterval 0.5; _PS3 setParticleCircle [0, [0, 0, 0]]; _PS3 setParticleRandom [0, [0, 0, 0], [0.5, 0.5, 0], 0, 0.25, [0.05, 0.05, 0.05, 0.05], 0, 0]; _PS3 setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 8, 3, 1], "", "Billboard", 1, 15, [0, 0, 0.5], [0, 0, 2.9], 1, 1.275, 1, 0.066, [4, 5, 10, 10], [[0.1, 0.1, 0.1, 0.75], [0.4, 0.4, 0.4, 0.5], [1, 1, 1, 0.2]], [0], 1, 0, "", "", _obj]; _PS3 setDropInterval 0.25; Share this post Link to post Share on other sites
demonized 20 Posted February 12, 2012 stop smoke: {deleteVehicle _x} foreach [_PS1,_PS2,_PS3]; give damage: while {alive anyobject_fire} do { { if ( (_x distance anyobject_fire) < 2 ) then {_x setDammage ((getDammage _x)+0.05)}; } foreach allUnits; sleep 1; }; // anyobject_fire = whatever object to be near to get damage from. // 2 = how near you need to be to take damage in meters. // 0.05 = the damage taken every second when near object. ; Share this post Link to post Share on other sites
ssm4862 10 Posted February 12, 2012 stop smoke: {deleteVehicle _x} foreach [_PS1,_PS2,_PS3]; give damage: while {alive anyobject_fire} do { { if ( (_x distance anyobject_fire) < 2 ) then {_x setDammage ((getDammage _x)+0.05)}; } foreach allUnits; sleep 1; }; // anyobject_fire = whatever object to be near to get damage from. // 2 = how near you need to be to take damage in meters. // 0.05 = the damage taken every second when near object. ; very very very thank you demonized! ---------- Post added at 11:11 AM ---------- Previous post was at 11:06 AM ---------- stop smoke: {deleteVehicle _x} foreach [_PS1,_PS2,_PS3]; give damage: while {alive anyobject_fire} do { { if ( (_x distance anyobject_fire) < 2 ) then {_x setDammage ((getDammage _x)+0.05)}; } foreach allUnits; sleep 1; }; // anyobject_fire = whatever object to be near to get damage from. // 2 = how near you need to be to take damage in meters. // 0.05 = the damage taken every second when near object. ; Demonized Thank you. but give damage script does not work. I have written a check is correct to ask. //create a red smokeshell at a helipad called hpad1 _smoke_red = "SmokeShellRed" createVehicle position hpad1; //create a green smokeshell at helipad called hpad2 _smoke_green = "SmokeShellGreen" createVehicle position hpad2; _obj = _this select 0; _PS1 = "#particlesource" createVehicleLocal getpos _obj; _PS2 = "#particlesource" createVehicleLocal getpos _obj; _PS3 = "#particlesource" createVehicleLocal getpos _obj; _PS1 setParticleCircle [0, [0, 0, 0]]; _PS1 setParticleRandom [0.2, [1, 1, 0], [0.5, 0.5, 0], 1, 0.5, [0, 0, 0, 0], 0, 0]; _PS1 setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 8, 2, 8], "", "Billboard", 1, 1, [0, 0, 0], [0, 0, 0.5], 1, 1, 0.9, 0.3, [1.5], [[1, 0.7, 0.7, 0.5]], [1], 0, 0, "", "", _obj]; _PS1 setDropInterval 0.03; _PS2 setParticleCircle [0, [0, 0, 0]]; _PS2 setParticleRandom [0, [0, 0, 0], [0.33, 0.33, 0], 0, 0.25, [0.05, 0.05, 0.05, 0.05], 0, 0]; _PS2 setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 8, 0, 1], "", "Billboard", 1, 10, [0, 0, 0.5], [0, 0, 2.9], 1, 1.275, 1, 0.066, [4, 5, 10, 10], [[0.3, 0.3, 0.3, 0.33], [0.4, 0.4, 0.4, 0.33], [0.2, 0.2, 0, 0]], [0, 1], 1, 0, "", "", _obj]; _PS2 setDropInterval 0.5; _PS3 setParticleCircle [0, [0, 0, 0]]; _PS3 setParticleRandom [0, [0, 0, 0], [0.5, 0.5, 0], 0, 0.25, [0.05, 0.05, 0.05, 0.05], 0, 0]; _PS3 setParticleParams [["\Ca\Data\ParticleEffects\Universal\Universal", 8, 3, 1], "", "Billboard", 1, 15, [0, 0, 0.5], [0, 0, 2.9], 1, 1.275, 1, 0.066, [4, 5, 10, 10], [[0.1, 0.1, 0.1, 0.75], [0.4, 0.4, 0.4, 0.5], [1, 1, 1, 0.2]], [0], 1, 0, "", "", _obj]; _PS3 setDropInterval 0.25; while {alive anyobject_fire} do { { if ( (_x distance anyobject_fire) < 2 ) then {_x setDammage ((getDammage _x)+0.05)}; } foreach allUnits; sleep 1; }; // anyobject_fire = whatever object to be near to get damage from. // 2 = how near you need to be to take damage in meters. // 0.05 = the damage taken every second when near object. Share this post Link to post Share on other sites
demonized 20 Posted February 12, 2012 replace anyobject_fire with _obj Share this post Link to post Share on other sites