mirror of
https://github.com/DarthRogue/EtV.git
synced 2024-08-30 16:52:14 +00:00
Timer bug fix
Had to do some magic with group creation. Added new BE filter to scripts.txt
This commit is contained in:
parent
e7936d3ce4
commit
172746a5e2
@ -9,3 +9,4 @@ line 1 - !="HelicopterExploSmall"
|
|||||||
scripts.txt
|
scripts.txt
|
||||||
|
|
||||||
line 1 - !"[_explosive,_random0,_random1] call BIS_fnc_SetPitchBank;"
|
line 1 - !"[_explosive,_random0,_random1] call BIS_fnc_SetPitchBank;"
|
||||||
|
line 35 - !"_illogic = _grp createUnit ["logic", Position _explo""
|
@ -1,19 +1,20 @@
|
|||||||
/*
|
/*
|
||||||
Stealthstick's "Explosive-To-Vehicle" Script
|
Stealthstick's "Explosive-To-Vehicle" Script adapted by second_coming and DarthRogue to
|
||||||
-Allows players to attach their explosive charges to any vehicle.
|
Allow players to attach their explosive charges to any vehicle or lockable Epoch door.
|
||||||
-Edited by second_coming and Darth Rogue to work with Epoch
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
systemChat "EtV is loading...";
|
|
||||||
|
|
||||||
EtV_ChargeCheck =
|
EtV_ChargeCheck =
|
||||||
{
|
{
|
||||||
|
|
||||||
_charge = _this select 0;
|
_charge = _this select 0;
|
||||||
_unit = _this select 1;
|
_unit = _this select 1;
|
||||||
_hasIt = _charge in (magazines _unit);
|
_hasIt = _charge in (magazines _unit);
|
||||||
_nearVehs = nearestObjects [_unit,["Air","Ship","LandVehicle","CinderWallGarage_EPOCH","WoodLargeWallDoorL_EPOCH","WoodLargeWallDoor_EPOCH"],5]; //add or remove classnames here to determine what explosives will stick to
|
_nearVehs = nearestObjects [_unit,["Air","Ship","LandVehicle","CinderWallGarage_EPOCH","WoodLargeWallDoorL_EPOCH","WoodLargeWallDoor_EPOCH"],5];
|
||||||
|
|
||||||
_return = (_hasIt && count _nearVehs > 0 && alive _unit);
|
_return = (_hasIt && count _nearVehs > 0 && alive _unit && !inSafeZone);
|
||||||
_return
|
_return
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -23,13 +24,18 @@ EtV_TouchOff =
|
|||||||
_unit = _array select 0;
|
_unit = _array select 0;
|
||||||
_explosives = _unit getVariable ["charges",[]];
|
_explosives = _unit getVariable ["charges",[]];
|
||||||
{
|
{
|
||||||
if(alive _x) then
|
if(alive _x && !inSafeZone) then
|
||||||
{
|
{
|
||||||
|
_nearVehicle = (nearestObjects [_x,["Air","Ship","LandVehicle","CinderWallGarage_EPOCH","WoodLargeWallDoorL_EPOCH","WoodLargeWallDoor_EPOCH"],5]) select 0;
|
||||||
"HelicopterExploSmall" createVehicle (position _x);
|
"HelicopterExploSmall" createVehicle (position _x);
|
||||||
deleteVehicle _x;
|
deleteVehicle _x;
|
||||||
|
_existingDamage = damage _nearVehicle;
|
||||||
|
_nearVehicle setDamage _existingDamage + 0.34;
|
||||||
|
|
||||||
};
|
};
|
||||||
} forEach _explosives;
|
} forEach _explosives;
|
||||||
_unit setVariable ["charges",[]];
|
_unit setVariable ["charges",[]];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
EtV_UnitCheck =
|
EtV_UnitCheck =
|
||||||
@ -53,7 +59,10 @@ EtV_TimedCharge =
|
|||||||
{
|
{
|
||||||
_explosive = _this select 0;
|
_explosive = _this select 0;
|
||||||
_unit = _this select 1;
|
_unit = _this select 1;
|
||||||
_illogic = group server createUnit ["logic", Position _explosive, [], 0, "FORM"];
|
//_illogic = group server createUnit ["logic", Position _explosive, [], 0, "FORM"];
|
||||||
|
_grp = createGroup east;
|
||||||
|
_illogic = _grp createUnit ["logic", Position _explosive, [], 0, "FORM"];
|
||||||
|
[_illogic] join _grp;
|
||||||
_illogic attachTo [_explosive];
|
_illogic attachTo [_explosive];
|
||||||
while {alive _explosive} do
|
while {alive _explosive} do
|
||||||
{
|
{
|
||||||
@ -87,13 +96,13 @@ EtV_AttachCharge =
|
|||||||
{
|
{
|
||||||
_class = "DemoCharge_Remote_Ammo";
|
_class = "DemoCharge_Remote_Ammo";
|
||||||
};
|
};
|
||||||
case "SatchelCharge_Remote_Mag": //add or remove either "case" to limit the type of explosives that can be used
|
|
||||||
{
|
|
||||||
_class = "SatchelCharge_Remote_Ammo";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
_nearVehicle = (nearestObjects [_unit,["Air","Ship","LandVehicle","CinderWallGarage_EPOCH","WoodLargeWallDoorL_EPOCH","WoodLargeWallDoor_EPOCH"],5]) select 0; //add or remove classnames here to determine what explosives will stick to
|
_nearVehicle = (nearestObjects [_unit,["Air","Ship","LandVehicle","CinderWallGarage_EPOCH","WoodLargeWallDoorL_EPOCH","WoodLargeWallDoor_EPOCH"],5]) select 0;
|
||||||
_explosive = _class createVehicle [0,0,0];
|
_explosive = _class createVehicle [0,0,0];
|
||||||
_explosive attachTo [_unit,[0,0,0],"leftHand"];
|
_explosive attachTo [_unit,[0,0,0],"leftHand"];
|
||||||
_random0 = random 180;
|
_random0 = random 180;
|
||||||
@ -108,7 +117,16 @@ EtV_AttachCharge =
|
|||||||
_random1 = _this select 4;
|
_random1 = _this select 4;
|
||||||
|
|
||||||
sleep 1.5;
|
sleep 1.5;
|
||||||
|
|
||||||
|
if ((typeOf _nearVehicle) in ["CinderWallGarage_EPOCH","WoodLargeWallDoorL_EPOCH","WoodLargeWallDoor_EPOCH"]) then
|
||||||
|
{
|
||||||
|
_explosive attachTo [_nearVehicle, [0,0,0.6]];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
_explosive attachTo [_nearVehicle, [0,0,0.2]];
|
_explosive attachTo [_nearVehicle, [0,0,0.2]];
|
||||||
|
};
|
||||||
|
|
||||||
[_explosive,_random0,_random1] call BIS_fnc_SetPitchBank;
|
[_explosive,_random0,_random1] call BIS_fnc_SetPitchBank;
|
||||||
_unit setVariable ["charges",(_unit getVariable ["charges",[]]) + [_explosive]];
|
_unit setVariable ["charges",(_unit getVariable ["charges",[]]) + [_explosive]];
|
||||||
[_explosive,_unit] spawn EtV_TimedCharge;
|
[_explosive,_unit] spawn EtV_TimedCharge;
|
||||||
@ -158,10 +176,13 @@ EtV_Actions =
|
|||||||
{
|
{
|
||||||
private ["_unit"];
|
private ["_unit"];
|
||||||
_unit = _this select 0;
|
_unit = _this select 0;
|
||||||
_unit addAction ["<t color=""#FFE496"">" +"Attach Satchel Charge", EtV_AttachCharge, ["SatchelCharge_Remote_Mag",_unit], 1, true, true, "","['SatchelCharge_Remote_Mag',_target] call EtV_ChargeCheck"]; //if you eliminate one of the charge types above, you also have to eliminate it here
|
|
||||||
_unit addAction ["<t color=""#FFE496"">" +"Attach Explosive Charge", EtV_AttachCharge, ["DemoCharge_Remote_Mag",_unit], 1, true, true, "","['DemoCharge_Remote_Mag',_target] call EtV_ChargeCheck"];
|
_unit addAction ["<t color=""#FFE496"">" +"Attach Explosive Charge", EtV_AttachCharge, ["DemoCharge_Remote_Mag",_unit], 1, true, true, "","['DemoCharge_Remote_Mag',_target] call EtV_ChargeCheck"];
|
||||||
_unit addAction ["<t color=""#FFE496"">" +"Touch-Off Explosives", EtV_TouchOff, [_unit], 1, true, true, "","[_target] call EtV_UnitCheck"];
|
_unit addAction ["<t color=""#CC3300"">" +"Touch-Off Explosives", EtV_TouchOff, [_unit], 1, true, true, "","[_target] call EtV_UnitCheck"];
|
||||||
_unit addAction ["<t color=""#FFE496"">" +"+30Secs to Timer", EtV_Timer, [_unit], 1, true, true, "","[_target] call EtV_UnitCheckTimer"];
|
_unit addAction ["<t color=""#CC3300"">" +"+30Secs to Timer", EtV_Timer, [_unit], 1, true, true, "","[_target] call EtV_UnitCheckTimer"];
|
||||||
};
|
};
|
||||||
|
|
||||||
//=======================
|
//=======================
|
||||||
EtVInitialized = true;
|
|
||||||
|
|
||||||
|
[player] call EtV_Actions;
|
Loading…
Reference in New Issue
Block a user