Jump to content

Teargas smoke


calamity

Recommended Posts

[WIP]

This is a mixture of krixes church healing and FragZ's havest and smoke hemp

I just kinda mixed em together to get a teargas effect..

 

If anyone wants to alter it please feel free and share

 

1.place at bottom of  init.sqf

_null = [] execVM "custom\teargas.sqf";

2. create teargas.sqf  place in custom folder

 

While{true} do {
waituntil{
((nearestObject [getpos player, "SmokeShell"]) distance player < 15)
and
(getpos (nearestObject [getpos player, "SmokeShell"]) select 2 < 0.5)
};


cuttext ["You got Tear-gassed...", "PLAIN DOWN"];


Remove_Drug_effects =
            {
                    {
                            ppEffectDestroy _x;
                    } forEach (_this select 0);
                    ppEffectDestroy nonapsi_ef;
                    ppEffectDestroy wetdist1;
                    ppEffectDestroy ppe;
                    ppEffectDestroy ppe2;
                    ppEffectDestroy ppe3;
                    setaperture 0;
                    "dynamicBlur" ppEffectAdjust [0];
                    "dynamicBlur" ppEffectCommit 16;
                    "colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1],  [1, 1, 1, 0.0]];
                    "colorCorrections" ppEffectCommit 0;
            };




CC_really_loud_sounds = {[60,15] call fnc_usec_pitchWhine;for "_i" from 1 to 15 do {playSound format ["%1",_this select 0];};};
CC_slap_them = {_randomnr = [2,-1] call BIS_fnc_selectRandom;(vehicle player) SetVelocity [_randomnr * random (4) * cos getdir (vehicle player), _randomnr * random (4) * cos getdir (vehicle player), random (4)];};




            _time = time;
            _effects = [];


sleep 2;
            while {true} do
            {


[] spawn CC_slap_them;
      
["beat04"] spawn CC_really_loud_sounds;
                    nonapsi_ef = ppEffectCreate ["colorCorrections", 1555];
                    _effects = _effects + [nonapsi_ef];
                    nonapsi_ef ppEffectEnable true;
                    nonapsi_ef ppEffectAdjust [1.0, 1.0, -0.03, [0.0, 0.0, 0.0, 0.0], [3.0, 5.0, 9.0, 5.0],[0.4,0.0,0.0, 0.7]];
                    nonapsi_ef ppEffectCommit 1;
                    sleep random(1);
                    wetdist1 = ppEffectCreate ["wetDistortion", 2006];
                    _effects = _effects + [wetdist1];
                    wetdist1 ppEffectAdjust [0, 8, 0.8,8,8, 0.2, 1, 0, 0, 0.08, 0.08, 0, 0, 0, 0.77];
                    wetdist1 ppEffectEnable true;
                    wetdist1 ppEffectCommit 0;
                    ppe = ppEffectCreate ["colorCorrections", 1555];
                    _effects = _effects + [ppe];
                    ppe ppEffectAdjust [1, 1, 0, [1.5,6,2.5,0.5], [5,3.5,5,-0.5], [-3,5,-5,-0.5]];
                    ppe ppEffectCommit 1;
                    ppe ppEffectEnable true;
                    ppe2 = ppEffectCreate ["chromAberration", 1555];
                    _effects = _effects + [ppe2];
                    ppe2 ppEffectAdjust [0.01,0.01,true];
                    ppe2 ppEffectCommit 1;
                    ppe2 ppEffectEnable true;
                    ppe3 = ppEffectCreate ["radialBlur", 1555];
                    _effects = _effects + [ppe3];
                    ppe3 ppEffectEnable true;
                    ppe3 ppEffectAdjust [0.02,0.02,0.15,0.15];
                    ppe3 ppEffectCommit 1;
                    sleep random(1);
                    wetdist1 = ppEffectCreate ["wetDistortion", 2006];
                    _effects = _effects + [wetdist1];
                    wetdist1 ppEffectAdjust [1, 1.16, 0.32, 2.56, 0.8, 0.64, 2.64, 0, 0, 1.08, 0.08, 0, 0, 0, 1.77];
                    wetdist1 ppEffectEnable true;
                    wetdist1 ppEffectCommit 0;
                    sleep random(1);
                    nonapsi_ef = ppEffectCreate ["colorCorrections", 1555];
                    _effects = _effects + [nonapsi_ef];
                    nonapsi_ef ppEffectEnable true;
                    nonapsi_ef ppEffectAdjust [1.0, 1.0, -0.02, [9.5, 1.5, 2.5, 0.2], [2.0, 7.0, 6.0, 2.0],[0.4,0.0,0.0, 0.7]];
                    nonapsi_ef ppEffectCommit 1;
                    sleep random(1);
                    if (_time + 60 < time) exitWith {[_effects] call Remove_Drug_effects;};
            };
    };
Link to comment
Share on other sites

Nice work.

Here is my question for you. Any chance you can make one that uses the green, blue and red smoke grande instead. My idea is that player has to craft them out of the white one and a road flare and then add a green, blue or red chem light.

So the that way you can make diffrent ones. You can make them so they will have different strength. So the recipe for them would look like this.

 

SmokeShell + HandRoadFlare + 1 x HandChemGreen = SmokeShellGreen = 10 meter radius, just blurry vision, you run away and the effect stays for 20 sec.

SmokeShell + HandRoadFlare + 2 x HandChemBlue = SmokeShellBlue = 20 meter radius, blurry vision, shake, you run away and the effect stays for 35 sec.

SmokeShell + HandRoadFlare + 3 x HandChemRed = SmokeShellRed = 35 meter radius, blurry vision, slap, shake and sound, you run away and the effect stays for 60 sec.

 

This way you can choose to throw a red and get hit by the effect of it, but you are sure that the people that you throw it at is effected too.

 

I could probably do it myself but it will be a long run of trial and errors before I got it to working right.  :)

Link to comment
Share on other sites

I think a simple blur effect would be much better than the commodore 64 loading screen effect.  The high pitch sound is also annoying as hell.  Interesting concept though.  Would be good to see flash bangs, and even incendiary grenades.

WTF is  a commodore 64 ??

 

just kidding

load "$",8,1

 

the The high pitch sound was my attempt to make it a flashbang

 

you could just remove these lines

 

CC_really_loud_sounds = {[60,15] call fnc_usec_pitchWhine;for "_i" from 1 to 15 do {playSound format ["%1",_this select 0];};};

CC_slap_them = {_randomnr = [2,-1] call BIS_fnc_selectRandom;(vehicle player) SetVelocity [_randomnr * random (4) * cos getdir (vehicle player), _randomnr * random (4) * cos getdir (vehicle player), random (4)];};

 

 

[] spawn CC_slap_them;

      

["beat04"] spawn CC_really_loud_sounds;

Link to comment
Share on other sites

Hey,

what about getting Health-damage while standing in that teargas?

And i like the idea to craft teargas from white smoke and roadflare...

If you could make this points running i will give it a chance on my Server ;-)

 

Rightclick to craft teargas from smokegren and roadflare

Maybe Blood -250 at Players in the smoke of the teargas

Maybe get ill from the teargas (infectet --> cough)

 

Also like the idea of a flashbang... but a teargas gren with this options will be awesome

Link to comment
Share on other sites

Nice work.

Here is my question for you. Any chance you can make one that uses the green, blue and red smoke grande instead. My idea is that player has to craft them out of the white one and a road flare and then add a green, blue or red chem light.

So the that way you can make diffrent ones. You can make them so they will have different strength. So the recipe for them would look like this.

 

SmokeShell + HandRoadFlare + 1 x HandChemGreen = SmokeShellGreen = 10 meter radius, just blurry vision, you run away and the effect stays for 20 sec.

SmokeShell + HandRoadFlare + 2 x HandChemBlue = SmokeShellBlue = 20 meter radius, blurry vision, shake, you run away and the effect stays for 35 sec.

SmokeShell + HandRoadFlare + 3 x HandChemRed = SmokeShellRed = 35 meter radius, blurry vision, slap, shake and sound, you run away and the effect stays for 60 sec.

 

This way you can choose to throw a red and get hit by the effect of it, but you are sure that the people that you throw it at is effected too.

 

I could probably do it myself but it will be a long run of trial and errors before I got it to working right.  :)

Great idea. working on it now....

Link to comment
Share on other sites

tested 

 

you will need  to be near a fire...

 

for minor effects we need SmokeShell, ItemPainkiller and HandChemGreen

for medium effects I plan on  SmokeShell, ItemPainkiller , ItemMorphine and HandChemBlue 

for extreme effects I plan on SmokeShell, ItemPainkiller , ItemMorphine, ItemEpinephrine and HandChemRed  

 

fn_selfactions

 

// smelt SmokeShellGreen
if ((inflamed cursorTarget and _hasToolbox and _canDo) && ("SmokeShell" in magazines player) && ("ItemPainkiller" in magazines player) && ("HandChemGreen" in magazines player))then {
if (s_player_smelt_SmokeShellGreen < 0) then {
s_player_smelt_SmokeShellGreen = player addAction[("<t color=""#FF9999"">" + ("Smelt Smoke Shell Green") +"</t>"),"custom\smelt\smelt_SmokeShellGreen.sqf",cursorTarget, 3 ,true, true,"", ""];
};
} else {
player removeAction s_player_smelt_SmokeShellGreen;
s_player_smelt_SmokeShellGreen = -1;
};

smelt_SmokeShellGreen.sqf

 


private ["_chance", "_sounddist", "_sfx", "_dis"];


_dis=100;
_sfx = "engine_12s";
_chance = floor(random 100);
_press = nearestObject [player, "Land_Ind_Stack_Big"]; 
_sounddist = 15;


player playActionNow "Medic";
sleep 1;
titleText ["You are creating a green tear gas grenade.","PLAIN DOWN"]; titleFadeOut 5;
sleep 2;




if (_chance > 10) then
    {


[nil,_press,rSAY,["engine_12s", _sounddist]] call RE; 
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
player addMagazine "SmokeShellGreen";
        player removeMagazine "SmokeShell";
player removeMagazine "ItemPainkiller"; 
player removeMagazine "HandChemGreen";  
        sleep 0.01;    
        titleText ["You successfully created a green tear gas grenade.","PLAIN DOWN"]; titleFadeOut 5;
    }
else
    {
  [nil,_press,rSAY,["PMC_ElectricBlast1", _sounddist]] call RE; 
player removeMagazine "SmokeShell";
player removeMagazine "ItemPainkiller"; 
player removeMagazine "HandChemGreen"; 
        sleep 0.01;
       
        titleText ["powder got wet.","PLAIN DOWN"]; titleFadeOut 5;
    };

teargasgreen.sqf

While{true} do {
waituntil{
((nearestObject [getpos player, "SmokeShellGreen"]) distance player < 10)
and
(getpos (nearestObject [getpos player, "SmokeShellGreen"]) select 2 < 0.5)
};


cuttext ["You just got Tear-gassed...RUN AWAY...", "PLAIN DOWN"];


Remove_Drug_effects =
    {
    {
    ppEffectDestroy _x;
    } forEach (_this select 0);
    ppEffectDestroy ppe2;
    ppEffectDestroy ppe3;
    setaperture 0;
    };
    _time = time;
    _effects = [];
  
  while {true} do
    {
    ppe2 = ppEffectCreate ["chromAberration", 1555];
    _effects = _effects + [ppe2];
    ppe2 ppEffectAdjust [random 0.25,random 0.25,true];
    ppe2 ppEffectCommit 1;
    ppe2 ppEffectEnable true;
    ppe3 = ppEffectCreate ["radialBlur", 1555];
    _effects = _effects + [ppe3];
    ppe3 ppEffectEnable true;
    ppe3 ppEffectAdjust [random 0.02,random 0.02,0.15,0.15];
    ppe3 ppEffectCommit 1;
    sleep random(1);
10 fadeSound 1;                                    //slowly fade their volume back to maximum
"dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5;    //disable post processing blur effect
"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1],  [1, 1, 1, 1]];"colorCorrections" ppEffectCommit 5;    //give them their colour back
if (_time + 15 < time) exitWith {[_effects] call Remove_Drug_effects;};
    };
    };

EDIT....

Tested..............working now ............ used some code from SmokeyMeadow's ammopress

Link to comment
Share on other sites

Hey,

what about getting Health-damage while standing in that teargas?

And i like the idea to craft teargas from white smoke and roadflare...

If you could make this points running i will give it a chance on my Server ;-)

 

Rightclick to craft teargas from smokegren and roadflare

Maybe Blood -250 at Players in the smoke of the teargas

Maybe get ill from the teargas (infectet --> cough)

 

Also like the idea of a flashbang... but a teargas gren with this options will be awesome

I like the idea of adding a Coughing infected effect or something. It could be some kind of poisonous gas or just that the tear gas makes you lose blood if you stay in it. Part of coughing would add to the realism.

Btw, nice use of my script Calamity! But you used the crazy ass LSD one :)

EDIT:  Here is an idea for the infecting part...

 

r_player_infected = true;
player setVariable["USEC_infected",true,true];
cutText [format["Move the f*ck away from this shit!!!!"], "PLAIN DOWN"];
r_player_blood = r_player_blood - 1000; //OPTIONAL //This will remove 1000 blood from the infected player upon infection

Just an idea on top of my head using player2's addition to the krixes self bloodbag script for infection chance.

Link to comment
Share on other sites

So what is what in this script? If I want to use for my idea to make diffrent ones with the diffrent chem lights.

I wish I could figure out github

not sure if this link is working for public use.. I just set up a dropbox.... 

 

https://www.dropbox.com/sh/1lbz350fxbd5bxf/AADxhLW8Ez0QSpuhgaYk1LHCa?dl=0

please let me know if link works..

 

post 10 is for crafting a green teargas

 

here is blue teargas

 

init.sqf

_null = [] execVM "custom\teargasblue.sqf";

 

fnselfactions

 

// smelt SmokeShellblue
if ((inflamed cursorTarget and _hasToolbox and _canDo) && ("SmokeShell" in magazines player) && ("ItemPainkiller" in magazines player) && ("HandChemBlue" in magazines player) && ("ItemMorphine" in magazines player)) then {
if (s_player_smelt_SmokeShellBlue < 0) then {
s_player_smelt_SmokeShellBlue = player addAction[("<t color=""#FF9999"">" + ("Smelt Smoke Shell Blue") +"</t>"),"custom\smelt\smelt_SmokeShellBlue.sqf",cursorTarget, 3 ,true, true,"", ""];
};
} else {
player removeAction s_player_smelt_SmokeShellBlue;
s_player_smelt_SmokeShellBlue = -1;
};

 
smelt_SmokeShellBlue.sqf
 

private ["_chance", "_sounddist", "_sfx", "_dis"];


_dis=100;
_sfx = "engine_12s";
_chance = floor(random 100);
_press = nearestObject [player, "Land_Ind_Stack_Big"]; 
_sounddist = 15;


player playActionNow "Medic";
sleep 1;
titleText ["You are creating a Blue tear gas grenade.","PLAIN DOWN"]; titleFadeOut 5;
sleep 2;




if (_chance > 10) then
    {


[nil,_press,rSAY,["engine_12s", _sounddist]] call RE; 
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
player addMagazine "SmokeShellBlue";
        player removeMagazine "SmokeShell";
player removeMagazine "ItemPainkiller"; 
player removeMagazine "HandChemGreen";  
player removeMagazine "ItemMorphine";
        sleep 0.01;    
        titleText ["You successfully created a Blue tear gas grenade.","PLAIN DOWN"]; titleFadeOut 5;
    }
else
    {
  [nil,_press,rSAY,["PMC_ElectricBlast1", _sounddist]] call RE; 
player removeMagazine "SmokeShell";
player removeMagazine "ItemPainkiller"; 
player removeMagazine "HandChemGreen"; 
player removeMagazine "ItemMorphine";
        sleep 0.01;
       
        titleText ["powder got wet.","PLAIN DOWN"]; titleFadeOut 5;
    };

teargasblue.sqf

 

While{true} do {
waituntil{
((nearestObject [getpos player, "SmokeShellBlue"]) distance player < 10)
and
(getpos (nearestObject [getpos player, "SmokeShellBlue"]) select 2 < 0.5)
};


cuttext ["You just got Tear-gassed...RUN AWAY...", "PLAIN DOWN"];


r_player_infected = true;
player setVariable["USEC_infected",true,true];
r_player_blood = r_player_blood - 1000; //OPTIONAL //This will remove 1000 blood from the infected player upon infection


Remove_Drug_effects =
            {
                    {
                            ppEffectDestroy _x;
                    } forEach (_this select 0);
                    ppEffectDestroy nonapsi_ef;
                    ppEffectDestroy wetdist1;
                    ppEffectDestroy ppe;
                    ppEffectDestroy ppe2;
                    ppEffectDestroy ppe3;
                    setaperture 0;
                    "dynamicBlur" ppEffectAdjust [0];
                    "dynamicBlur" ppEffectCommit 16;
                    "colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1],  [1, 1, 1, 0.0]];
                    "colorCorrections" ppEffectCommit 0;
playSound "breath_1";
            };




            _time = time;
            _effects = [];


sleep 2;
            while {true} do
            {


addCamShake [2, 1, 25];
                    nonapsi_ef = ppEffectCreate ["colorCorrections", 1555];
                    _effects = _effects + [nonapsi_ef];
                    nonapsi_ef ppEffectEnable true;
                    nonapsi_ef ppEffectAdjust [1.0, 1.0, -0.03, [0.0, 0.0, 0.0, 0.0], [3.0, 5.0, 9.0, 5.0],[0.4,0.0,0.0, 0.7]];
                    nonapsi_ef ppEffectCommit 1;
                    sleep random(1);
                    wetdist1 = ppEffectCreate ["wetDistortion", 2006];
                    _effects = _effects + [wetdist1];
                    wetdist1 ppEffectAdjust [0, 8, 0.8,8,8, 0.2, 1, 0, 0, 0.08, 0.08, 0, 0, 0, 0.77];
                    wetdist1 ppEffectEnable true;
                    wetdist1 ppEffectCommit 0;
                    ppe = ppEffectCreate ["colorCorrections", 1555];
                    _effects = _effects + [ppe];
                    ppe ppEffectAdjust [1, 1, 0, [1.5,6,2.5,0.5], [5,3.5,5,-0.5], [-3,5,-5,-0.5]];
                    ppe ppEffectCommit 1;
                    ppe ppEffectEnable true;
                    ppe2 = ppEffectCreate ["chromAberration", 1555];
                    _effects = _effects + [ppe2];
                    ppe2 ppEffectAdjust [0.01,0.01,true];
                    ppe2 ppEffectCommit 1;
                    ppe2 ppEffectEnable true;
                    ppe3 = ppEffectCreate ["radialBlur", 1555];
                    _effects = _effects + [ppe3];
                    ppe3 ppEffectEnable true;
                    ppe3 ppEffectAdjust [0.02,0.02,0.15,0.15];
                    ppe3 ppEffectCommit 1;
                    sleep random(1);


                    if (_time + 60 < time) exitWith {[_effects] call Remove_Drug_effects;};
            };
    };

Link to comment
Share on other sites

  • 3 weeks later...

I think a simple blur effect would be much better than the commodore 64 loading screen effect.  The high pitch sound is also annoying as hell.  Interesting concept though.  Would be good to see flash bangs, and even incendiary grenades.

Incediary grenades wouldn't be that hard. You could even use white smoke shells since white phosphorous. Just use a loop and some nearestObjects commands and set fire to the nearest like 10 CaMan by doing this function 

spawn BIS_Effects_Burn

and subtracting their blood as they burn. Simple enough.

Link to comment
Share on other sites

Incediary grenades wouldn't be that hard. You could even use white smoke shells since white phosphorous. Just use a loop and some nearestObjects commands and set fire to the nearest like 10 CaMan by doing this function 

spawn BIS_Effects_Burn

and subtracting their blood as they burn. Simple enough.

your damn carpackage kept  teargassing me. was verry funny. I just kept forgetting about the smoke

the smokeblue that it released was blue which I made blue smoke teargas...

so I just removed the smoke from your carepackage script....

Link to comment
Share on other sites

Wrote up that incendiary grenade using this script as a basis, and credited Calamity obvs. I'm in the process of testing, will post up here when it's done.

//Incendiary grenades by MattL, with credit to Calamity for the base of the script.

_burn = true;

While{_burn} do {

waituntil{((nearestObject [getpos player, "SmokeShell"]) distance player < 10) and (getpos (nearestObject [getpos player, "SmokeShell"]) select 2 < 0.5)};

cuttext ["You have White Phosphorous on you, later son...", "PLAIN DOWN"];

[player,3,time,false,true] spawn BIS_Effects_Burn;

while {alive player} do {
r_player_blood = r_player_blood - floor(random 50);
};

_burn = false;

};

just throw it in an execVM "firenade.sqf"; and it will work

Link to comment
Share on other sites

//Incendiary grenades by MattL, with credit to Calamity for the base of the script.

_burn = true;

While{_burn} do {

waituntil{((nearestObject [getpos player, "SmokeShell"]) distance player < 10) and (getpos (nearestObject [getpos player, "SmokeShell"]) select 2 < 0.5)};

cuttext ["You have White Phosphorous on you, later son...", "PLAIN DOWN"];

[player,3,time,false,true] spawn BIS_Effects_Burn;

r_player_blood = r_player_blood - floor(random 50);

_burn = false;

};

just throw it in an execVM "firenade.sqf"; and it will work

 

I added  kill payer after 30 seconds

also added a recipe to smelt 

 

firenade.sqf

//Incendiary grenades by MattL, with credit to Calamity for the base of the script.

_burn = true;

While{_burn} do {

waituntil{((nearestObject [getpos player, "SmokeShell"]) distance player < 10) and (getpos (nearestObject [getpos player, "SmokeShell"]) select 2 < 0.5)};

cuttext ["You have White Phosphorous on you, later son...", "PLAIN DOWN"];

[player,3,time,false,true] spawn BIS_Effects_Burn;

r_player_blood = r_player_blood - floor(random 50);

sleep 30;
player setDamage 1.1;
_burn = false;

};

 

add this to fn_selfActions.sqf

// smelt firenade
if ((inflamed cursorTarget and _hasToolbox and _canDo) && ("ItemSodaEmpty" in magazines player) && ("HandRoadFlare" in magazines player) && ("ItemMixOil" in magazines player)) then {
if (s_player_smelt_firenade < 0) then {
s_player_smelt_firenade = player addAction[("<t color=""#FF9999"">" + ("Smelt firenade") +"</t>"),"custom\smelt\smelt_firenade.sqf",cursorTarget, 3 ,true, true,"", ""];
};
} else {
player removeAction s_player_smelt_firenade;
s_player_smelt_firenade = -1;
};

 

smelt_firenade.sqf

private ["_chance", "_sounddist", "_sfx", "_dis"];


_dis=100;
_sfx = "engine_12s";
_chance = floor(random 100);
_press = nearestObject [player, "Land_Ind_Stack_Big"]; 
_sounddist = 15;


player playActionNow "Medic";
sleep 1;
titleText ["You are creating a fire grenade.","PLAIN DOWN"]; titleFadeOut 5;
sleep 2;




if (_chance > 10) then
    {


[nil,_press,rSAY,["engine_12s", _sounddist]] call RE; 
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
player addMagazine "SmokeShell";
        player removeMagazine "ItemSodaEmpty";
player removeMagazine "HandRoadFlare"; 
player removeMagazine "ItemMixOil";  
        sleep 0.01;    
        titleText ["You successfully created a fire grenade.","PLAIN DOWN"]; titleFadeOut 5;
    }
else
    {
  [nil,_press,rSAY,["PMC_ElectricBlast1", _sounddist]] call RE; 
player removeMagazine "HandRoadFlare"; 
sleep 0.01;
       
        titleText ["flare got wet.","PLAIN DOWN"]; titleFadeOut 5;
    };

 

you also may want to add in variables.sqf

under 

dayz_resetSelfActions = {

s_player_boil = -1;

 

s_player_smelt_firenade = -1;

Link to comment
Share on other sites

 

I added  kill payer after 30 seconds

also added a recipe to smelt 

 

firenade.sqf

//Incendiary grenades by MattL, with credit to Calamity for the base of the script.

_burn = true;

While{_burn} do {

waituntil{((nearestObject [getpos player, "SmokeShell"]) distance player < 10) and (getpos (nearestObject [getpos player, "SmokeShell"]) select 2 < 0.5)};

cuttext ["You have White Phosphorous on you, later son...", "PLAIN DOWN"];

[player,3,time,false,true] spawn BIS_Effects_Burn;

r_player_blood = r_player_blood - floor(random 50);

sleep 30;
player setDamage 1.1;
_burn = false;

};

 

add this to fn_selfActions.sqf

// smelt firenade
if ((inflamed cursorTarget and _hasToolbox and _canDo) && ("ItemSodaEmpty" in magazines player) && ("HandRoadFlare" in magazines player) && ("ItemMixOil" in magazines player)) then {
if (s_player_smelt_firenade < 0) then {
s_player_smelt_firenade = player addAction[("<t color=""#FF9999"">" + ("Smelt firenade") +"</t>"),"custom\smelt\smelt_firenade.sqf",cursorTarget, 3 ,true, true,"", ""];
};
} else {
player removeAction s_player_smelt_firenade;
s_player_smelt_firenade = -1;
};

 

smelt_firenade.sqf

private ["_chance", "_sounddist", "_sfx", "_dis"];


_dis=100;
_sfx = "engine_12s";
_chance = floor(random 100);
_press = nearestObject [player, "Land_Ind_Stack_Big"]; 
_sounddist = 15;


player playActionNow "Medic";
sleep 1;
titleText ["You are creating a fire grenade.","PLAIN DOWN"]; titleFadeOut 5;
sleep 2;




if (_chance > 10) then
    {


[nil,_press,rSAY,["engine_12s", _sounddist]] call RE; 
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
player addMagazine "SmokeShell";
        player removeMagazine "ItemSodaEmpty";
player removeMagazine "HandRoadFlare"; 
player removeMagazine "ItemMixOil";  
        sleep 0.01;    
        titleText ["You successfully created a fire grenade.","PLAIN DOWN"]; titleFadeOut 5;
    }
else
    {
  [nil,_press,rSAY,["PMC_ElectricBlast1", _sounddist]] call RE; 
player removeMagazine "HandRoadFlare"; 
sleep 0.01;
       
        titleText ["flare got wet.","PLAIN DOWN"]; titleFadeOut 5;
    };

 

 

 

It already kills them. I changed the initial code a tad cause I edited it on the fly to stop the loop and forgot to add another loop to continue subtracting the blood. I fixed it in the post.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×
×
  • Create New...