juandayz Posted August 9, 2016 Report Share Posted August 9, 2016 This is a small script to make home made bombs. Thers a Time Delay to select, a countdown and "Bip,Bip" sound :D VIDEO: Spoiler 1-Path to every bombs sqfs: custom\bomb\ 2-Create: bombtimer.sqf: (used for all bombs). Spoiler /////COUNT////////////// _countdown = true; _maxSeconds = selectDelay; _seconds = 0; while {true} do { if(_countdown) then { systemChat format["COUNTDOWN: %1",_maxSeconds - _seconds]; //countdown in chat }; ////EXIT FROM LOOP AREA//// if (_seconds >= _maxSeconds) exitWith { titleText [format["Your bomb explode"],"PLAIN DOWN"]; titleFadeOut 4; }; ///////////////////// _nul = [objNull, player, rSAY, "bomb"] call RE; _seconds = _seconds + 1; sleep 1; }; 3-in descriptions.ext (into class sounds). (ONLY PASTE LINES IN BLUE! THE OTHERS LINES ARE FOR REFERENCE) Spoiler class RscProgressNotFreeze { idc = -1; type = 45; style = 0; x = 0.022059; y = 0.911772; w = 0.029412; h = 0.039216; texture = "#(argb,8,8,3)color(0,0,0,0)"; };class CfgSounds { sounds[] = { Radio_Message_Sound }; class Radio_Message_Sound { name = "Radio_Message_Sound"; sound[] = {custom\remote\radio.ogg,0.4,1}; titles[] = {}; }; soundsbomb[] = { bomb }; class bomb { name="bomb"; sound[]={custom\bomb\bomb.ogg,0.9,1}; titles[] = {}; }; }; 4-DOWNLOAD BOMB SOUND : http://www.mediafire.com/download/7yjzis8htqfb952/bomb.ogg ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// *THERS 4 KIND OF BOMBS (Choose one , two or all of them... works togheter.) : SIMPLE BOMB// SIMPLE STICKY BOMB// STICKY BOMB WITH DEFUSE OPTION// VEHICLE BOMB ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// SIMPLE BOMB: (WITHOUT STICKY-WITHOUT DEFUSE). Dedicated to @chi who put "like" in all my post. TNKS chi! Spoiler simplebomb.sqf Spoiler ///////////////CREATE BOMB FUNCTION//////////////// bomb = { //_bomb = ["SH_125_HE","Bo_GBU12_LGB"] call BIS_fnc_selectRandom; _bomb = ["HelicopterExploSmall","HelicopterExploBig","Bo_GBU12_LGB"] call BIS_fnc_selectRandom; _dabomb = objNull; if (true) then { _this = createVehicle [_bomb,_positionobj, [], 2, "CAN_COLLIDE"]; _dabomb = _this; }; }; ////////////////////////////////////////////////// /////////////////SELECT DELAY MENU/////////////////// selectDelay=0; // Run timer timer = [ ["StickyBomb",true], ["Select delay", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["10 seconds", [], "", -5, [["expression", "selectDelay=10;"]], "1", "1"], ["15 sec", [], "", -5, [["expression", "selectDelay=15;"]], "1", "1"], ["25 sec", [], "", -5, [["expression", "selectDelay=25;"]], "1", "1"], ["30 sec", [], "", -5, [["expression", "selectDelay=30;"]], "1", "1"], ["60 sec", [], "", -5, [["expression", "selectDelay=60;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Exit", [13], "", -3, [["expression", ""]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:timer"; WaitUntil{commandingMenu == ""}; if (isNil 'timer') then {timer=false;}; _seltimer = selectDelay; if(selectDelay != 0) then { ///////////////////////////CONFIG TARGET//////////////////////////////// player playActionNow "PutDown"; titleText ["Time for run", "PLAIN DOWN"]; player removeMagazine "ItemBandage";//remove items player removeMagazine "ItemJerryMixed";//same as above player removeWeapon "ItemWatch";//remove toolbelt items _cursor_objet = nearestObject getPos cursorTarget; _mark = "SmokeShell" createVehicle (getPos _cursor_objet); _mark attachTo [_cursor_objet, [0,0,0]]; _position = getPosATL player; _neartarget = count nearestObjects [_position, ["SmokeShell"], 125] > 0; _target = nearestObject [player, "SmokeShell"]; _positionobj = getPosATL _target; /////////////////////////////////////////////////////////////////////// [] execVM 'custom\bomb\bombtimer.sqf'; sleep _seltimer; /////////////////////////CALL THE BOMB///////////////////////////////// call bomb; titleText ["Your bomb exploded", "PLAIN DOWN"];titleFadeOut 5; }; at bottom of your custom fn_selfactions.sqf add: Spoiler /////////////////////////////////SIMPLE BOMB//////////////////////////////////////////////////////// private ["_inventory","_hasitems","_hasitems2","_hastool"]; _inventory = items player; _hastool = "ItemWatch" in _inventory; _hasitems = "ItemBandage" in magazines player; _hasitems2 = "ItemJerryMixed" in magazines player; if (_hasitems && _hasitems2 && _hastool) then { if (s_player_simplebomb < 0) then { s_player_simplebomb = player addaction[("<t color=""#F7D708"">" + ("HOMEMADE BOMB") +"</t>"),"custom\bomb\simplebomb.sqf"]; }; } else { player removeAction s_player_simplebomb; s_player_simplebomb = -1; }; SIMPLE STICKY BOMB: (WITH OUT DEFUSE OPTION). Dedicated to @theduke he wanna broke some tanks :D VID: Spoiler Spoiler simplestickybomb.sqf Spoiler player playActionNow "PutDown"; player removeMagazine "ItemJerryMixed";//UNCOMENT ONCE YOU TEST IT AND CHANGE IF URE USING OTHER ITEM FROM FN_SELFACTIONS TO ALLOW THE STICKY BOMB OPTION //#############################BOMB FUNCTION TO EXPLODE############################// bombexp = { _bomb = ["HelicopterExploSmall","HelicopterExploBig"] call BIS_fnc_selectRandom; _dabomb = objNull; if (true) then { _this = createVehicle [_bomb,_positionobj, [], 2, "CAN_COLLIDE"]; _dabomb = _this; }; }; //############################EXIT FROM HERE#################################################// _cursor_objet = nearestObject getPos cursorTarget; _mark = "SmokeShell" createVehicle (getPos _cursor_objet); _mark attachTo [_cursor_objet, [0,0,0.5]]; selectDelay = 25;//CHANGE THIS VALUE FOR MORE OR LESS TIME BEFORE BOMB EXPLODE /////COUNTDOWN AREA////////////// _countdown = true; _maxSeconds = selectDelay; _seconds = 0; while {true} do { if(_countdown) then { systemChat format["COUNTDOWN: %1",_maxSeconds - _seconds]; //countdown in chat }; ////EXIT FROM LOOP AREA//// if (_seconds >= _maxSeconds) exitWith { _positionobj = getPosATL _mark; call bombexp; }; ///////////////////// _nul = [objNull, player, rSAY, "bomb",50] call RE;//REMOVE ME IF U DONT WANT SOUND TIMER _seconds = _seconds + 1; sleep 1; }; at bottom of your custom fn_selfactions.sqf add: Spoiler private ["_hasitems"]; _hasitems = "ItemJerryMixed" in magazines player; //CHANGE IF U WNT USE OTHER ITEM TO ALLOW STICKY B OPTION.IF U CHANGE ITEM ,CHANGE IN stickybomb.sqf remove section too. if (_hasitems) then { if (s_player_simplesticky < 0) then { s_player_simplesticky = player addaction[("<t color=""#F7D708"">" + ("STICKY BOMB") +"</t>"),"custom\bomb\simplestickybomb.sqf"]; }; } else { player removeAction s_player_simplesticky; s_player_simplesticky = -1; }; STICKYBOMB WITH DEFUSE Dedicated to @Cherdenko Spoiler stickybomb_withdefuse.sqf Spoiler player playActionNow "PutDown"; player removeMagazine "ItemJerryMixed";//UNCOMENT ONCE YOU TEST IT AND CHANGE IF URE USING OTHER ITEM FROM FN_SELFACTIONS TO ALLOW THE STICKY BOMB OPTION //#############################BOMB FUNCTION TO EXPLODE############################// bombexp = { _bomb = ["HelicopterExploSmall","HelicopterExploBig"] call BIS_fnc_selectRandom; _dabomb = objNull; if (true) then { _this = createVehicle [_bomb,_positionobj, [], 2, "CAN_COLLIDE"]; _dabomb = _this; }; }; //############################EXIT FROM HERE#################################################// _cursor_objet = nearestObject getPos cursorTarget; _mark = "SmokeShell" createVehicle (getPos _cursor_objet); _mark attachTo [_cursor_objet, [0,0,0.5]]; _def = "Training_target_EP1" createVehicle (getPos _cursor_objet); _def attachTo [_cursor_objet, [0,0,0.1]]; selectDelay = 25;//CHANGE THIS VALUE FOR MORE OR LESS TIME BEFORE BOMB EXPLODE /////COUNTDOWN AREA////////////// _countdown = true; _maxSeconds = selectDelay; _seconds = 0; while {true} do { if(_countdown) then { systemChat format["COUNTDOWN: %1",_maxSeconds - _seconds]; //countdown in chat }; ////EXIT FROM LOOP AREA//// if (_seconds >= _maxSeconds) exitWith { _positionobj = getPosATL _def; call bombexp; }; ///////////////////// _nul = [objNull, player, rSAY, "bombtimer",50] call RE;//REMOVE ME IF U DONT WANT SOUND TIMER _seconds = _seconds + 1; sleep 1; }; //////////////////////////////////////////////////////////////////////////////////////////////////////// stickybomb_defuse.sqf Spoiler private ["_rand","_playerPos","_nearRestr","_delobj","_objectID","_objectUID"]; _playerPos = getPosATL player; _nearRestr = count nearestObjects [_playerPos, ["Training_target_EP1"], 15] > 0; _delobj = nearestObject [player, "Training_target_EP1"]; _rand = floor(random 100); if (_rand <= 30) then { //RED WIRE IS THE GOOD WIRE bomb = 0; wirecut = [ ["",true], ["wirecut", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Red Wire", [], "", -5, [["expression", "bomb=1;"]], "1", "1"], ["Black Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Brown Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:wirecut"; WaitUntil{commandingMenu == ""}; }; if (_rand <= 65 && _rand > 31) then { //BLACK WIRE IS THE GOOD bomb = 0; wirecut = [ ["",true], ["wirecut", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Red Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Black Wire", [], "", -5, [["expression", "bomb=1;"]], "1", "1"], ["Brown Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:wirecut"; WaitUntil{commandingMenu == ""}; }; if (_rand <= 100 && _rand > 66) then { //BROWN IS THE GOOD WIRE bomb = 0; wirecut = [ ["",true], ["wirecut", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Red Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Black Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Brown Wire", [], "", -5, [["expression", "bomb=1;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:wirecut"; WaitUntil{commandingMenu == ""}; }; if(bomb != 0) then { ///////////UNCOMENT 3 LINES BELLOW IF U WANT PLAYER ACTION///////////// //player playActionNow "Medic"; //[player,"repair",0,false,10] call dayz_zombieSpeak; //[player,10,true,(getPosATL player)] spawn player_alertZombies; /////////////////////////////////////////////////////////////////////// titleText ["BOMB WAS DEFUSED!", "PLAIN DOWN"]; _objectID = _delobj getVariable["ObjectID","0"]; _objectUID = _delobj getVariable["ObjectUID","0"]; _objectID = _delobj getVariable["ObjectID","0"]; deleteVehicle _delobj; [_objectID,_objectUID] call server_deleteObj; deleteVehicle _delobj; PVDZE_obj_Delete = [_objectID,_objectUID,_delobj]; publicVariableServer "PVDZE_obj_Delete"; }else{ cutText ["Wrong Wire, better run now", "PLAIN DOWN"]; }; at bottom of your custom fn_selfactions.sqf add: Spoiler //plant bomb private ["_hasitems"]; _hasitems = "ItemJerryMixed" in magazines player; if (_hasitems) then { if (s_player_stickywd < 0) then { s_player_stickywd = player addaction[("<t color=""#F7D708"">" + ("HARDBOMB") +"</t>"),"custom\bomb\stickybomb_withdefuse.sqf"]; }; } else { player removeAction s_player_stickywd; s_player_stickywd = -1; }; //defuse bomb private["_inventory","_hastool","_playerPos","_nearbomb"]; _playerPos = getPosATL player; _nearbomb = count nearestObjects [_playerPos, ["Training_target_EP1"], 3] > 0; _inventory = items player; _hastool = "ItemToolbox" in _inventory; if (_nearbomb && _hastool) then { if (s_player_def < 0) then { s_player_def = player addaction[("<t color=""#F7D708"">" + ("DEFUSE") +"</t>"),"custom\bomb\stickybomb_defuse.sqf"]; }; } else { player removeAction s_player_def; s_player_def = -1; }; VEHICLE BOMB Spoiler vehiclebomb.sqf Spoiler ///////////////CREATE BOMB FUNCTION//////////////// bomb = { _bomb = ["RocketBase","Bo_Mk82"] call BIS_fnc_selectRandom; _dabomb = objNull; if (true) then { _this = createVehicle [_bomb,_positionobj, [], 2, "CAN_COLLIDE"]; _dabomb = _this; }; }; ////////////////////////////////////////////////// if(isNil "script_in_progress")then{ script_in_progress = false; }; if(script_in_progress)exitwith{ titleText ["You cant put another bomb in this vechicle", "PLAIN DOWN"];titleFadeOut 5; }; /////////////////SELECT DELAY MENU/////////////////// selectDelay=0; // Run timer timer = [ ["StickyBomb",true], ["Select delay", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["10 seconds", [], "", -5, [["expression", "selectDelay=10;"]], "1", "1"], ["15 sec", [], "", -5, [["expression", "selectDelay=15;"]], "1", "1"], ["25 sec", [], "", -5, [["expression", "selectDelay=25;"]], "1", "1"], ["30 sec", [], "", -5, [["expression", "selectDelay=30;"]], "1", "1"], ["60 sec", [], "", -5, [["expression", "selectDelay=60;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Exit", [13], "", -3, [["expression", ""]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:timer"; WaitUntil{commandingMenu == ""}; if (isNil 'timer') then {timer=false;}; _seltimer = selectDelay; if(selectDelay != 0) then { player removeMagazine "ItemJerryMixed"; script_in_progress = true; ///////////////////////////CONFIG TARGET//////////////////////////////// player playActionNow "PutDown"; titleText ["Time for run", "PLAIN DOWN"]; _vehicle = vehicle player; _inVehicle = (_vehicle != player); _mark = "RoadFlare" createVehicle getPosATL _vehicle; _mark setPosATL (getPosATL _vehicle); _mark attachTo [_vehicle, [0,0,0]]; _position = getPosATL player; _neartarget = count nearestObjects [_position, ["RoadFlare"], 125] > 0; _target = nearestObject [player, "RoadFlare"]; _positionobj = getPosATL _target; /////////////////////////////////////////////////////////////////////// [] execVM 'custom\bomb\bombtimer.sqf'; sleep _seltimer; /////////////////////////CALL THE BOMB///////////////////////////////// sleep 1; call bomb; titleText ["Your bomb exploded", "PLAIN DOWN"];titleFadeOut 5; }; in your custom fn_selfactions.sqf add !!ONLY LINES IN BLUE THE OTHERS ARE FOR REFERENCE Spoiler if (_canPickLight && !dayz_hasLight && !_isPZombie) then { if (s_player_grabflare < 0) then { _text = getText (configFile >> "CfgAmmo" >> (typeOf _nearLight) >> "displayName"); s_player_grabflare = player addAction [format[localize "str_actions_medical_15",_text], "\z\addons\dayz_code\actions\flare_pickup.sqf",_nearLight, 1, false, true, "", ""]; s_player_removeflare = player addAction [format[localize "str_actions_medical_17",_text], "\z\addons\dayz_code\actions\flare_remove.sqf",_nearLight, 1, false, true, "", ""]; }; } else { player removeAction s_player_grabflare; player removeAction s_player_removeflare; s_player_grabflare = -1; s_player_removeflare = -1; }; if (_inVehicle && (driver _vehicle == player)) then { if (s_player_carbomb < 0) then { dayz_addbomb = _vehicle; s_player_carbomb = dayz_addbomb addaction[("<t color=""#F7D708"">" + ("VehicleBomb") +"</t>"),"custom\bomb\vehiclebomb.sqf"]; }; } else { dayz_addbomb removeAction s_player_carbomb; s_player_carbomb = -1; }; INFISTAR USERS: TNKS TO @theduke for it Spoiler In your AHconfig.sqf Look for _cMenu add #USER:timer to the list of menus. This is a list of menus to tell infistar to ingnore make sure you don't have a comma at the end of the list If that doesn't work, you can try disabling the check for menus completely, i don't recommend it, but its a fix I have _CCM and _BCM set to false on one of my servers. This disables it completely. theduke, chi, Shawn and 2 others 5 Link to comment Share on other sites More sharing options...
theduke Posted August 9, 2016 Report Share Posted August 9, 2016 I want to like your post as many times as i can. hahaha this is awesome!! juandayz 1 Link to comment Share on other sites More sharing options...
juandayz Posted August 9, 2016 Author Report Share Posted August 9, 2016 hahaahah in some cases this bomb can be sticky bomb :D Link to comment Share on other sites More sharing options...
theduke Posted August 9, 2016 Report Share Posted August 9, 2016 yes sticky bomb for placing on tanks lol Link to comment Share on other sites More sharing options...
juandayz Posted August 9, 2016 Author Report Share Posted August 9, 2016 other way is put the bomb into the cars bomb_init2.sqf Spoiler ///////////////CREATE BOMB FUNCTION//////////////// bomb = { _bomb = ["RocketBase","Bo_Mk82"] call BIS_fnc_selectRandom; _dabomb = objNull; if (true) then { _this = createVehicle [_bomb,_positionobj, [], 2, "CAN_COLLIDE"]; _dabomb = _this; }; }; ////////////////////////////////////////////////// if(isNil "script_in_progress")then{ script_in_progress = false; }; if(script_in_progress)exitwith{ titleText ["You cant put another bomb in this vechicle", "PLAIN DOWN"];titleFadeOut 5; }; /////////////////SELECT DELAY MENU/////////////////// selectDelay=0; // Run timer timer = [ ["StickyBomb",true], ["Select delay", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["10 seconds", [], "", -5, [["expression", "selectDelay=10;"]], "1", "1"], ["15 sec", [], "", -5, [["expression", "selectDelay=15;"]], "1", "1"], ["25 sec", [], "", -5, [["expression", "selectDelay=25;"]], "1", "1"], ["30 sec", [], "", -5, [["expression", "selectDelay=30;"]], "1", "1"], ["60 sec", [], "", -5, [["expression", "selectDelay=60;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Exit", [13], "", -3, [["expression", ""]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:timer"; WaitUntil{commandingMenu == ""}; if (isNil 'timer') then {timer=false;}; _seltimer = selectDelay; if(selectDelay != 0) then { script_in_progress = true; ///////////////////////////CONFIG TARGET//////////////////////////////// player playActionNow "PutDown"; titleText ["Time for run", "PLAIN DOWN"]; _vehicle = vehicle player; _inVehicle = (_vehicle != player); _mark = "RoadFlare" createVehicle getPosATL _vehicle; _mark setPosATL (getPosATL _vehicle); _mark attachTo [_vehicle, [0,0,0]]; _position = getPosATL player; _neartarget = count nearestObjects [_position, ["RoadFlare"], 125] > 0; _target = nearestObject [player, "RoadFlare"]; _positionobj = getPosATL _target; /////////////////////////////////////////////////////////////////////// [] execVM 'custom\bomb\bombcounter.sqf'; sleep _seltimer; /////////////////////////CALL THE BOMB///////////////////////////////// sleep 1; call bomb; titleText ["Your bomb exploded", "PLAIN DOWN"];titleFadeOut 5; }; bombcounter.sqf Spoiler /////COUNT////////////// _countdown = true; _maxSeconds = selectDelay; _seconds = 0; while {true} do { if(_countdown) then { systemChat format["COUNTDOWN: %1",_maxSeconds - _seconds]; //countdown in chat }; ////EXIT FROM LOOP AREA//// if (_seconds >= _maxSeconds) exitWith { titleText [format["Your bomb explode"],"PLAIN DOWN"]; titleFadeOut 4; }; ///////////////////// _nul = [objNull, player, rSAY, "bomb"] call RE; _seconds = _seconds + 1; sleep 1; }; fn_SelfActions.sqf (add only lines in blue) Spoiler if (_canPickLight && !dayz_hasLight && !_isPZombie) then { if (s_player_grabflare < 0) then { _text = getText (configFile >> "CfgAmmo" >> (typeOf _nearLight) >> "displayName"); s_player_grabflare = player addAction [format[localize "str_actions_medical_15",_text], "\z\addons\dayz_code\actions\flare_pickup.sqf",_nearLight, 1, false, true, "", ""]; s_player_removeflare = player addAction [format[localize "str_actions_medical_17",_text], "\z\addons\dayz_code\actions\flare_remove.sqf",_nearLight, 1, false, true, "", ""]; }; } else { player removeAction s_player_grabflare; player removeAction s_player_removeflare; s_player_grabflare = -1; s_player_removeflare = -1; }; if (_inVehicle && (driver _vehicle == player)) then { if (s_player_carbomb < 0) then { dayz_addbomb = _vehicle; s_player_carbomb = dayz_addbomb addaction[("<t color=""#F7D708"">" + ("CarBomb") +"</t>"),"custom\bomb\bomb_init2.sqf"]; }; } else { dayz_addbomb removeAction s_player_carbomb; s_player_carbomb = -1; }; description.ext into class sounds (paste just lines in blue, the others is for reference) Spoiler class RscProgressNotFreeze { idc = -1; type = 45; style = 0; x = 0.022059; y = 0.911772; w = 0.029412; h = 0.039216; texture = "#(argb,8,8,3)color(0,0,0,0)"; };class CfgSounds { sounds[] = { Radio_Message_Sound }; class Radio_Message_Sound { name = "Radio_Message_Sound"; sound[] = {custom\remote\radio.ogg,0.4,1}; titles[] = {}; }; soundsbomb[] = { bomb }; class bomb { name="bomb"; sound[]={custom\stickybomb\bomb.ogg,0.9,1}; titles[] = {}; }; }; Link to comment Share on other sites More sharing options...
lonewolfgaming Posted August 10, 2016 Report Share Posted August 10, 2016 do you have the ogg file for the bomb? Link to comment Share on other sites More sharing options...
juandayz Posted August 10, 2016 Author Report Share Posted August 10, 2016 1 hour ago, lonewolfgaming said: do you have the ogg file for the bomb? :S oh yep sory i forgot it :D http://www.mediafire.com/download/7yjzis8htqfb952/bomb.ogg lonewolfgaming 1 Link to comment Share on other sites More sharing options...
chi Posted August 10, 2016 Report Share Posted August 10, 2016 You never disappoint me!!! Awesome explosions!! juandayz 1 Link to comment Share on other sites More sharing options...
juandayz Posted August 15, 2016 Author Report Share Posted August 15, 2016 @theduke this is for sticky bombs as you want :) stickybomb.sqf (goes into: custom\stickybomb\) Spoiler player playActionNow "PutDown"; //player removeMagazine "ItemJerryMixed";//UNCOMENT ONCE YOU TEST IT AND CHANGE IF URE USING OTHER ITEM FROM FN_SELFACTIONS TO ALLOW THE STICKY BOMB OPTION //#############################BOMB FUNCTION TO EXPLODE############################// bombexp = { _bomb = ["HelicopterExploSmall","HelicopterExploBig"] call BIS_fnc_selectRandom; _dabomb = objNull; if (true) then { _this = createVehicle [_bomb,_positionobj, [], 2, "CAN_COLLIDE"]; _dabomb = _this; }; }; //############################EXIT FROM HERE#################################################// _cursor_objet = nearestObject getPos cursorTarget; _mark = "SmokeShell" createVehicle (getPos _cursor_objet); _mark attachTo [_cursor_objet, [0,0,0.5]]; selectDelay = 25;//CHANGE THIS VALUE FOR MORE OR LESS TIME BEFORE BOMB EXPLODE /////COUNTDOWN AREA////////////// _countdown = true; _maxSeconds = selectDelay; _seconds = 0; while {true} do { if(_countdown) then { systemChat format["COUNTDOWN: %1",_maxSeconds - _seconds]; //countdown in chat }; ////EXIT FROM LOOP AREA//// if (_seconds >= _maxSeconds) exitWith { _positionobj = getPosATL _mark; call bombexp; }; ///////////////////// _nul = [objNull, player, rSAY, "bomb",50] call RE;//REMOVE ME IF U DONT WANT SOUND TIMER _seconds = _seconds + 1; sleep 1; }; bottom of your fn_selfactions.sqf Spoiler private ["_hasitems"]; _hasitems = "ItemJerryMixed" in magazines player; //CHANGE IF U WNT USE OTHER ITEM TO ALLOW STICKY B OPTION.IF U CHANGE ITEM ,CHANGE IN stickybomb.sqf remove section too. if (_hasitems) then { if (s_player_stickybombinit < 0) then { s_player_stickybombinit = player addaction[("<t color=""#F7D708"">" + ("STICKY BOMB") +"</t>"),"custom\stickybomb\stickybomb.sqf"]; }; } else { player removeAction s_player_stickybombinit; s_player_stickybombinit = -1; }; into class sounds (descriptions.ext) Spoiler soundsbombtimer[] = { bombtimer }; class bombtimer { name="bombtimer"; sound[]={custom\bombtimer.ogg,0.9,1}; titles[] = {}; }; soundsbombmsg[] = { bombmsg }; class bombmsg { name="bombmsg"; sound[]={custom\events\bombcrate\bomb.ogg,0.9,1}; titles[] = {}; }; bomb timer sound: http://www.mediafire.com/download/7yjzis8htqfb952/bomb.ogg chi and theduke 2 Link to comment Share on other sites More sharing options...
theduke Posted August 15, 2016 Report Share Posted August 15, 2016 as always. amazing lol Link to comment Share on other sites More sharing options...
Cherdenko Posted August 16, 2016 Report Share Posted August 16, 2016 is there anyway to also defuse the bomb, once it is planted? Link to comment Share on other sites More sharing options...
juandayz Posted August 16, 2016 Author Report Share Posted August 16, 2016 @Cherdenko i was using it to other kind of bombs. With this you can Open a scroll menu and let you choose a wire to cut. (i need test it cuz must be in a second sqf. and i guess need make changes in primary sqf to give all players the option to defuse) gonna work in it. Spoiler private ["_rand"]; _rand = floor(random 100); //############################################################################################################// //####################################1st rand: if floor random is a less or equal number of 30 start a menu to cut wires ...#################/// //#############then i define Brown Wire as good bomb=1 is the good value. The others make explode the bomb#########// if (_rand <= 30) then { bomb = 0; wirecut = [ ["",true], ["wirecut", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Red Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Black Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Brown Wire", [], "", -5, [["expression", "bomb=1;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:wirecut"; WaitUntil{commandingMenu == ""}; }; //############################################EXIT FROM 1st rand############################################################// //####################################2nd rand same as above but here Red Wire is the good Wire#############################/// if (_rand <= 65 && _rand > 31) then { bomb = 0; wirecut = [ ["",true], ["wirecut", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Red Wire", [], "", -5, [["expression", "bomb=1;"]], "1", "1"], ["Black Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Brown Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:wirecut"; WaitUntil{commandingMenu == ""}; }; //############################################EXIT FROM 2st rand############################################################// //####################################3nd rand same as above but here Black Wire is the good Wire#############################/// if (_rand <= 100 && _rand > 66) then { bomb = 0; wirecut = [ ["",true], ["wirecut", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Red Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Black Wire", [], "", -5, [["expression", "bomb=1;"]], "1", "1"], ["Brown Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:wirecut"; WaitUntil{commandingMenu == ""}; }; if(bomb != 0) then { titleText ["BOMB WAS DEFUSED!", "PLAIN DOWN"]; deleteVehicle _mark; }else{ cutText ["Wrong Wire, better run now", "PLAIN DOWN"]; }; chi 1 Link to comment Share on other sites More sharing options...
WagnerMello Posted August 16, 2016 Report Share Posted August 16, 2016 Hello Juan Parabens by Script tested and worked perfectly, the only problem I'm having is that it gun in the car even if I did not have the necessary items How can I make him do checking the items inside the car too? Thank you! Link to comment Share on other sites More sharing options...
juandayz Posted August 16, 2016 Author Report Share Posted August 16, 2016 15 minutes ago, WagnerMello said: Hello Juan Parabens by Script tested and worked perfectly, the only problem I'm having is that it gun in the car even if I did not have the necessary items How can I make him do checking the items inside the car too? Thank you! hey wagner! try replace in fn_selfactions this lines in blue: Spoiler if (_canPickLight && !dayz_hasLight && !_isPZombie) then { if (s_player_grabflare < 0) then { _text = getText (configFile >> "CfgAmmo" >> (typeOf _nearLight) >> "displayName"); s_player_grabflare = player addAction [format[localize "str_actions_medical_15",_text], "\z\addons\dayz_code\actions\flare_pickup.sqf",_nearLight, 1, false, true, "", ""]; s_player_removeflare = player addAction [format[localize "str_actions_medical_17",_text], "\z\addons\dayz_code\actions\flare_remove.sqf",_nearLight, 1, false, true, "", ""]; }; } else { player removeAction s_player_grabflare; player removeAction s_player_removeflare; s_player_grabflare = -1; s_player_removeflare = -1; }; if (_inVehicle && (driver _vehicle == player)) then { if (s_player_carbomb < 0) then { dayz_addbomb = _vehicle; s_player_carbomb = dayz_addbomb addaction[("<t color=""#F7D708"">" + ("CarBomb") +"</t>"),"custom\bomb\bomb_init2.sqf"]; }; } else { dayz_addbomb removeAction s_player_carbomb; s_player_carbomb = -1; }; by this lines in red: Spoiler if (_canPickLight && !dayz_hasLight && !_isPZombie) then { if (s_player_grabflare < 0) then { _text = getText (configFile >> "CfgAmmo" >> (typeOf _nearLight) >> "displayName"); s_player_grabflare = player addAction [format[localize "str_actions_medical_15",_text], "\z\addons\dayz_code\actions\flare_pickup.sqf",_nearLight, 1, false, true, "", ""]; s_player_removeflare = player addAction [format[localize "str_actions_medical_17",_text], "\z\addons\dayz_code\actions\flare_remove.sqf",_nearLight, 1, false, true, "", ""]; }; } else { player removeAction s_player_grabflare; player removeAction s_player_removeflare; s_player_grabflare = -1; s_player_removeflare = -1; }; private ["_hasitem"]; _hasitem = "ItemJerryMixed" in magazines player; //CHANGE IF U WNT USE OTHER ITEM TO ALLOW B OPTION.IF U CHANGE ITEM ,CHANGE IN bomb_init.sqf remove section too. if (_inVehicle && (driver _vehicle == player) && _hasitem) then { if (s_player_carbomb < 0) then { dayz_addbomb = _vehicle; s_player_carbomb = dayz_addbomb addaction[("<t color=""#F7D708"">" + ("CarBomb") +"</t>"),"custom\bomb\bomb_init2.sqf"]; }; } else { dayz_addbomb removeAction s_player_carbomb; s_player_carbomb = -1; }; also in bomb_init2.sqf you will need add a remove item line so into this file add lines in red: Spoiler if(selectDelay != 0) then { player removeMagazine "ItemJerryMixed";//UNCOMENT ONCE YOU TEST IT AND CHANGE IF URE USING OTHER ITEM FROM FN_SELFACTIONS TO ALLOW THE BOMB OPTION script_in_progress = true; Link to comment Share on other sites More sharing options...
WagnerMello Posted August 16, 2016 Report Share Posted August 16, 2016 which permission to use in infistar because my players are being banned Link to comment Share on other sites More sharing options...
juandayz Posted August 16, 2016 Author Report Share Posted August 16, 2016 oh sory, dont have infi,, so cant help you with it.. if anyone can.. please Link to comment Share on other sites More sharing options...
juandayz Posted August 16, 2016 Author Report Share Posted August 16, 2016 @Cherdenko here you have a bomb with defuse. Once bomb is active, execute another option to Defuse if u have a toolbox. Defuse option shows a cut wire menu. Now you need choose trough 3 wires to cut. (red,Black or brown) Every time the "good" wire changes cuz thers a random to select who is the good wire. paths to drop the sqfs: custom\bombs\ (change the paths in fn_selfactions if u want). stickybomb_withdefuse.sqf Spoiler player playActionNow "PutDown"; //player removeMagazine "ItemJerryMixed";//UNCOMENT ONCE YOU TEST IT AND CHANGE IF URE USING OTHER ITEM FROM FN_SELFACTIONS TO ALLOW THE STICKY BOMB OPTION //#############################BOMB FUNCTION TO EXPLODE############################// bombexp = { _bomb = ["HelicopterExploSmall","HelicopterExploBig"] call BIS_fnc_selectRandom; _dabomb = objNull; if (true) then { _this = createVehicle [_bomb,_positionobj, [], 2, "CAN_COLLIDE"]; _dabomb = _this; }; }; //############################EXIT FROM HERE#################################################// _cursor_objet = nearestObject getPos cursorTarget; _mark = "SmokeShell" createVehicle (getPos _cursor_objet); _mark attachTo [_cursor_objet, [0,0,0.5]]; _def = "Training_target_EP1" createVehicle (getPos _cursor_objet); _def attachTo [_cursor_objet, [0,0,0.1]]; selectDelay = 25;//CHANGE THIS VALUE FOR MORE OR LESS TIME BEFORE BOMB EXPLODE /////COUNTDOWN AREA////////////// _countdown = true; _maxSeconds = selectDelay; _seconds = 0; while {true} do { if(_countdown) then { systemChat format["COUNTDOWN: %1",_maxSeconds - _seconds]; //countdown in chat }; ////EXIT FROM LOOP AREA//// if (_seconds >= _maxSeconds) exitWith { _positionobj = getPosATL _def; call bombexp; }; ///////////////////// _nul = [objNull, player, rSAY, "bombtimer",50] call RE;//REMOVE ME IF U DONT WANT SOUND TIMER _seconds = _seconds + 1; sleep 1; }; //////////////////////////////////////////////////////////////////////////////////////////////////////// stickybomb_defuse.sqf Spoiler private ["_rand","_playerPos","_nearRestr","_delobj","_objectID","_objectUID"]; _playerPos = getPosATL player; _nearRestr = count nearestObjects [_playerPos, ["Training_target_EP1"], 15] > 0; _delobj = nearestObject [player, "Training_target_EP1"]; _rand = floor(random 100); if (_rand <= 30) then { //RED WIRE IS THE GOOD WIRE bomb = 0; wirecut = [ ["",true], ["wirecut", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Red Wire", [], "", -5, [["expression", "bomb=1;"]], "1", "1"], ["Black Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Brown Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:wirecut"; WaitUntil{commandingMenu == ""}; }; if (_rand <= 65 && _rand > 31) then { //BLACK WIRE IS THE GOOD bomb = 0; wirecut = [ ["",true], ["wirecut", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Red Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Black Wire", [], "", -5, [["expression", "bomb=1;"]], "1", "1"], ["Brown Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:wirecut"; WaitUntil{commandingMenu == ""}; }; if (_rand <= 100 && _rand > 66) then { //BROWN IS THE GOOD WIRE bomb = 0; wirecut = [ ["",true], ["wirecut", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Red Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Black Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Brown Wire", [], "", -5, [["expression", "bomb=1;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:wirecut"; WaitUntil{commandingMenu == ""}; }; if(bomb != 0) then { ///////////UNCOMENT 3 LINES BELLOW IF U WANT PLAYER ACTION///////////// //player playActionNow "Medic"; //[player,"repair",0,false,10] call dayz_zombieSpeak; //[player,10,true,(getPosATL player)] spawn player_alertZombies; /////////////////////////////////////////////////////////////////////// titleText ["BOMB WAS DEFUSED!", "PLAIN DOWN"]; _objectID = _delobj getVariable["ObjectID","0"]; _objectUID = _delobj getVariable["ObjectUID","0"]; _objectID = _delobj getVariable["ObjectID","0"]; deleteVehicle _delobj; [_objectID,_objectUID] call server_deleteObj; deleteVehicle _delobj; PVDZE_obj_Delete = [_objectID,_objectUID,_delobj]; publicVariableServer "PVDZE_obj_Delete"; }else{ cutText ["Wrong Wire, better run now", "PLAIN DOWN"]; }; at bottom of selfactions Spoiler //plant bomb private ["_hasitems"]; _hasitems = "ItemJerryMixed" in magazines player; if (_hasitems) then { if (s_player_stickywd < 0) then { s_player_stickywd = player addaction[("<t color=""#F7D708"">" + ("STICKY BOMB") +"</t>"),"custom\bombs\stickybomb_withdefuse.sqf"]; }; } else { player removeAction s_player_stickywd; s_player_stickywd = -1; }; //defuse bomb private["_inventory","_hastool","_playerPos","_nearbomb"]; _playerPos = getPosATL player; _nearbomb = count nearestObjects [_playerPos, ["Training_target_EP1"], 3] > 0; _inventory = items player; _hastool = "ItemToolbox" in _inventory; if (_nearbomb && _hastool) then { if (s_player_def < 0) then { s_player_def = player addaction[("<t color=""#F7D708"">" + ("Defuse") +"</t>"),"custom\bombs\stickybomb_defuse.sqf"]; }; } else { player removeAction s_player_def; s_player_def = -1; }; Link to comment Share on other sites More sharing options...
WagnerMello Posted August 17, 2016 Report Share Posted August 17, 2016 really cool script friend I and the admin is fun but I have to eprar a solution to the infistar to release the players Thanks! juandayz 1 Link to comment Share on other sites More sharing options...
juandayz Posted August 17, 2016 Author Report Share Posted August 17, 2016 2 minutes ago, WagnerMello said: really cool script friend I and the admin is fun but I have to eprar a solution to the infistar to release the players Thanks! yep very sory wagner.. you can tell me the infi restriction? so maybe others with infi can help on it. :) Link to comment Share on other sites More sharing options...
WagnerMello Posted August 17, 2016 Report Share Posted August 17, 2016 he banish the player giving this #USER:timer menu to ban just put it in infi and will now test juandayz 1 Link to comment Share on other sites More sharing options...
juandayz Posted August 17, 2016 Author Report Share Posted August 17, 2016 Lets clean this post a little. XD Path to every bombs sqfs: custom\bomb\ bombtimer.sqf: (used for all bombs). Spoiler /////COUNT////////////// _countdown = true; _maxSeconds = selectDelay; _seconds = 0; while {true} do { if(_countdown) then { systemChat format["COUNTDOWN: %1",_maxSeconds - _seconds]; //countdown in chat }; ////EXIT FROM LOOP AREA//// if (_seconds >= _maxSeconds) exitWith { titleText [format["Your bomb explode"],"PLAIN DOWN"]; titleFadeOut 4; }; ///////////////////// _nul = [objNull, player, rSAY, "bomb"] call RE; _seconds = _seconds + 1; sleep 1; }; in descriptions.ext (into class sounds). (ONLY PASTE LINES IN BLUE! THE OTHERS LINES ARE FOR REFERENCE) Spoiler class RscProgressNotFreeze { idc = -1; type = 45; style = 0; x = 0.022059; y = 0.911772; w = 0.029412; h = 0.039216; texture = "#(argb,8,8,3)color(0,0,0,0)"; };class CfgSounds { sounds[] = { Radio_Message_Sound }; class Radio_Message_Sound { name = "Radio_Message_Sound"; sound[] = {custom\remote\radio.ogg,0.4,1}; titles[] = {}; }; soundsbomb[] = { bomb }; class bomb { name="bomb"; sound[]={custom\bomb\bomb.ogg,0.9,1}; titles[] = {}; }; }; DOWNLOAD BOMB SOUND : http://www.mediafire.com/download/7yjzis8htqfb952/bomb.ogg ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// *THERS 4 KIND OF BOMBS (Choose one , two or all of them... works togheter.) : SIMPLE BOMB// SIMPLE STICKY BOMB// STICKY BOMB WITH DEFUSE OPTION// VEHICLE BOMB ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// SIMPLE BOMB: (WITHOUT STICKY-WITHOUT DEFUSE). Spoiler simplebomb.sqf Spoiler ///////////////CREATE BOMB FUNCTION//////////////// bomb = { //_bomb = ["SH_125_HE","Bo_GBU12_LGB"] call BIS_fnc_selectRandom; _bomb = ["HelicopterExploSmall","HelicopterExploBig","Bo_GBU12_LGB"] call BIS_fnc_selectRandom; _dabomb = objNull; if (true) then { _this = createVehicle [_bomb,_positionobj, [], 2, "CAN_COLLIDE"]; _dabomb = _this; }; }; ////////////////////////////////////////////////// /////////////////SELECT DELAY MENU/////////////////// selectDelay=0; // Run timer timer = [ ["StickyBomb",true], ["Select delay", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["10 seconds", [], "", -5, [["expression", "selectDelay=10;"]], "1", "1"], ["15 sec", [], "", -5, [["expression", "selectDelay=15;"]], "1", "1"], ["25 sec", [], "", -5, [["expression", "selectDelay=25;"]], "1", "1"], ["30 sec", [], "", -5, [["expression", "selectDelay=30;"]], "1", "1"], ["60 sec", [], "", -5, [["expression", "selectDelay=60;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Exit", [13], "", -3, [["expression", ""]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:timer"; WaitUntil{commandingMenu == ""}; if (isNil 'timer') then {timer=false;}; _seltimer = selectDelay; if(selectDelay != 0) then { ///////////////////////////CONFIG TARGET//////////////////////////////// player playActionNow "PutDown"; titleText ["Time for run", "PLAIN DOWN"]; player removeMagazine "ItemBandage";//remove items player removeMagazine "ItemJerryMixed";//same as above player removeWeapon "ItemWatch";//remove toolbelt items _cursor_objet = nearestObject getPos cursorTarget; _mark = "SmokeShell" createVehicle (getPos _cursor_objet); _mark attachTo [_cursor_objet, [0,0,0]]; _position = getPosATL player; _neartarget = count nearestObjects [_position, ["SmokeShell"], 125] > 0; _target = nearestObject [player, "SmokeShell"]; _positionobj = getPosATL _target; /////////////////////////////////////////////////////////////////////// [] execVM 'custom\bomb\bombtimer.sqf'; sleep _seltimer; /////////////////////////CALL THE BOMB///////////////////////////////// call bomb; titleText ["Your bomb exploded", "PLAIN DOWN"];titleFadeOut 5; }; at bottom of your custom fn_selfactions.sqf add: Spoiler /////////////////////////////////SIMPLE BOMB//////////////////////////////////////////////////////// private ["_inventory","_hasitems","_hasitems2","_hastool"]; _inventory = items player; _hastool = "ItemWatch" in _inventory; _hasitems = "ItemBandage" in magazines player; _hasitems2 = "ItemJerryMixed" in magazines player; if (_hasitems && _hasitems2 && _hastool) then { if (s_player_simplebomb < 0) then { s_player_simplebomb = player addaction[("<t color=""#F7D708"">" + ("HOMEMADE BOMB") +"</t>"),"custom\bomb\simplebomb.sqf"]; }; } else { player removeAction s_player_simplebomb; s_player_simplebomb = -1; }; SIMPLE STICKY BOMB: (WITH OUT DEFUSE OPTION). Spoiler simplestickybomb.sqf Spoiler player playActionNow "PutDown"; player removeMagazine "ItemJerryMixed";//UNCOMENT ONCE YOU TEST IT AND CHANGE IF URE USING OTHER ITEM FROM FN_SELFACTIONS TO ALLOW THE STICKY BOMB OPTION //#############################BOMB FUNCTION TO EXPLODE############################// bombexp = { _bomb = ["HelicopterExploSmall","HelicopterExploBig"] call BIS_fnc_selectRandom; _dabomb = objNull; if (true) then { _this = createVehicle [_bomb,_positionobj, [], 2, "CAN_COLLIDE"]; _dabomb = _this; }; }; //############################EXIT FROM HERE#################################################// _cursor_objet = nearestObject getPos cursorTarget; _mark = "SmokeShell" createVehicle (getPos _cursor_objet); _mark attachTo [_cursor_objet, [0,0,0.5]]; selectDelay = 25;//CHANGE THIS VALUE FOR MORE OR LESS TIME BEFORE BOMB EXPLODE /////COUNTDOWN AREA////////////// _countdown = true; _maxSeconds = selectDelay; _seconds = 0; while {true} do { if(_countdown) then { systemChat format["COUNTDOWN: %1",_maxSeconds - _seconds]; //countdown in chat }; ////EXIT FROM LOOP AREA//// if (_seconds >= _maxSeconds) exitWith { _positionobj = getPosATL _mark; call bombexp; }; ///////////////////// _nul = [objNull, player, rSAY, "bomb",50] call RE;//REMOVE ME IF U DONT WANT SOUND TIMER _seconds = _seconds + 1; sleep 1; }; at bottom of your custom fn_selfactions.sqf add: Spoiler private ["_hasitems"]; _hasitems = "ItemJerryMixed" in magazines player; //CHANGE IF U WNT USE OTHER ITEM TO ALLOW STICKY B OPTION.IF U CHANGE ITEM ,CHANGE IN stickybomb.sqf remove section too. if (_hasitems) then { if (s_player_simplesticky < 0) then { s_player_simplesticky = player addaction[("<t color=""#F7D708"">" + ("STICKY BOMB") +"</t>"),"custom\bomb\simplestickybomb.sqf"]; }; } else { player removeAction s_player_simplesticky; s_player_simplesticky = -1; }; STICKYBOMB WITH DEFUSE Spoiler stickybomb_withdefuse.sqf Spoiler player playActionNow "PutDown"; player removeMagazine "ItemJerryMixed";//UNCOMENT ONCE YOU TEST IT AND CHANGE IF URE USING OTHER ITEM FROM FN_SELFACTIONS TO ALLOW THE STICKY BOMB OPTION //#############################BOMB FUNCTION TO EXPLODE############################// bombexp = { _bomb = ["HelicopterExploSmall","HelicopterExploBig"] call BIS_fnc_selectRandom; _dabomb = objNull; if (true) then { _this = createVehicle [_bomb,_positionobj, [], 2, "CAN_COLLIDE"]; _dabomb = _this; }; }; //############################EXIT FROM HERE#################################################// _cursor_objet = nearestObject getPos cursorTarget; _mark = "SmokeShell" createVehicle (getPos _cursor_objet); _mark attachTo [_cursor_objet, [0,0,0.5]]; _def = "Training_target_EP1" createVehicle (getPos _cursor_objet); _def attachTo [_cursor_objet, [0,0,0.1]]; selectDelay = 25;//CHANGE THIS VALUE FOR MORE OR LESS TIME BEFORE BOMB EXPLODE /////COUNTDOWN AREA////////////// _countdown = true; _maxSeconds = selectDelay; _seconds = 0; while {true} do { if(_countdown) then { systemChat format["COUNTDOWN: %1",_maxSeconds - _seconds]; //countdown in chat }; ////EXIT FROM LOOP AREA//// if (_seconds >= _maxSeconds) exitWith { _positionobj = getPosATL _def; call bombexp; }; ///////////////////// _nul = [objNull, player, rSAY, "bombtimer",50] call RE;//REMOVE ME IF U DONT WANT SOUND TIMER _seconds = _seconds + 1; sleep 1; }; //////////////////////////////////////////////////////////////////////////////////////////////////////// stickybomb_defuse.sqf Spoiler private ["_rand","_playerPos","_nearRestr","_delobj","_objectID","_objectUID"]; _playerPos = getPosATL player; _nearRestr = count nearestObjects [_playerPos, ["Training_target_EP1"], 15] > 0; _delobj = nearestObject [player, "Training_target_EP1"]; _rand = floor(random 100); if (_rand <= 30) then { //RED WIRE IS THE GOOD WIRE bomb = 0; wirecut = [ ["",true], ["wirecut", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Red Wire", [], "", -5, [["expression", "bomb=1;"]], "1", "1"], ["Black Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Brown Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:wirecut"; WaitUntil{commandingMenu == ""}; }; if (_rand <= 65 && _rand > 31) then { //BLACK WIRE IS THE GOOD bomb = 0; wirecut = [ ["",true], ["wirecut", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Red Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Black Wire", [], "", -5, [["expression", "bomb=1;"]], "1", "1"], ["Brown Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:wirecut"; WaitUntil{commandingMenu == ""}; }; if (_rand <= 100 && _rand > 66) then { //BROWN IS THE GOOD WIRE bomb = 0; wirecut = [ ["",true], ["wirecut", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Red Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Black Wire", [], "", -5, [["expression", "bomb=0;"]], "1", "1"], ["Brown Wire", [], "", -5, [["expression", "bomb=1;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:wirecut"; WaitUntil{commandingMenu == ""}; }; if(bomb != 0) then { ///////////UNCOMENT 3 LINES BELLOW IF U WANT PLAYER ACTION///////////// //player playActionNow "Medic"; //[player,"repair",0,false,10] call dayz_zombieSpeak; //[player,10,true,(getPosATL player)] spawn player_alertZombies; /////////////////////////////////////////////////////////////////////// titleText ["BOMB WAS DEFUSED!", "PLAIN DOWN"]; _objectID = _delobj getVariable["ObjectID","0"]; _objectUID = _delobj getVariable["ObjectUID","0"]; _objectID = _delobj getVariable["ObjectID","0"]; deleteVehicle _delobj; [_objectID,_objectUID] call server_deleteObj; deleteVehicle _delobj; PVDZE_obj_Delete = [_objectID,_objectUID,_delobj]; publicVariableServer "PVDZE_obj_Delete"; }else{ cutText ["Wrong Wire, better run now", "PLAIN DOWN"]; }; at bottom of your custom fn_selfactions.sqf add: Spoiler //plant bomb private ["_hasitems"]; _hasitems = "ItemJerryMixed" in magazines player; if (_hasitems) then { if (s_player_stickywd < 0) then { s_player_stickywd = player addaction[("<t color=""#F7D708"">" + ("HARDBOMB") +"</t>"),"custom\bomb\stickybomb_withdefuse.sqf"]; }; } else { player removeAction s_player_stickywd; s_player_stickywd = -1; }; //defuse bomb private["_inventory","_hastool","_playerPos","_nearbomb"]; _playerPos = getPosATL player; _nearbomb = count nearestObjects [_playerPos, ["Training_target_EP1"], 3] > 0; _inventory = items player; _hastool = "ItemToolbox" in _inventory; if (_nearbomb && _hastool) then { if (s_player_def < 0) then { s_player_def = player addaction[("<t color=""#F7D708"">" + ("DEFUSE") +"</t>"),"custom\bomb\stickybomb_defuse.sqf"]; }; } else { player removeAction s_player_def; s_player_def = -1; }; VEHICLE BOMB Spoiler vehiclebomb.sqf Spoiler ///////////////CREATE BOMB FUNCTION//////////////// bomb = { _bomb = ["RocketBase","Bo_Mk82"] call BIS_fnc_selectRandom; _dabomb = objNull; if (true) then { _this = createVehicle [_bomb,_positionobj, [], 2, "CAN_COLLIDE"]; _dabomb = _this; }; }; ////////////////////////////////////////////////// if(isNil "script_in_progress")then{ script_in_progress = false; }; if(script_in_progress)exitwith{ titleText ["You cant put another bomb in this vechicle", "PLAIN DOWN"];titleFadeOut 5; }; /////////////////SELECT DELAY MENU/////////////////// selectDelay=0; // Run timer timer = [ ["StickyBomb",true], ["Select delay", [-1], "", -5, [["expression", ""]], "1", "0"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["10 seconds", [], "", -5, [["expression", "selectDelay=10;"]], "1", "1"], ["15 sec", [], "", -5, [["expression", "selectDelay=15;"]], "1", "1"], ["25 sec", [], "", -5, [["expression", "selectDelay=25;"]], "1", "1"], ["30 sec", [], "", -5, [["expression", "selectDelay=30;"]], "1", "1"], ["60 sec", [], "", -5, [["expression", "selectDelay=60;"]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Exit", [13], "", -3, [["expression", ""]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"] ]; showCommandingMenu "#USER:timer"; WaitUntil{commandingMenu == ""}; if (isNil 'timer') then {timer=false;}; _seltimer = selectDelay; if(selectDelay != 0) then { player removeMagazine "ItemJerryMixed"; script_in_progress = true; ///////////////////////////CONFIG TARGET//////////////////////////////// player playActionNow "PutDown"; titleText ["Time for run", "PLAIN DOWN"]; _vehicle = vehicle player; _inVehicle = (_vehicle != player); _mark = "RoadFlare" createVehicle getPosATL _vehicle; _mark setPosATL (getPosATL _vehicle); _mark attachTo [_vehicle, [0,0,0]]; _position = getPosATL player; _neartarget = count nearestObjects [_position, ["RoadFlare"], 125] > 0; _target = nearestObject [player, "RoadFlare"]; _positionobj = getPosATL _target; /////////////////////////////////////////////////////////////////////// [] execVM 'custom\bomb\bombtimer.sqf'; sleep _seltimer; /////////////////////////CALL THE BOMB///////////////////////////////// sleep 1; call bomb; titleText ["Your bomb exploded", "PLAIN DOWN"];titleFadeOut 5; }; in your custom fn_selfactions.sqf add !!ONLY LINES IN BLUE THE OTHERS ARE FOR REFERENCE Spoiler if (_canPickLight && !dayz_hasLight && !_isPZombie) then { if (s_player_grabflare < 0) then { _text = getText (configFile >> "CfgAmmo" >> (typeOf _nearLight) >> "displayName"); s_player_grabflare = player addAction [format[localize "str_actions_medical_15",_text], "\z\addons\dayz_code\actions\flare_pickup.sqf",_nearLight, 1, false, true, "", ""]; s_player_removeflare = player addAction [format[localize "str_actions_medical_17",_text], "\z\addons\dayz_code\actions\flare_remove.sqf",_nearLight, 1, false, true, "", ""]; }; } else { player removeAction s_player_grabflare; player removeAction s_player_removeflare; s_player_grabflare = -1; s_player_removeflare = -1; }; if (_inVehicle && (driver _vehicle == player)) then { if (s_player_carbomb < 0) then { dayz_addbomb = _vehicle; s_player_carbomb = dayz_addbomb addaction[("<t color=""#F7D708"">" + ("VehicleBomb") +"</t>"),"custom\bomb\vehiclebomb.sqf"]; }; } else { dayz_addbomb removeAction s_player_carbomb; s_player_carbomb = -1; }; Shak and chi 2 Link to comment Share on other sites More sharing options...
Shak Posted August 17, 2016 Report Share Posted August 17, 2016 That's pretty cool m8 juandayz 1 Link to comment Share on other sites More sharing options...
Shawn Posted August 19, 2016 Report Share Posted August 19, 2016 Amazing! :D +1 Link to comment Share on other sites More sharing options...
paulcav Posted August 19, 2016 Report Share Posted August 19, 2016 Looks awesome mate! :) Quick question, is there any way of making a proximity bomb that's set off by AI? Link to comment Share on other sites More sharing options...
juandayz Posted August 19, 2016 Author Report Share Posted August 19, 2016 1 hour ago, paulcav said: Looks awesome mate! :) Quick question, is there any way of making a proximity bomb that's set off by AI? i think yes, creating a trigger with a bomb where opfor faction active it by his presence. let me see not tested but its a begining: proxybomb.sqf (custom\bomb\) Spoiler player playActionNow "PutDown"; player removeMagazine "ItemJerryMixed"; titleText ["Proximity bomb is active now", "PLAIN DOWN"]; _cursor_objet = nearestObject getPos cursorTarget; _posprox = getPosATL _cursor_objet; _this = createMarker ["tar0", _posprox]; _this setMarkerText "tar0"; _this setMarkerShape "ELLIPSE"; _this setMarkerType "Move"; _this setMarkerColor "ColorRedFaded25"; _this setMarkerBrush "Solid"; _marker_0 = _this; selectDelay = 240;//CHANGE THIS VALUE FOR MORE OR LESS TIME BEFORE PROXIMITY BOMB MUST BE REMOVED IF NO EXPLODE _this = createTrigger ["EmptyDetector", _posprox]; _this setTriggerActivation ["EAST", "PRESENT", true]; _this setTriggerTimeout [0, 0, 0, false]; _this setTriggerStatements ["this", "bomb = ""Bo_GBU12_LGB"" createVehicle getmarkerPos ""tar0""", ""]; _trigger_0 = _this; sleep selecDelay; deleteMarker _marker_0; deleteVehicle _trigger_0; bottom of selfactions.sqf Spoiler /////////////////////////////////SIMPLE BOMB//////////////////////////////////////////////////////// private ["_hasitems"]; _hasitems = "ItemJerryMixed" in magazines player; if (_hasitems ) then { if (s_player_proxybomb < 0) then { s_player_porxybomb = player addaction[("<t color=""#F7D708"">" + ("PROXY BOMB") +"</t>"),"custom\bomb\proxybomb.sqf"]; }; } else { player removeAction s_player_proxybomb; s_player_proxybomb = -1; }; paulcav 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now