mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 12:12:34 +03:00
1.7.5.M1D7
This commit is contained in:
7442
dayz_code/CfgWorlds.hpp
Normal file
7442
dayz_code/CfgWorlds.hpp
Normal file
File diff suppressed because it is too large
Load Diff
@@ -15,7 +15,7 @@ for "_i" from 1 to _meleeNum do {
|
|||||||
};
|
};
|
||||||
|
|
||||||
player removeWeapon _item;
|
player removeWeapon _item;
|
||||||
|
if (_item == "MeleeHatchet") then {_item = "ItemHatchet";};
|
||||||
_bag = createVehicle [format["WeaponHolder_%1",_item],getPosATL player,[], 0, "CAN_COLLIDE"];
|
_bag = createVehicle [format["WeaponHolder_%1",_item],getPosATL player,[], 0, "CAN_COLLIDE"];
|
||||||
_bag setdir (getDir player);
|
_bag setdir (getDir player);
|
||||||
player reveal _bag;
|
player reveal _bag;
|
||||||
48
dayz_code/actions/player_sleep.sqf
Normal file
48
dayz_code/actions/player_sleep.sqf
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
//http://community.bistudio.com/wiki/ArmA2:_Moves
|
||||||
|
|
||||||
|
player playMove "amovpsitmstpsraswrfldnon_smoking"; // - Sitting smoking
|
||||||
|
|
||||||
|
waitUntil { animationState player != "amovpsitmstpsraswrfldnon_smoking"};
|
||||||
|
|
||||||
|
sleep 5;
|
||||||
|
|
||||||
|
player playMove "amovpsitmstpsraswrfldnon_weaponcheck1"; // - Sitting checking weapon
|
||||||
|
|
||||||
|
waitUntil { animationState player != "amovpsitmstpsraswrfldnon_weaponcheck1"};
|
||||||
|
|
||||||
|
sleep 5;
|
||||||
|
|
||||||
|
player playMove "AidlPpneMstpSnonWnonDnon_SleepC_layDown";
|
||||||
|
|
||||||
|
waitUntil { animationState player != "AidlPpneMstpSnonWnonDnon_SleepC_layDown"};
|
||||||
|
|
||||||
|
sleep 5;
|
||||||
|
|
||||||
|
player playMove "AidlPpneMstpSnonWnonDnon_SleepC_lookAround";
|
||||||
|
|
||||||
|
waitUntil { animationState player != "AidlPpneMstpSnonWnonDnon_SleepC_lookAround"};
|
||||||
|
|
||||||
|
sleep 5;
|
||||||
|
|
||||||
|
player playMove "AidlPpneMstpSnonWnonDnon_SleepC_scratch";
|
||||||
|
|
||||||
|
waitUntil { animationState player != "AidlPpneMstpSnonWnonDnon_SleepC_scratch"};
|
||||||
|
|
||||||
|
sleep 5;
|
||||||
|
|
||||||
|
player playMove "AidlPpneMstpSnonWnonDnon_SleepC_sleep";
|
||||||
|
|
||||||
|
waitUntil { animationState player != "AidlPpneMstpSnonWnonDnon_SleepC_sleep"};
|
||||||
|
|
||||||
|
sleep 5;
|
||||||
|
|
||||||
|
player playMove "AidlPpneMstpSnonWnonDnon_SleepC_sleep0";
|
||||||
|
|
||||||
|
waitUntil { animationState player != "AidlPpneMstpSnonWnonDnon_SleepC_sleep0"};
|
||||||
|
|
||||||
|
sleep 5;
|
||||||
|
|
||||||
|
player playMove "AidlPpneMstpSnonWnonDnon_SleepC_standUp";
|
||||||
|
|
||||||
|
waitUntil { animationState player != "AidlPpneMstpSnonWnonDnon_SleepC_standUp"};
|
||||||
|
|
||||||
@@ -208,6 +208,7 @@ class CfgLoot {
|
|||||||
"HandChemGreen",
|
"HandChemGreen",
|
||||||
"HandChemBlue",
|
"HandChemBlue",
|
||||||
"HandChemRed",
|
"HandChemRed",
|
||||||
|
"DZ_Czech_Vest_Puch","object", // 12-0
|
||||||
"ItemHeatPack"
|
"ItemHeatPack"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -246,6 +247,7 @@ class CfgLoot {
|
|||||||
0.02,
|
0.02,
|
||||||
0.02,
|
0.02,
|
||||||
0.02,
|
0.02,
|
||||||
|
0.02,
|
||||||
0.04
|
0.04
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -275,6 +277,7 @@ class CfgLoot {
|
|||||||
"10x_303",
|
"10x_303",
|
||||||
"ItemWaterbottleUnfilled",
|
"ItemWaterbottleUnfilled",
|
||||||
"BoltSteel",
|
"BoltSteel",
|
||||||
|
"DZ_ALICE_Pack_EP1","object",
|
||||||
"ItemHeatPack",
|
"ItemHeatPack",
|
||||||
"TrapBear"
|
"TrapBear"
|
||||||
},
|
},
|
||||||
@@ -285,6 +288,7 @@ class CfgLoot {
|
|||||||
0.5,
|
0.5,
|
||||||
0.2,
|
0.2,
|
||||||
1,
|
1,
|
||||||
|
0.1,
|
||||||
0.2,
|
0.2,
|
||||||
0.01
|
0.01
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -521,17 +521,7 @@ class Citizen1; // External class reference
|
|||||||
canHideBodies = 1;
|
canHideBodies = 1;
|
||||||
};
|
};
|
||||||
class Bag_Base_EP1;
|
class Bag_Base_EP1;
|
||||||
class CZ_VestPouch_EP1: Bag_Base_EP1
|
class Bag_Base_BAF;
|
||||||
{
|
|
||||||
displayname = "Czech Vest Pouch";
|
|
||||||
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
|
||||||
mapsize = 2;
|
|
||||||
model = "\ca\weapons_e\AmmoBoxes\backpack_acr_small.p3d";
|
|
||||||
picture = "\ca\weapons_e\data\icons\backpack_ACR_small_CA.paa";
|
|
||||||
scope = 2;
|
|
||||||
transportmaxmagazines = 12;
|
|
||||||
transportmaxweapons = 0;
|
|
||||||
};
|
|
||||||
class DZ_Patrol_Pack_EP1: Bag_Base_EP1
|
class DZ_Patrol_Pack_EP1: Bag_Base_EP1
|
||||||
{
|
{
|
||||||
scope = 2;
|
scope = 2;
|
||||||
@@ -543,6 +533,7 @@ class Citizen1; // External class reference
|
|||||||
transportMaxWeapons = 1;
|
transportMaxWeapons = 1;
|
||||||
transportMaxMagazines = 8;
|
transportMaxMagazines = 8;
|
||||||
};
|
};
|
||||||
|
|
||||||
class DZ_Assault_Pack_EP1: Bag_Base_EP1
|
class DZ_Assault_Pack_EP1: Bag_Base_EP1
|
||||||
{
|
{
|
||||||
scope = 2;
|
scope = 2;
|
||||||
@@ -554,17 +545,19 @@ class Citizen1; // External class reference
|
|||||||
transportMaxWeapons = 2;
|
transportMaxWeapons = 2;
|
||||||
transportMaxMagazines = 12;
|
transportMaxMagazines = 12;
|
||||||
};
|
};
|
||||||
class DZ_CivilBackpack_EP1: Bag_Base_EP1
|
|
||||||
|
class DZ_Czech_Vest_Puch: Bag_Base_EP1
|
||||||
{
|
{
|
||||||
scope = 2;
|
scope = 2;
|
||||||
displayName = "Czech Backpack";
|
displayName = "Czech Vest Pouch";
|
||||||
picture = "\ca\weapons_e\data\icons\backpack_ACR_CA.paa";
|
picture = "\ca\weapons_e\data\icons\backpack_ACR_small_CA.paa";
|
||||||
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
mapsize = 2;
|
mapsize = 2;
|
||||||
model = "\ca\weapons_e\AmmoBoxes\backpack_acr.p3d";
|
model = "\ca\weapons_e\AmmoBoxes\backpack_acr_small.p3d";
|
||||||
transportMaxWeapons = 3;
|
transportMaxWeapons = 2;
|
||||||
transportMaxMagazines = 16;
|
transportMaxMagazines = 12;
|
||||||
};
|
};
|
||||||
|
|
||||||
class DZ_ALICE_Pack_EP1: Bag_Base_EP1
|
class DZ_ALICE_Pack_EP1: Bag_Base_EP1
|
||||||
{
|
{
|
||||||
scope = 2;
|
scope = 2;
|
||||||
@@ -573,9 +566,46 @@ class Citizen1; // External class reference
|
|||||||
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
mapsize = 2;
|
mapsize = 2;
|
||||||
model = "\ca\weapons_e\AmmoBoxes\backpack_tk_alice.p3d";
|
model = "\ca\weapons_e\AmmoBoxes\backpack_tk_alice.p3d";
|
||||||
transportMaxWeapons = 4;
|
transportMaxWeapons = 2;
|
||||||
transportMaxMagazines = 20;
|
transportMaxMagazines = 16;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class DZ_TK_Assault_Pack_EP1 : Bag_Base_BAF
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "Survival ACU";
|
||||||
|
mapSize = 2;
|
||||||
|
picture = "\ca\weapons_e\data\icons\backpack_CIVIL_ASSAULT_CA.paa";
|
||||||
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
|
model = "\ca\weapons_e\AmmoBoxes\backpack_civil_assault.p3d";
|
||||||
|
transportMaxWeapons = 2;
|
||||||
|
transportMaxMagazines = 16;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DZ_British_ACU : Bag_Base_BAF
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "British Assault Pack";
|
||||||
|
mapSize = 2;
|
||||||
|
model = "\ca\weapons_baf\Backpack_Small_BAF";\
|
||||||
|
picture = "\ca\weapons_baf\data\UI\backpack_BAF_CA.paa";
|
||||||
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
|
transportMaxWeapons = 3;
|
||||||
|
transportMaxMagazines = 18;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DZ_CivilBackpack_EP1: Bag_Base_EP1
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "Czech Backpack";
|
||||||
|
picture = "\ca\weapons_e\data\icons\backpack_ACR_CA.paa";
|
||||||
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
|
mapsize = 2;
|
||||||
|
model = "\ca\weapons_e\AmmoBoxes\backpack_acr.p3d";
|
||||||
|
transportMaxWeapons = 6;
|
||||||
|
transportMaxMagazines = 24;
|
||||||
|
};
|
||||||
|
|
||||||
class DZ_Backpack_EP1: Bag_Base_EP1
|
class DZ_Backpack_EP1: Bag_Base_EP1
|
||||||
{
|
{
|
||||||
scope = 2;
|
scope = 2;
|
||||||
|
|||||||
@@ -15,9 +15,11 @@ if (_canLoot) then {
|
|||||||
_config = configFile >> "CfgBuildingLoot" >> _type;
|
_config = configFile >> "CfgBuildingLoot" >> _type;
|
||||||
//Get zombie class
|
//Get zombie class
|
||||||
_zombieChance = getNumber (_config >> "zombieChance");
|
_zombieChance = getNumber (_config >> "zombieChance");
|
||||||
_rnd = random 1;
|
_rnd = random 0.5;
|
||||||
|
_chance = round(random 20);
|
||||||
|
|
||||||
if (_rnd < _zombieChance) then {
|
//if (_rnd < _zombieChance) then {
|
||||||
|
if ((_chance % 2) == 0) then {
|
||||||
|
|
||||||
_noPlayerNear = (count ((getPosATL _obj) nearEntities ["CAManBase",30])) == 0;
|
_noPlayerNear = (count ((getPosATL _obj) nearEntities ["CAManBase",30])) == 0;
|
||||||
|
|
||||||
@@ -31,14 +33,14 @@ if (_rnd < _zombieChance) then {
|
|||||||
//diag_log ("Class: " + _type + " / Zombies: " + str(_unitTypes) + " / Walking: " + str(_num));
|
//diag_log ("Class: " + _type + " / Zombies: " + str(_unitTypes) + " / Walking: " + str(_num));
|
||||||
for "_i" from 1 to _num do
|
for "_i" from 1 to _num do
|
||||||
{
|
{
|
||||||
[_originalPos,_unitTypes] call zombie_generate;
|
[_position,_unitTypes] call zombie_generate;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
/*
|
|
||||||
//Add Internal Zombies
|
//Add Internal Zombies
|
||||||
_clean = count ((getPosATL _obj) nearEntities ["zZombie_Base",(sizeOf _type)]) == 0;
|
_clean = {alive _x} count ((getPosATL _obj) nearEntities ["zZombie_Base",(sizeOf _type)]) == 0;
|
||||||
if (_clean) then {
|
if (_clean) then {
|
||||||
_positions = getArray (_config >> "lootPos");
|
_positions = getArray (_config >> "lootPos");
|
||||||
_zombieChance = getNumber (_config >> "zombieChance");
|
_zombieChance = getNumber (_config >> "zombieChance");
|
||||||
@@ -47,11 +49,10 @@ if (_rnd < _zombieChance) then {
|
|||||||
_rnd = random 1;
|
_rnd = random 1;
|
||||||
if (_rnd < _zombieChance) then {
|
if (_rnd < _zombieChance) then {
|
||||||
_iPos = _obj modelToWorld _x;
|
_iPos = _obj modelToWorld _x;
|
||||||
//_iPos = [_iPos,0,20,20,0,0,0] call BIS_fnc_findSafePos;
|
|
||||||
//_iPos = position (_obj);
|
_nearBy = {alive _x} count nearestObjects [_iPos , ["zZombie_Base"],3] > 0;
|
||||||
_nearBy = count nearestObjects [_iPos , ["zZombie_Base"],1] > 0;
|
|
||||||
_nearByPlayer = ({isPlayer _x} count (_iPos nearEntities ["CAManBase",30])) > 0;
|
_nearByPlayer = ({isPlayer _x} count (_iPos nearEntities ["CAManBase",30])) > 0;
|
||||||
//diag_log ("BUILDING: " + _type + " / " + str(_nearBy) + " / " + str(_nearByPlayer));
|
diag_log ("BUILDING: " + _type + " / " + str(_nearBy) + " / " + str(_nearByPlayer));
|
||||||
|
|
||||||
if (!_nearByPlayer and !_nearBy) then {
|
if (!_nearByPlayer and !_nearBy) then {
|
||||||
[_iPos,_unitTypes] call zombie_generate;
|
[_iPos,_unitTypes] call zombie_generate;
|
||||||
@@ -60,5 +61,4 @@ if (_rnd < _zombieChance) then {
|
|||||||
} forEach _positions;
|
} forEach _positions;
|
||||||
};
|
};
|
||||||
dayz_buildingMonitor set [count dayz_buildingMonitor,_obj];
|
dayz_buildingMonitor set [count dayz_buildingMonitor,_obj];
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
@@ -1,22 +1,28 @@
|
|||||||
private["_findarray","_stringarray","_findcount","_stringcount","_found","_y","_i","_x"];
|
//Kilzone_Kid's megafast inString function
|
||||||
|
//caseinsensitive
|
||||||
_findarray = toArray (_this select 0);
|
//params [needle,haystack]
|
||||||
_stringarray = toArray (_this select 1);
|
private["_needle","_haystack","_found","_haystackArr","_haystackLen","_needleLen","_hayArr"];
|
||||||
_findcount = count _findarray;
|
|
||||||
_stringcount = count _stringarray;
|
|
||||||
_found = false;
|
|
||||||
scopeName "main";
|
scopeName "main";
|
||||||
|
_needle = _this select 0;
|
||||||
if (_findcount <= _stringcount) then {
|
_haystack = _this select 1;
|
||||||
for "_y" from 0 to (_stringcount - _findcount) do {
|
_haystackArr = toArray _haystack;
|
||||||
_i = 0;
|
_haystackLen = count _haystackArr;
|
||||||
{
|
_needleLen = count (toArray _needle);
|
||||||
scopeName "loop1";
|
_found = false;
|
||||||
if (_x == (_stringarray select (_y + _i))) then {
|
if (_needleLen <= _haystackLen) then {
|
||||||
_i = _i + 1;
|
_hayArr = [];
|
||||||
} else {breakOut "loop1";};
|
for "_i" from 0 to (_needleLen - 1) do {
|
||||||
} forEach _findarray;
|
_hayArr set [count _hayArr, _haystackArr select _i];
|
||||||
if (_i == _findcount) then {_found = true; breakTo "main";};
|
};
|
||||||
|
for "_i" from _needleLen to _haystackLen do {
|
||||||
|
if (toString _hayArr != _needle) then {
|
||||||
|
_hayArr set [_needleLen, _haystackArr select _i];
|
||||||
|
_hayArr set [0, "x"];
|
||||||
|
_hayArr = _hayArr - ["x"];
|
||||||
|
} else {
|
||||||
|
_found = true;
|
||||||
|
breakTo "main";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
_found
|
_found;
|
||||||
|
|||||||
@@ -216,6 +216,16 @@ if (!isNull cursorTarget and !_inVehicle and (player distance cursorTarget < 4))
|
|||||||
s_player_lockvault = -1;
|
s_player_lockvault = -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//Sleep
|
||||||
|
if(cursorTarget isKindOf "TentStorage" and _canDo and _ownerID == dayz_characterID) then {
|
||||||
|
if ((s_player_sleep < 0) and (player distance cursorTarget < 3)) then {
|
||||||
|
s_player_sleep = player addAction [localize "str_actions_self_sleep", "\z\addons\dayz_code\actions\player_sleep.sqf",cursorTarget, 0, false, true, "",""];
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
player removeAction s_player_sleep;
|
||||||
|
s_player_sleep = -1;
|
||||||
|
};
|
||||||
|
|
||||||
//Repairing Vehicles
|
//Repairing Vehicles
|
||||||
if ((dayz_myCursorTarget != cursorTarget) and !_isMan and _hasToolbox and (damage cursorTarget < 1)) then {
|
if ((dayz_myCursorTarget != cursorTarget) and !_isMan and _hasToolbox and (damage cursorTarget < 1)) then {
|
||||||
_vehicle = cursorTarget;
|
_vehicle = cursorTarget;
|
||||||
@@ -576,6 +586,8 @@ if (!isNull cursorTarget and !_inVehicle and (player distance cursorTarget < 4))
|
|||||||
s_player_forceSave = -1;
|
s_player_forceSave = -1;
|
||||||
player removeAction s_player_flipveh;
|
player removeAction s_player_flipveh;
|
||||||
s_player_flipveh = -1;
|
s_player_flipveh = -1;
|
||||||
|
player removeAction s_player_sleep;
|
||||||
|
s_player_sleep = -1;
|
||||||
player removeAction s_player_deleteBuild;
|
player removeAction s_player_deleteBuild;
|
||||||
s_player_deleteBuild = -1;
|
s_player_deleteBuild = -1;
|
||||||
player removeAction s_player_butcher;
|
player removeAction s_player_butcher;
|
||||||
|
|||||||
@@ -6,6 +6,9 @@ _worldspace = _this select 2;
|
|||||||
_class = _this select 3;
|
_class = _this select 3;
|
||||||
_id = 0;
|
_id = 0;
|
||||||
|
|
||||||
|
_allowed = [_object, (name player)] call check_publishobject;
|
||||||
|
if (!_allowed) exitWith { };
|
||||||
|
|
||||||
diag_log ("PUBLISH: Attempt " + str(_object));
|
diag_log ("PUBLISH: Attempt " + str(_object));
|
||||||
_dir = _worldspace select 0;
|
_dir = _worldspace select 0;
|
||||||
_location = _worldspace select 1;
|
_location = _worldspace select 1;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ _unit = _this select 0;
|
|||||||
_distance = _this select 1;
|
_distance = _this select 1;
|
||||||
_doRun = _this select 2;
|
_doRun = _this select 2;
|
||||||
_pos = _this select 3;
|
_pos = _this select 3;
|
||||||
_listTalk = _pos nearEntities ["zZombie_Base",_distance];
|
_listTalk = _pos nearEntities ["zZombie_Base",_distance * 3];
|
||||||
|
|
||||||
//hint str(_listTalk);
|
//hint str(_listTalk);
|
||||||
|
|
||||||
@@ -20,16 +20,3 @@ _listTalk = _pos nearEntities ["zZombie_Base",_distance];
|
|||||||
_zombie setVariable ["myDest",_pos,true];
|
_zombie setVariable ["myDest",_pos,true];
|
||||||
};
|
};
|
||||||
} forEach _listTalk;
|
} forEach _listTalk;
|
||||||
_listTalk = _pos nearEntities [["DZ_Fin, DZ_Pastor"], _distance * 3];
|
|
||||||
|
|
||||||
{
|
|
||||||
_dog = _x;
|
|
||||||
//Ensure dog is tamed AND is not players own dog
|
|
||||||
if (_doRun && (_dog getVariable ["characterID", 0]) != 0) then {
|
|
||||||
_targets = _dog getVariable ["targets",[]];
|
|
||||||
if (!(_unit in _targets)) then {
|
|
||||||
_targets set [count _targets,_unit];
|
|
||||||
_dog setVariable ["targets",_targets,true];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
} forEach _listTalk;
|
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
private["_type","_isAir","_inVehicle","_dateNow","_maxZombies","_maxWildZombies","_age","_nearbyBuildings","_radius","_locationstypes","_nearestCity","_position","_nearbytype"];
|
private["_type","_isAir","_inVehicle","_dateNow","_maxZombies","_maxWildZombies","_age","_nearbyBuildings","_radius","_locationstypes","_nearestCity","_position","_nearbytype"];
|
||||||
_type = _this select 0;
|
_type = _this select 0;
|
||||||
|
_Keepspawning = _this select 1;
|
||||||
_isAir = vehicle player iskindof "Air";
|
_isAir = vehicle player iskindof "Air";
|
||||||
_inVehicle = (vehicle player != player);
|
_inVehicle = (vehicle player != player);
|
||||||
_dateNow = (DateToNumber date);
|
_dateNow = (DateToNumber date);
|
||||||
@@ -7,77 +8,57 @@ _maxZombies = dayz_maxLocalZombies;
|
|||||||
_maxWildZombies = 3;
|
_maxWildZombies = 3;
|
||||||
_age = -1;
|
_age = -1;
|
||||||
_nearbyBuildings = [];
|
_nearbyBuildings = [];
|
||||||
|
_radius = 200;
|
||||||
|
_maxZombies = 20;
|
||||||
|
|
||||||
diag_log ("Type: " +str(_type));
|
diag_log ("Type: " +str(_type));
|
||||||
|
|
||||||
|
|
||||||
//diag_log("SPAWN CHECKING: Starting");
|
//diag_log("SPAWN CHECKING: Starting");
|
||||||
_radius = 300;
|
_radius = 200;
|
||||||
_locationstypes = ["NameCityCapital","NameCity","NameVillage","NameLocal"];
|
_locationstypes = ["NameCityCapital","NameCity","NameVillage"];
|
||||||
_nearestCity = nearestLocations [getPos player, _locationstypes, _radius];
|
_nearestCity = nearestLocations [getPos player, _locationstypes, _radius];
|
||||||
_townname = text (_nearestCity select 0);
|
_townname = text (_nearestCity select 0);
|
||||||
|
|
||||||
_position = getPosATL player;
|
_position = getPosATL player;
|
||||||
if ((count _nearestCity) > 0) then {
|
|
||||||
_position = position (_nearestCity select 0);
|
|
||||||
};
|
|
||||||
|
|
||||||
_nearbytype = type (_nearestCity select 0);
|
_nearbytype = type (_nearestCity select 0);
|
||||||
|
|
||||||
switch (_nearbytype) do {
|
switch (_nearbytype) do {
|
||||||
case "NameLocal": {
|
|
||||||
_radius = 200;
|
|
||||||
_maxZombies = 30;
|
|
||||||
};
|
|
||||||
case "NameVillage": {
|
case "NameVillage": {
|
||||||
_radius = 250;
|
_radius = 250;
|
||||||
_maxZombies = 40;
|
_maxZombies = 30;
|
||||||
};
|
};
|
||||||
case "NameCity": {
|
case "NameCity": {
|
||||||
_radius = 300;
|
_radius = 300;
|
||||||
_maxZombies = 45;
|
_maxZombies = 40;
|
||||||
};
|
};
|
||||||
case "NameCityCapital": {
|
case "NameCityCapital": {
|
||||||
_radius = 400;
|
_radius = 400;
|
||||||
_maxZombies = 50;
|
_maxZombies = 50;
|
||||||
};
|
};
|
||||||
default {
|
|
||||||
_radius = 200;
|
|
||||||
_maxZombies = 20;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
_spawnZombies = count (_position nearEntities ["zZombie_Base",_radius]) < _maxZombies;
|
||||||
if ((count _nearestCity) > 0) then {
|
|
||||||
_markerstr = createMarker["markername_" +str (_townname), _position];
|
|
||||||
_markerstr setMarkerText _townname;
|
|
||||||
_markerstr setMarkerColor "ColorGreen";
|
|
||||||
_markerstr setMarkerShape "ELLIPSE";
|
|
||||||
_markerstr setMarkerBrush "Grid";
|
|
||||||
_markerstr setMarkerSize [_radius, _radius];
|
|
||||||
};
|
|
||||||
|
|
||||||
deleteMarker "Player_Marker_Radius";
|
|
||||||
_markerstr = createMarker["Player_Marker_Radius", getPosATL player];
|
|
||||||
_markerstr setMarkerColor "ColorRed";
|
|
||||||
_markerstr setMarkerShape "ELLIPSE";
|
|
||||||
_markerstr setMarkerBrush "Border";
|
|
||||||
_markerstr setMarkerSize [_radius, _radius];
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
switch (_type) do {
|
switch (_type) do {
|
||||||
case "Zeds": {
|
case "Zeds": {
|
||||||
_spawnZombies = count (getPosATL player nearEntities ["zZombie_Base",_radius]) < _maxZombies;
|
|
||||||
if (_spawnZombies) then {
|
if (_spawnZombies) then {
|
||||||
_nearbyBuildings = _position nearObjects ["building",_radius];
|
//_nearbyBuildings = nearestObjects [_position, ["building"], _radius];
|
||||||
//_nearbyBuildings = nearestObjects [getPosATL player, dayz_ZombieBuildings, _radius]; //Cant be used Not all zones are covered yet (wrecks, Buildings outside towns)
|
_nearbyBuildings = nearestObjects [_position, dayz_LootBuildings, _radius];
|
||||||
|
_nearbyCount = count _nearbyBuildings;
|
||||||
|
if (_nearbyCount > 0) then {
|
||||||
[_radius, _position, _inVehicle, _dateNow, _age, _locationstypes, _nearestCity, _maxZombies, _nearbyBuildings] call player_spawnzedCheck;
|
[_radius, _position, _inVehicle, _dateNow, _age, _locationstypes, _nearestCity, _maxZombies, _nearbyBuildings] call player_spawnzedCheck;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
case "Wild": {
|
||||||
|
//[_position, _maxZombies] call wild_spawnZombies;
|
||||||
|
};
|
||||||
case "Loot": {
|
case "Loot": {
|
||||||
_nearbyBuildings = _position nearObjects ["building",_radius];
|
//_nearbyBuildings = nearestObjects [_position, ["building"], _radius];
|
||||||
//_nearbyBuildings = nearestObjects [_position, dayz_LootBuildings, _radius]; //Cant be used Not all zones are covered yet (wrecks, Buildings outside towns)
|
_nearbyBuildings = nearestObjects [_position, dayz_ZombieBuildings, _radius];
|
||||||
|
_nearbyCount = count _nearbyBuildings;
|
||||||
|
if (_nearbyCount > 0) then {
|
||||||
[_radius, _position, _inVehicle, _dateNow, _age, _locationstypes, _nearestCity, _nearbyBuildings] call player_spawnlootCheck;
|
[_radius, _position, _inVehicle, _dateNow, _age, _locationstypes, _nearestCity, _nearbyBuildings] call player_spawnlootCheck;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -10,7 +10,6 @@ _maxZombies = _this select 7;
|
|||||||
_nearby = _this select 8;
|
_nearby = _this select 8;
|
||||||
|
|
||||||
diag_log ("Zed Started");
|
diag_log ("Zed Started");
|
||||||
_maxWildZombies = 3;
|
|
||||||
|
|
||||||
// If they just got out of a vehicle, boost their per-player zombie limit by 5 in hopes of allowing insta-spawn zombies
|
// If they just got out of a vehicle, boost their per-player zombie limit by 5 in hopes of allowing insta-spawn zombies
|
||||||
if (dayz_inVehicle and !_inVehicle) then {
|
if (dayz_inVehicle and !_inVehicle) then {
|
||||||
@@ -22,13 +21,12 @@ dayz_inVehicle = _inVehicle;
|
|||||||
|
|
||||||
if (_inVehicle) then {
|
if (_inVehicle) then {
|
||||||
_maxZombies = _maxZombies / 2;
|
_maxZombies = _maxZombies / 2;
|
||||||
_maxWildZombies = 0;
|
|
||||||
};
|
};
|
||||||
_spawnZombies = count (_position nearEntities ["zZombie_Base",_radius]) < _maxZombies;
|
// _spawnZombies = count (_position nearEntities ["zZombie_Base",_radius]) < _maxZombies;
|
||||||
// _tooManyZs = count (_position nearEntities ["zZombie_Base",_radius]) > _maxZombies;
|
// _tooManyZs = count (_position nearEntities ["zZombie_Base",_radius]) > _maxZombies;
|
||||||
// _tooManyWildZs = count (_position nearEntities ["zZombie_Base",_radius]) > _maxWildZombies;
|
|
||||||
{
|
{
|
||||||
if (dayz_spawnZombies > _maxZombies) exitwith {};
|
// if (dayz_spawnZombies > _maxZombies) exitwith {};
|
||||||
_zombied = (_x getVariable ["zombieSpawn",-0.1]);
|
_zombied = (_x getVariable ["zombieSpawn",-0.1]);
|
||||||
_dateNow = (DateToNumber date);
|
_dateNow = (DateToNumber date);
|
||||||
_age = (_dateNow - _zombied) * 525948;
|
_age = (_dateNow - _zombied) * 525948;
|
||||||
@@ -41,21 +39,3 @@ if (_inVehicle) then {
|
|||||||
//};
|
//};
|
||||||
};
|
};
|
||||||
} forEach _nearby;
|
} forEach _nearby;
|
||||||
/*
|
|
||||||
if ((count _nearby) < 1) then {
|
|
||||||
diag_log ("1");
|
|
||||||
_spawnWildZs = count (_position nearEntities ["zZombie_Base",_radius]);
|
|
||||||
if (_spawnWildZs < _maxWildZombies) then {
|
|
||||||
diag_log ("2");
|
|
||||||
if (!_tooManyWildZs) then {
|
|
||||||
diag_log ("3");
|
|
||||||
_zombiesNum = count (_position nearEntities ["zZombie_Base",(((sizeOf _type) * 2) + 10)]);
|
|
||||||
//diag_log ("ZombiesNum: " +str(_zombiesNum));
|
|
||||||
if (_zombiesNum == 0) then {
|
|
||||||
diag_log ("4");
|
|
||||||
[_position] call wild_spawnZombies;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
@@ -20,7 +20,7 @@ if (r_player_unconscious && _vehicle == player && _type == "zombie") then {
|
|||||||
};
|
};
|
||||||
_dir = [_unit,player] call BIS_Fnc_dirTo;
|
_dir = [_unit,player] call BIS_Fnc_dirTo;
|
||||||
_unit setDir _dir;
|
_unit setDir _dir;
|
||||||
[objNull, _unit, rPlayMove,_move] call RE;
|
_unit playMove _move;
|
||||||
|
|
||||||
//Wait
|
//Wait
|
||||||
sleep 0.3;
|
sleep 0.3;
|
||||||
@@ -29,11 +29,11 @@ if (_vehicle != player) then {
|
|||||||
_hpList = _vehicle call vehicle_getHitpoints;
|
_hpList = _vehicle call vehicle_getHitpoints;
|
||||||
_hp = _hpList call BIS_fnc_selectRandom;
|
_hp = _hpList call BIS_fnc_selectRandom;
|
||||||
_wound = getText(configFile >> "cfgVehicles" >> (typeOf _vehicle) >> "HitPoints" >> _hp >> "name");
|
_wound = getText(configFile >> "cfgVehicles" >> (typeOf _vehicle) >> "HitPoints" >> _hp >> "name");
|
||||||
_damage = random 0.03;
|
_damage = random 0.08;
|
||||||
_chance = round(random 12);
|
_chance = round(random 12);
|
||||||
|
|
||||||
if ((_wound == "Glass1") or (_wound == "Glass2") or (_wound == "Glass3") or (_wound == "Glass4") or (_wound == "Glass5") or (_wound == "Glass6")) then {
|
if ((_wound == "Glass1") or (_wound == "Glass2") or (_wound == "Glass3") or (_wound == "Glass4") or (_wound == "Glass5") or (_wound == "Glass6")) then {
|
||||||
[_unit,"hit",0,false] call dayz_zombieSpeak;
|
[_unit,"hit",2,true] call dayz_zombieSpeak;
|
||||||
_strH = "hit_" + (_wound);
|
_strH = "hit_" + (_wound);
|
||||||
_dam = _vehicle getVariable [_strH,0];
|
_dam = _vehicle getVariable [_strH,0];
|
||||||
_total = (_dam + _damage);
|
_total = (_dam + _damage);
|
||||||
@@ -63,7 +63,7 @@ if (_vehicle != player) then {
|
|||||||
[player, _wound, _damage, _unit,"zombie"] call fnc_usec_damageHandler;
|
[player, _wound, _damage, _unit,"zombie"] call fnc_usec_damageHandler;
|
||||||
//dayzHit = [player,_wound, _damage, _unit,"zombie"];
|
//dayzHit = [player,_wound, _damage, _unit,"zombie"];
|
||||||
//publicVariable "dayzHit";
|
//publicVariable "dayzHit";
|
||||||
[_unit,"hit",0,false] call dayz_zombieSpeak;
|
[_unit,"hit",2,true] call dayz_zombieSpeak;
|
||||||
} else {
|
} else {
|
||||||
_result = [_vehicle, _wound,_total, _unit,"zombie"] call fnc_usec_damageVehicle;
|
_result = [_vehicle, _wound,_total, _unit,"zombie"] call fnc_usec_damageVehicle;
|
||||||
dayzHitV = [_vehicle,_wound,_total, _unit,"zombie"];
|
dayzHitV = [_vehicle,_wound,_total, _unit,"zombie"];
|
||||||
@@ -107,7 +107,7 @@ if (_vehicle != player) then {
|
|||||||
[player, _wound, _damage, _unit,"zombie"] call fnc_usec_damageHandler;
|
[player, _wound, _damage, _unit,"zombie"] call fnc_usec_damageHandler;
|
||||||
//dayzHit = [player,_wound, _damage, _unit,"zombie"];
|
//dayzHit = [player,_wound, _damage, _unit,"zombie"];
|
||||||
//publicVariable "dayzHit";
|
//publicVariable "dayzHit";
|
||||||
[_unit,"hit",0,false] call dayz_zombieSpeak;
|
[_unit,"hit",2,true] call dayz_zombieSpeak;
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
_isZombieInside = [_unit,_building] call fnc_isInsideBuilding;
|
_isZombieInside = [_unit,_building] call fnc_isInsideBuilding;
|
||||||
@@ -117,7 +117,7 @@ if (_vehicle != player) then {
|
|||||||
[player, _wound, _damage, _unit,"zombie"] call fnc_usec_damageHandler;
|
[player, _wound, _damage, _unit,"zombie"] call fnc_usec_damageHandler;
|
||||||
//dayzHit = [player,_wound, _damage, _unit,"zombie"];
|
//dayzHit = [player,_wound, _damage, _unit,"zombie"];
|
||||||
//publicVariable "dayzHit";
|
//publicVariable "dayzHit";
|
||||||
[_unit,"hit",0,false] call dayz_zombieSpeak;
|
[_unit,"hit",2,true] call dayz_zombieSpeak;
|
||||||
};
|
};
|
||||||
*/
|
*/
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
private["_listTalk","_isZombie","_group","_eyeDir","_attacked","_continue","_type","_chance","_last","_audial","_distance","_refObj","_list","_scaleMvmt","_scalePose","_scaleLight","_anim","_activators","_nearFire","_nearFlare","_scaleAlert","_inAngle","_scaler","_initial","_tPos","_zPos","_cantSee"];
|
private["_listTalk","_isZombie","_group","_eyeDir","_attacked","_continue","_type","_chance","_last","_audial","_distance","_refObj","_list","_scaleMvmt","_scalePose","_scaleLight","_anim","_activators","_nearFire","_nearFlare","_scaleAlert","_inAngle","_scaler","_initial","_tPos","_zPos","_cantSee"];
|
||||||
_refObj = vehicle player;
|
_refObj = vehicle player;
|
||||||
_listTalk = (position _refObj) nearEntities [["zZombie_Base","DZ_Pastor"],80];
|
_listTalk = (position _refObj) nearEntities [["zZombie_Base"],80];
|
||||||
_pHeight = (getPosATL _refObj) select 2;
|
_pHeight = (getPosATL _refObj) select 2;
|
||||||
_attacked = false;
|
_attacked = false;
|
||||||
_multiplier = 1;
|
_multiplier = 1;
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
private["_unit","_selection","_killer"];
|
private["_unit","_selection","_killer"];
|
||||||
|
|
||||||
Diag_log ("handlekilled");
|
|
||||||
|
|
||||||
_unit = _this select 0;
|
_unit = _this select 0;
|
||||||
_killer = _this select 1;
|
_killer = _this select 1;
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ _target = objNull;
|
|||||||
_lead = leader _group;
|
_lead = leader _group;
|
||||||
_targetMen = [];
|
_targetMen = [];
|
||||||
_targetDis = [];
|
_targetDis = [];
|
||||||
_range = 300;
|
_range = 500;
|
||||||
|
|
||||||
_assigned = _group getVariable ["targets",[]];
|
_assigned = _group getVariable ["targets",[]];
|
||||||
{
|
{
|
||||||
@@ -17,19 +17,19 @@ _targets = _lead nearTargets _range;
|
|||||||
private["_obj","_dis"];
|
private["_obj","_dis"];
|
||||||
_obj = _x select 4;
|
_obj = _x select 4;
|
||||||
_dis = _obj distance _lead;
|
_dis = _obj distance _lead;
|
||||||
if (_obj isKindOf "Man") then {
|
// if (_obj isKindOf "Man") then {
|
||||||
if (!(_obj isKindOf "zZombie_Base") and !(_obj in _targetMen)) then {
|
if (((_obj isKindOf "Man") or (_obj isKindOf "AllVehicles")) and !(_obj isKindOf "zZombie_Base") and !(_obj in _targetMen)) then {
|
||||||
//process man targets
|
//process man targets
|
||||||
_targetMen set [count _targetMen,_obj];
|
_targetMen set [count _targetMen,_obj];
|
||||||
_targetDis set [count _targetDis,_dis];
|
_targetDis set [count _targetDis,_dis];
|
||||||
};
|
};
|
||||||
} else {
|
// } else {
|
||||||
if ((_obj isKindOf "AllVehicles") and (count crew _obj > 0) and !(_obj in _targetMen)) then {
|
// if ((_obj isKindOf "AllVehicles") and (count crew _obj > 0) and !(_obj in _targetMen)) then {
|
||||||
//process vehicle targets
|
// //process vehicle targets
|
||||||
_targetMen set [count _targetMen,_obj];
|
// _targetMen set [count _targetMen,_obj];
|
||||||
_targetDis set [count _targetDis,_dis];
|
// _targetDis set [count _targetDis,_dis];
|
||||||
};
|
// };
|
||||||
};
|
// };
|
||||||
} forEach _targets;
|
} forEach _targets;
|
||||||
|
|
||||||
//Search for fires
|
//Search for fires
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ if (count _targets == 0) then {
|
|||||||
if (isNil "_targets") exitWith {};
|
if (isNil "_targets") exitWith {};
|
||||||
//Search for objects
|
//Search for objects
|
||||||
if (count _targets == 0) then {
|
if (count _targets == 0) then {
|
||||||
_objects = nearestObjects [_agent,["ThrownObjects","GrenadeHandTimedWest","SmokeShell"],_range/2];
|
_objects = nearestObjects [_agent,["ThrownObjects","GrenadeHandTimedWest","SmokeShell"],_range];
|
||||||
{
|
{
|
||||||
private["_dis"];
|
private["_dis"];
|
||||||
if (!(_x in _targets)) then {
|
if (!(_x in _targets)) then {
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ class CfgMods
|
|||||||
hidePicture = 0;
|
hidePicture = 0;
|
||||||
hideName = 0;
|
hideName = 0;
|
||||||
action = "http://www.dayzmod.com";
|
action = "http://www.dayzmod.com";
|
||||||
version = "1.7.5.D1222";
|
version = "1.7.5.M1D7";
|
||||||
hiveVersion = 0.96; //0.93
|
hiveVersion = 0.96; //0.93
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -51,6 +51,15 @@ class CfgAddons
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class CfgInGameUI
|
||||||
|
{
|
||||||
|
class PeripheralVision
|
||||||
|
{
|
||||||
|
cueColor[] = {0,0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
class RscPictureGUI
|
class RscPictureGUI
|
||||||
{
|
{
|
||||||
access = 0;
|
access = 0;
|
||||||
@@ -82,10 +91,11 @@ class RscStructuredTextGUI: RscStructuredText
|
|||||||
valign = "middle";
|
valign = "middle";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
//#include "CfgWorlds.hpp"
|
||||||
#include "cfgMoves.hpp"
|
#include "cfgMoves.hpp"
|
||||||
#include "rscTitles.hpp"
|
#include "rscTitles.hpp"
|
||||||
#include "cfgVehicles.hpp"
|
#include "cfgVehicles.hpp"
|
||||||
|
//#include "CfgWeapons.hpp"
|
||||||
#include "cfgLoot.hpp"
|
#include "cfgLoot.hpp"
|
||||||
|
|
||||||
class CfgSurvival {
|
class CfgSurvival {
|
||||||
@@ -123,7 +133,7 @@ class CfgSurvival {
|
|||||||
|
|
||||||
class CfgBuildingLoot {
|
class CfgBuildingLoot {
|
||||||
class Default {
|
class Default {
|
||||||
zombieChance = 0;
|
zombieChance = 0.2;
|
||||||
minRoaming = 0;
|
minRoaming = 0;
|
||||||
maxRoaming = 2;
|
maxRoaming = 2;
|
||||||
zombieClass[] = {"zZombie_Base","z_hunter","z_teacher","z_suit1","z_suit2","z_worker1","z_worker2","z_worker3","z_villager1","z_villager2","z_villager3"};
|
zombieClass[] = {"zZombie_Base","z_hunter","z_teacher","z_suit1","z_suit2","z_worker1","z_worker2","z_worker3","z_villager1","z_villager2","z_villager3"};
|
||||||
@@ -162,9 +172,11 @@ class CfgBuildingLoot {
|
|||||||
{ "","generic" },
|
{ "","generic" },
|
||||||
{ "LeeEnfield","weapon" },
|
{ "LeeEnfield","weapon" },
|
||||||
{ "revolver_EP1","weapon" },
|
{ "revolver_EP1","weapon" },
|
||||||
{ "CZ_VestPouch_EP1","object" },
|
|
||||||
{ "DZ_CivilBackpack_EP1","object" },
|
{"DZ_Patrol_Pack_EP1","object"}, //8
|
||||||
{ "DZ_ALICE_Pack_EP1","object" },
|
{"DZ_Assault_Pack_EP1","object"}, // 12
|
||||||
|
{"DZ_Czech_Vest_Puch","object"}, // 12-0
|
||||||
|
|
||||||
{ "Winchester1866","weapon" },
|
{ "Winchester1866","weapon" },
|
||||||
{ "WeaponHolder_ItemTent","object" },
|
{ "WeaponHolder_ItemTent","object" },
|
||||||
{ "","military" },
|
{ "","military" },
|
||||||
@@ -191,9 +203,9 @@ class CfgBuildingLoot {
|
|||||||
2,
|
2,
|
||||||
0.06,
|
0.06,
|
||||||
0.04,
|
0.04,
|
||||||
0.04, //{"CZ_VestPouch_EP1","object"},
|
0.04, //8
|
||||||
0.03,
|
0.01, //12
|
||||||
0.02,
|
0.03, //12-0
|
||||||
0.01,
|
0.01,
|
||||||
0.01,
|
0.01,
|
||||||
0.03,
|
0.03,
|
||||||
@@ -305,9 +317,11 @@ class CfgBuildingLoot {
|
|||||||
{ "","generic" },
|
{ "","generic" },
|
||||||
{ "LeeEnfield","weapon" },
|
{ "LeeEnfield","weapon" },
|
||||||
{ "revolver_EP1","weapon" },
|
{ "revolver_EP1","weapon" },
|
||||||
{ "CZ_VestPouch_EP1","object" },
|
|
||||||
{ "DZ_CivilBackpack_EP1","object" },
|
{"DZ_Patrol_Pack_EP1","object"}, //8
|
||||||
{ "DZ_ALICE_Pack_EP1","object" },
|
{"DZ_Assault_Pack_EP1","object"}, // 12
|
||||||
|
{"DZ_Czech_Vest_Puch","object"}, // 12-0
|
||||||
|
|
||||||
{ "Winchester1866","weapon" },
|
{ "Winchester1866","weapon" },
|
||||||
{ "WeaponHolder_ItemTent","object" },
|
{ "WeaponHolder_ItemTent","object" },
|
||||||
{ "","food" },
|
{ "","food" },
|
||||||
@@ -329,9 +343,9 @@ class CfgBuildingLoot {
|
|||||||
0.05,
|
0.05,
|
||||||
0.01,
|
0.01,
|
||||||
0.01,
|
0.01,
|
||||||
0.04, //{"CZ_VestPouch_EP1","object"},
|
0.04, //8
|
||||||
0.03,
|
0.01, //12
|
||||||
0.02,
|
0.03, // 12-0
|
||||||
0.01,
|
0.01,
|
||||||
0.01,
|
0.01,
|
||||||
0.3,
|
0.3,
|
||||||
@@ -343,7 +357,7 @@ class CfgBuildingLoot {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
class HeliCrash: Default {
|
class HeliCrash: Default {
|
||||||
zombieChance = 0;
|
zombieChance = 0.4;
|
||||||
maxRoaming = 2;
|
maxRoaming = 2;
|
||||||
zombieClass[] = {"z_soldier_pilot"};
|
zombieClass[] = {"z_soldier_pilot"};
|
||||||
lootChance = 0.5;
|
lootChance = 0.5;
|
||||||
@@ -407,7 +421,7 @@ class CfgBuildingLoot {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
class HeliCrash_No50s: Default {
|
class HeliCrash_No50s: Default {
|
||||||
zombieChance = 0;
|
zombieChance = 0.4;
|
||||||
maxRoaming = 2;
|
maxRoaming = 2;
|
||||||
zombieClass[] = {"z_soldier_pilot"};
|
zombieClass[] = {"z_soldier_pilot"};
|
||||||
lootChance = 0.5;
|
lootChance = 0.5;
|
||||||
@@ -516,9 +530,13 @@ class HeliCrash_No50s: Default {
|
|||||||
{ "ItemKnife","military" },
|
{ "ItemKnife","military" },
|
||||||
{ "ItemGPS","weapon" },
|
{ "ItemGPS","weapon" },
|
||||||
{ "ItemMap","military" },
|
{ "ItemMap","military" },
|
||||||
{ "DZ_Assault_Pack_EP1","object" },
|
|
||||||
{ "DZ_Patrol_Pack_EP1","object" },
|
{"DZ_ALICE_Pack_EP1","object"}, // 16
|
||||||
{ "DZ_Backpack_EP1","object" },
|
{"DZ_TK_Assault_Pack_EP1","object"}, // 16
|
||||||
|
{"DZ_British_ACU","object"}, // 18
|
||||||
|
{"DZ_CivilBackpack_EP1","object"}, // 24
|
||||||
|
{"DZ_Backpack_EP1","object"}, // 24
|
||||||
|
|
||||||
//Normal
|
//Normal
|
||||||
{ "","medical" },
|
{ "","medical" },
|
||||||
{ "","generic" },
|
{ "","generic" },
|
||||||
@@ -555,9 +573,12 @@ class HeliCrash_No50s: Default {
|
|||||||
0.10,
|
0.10,
|
||||||
0.01,
|
0.01,
|
||||||
0.05,
|
0.05,
|
||||||
0.06,
|
//Bags
|
||||||
0.04,
|
0.08, //16
|
||||||
0.02,
|
0.08, //16
|
||||||
|
0.06, //18
|
||||||
|
0.01, //24
|
||||||
|
0.01, //DZ_Backpack_EP1 24
|
||||||
0.10,
|
0.10,
|
||||||
1.00,
|
1.00,
|
||||||
2.50,
|
2.50,
|
||||||
@@ -614,9 +635,11 @@ class HeliCrash_No50s: Default {
|
|||||||
{ "ItemMap","military" },
|
{ "ItemMap","military" },
|
||||||
{ "Binocular_Vector","military" },
|
{ "Binocular_Vector","military" },
|
||||||
|
|
||||||
{ "DZ_Assault_Pack_EP1","object" },
|
{"DZ_ALICE_Pack_EP1","object"}, // 16
|
||||||
{ "DZ_Patrol_Pack_EP1","object" },
|
{"DZ_TK_Assault_Pack_EP1","object"}, // 16
|
||||||
{ "DZ_Backpack_EP1","object" },
|
{"DZ_British_ACU","object"}, // 18
|
||||||
|
{"DZ_CivilBackpack_EP1","object"}, // 24
|
||||||
|
{"DZ_Backpack_EP1","object"}, // 24
|
||||||
|
|
||||||
{ "","medical" },
|
{ "","medical" },
|
||||||
{ "","generic" },
|
{ "","generic" },
|
||||||
@@ -666,9 +689,12 @@ class HeliCrash_No50s: Default {
|
|||||||
0.01, //ItemGPS
|
0.01, //ItemGPS
|
||||||
0.03,
|
0.03,
|
||||||
0.01,
|
0.01,
|
||||||
0.02,
|
//Bags
|
||||||
0.03,
|
0.08, //16
|
||||||
0.02,
|
0.08, //16
|
||||||
|
0.06, //18
|
||||||
|
0.01, //24
|
||||||
|
0.01, //DZ_Backpack_EP1 24
|
||||||
0.30,
|
0.30,
|
||||||
1.00,
|
1.00,
|
||||||
5.00, //military
|
5.00, //military
|
||||||
@@ -804,7 +830,7 @@ class HeliCrash_No50s: Default {
|
|||||||
lootPos[] = {{0.486084,4.95459,-4.96861},{1.08032,-0.406738,-4.96801},{-0.0354004,-10.8208,-4.96686},{-5.07788,-16.4624,-4.96759},{-6.30298,2.92969,-4.96838},{-6.26685,26.7349,-4.9772},{1.64697,23.4038,-4.97097},{7.14575,3.92529,-4.96972},{4.63599,-12.1621,-4.96971}};
|
lootPos[] = {{0.486084,4.95459,-4.96861},{1.08032,-0.406738,-4.96801},{-0.0354004,-10.8208,-4.96686},{-5.07788,-16.4624,-4.96759},{-6.30298,2.92969,-4.96838},{-6.26685,26.7349,-4.9772},{1.64697,23.4038,-4.97097},{7.14575,3.92529,-4.96972},{4.63599,-12.1621,-4.96971}};
|
||||||
};
|
};
|
||||||
class Land_A_MunicipalOffice: Residential {
|
class Land_A_MunicipalOffice: Residential {
|
||||||
zombieChance = 0;
|
zombieChance = 0.4;
|
||||||
minRoaming = 3;
|
minRoaming = 3;
|
||||||
maxRoaming = 9;
|
maxRoaming = 9;
|
||||||
zombieClass[] = {"z_soldier","z_soldier_heavy","z_policeman"};
|
zombieClass[] = {"z_soldier","z_soldier_heavy","z_policeman"};
|
||||||
@@ -876,7 +902,7 @@ class HeliCrash_No50s: Default {
|
|||||||
lootPos[] = {{-1.77002,-1.45166,1.95942}};
|
lootPos[] = {{-1.77002,-1.45166,1.95942}};
|
||||||
}; // Qty: 183
|
}; // Qty: 183
|
||||||
class Land_KBud: Residential {
|
class Land_KBud: Residential {
|
||||||
zombieChance = 0;
|
zombieChance = 0.3;
|
||||||
maxRoaming = 0;
|
maxRoaming = 0;
|
||||||
lootPos[] = {{-0.0170898,0.0114746,-0.66367}};
|
lootPos[] = {{-0.0170898,0.0114746,-0.66367}};
|
||||||
}; // Qty: 90
|
}; // Qty: 90
|
||||||
@@ -937,7 +963,7 @@ class HeliCrash_No50s: Default {
|
|||||||
lootPos[] = {};
|
lootPos[] = {};
|
||||||
}; // Qty: 83
|
}; // Qty: 83
|
||||||
class Land_Misc_deerstand: Military {
|
class Land_Misc_deerstand: Military {
|
||||||
zombieChance = 0;
|
zombieChance = 0.3;
|
||||||
lootChance = 0.5;
|
lootChance = 0.5;
|
||||||
maxRoaming = 3;
|
maxRoaming = 3;
|
||||||
lootPos[] = {{-0.923828,-0.808594,1.08539},{0.419922,-0.237305,1.08539}};
|
lootPos[] = {{-0.923828,-0.808594,1.08539},{0.419922,-0.237305,1.08539}};
|
||||||
@@ -966,8 +992,8 @@ class HeliCrash_No50s: Default {
|
|||||||
|
|
||||||
class UH1Wreck_DZ: Military {
|
class UH1Wreck_DZ: Military {
|
||||||
zombieClass[] = {"z_soldier_pilot","z_soldier_heavy"};
|
zombieClass[] = {"z_soldier_pilot","z_soldier_heavy"};
|
||||||
zombieChance = 0;
|
zombieChance = 0.3;
|
||||||
lootChance = 0;
|
lootChance = 0.6;
|
||||||
minRoaming = 4;
|
minRoaming = 4;
|
||||||
maxRoaming = 8;
|
maxRoaming = 8;
|
||||||
lootPos[] = {};
|
lootPos[] = {};
|
||||||
@@ -975,8 +1001,8 @@ class HeliCrash_No50s: Default {
|
|||||||
|
|
||||||
class UH60Wreck_DZ: Military {
|
class UH60Wreck_DZ: Military {
|
||||||
zombieClass[] = {"z_soldier_pilot","z_soldier_heavy"};
|
zombieClass[] = {"z_soldier_pilot","z_soldier_heavy"};
|
||||||
zombieChance = 0;
|
zombieChance = 0.3;
|
||||||
lootChance = 0;
|
lootChance = 0.6;
|
||||||
minRoaming = 4;
|
minRoaming = 4;
|
||||||
maxRoaming = 8;
|
maxRoaming = 8;
|
||||||
lootPos[] = {};
|
lootPos[] = {};
|
||||||
@@ -990,18 +1016,18 @@ class HeliCrash_No50s: Default {
|
|||||||
}; // Qty: 1
|
}; // Qty: 1
|
||||||
|
|
||||||
class Land_Ind_Shed_02_main: Default {
|
class Land_Ind_Shed_02_main: Default {
|
||||||
zombieChance = 0;
|
zombieChance = 0.3;
|
||||||
maxRoaming = 3;
|
maxRoaming = 3;
|
||||||
}; // Qty: 283
|
}; // Qty: 283
|
||||||
|
|
||||||
class HouseRoaming: Residential {
|
class HouseRoaming: Residential {
|
||||||
lootChance = 0;
|
lootChance = 0.5;
|
||||||
zombieChance = 0;
|
zombieChance = 0.2;
|
||||||
maxRoaming = 2;
|
maxRoaming = 2;
|
||||||
};
|
};
|
||||||
class FarmRoaming: Farm {
|
class FarmRoaming: Farm {
|
||||||
lootChance = 0;
|
lootChance = 0.3;
|
||||||
zombieChance = 0;
|
zombieChance = 0.4;
|
||||||
maxRoaming = 2;
|
maxRoaming = 2;
|
||||||
};
|
};
|
||||||
class Land_Shed_W03: HouseRoaming {}; // Qty: 206
|
class Land_Shed_W03: HouseRoaming {}; // Qty: 206
|
||||||
@@ -1201,7 +1227,7 @@ class HeliCrash_No50s: Default {
|
|||||||
class HMMWVWreck: Military
|
class HMMWVWreck: Military
|
||||||
{
|
{
|
||||||
zombieClass[] = {"z_soldier_pilot","z_soldier_heavy"};
|
zombieClass[] = {"z_soldier_pilot","z_soldier_heavy"};
|
||||||
zombieChance = 0;
|
zombieChance = 0.3;
|
||||||
lootChance = 0;
|
lootChance = 0;
|
||||||
minRoaming = 1;
|
minRoaming = 1;
|
||||||
maxRoaming = 2;
|
maxRoaming = 2;
|
||||||
@@ -1210,7 +1236,7 @@ class HeliCrash_No50s: Default {
|
|||||||
class UralWreck: Military
|
class UralWreck: Military
|
||||||
{
|
{
|
||||||
zombieClass[] = {"z_soldier_pilot","z_soldier_heavy"};
|
zombieClass[] = {"z_soldier_pilot","z_soldier_heavy"};
|
||||||
zombieChance = 0;
|
zombieChance = 0.3;
|
||||||
lootChance = 0;
|
lootChance = 0;
|
||||||
minRoaming = 1;
|
minRoaming = 1;
|
||||||
maxRoaming = 2;
|
maxRoaming = 2;
|
||||||
@@ -1219,7 +1245,7 @@ class HeliCrash_No50s: Default {
|
|||||||
class SKODAWreck: Residential
|
class SKODAWreck: Residential
|
||||||
{
|
{
|
||||||
zombieClass[] = {"zZombie_Base","z_hunter"};
|
zombieClass[] = {"zZombie_Base","z_hunter"};
|
||||||
zombieChance = 0;
|
zombieChance = 0.3;
|
||||||
lootChance = 0;
|
lootChance = 0;
|
||||||
minRoaming = 1;
|
minRoaming = 1;
|
||||||
maxRoaming = 2;
|
maxRoaming = 2;
|
||||||
@@ -1228,7 +1254,7 @@ class HeliCrash_No50s: Default {
|
|||||||
class UAZWreck: Residential
|
class UAZWreck: Residential
|
||||||
{
|
{
|
||||||
zombieClass[] = {"zZombie_Base","z_hunter"};
|
zombieClass[] = {"zZombie_Base","z_hunter"};
|
||||||
zombieChance = 0;
|
zombieChance = 0.3;
|
||||||
lootChance = 0;
|
lootChance = 0;
|
||||||
minRoaming = 1;
|
minRoaming = 1;
|
||||||
maxRoaming = 2;
|
maxRoaming = 2;
|
||||||
@@ -1237,7 +1263,7 @@ class HeliCrash_No50s: Default {
|
|||||||
class datsun01Wreck: Residential
|
class datsun01Wreck: Residential
|
||||||
{
|
{
|
||||||
zombieClass[] = {"zZombie_Base","z_hunter"};
|
zombieClass[] = {"zZombie_Base","z_hunter"};
|
||||||
zombieChance = 0;
|
zombieChance = 0.3;
|
||||||
lootChance = 0;
|
lootChance = 0;
|
||||||
minRoaming = 1;
|
minRoaming = 1;
|
||||||
maxRoaming = 2;
|
maxRoaming = 2;
|
||||||
@@ -1246,7 +1272,7 @@ class HeliCrash_No50s: Default {
|
|||||||
class hiluxWreck: Industrial
|
class hiluxWreck: Industrial
|
||||||
{
|
{
|
||||||
zombieClass[] = {"zZombie_Base","z_hunter"};
|
zombieClass[] = {"zZombie_Base","z_hunter"};
|
||||||
zombieChance = 0;
|
zombieChance = 0.3;
|
||||||
lootChance = 0;
|
lootChance = 0;
|
||||||
minRoaming = 1;
|
minRoaming = 1;
|
||||||
maxRoaming = 2;
|
maxRoaming = 2;
|
||||||
@@ -1255,7 +1281,7 @@ class HeliCrash_No50s: Default {
|
|||||||
class datsun02Wreck: Military
|
class datsun02Wreck: Military
|
||||||
{
|
{
|
||||||
zombieClass[] = {"zZombie_Base","z_hunter"};
|
zombieClass[] = {"zZombie_Base","z_hunter"};
|
||||||
zombieChance = 0;
|
zombieChance = 0.3;
|
||||||
lootChance = 0;
|
lootChance = 0;
|
||||||
minRoaming = 1;
|
minRoaming = 1;
|
||||||
maxRoaming = 2;
|
maxRoaming = 2;
|
||||||
@@ -1264,7 +1290,7 @@ class HeliCrash_No50s: Default {
|
|||||||
|
|
||||||
class Land_Ind_Shed_01_EP1: Default
|
class Land_Ind_Shed_01_EP1: Default
|
||||||
{
|
{
|
||||||
zombieChance = 0;
|
zombieChance = 0.3;
|
||||||
maxRoaming = 3;
|
maxRoaming = 3;
|
||||||
};
|
};
|
||||||
class DynamicDebris: Default
|
class DynamicDebris: Default
|
||||||
@@ -1272,7 +1298,7 @@ class HeliCrash_No50s: Default {
|
|||||||
lootChance = 0.4;
|
lootChance = 0.4;
|
||||||
minRoaming = 0;
|
minRoaming = 0;
|
||||||
maxRoaming = 2;
|
maxRoaming = 2;
|
||||||
zombieChance = 0;
|
zombieChance = 0.3;
|
||||||
zombieClass[] = {"zZombie_Base","zZombie_Base","z_teacher","z_suit1","z_suit2"};
|
zombieClass[] = {"zZombie_Base","zZombie_Base","z_teacher","z_suit1","z_suit2"};
|
||||||
itemType[] = {
|
itemType[] = {
|
||||||
{ "ItemWatch","generic" },
|
{ "ItemWatch","generic" },
|
||||||
|
|||||||
@@ -63,6 +63,10 @@ if (!isDedicated) then {
|
|||||||
//Wild
|
//Wild
|
||||||
//wild_spawnZombies = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\wild_spawnZombies.sqf";
|
//wild_spawnZombies = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\wild_spawnZombies.sqf";
|
||||||
|
|
||||||
|
//Maps
|
||||||
|
//fnc_MapEventHandler = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fnc_MapEventHandler.sqf";
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
dog_findTargetAgent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\dog_findTargetAgent.sqf";
|
dog_findTargetAgent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\dog_findTargetAgent.sqf";
|
||||||
|
|
||||||
@@ -87,6 +91,8 @@ if (!isDedicated) then {
|
|||||||
player_dropWeapon = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_dropWeapon.sqf";
|
player_dropWeapon = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_dropWeapon.sqf";
|
||||||
player_setTrap = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_setTrap.sqf";
|
player_setTrap = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_setTrap.sqf";
|
||||||
object_pickup = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\object_pickup.sqf";
|
object_pickup = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\object_pickup.sqf";
|
||||||
|
player_flipvehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_flipvehicle.sqf";
|
||||||
|
player_sleep = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_sleep.sqf";
|
||||||
|
|
||||||
//ui
|
//ui
|
||||||
player_selectSlot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_selectSlot.sqf";
|
player_selectSlot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_selectSlot.sqf";
|
||||||
@@ -185,10 +191,10 @@ if (!isDedicated) then {
|
|||||||
_tPos = eyePos _target; //(getPosASL _target);
|
_tPos = eyePos _target; //(getPosASL _target);
|
||||||
_zPos = eyePos _agent; //(getPosASL _agent);
|
_zPos = eyePos _agent; //(getPosASL _agent);
|
||||||
if ((count _tPos > 0) and (count _zPos > 0)) then {
|
if ((count _tPos > 0) and (count _zPos > 0)) then {
|
||||||
_cantSee = terrainIntersectASL [(eyePos _target), (eyePos _agent)];
|
_cantSee = terrainIntersectASL [_tPos, _zPos];
|
||||||
//diag_log ("terrainIntersectASL: " + str(_cantSee));
|
//diag_log ("terrainIntersectASL: " + str(_cantSee));
|
||||||
if (!_cantSee) then {
|
if (!_cantSee) then {
|
||||||
_cantSee = lineIntersects [(eyePos _target), (eyePos _agent)];
|
_cantSee = lineIntersects [_tPos, _zPos];
|
||||||
//diag_log ("lineIntersects: " + str(_cantSee));
|
//diag_log ("lineIntersects: " + str(_cantSee));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -230,10 +236,12 @@ if (!isDedicated) then {
|
|||||||
_btnRespawn ctrlEnable false;
|
_btnRespawn ctrlEnable false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
abort_enable = 0 spawn {};
|
||||||
dayz_disableAbort = {
|
dayz_disableAbort = {
|
||||||
private["_display","_btnAbort","_combattimeout"];
|
private["_display","_btnAbort","_combattimeout","_zAround"];
|
||||||
_combattimeout = player getVariable["combattimeout",0];
|
_combattimeout = player getVariable["combattimeout",0];
|
||||||
if(_combattimeout < time) exitWith {};
|
_zAround = (count (player nearEntities ["zZombie_Base",50]) > 0);
|
||||||
|
if (_zAround || _combattimeout > time) then {
|
||||||
disableSerialization;
|
disableSerialization;
|
||||||
waitUntil {
|
waitUntil {
|
||||||
_display = findDisplay 49;
|
_display = findDisplay 49;
|
||||||
@@ -241,6 +249,35 @@ if (!isDedicated) then {
|
|||||||
};
|
};
|
||||||
_btnAbort = _display displayCtrl 104;
|
_btnAbort = _display displayCtrl 104;
|
||||||
_btnAbort ctrlEnable false;
|
_btnAbort ctrlEnable false;
|
||||||
|
if (_zAround && _combattimeout <= time) then {
|
||||||
|
if (!scriptDone abort_enable) then {
|
||||||
|
terminate abort_enable;
|
||||||
|
sleep 0.5;
|
||||||
|
};
|
||||||
|
abort_enable = [] spawn {
|
||||||
|
private["_timeOut","_timeMax","_display","_btnAbort"];
|
||||||
|
_timeOut = 0;
|
||||||
|
_timeMax = 30;
|
||||||
|
disableSerialization;
|
||||||
|
while {_timeOut <= _timeMax} do {
|
||||||
|
scopeName "loop";
|
||||||
|
_display = findDisplay 49;
|
||||||
|
if (!isNull _display) then {
|
||||||
|
if (_timeOut == _timeMax) then {
|
||||||
|
_btnAbort = _display displayCtrl 104;
|
||||||
|
_btnAbort ctrlEnable true;
|
||||||
|
};
|
||||||
|
cutText [format ["You can Abort in %1",(_timeMax - _timeOut)], "PLAIN DOWN"];
|
||||||
|
} else {
|
||||||
|
breakOut "loop";
|
||||||
|
};
|
||||||
|
_timeOut = _timeOut + 1;
|
||||||
|
sleep 1;
|
||||||
|
};
|
||||||
|
cutText ["", "PLAIN DOWN"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
dayz_spaceInterrupt = {
|
dayz_spaceInterrupt = {
|
||||||
|
|||||||
@@ -1,26 +1,5 @@
|
|||||||
//Medical Event Handlers
|
"dayzSetFuel" addPublicVariableEventHandler {(_this select 1) call local_sefFuel};
|
||||||
"norrnRaLW" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\medical\publicEH\load_wounded.sqf"};
|
|
||||||
"norrnRLact" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\medical\load\load_wounded.sqf"};
|
|
||||||
"norrnRDead" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\medical\publicEH\deadState.sqf"};
|
|
||||||
"usecBleed" addPublicVariableEventHandler {_id = (_this select 1) spawn fnc_usec_damageBleed};
|
|
||||||
"usecBandage" addPublicVariableEventHandler {(_this select 1) call player_medBandage};
|
|
||||||
"usecInject" addPublicVariableEventHandler {(_this select 1) call player_medInject};
|
|
||||||
"usecEpi" addPublicVariableEventHandler {(_this select 1) call player_medEpi};
|
|
||||||
"usecTransfuse" addPublicVariableEventHandler {(_this select 1) call player_medTransfuse};
|
|
||||||
"usecMorphine" addPublicVariableEventHandler {(_this select 1) call player_medMorphine};
|
|
||||||
"usecPainK" addPublicVariableEventHandler {(_this select 1) call player_medPainkiller};
|
|
||||||
"dayzHit" addPublicVariableEventHandler {(_this select 1) call fnc_usec_damageHandler};
|
|
||||||
"dayzHitV" addPublicVariableEventHandler {(_this select 1) call fnc_usec_damageVehicle};
|
|
||||||
"dayzHideBody" addPublicVariableEventHandler {hideBody (_this select 1)};
|
|
||||||
"dayzGutBody" addPublicVariableEventHandler {(_this select 1) spawn local_gutObject};
|
|
||||||
"dayzSetFuel" addPublicVariableEventHandler {(_this select 1) spawn local_sefFuel};
|
|
||||||
"dayzSetFix" addPublicVariableEventHandler {(_this select 1) call object_setFixServer};
|
|
||||||
"dayzDelLocal" addPublicVariableEventHandler {(_this select 1) call object_delLocal};
|
|
||||||
"dayzVehicleInit" addPublicVariableEventHandler {(_this select 1) call fnc_vehicleEventHandler};
|
|
||||||
"dayzHumanity" addPublicVariableEventHandler {(_this select 1) spawn player_humanityChange};
|
|
||||||
"dayz_serverObjectMonitor" addPublicVariableEventHandler {dayz_serverObjectMonitor = dayz_safety};
|
|
||||||
|
|
||||||
//Server only
|
|
||||||
if (isServer) then {
|
if (isServer) then {
|
||||||
"dayzDeath" addPublicVariableEventHandler {(_this select 1) call server_playerDied};
|
"dayzDeath" addPublicVariableEventHandler {(_this select 1) call server_playerDied};
|
||||||
"dayzDiscoAdd" addPublicVariableEventHandler {dayz_disco set [count dayz_disco,(_this select 1)];};
|
"dayzDiscoAdd" addPublicVariableEventHandler {dayz_disco set [count dayz_disco,(_this select 1)];};
|
||||||
@@ -34,21 +13,34 @@ if (isServer) then {
|
|||||||
"dayzTraderMenu" addPublicVariableEventHandler {(_this select 1) call server_traders}; // for all traders
|
"dayzTraderMenu" addPublicVariableEventHandler {(_this select 1) call server_traders}; // for all traders
|
||||||
"dayzLogin" addPublicVariableEventHandler {(_this select 1) call server_playerLogin};
|
"dayzLogin" addPublicVariableEventHandler {(_this select 1) call server_playerLogin};
|
||||||
"dayzLogin2" addPublicVariableEventHandler {(_this select 1) call server_playerSetup};
|
"dayzLogin2" addPublicVariableEventHandler {(_this select 1) call server_playerSetup};
|
||||||
// "dayzPlayerMorph" addPublicVariableEventHandler {(_this select 1) call server_playerMorph};
|
"dayzPlayerMorph" addPublicVariableEventHandler {(_this select 1) call server_playerMorph};
|
||||||
// "dayzUpdate" addPublicVariableEventHandler {_id = (_this select 1) spawn dayz_processUpdate};
|
|
||||||
"dayzLoginRecord" addPublicVariableEventHandler {(_this select 1) call dayz_recordLogin};
|
"dayzLoginRecord" addPublicVariableEventHandler {(_this select 1) call dayz_recordLogin};
|
||||||
// "dayzCharSave" addPublicVariableEventHandler {(_this select 1) call server_playerSync};
|
|
||||||
"dayzCharDisco" addPublicVariableEventHandler {(_this select 1) call server_characterSync};
|
"dayzCharDisco" addPublicVariableEventHandler {(_this select 1) call server_characterSync};
|
||||||
|
"dayzSetFix" addPublicVariableEventHandler {(_this select 1) call object_setFixServer};
|
||||||
|
"dayzGutBody" addPublicVariableEventHandler {(_this select 1) spawn local_gutObject};
|
||||||
|
|
||||||
|
"usecMorphine" addPublicVariableEventHandler {
|
||||||
|
(_this select 1) select 0 setVariable["hit_legs",0];
|
||||||
|
(_this select 1) select 0 setVariable["hit_hands",0];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
//Client only
|
|
||||||
if (!isDedicated) then {
|
if (!isDedicated) then {
|
||||||
|
"norrnRaLW" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\medical\publicEH\load_wounded.sqf"};
|
||||||
|
"norrnRLact" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\medical\load\load_wounded.sqf"};
|
||||||
|
"usecMorphine" addPublicVariableEventHandler {(_this select 1) call player_medMorphine};
|
||||||
|
"usecBleed" addPublicVariableEventHandler {_id = (_this select 1) spawn fnc_usec_damageBleed};
|
||||||
|
"usecBandage" addPublicVariableEventHandler {(_this select 1) call player_medBandage};
|
||||||
|
"usecEpi" addPublicVariableEventHandler {(_this select 1) call player_medEpi};
|
||||||
|
"usecTransfuse" addPublicVariableEventHandler {(_this select 1) call player_medTransfuse};
|
||||||
|
"usecPainK" addPublicVariableEventHandler {(_this select 1) call player_medPainkiller};
|
||||||
|
"dayzHideBody" addPublicVariableEventHandler {hideBody (_this select 1)};
|
||||||
|
"dayzHumanity" addPublicVariableEventHandler {(_this select 1) spawn player_humanityChange};
|
||||||
|
"dayzHitV" addPublicVariableEventHandler {(_this select 1) call fnc_usec_damageVehicle};
|
||||||
|
|
||||||
"dayzSetDate" addPublicVariableEventHandler {setDate (_this select 1)};
|
"dayzSetDate" addPublicVariableEventHandler {setDate (_this select 1)};
|
||||||
"dayzFlies" addPublicVariableEventHandler {(_this select 1) call spawn_flies};
|
"dayzFlies" addPublicVariableEventHandler {(_this select 1) call spawn_flies};
|
||||||
"dayzRoadFlare" addPublicVariableEventHandler {(_this select 1) spawn object_roadFlare};
|
"dayzRoadFlare" addPublicVariableEventHandler {(_this select 1) spawn object_roadFlare};
|
||||||
"norrnRaDrag" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\medical\publicEH\animDrag.sqf"};
|
"norrnRaDrag" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\medical\publicEH\animDrag.sqf"};
|
||||||
"norrnRnoAnim" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\medical\publicEH\noAnim.sqf"};
|
|
||||||
// "changeCharacter" addPublicVariableEventHandler {(_this select 1) call player_serverModelChange};
|
|
||||||
// "dayzSwitch" addPublicVariableEventHandler {(_this select 1) call server_switchPlayer};
|
|
||||||
"dayzFire" addPublicVariableEventHandler {nul=(_this select 1) spawn BIS_Effects_Burn};
|
"dayzFire" addPublicVariableEventHandler {nul=(_this select 1) spawn BIS_Effects_Burn};
|
||||||
};
|
};
|
||||||
@@ -11,6 +11,10 @@ Camo1_DZ = "Camo1_DZ";
|
|||||||
Soldier1_DZ = "Soldier1_DZ";
|
Soldier1_DZ = "Soldier1_DZ";
|
||||||
Rocket_DZ = "Rocket_DZ";
|
Rocket_DZ = "Rocket_DZ";
|
||||||
|
|
||||||
|
AllPlayers = ["Soldier_Crew_PMC","Sniper1_DZ","Camo1_DZ","Soldier1_DZ","Rocket_DZ"];
|
||||||
|
AllPlayersVehicles = ["Soldier_Crew_PMC","Sniper1_DZ","Camo1_DZ","Soldier1_DZ","Rocket_DZ","AllVehicles"];
|
||||||
|
|
||||||
|
|
||||||
PZombie_VB = "PZombie_VB";
|
PZombie_VB = "PZombie_VB";
|
||||||
|
|
||||||
pz_policeman = "pz_policeman";
|
pz_policeman = "pz_policeman";
|
||||||
@@ -89,6 +93,7 @@ dayz_resetSelfActions = {
|
|||||||
s_player_deleteBuild = -1;
|
s_player_deleteBuild = -1;
|
||||||
s_player_forceSave = -1;
|
s_player_forceSave = -1;
|
||||||
s_player_flipveh = -1;
|
s_player_flipveh = -1;
|
||||||
|
s_player_sleep = -1;
|
||||||
s_player_movedog = -1;
|
s_player_movedog = -1;
|
||||||
s_player_speeddog = -1;
|
s_player_speeddog = -1;
|
||||||
s_player_calldog = -1;
|
s_player_calldog = -1;
|
||||||
|
|||||||
@@ -17,4 +17,6 @@ _eh2 = _unit addeventhandler ["Killed",{ _this call vehicle_handleKilled } ];
|
|||||||
if (isServer) then {
|
if (isServer) then {
|
||||||
_eh3 = _unit addEventHandler ["GetOut", {[(_this select 0),"all"] call server_updateObject;}];
|
_eh3 = _unit addEventHandler ["GetOut", {[(_this select 0),"all"] call server_updateObject;}];
|
||||||
_eh4 = _unit addEventHandler ["GetIn", {[(_this select 0),"all"] call server_updateObject;}];
|
_eh4 = _unit addEventHandler ["GetIn", {[(_this select 0),"all"] call server_updateObject;}];
|
||||||
|
_eh5 = _unit addEventHandler ["Killed",{ _this call vehicle_handleKilled } ];
|
||||||
|
_eh6 = _unit addeventhandler ["HandleDamage",{ _this call vehicle_handleDamage } ];
|
||||||
};
|
};
|
||||||
@@ -43,6 +43,6 @@ if (_finished) then {
|
|||||||
_id = dayzHumanity spawn player_humanityChange;
|
_id = dayzHumanity spawn player_humanityChange;
|
||||||
} else {
|
} else {
|
||||||
r_interrupt = false;
|
r_interrupt = false;
|
||||||
[objNull, player, rSwitchMove,""] call RE;
|
player switchMove "";
|
||||||
player playActionNow "stop";
|
player playActionNow "stop";
|
||||||
};
|
};
|
||||||
@@ -87,7 +87,7 @@ class RscDisplayMain : RscStandardDisplay
|
|||||||
class DAYZ_Version : CA_Version
|
class DAYZ_Version : CA_Version
|
||||||
{
|
{
|
||||||
idc = -1;
|
idc = -1;
|
||||||
text = "DayZ 1.7.5.D1222";
|
text = "DayZ 1.7.5.M1D7";
|
||||||
y = "(SafeZoneH + SafeZoneY) - (1 - 0.95)";
|
y = "(SafeZoneH + SafeZoneY) - (1 - 0.95)";
|
||||||
};
|
};
|
||||||
class CA_TitleMainMenu;
|
class CA_TitleMainMenu;
|
||||||
|
|||||||
@@ -639,6 +639,12 @@
|
|||||||
<German>Turn Over %1</German>
|
<German>Turn Over %1</German>
|
||||||
<Russian>Turn Over %1</Russian>
|
<Russian>Turn Over %1</Russian>
|
||||||
</Key>
|
</Key>
|
||||||
|
<Key ID="str_actions_self_sleep">
|
||||||
|
<Original>Sleep</Original>
|
||||||
|
<English>Sleep</English>
|
||||||
|
<German>Sleep</German>
|
||||||
|
<Russian>Sleep</Russian>
|
||||||
|
</Key>
|
||||||
<Key ID="STR_CHAR_2">
|
<Key ID="STR_CHAR_2">
|
||||||
<Original>Bandit</Original>
|
<Original>Bandit</Original>
|
||||||
<English>Bandit</English>
|
<English>Bandit</English>
|
||||||
|
|||||||
@@ -1085,12 +1085,9 @@ class FSM
|
|||||||
"dayz_slowCheck = [] spawn player_spawn_2;" \n
|
"dayz_slowCheck = [] spawn player_spawn_2;" \n
|
||||||
"" \n
|
"" \n
|
||||||
"_world = toUpper(worldName); //toUpper(getText (configFile >> ""CfgWorlds"" >> (worldName) >> ""description""));" \n
|
"_world = toUpper(worldName); //toUpper(getText (configFile >> ""CfgWorlds"" >> (worldName) >> ""description""));" \n
|
||||||
"_nearestCity = nearestLocations [getPos player, [""NameCityCapital"",""NameCity"",""NameVillage"",""NameLocal""],500];" \n
|
"_nearestCity = (nearestLocations [getPos player, [""NameCityCapital"",""NameCity"",""NameVillage"",""NameLocal""],1000] select 0);" \n
|
||||||
"_town = ""Wilderness"";" \n
|
"_town = ""Wilderness"";" \n
|
||||||
"" \n
|
"if (!isNull _nearestCity) then {_town = text _nearestCity};" \n
|
||||||
"diag_log (""NearestCity"" + str(_nearestCity));" \n
|
|
||||||
"" \n
|
|
||||||
"if (count _nearestCity > 0) then {_town = text (_nearestCity select 0)};" \n
|
|
||||||
"" \n
|
"" \n
|
||||||
"_strTime = call curTimeStr;" \n
|
"_strTime = call curTimeStr;" \n
|
||||||
"_strDate = date;" \n
|
"_strDate = date;" \n
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
/*%FSM<HEAD>*/
|
/*%FSM<HEAD>*/
|
||||||
/*
|
/*
|
||||||
item0[] = {"init",0,250,-300.000000,-250.000000,-200.000000,-200.000000,0.000000,"init"};
|
item0[] = {"init",0,250,-300.000000,-250.000000,-200.000000,-200.000000,0.000000,"init"};
|
||||||
item1[] = {"End",1,250,175.000000,-250.000000,275.000000,-200.000000,0.000000,"End"};
|
item1[] = {"End",1,250,50.000000,-250.000000,150.000000,-200.000000,0.000000,"End"};
|
||||||
item2[] = {"Not_Alive",4,218,0.000000,300.000000,100.000000,350.000000,5.000000,"Not" \n "Alive"};
|
item2[] = {"Not_Alive",4,218,0.000000,300.000000,100.000000,350.000000,5.000000,"Not" \n "Alive"};
|
||||||
item3[] = {"Nobody_Near",4,218,0.000000,375.000000,100.000000,425.000000,4.000000,"Nobody" \n "Near"};
|
item3[] = {"Nobody_Near",4,218,0.000000,375.000000,100.000000,425.000000,4.000000,"Nobody" \n "Near"};
|
||||||
item4[] = {"loiter",4,218,-300.000000,0.000000,-200.000000,50.000000,0.000000,"loiter"};
|
item4[] = {"loiter",4,218,-300.000000,0.000000,-200.000000,50.000000,0.000000,"loiter"};
|
||||||
@@ -14,8 +14,8 @@ item9[] = {"true",8,218,-300.000000,-175.000000,-200.000000,-125.000000,0.000000
|
|||||||
item10[] = {"Begin",2,250,-300.000000,-100.000000,-200.000000,-50.000000,0.000000,"Begin"};
|
item10[] = {"Begin",2,250,-300.000000,-100.000000,-200.000000,-50.000000,0.000000,"Begin"};
|
||||||
item11[] = {"",7,210,-254.000046,-29.000004,-245.999954,-20.999996,0.000000,""};
|
item11[] = {"",7,210,-254.000046,-29.000004,-245.999954,-20.999996,0.000000,""};
|
||||||
item12[] = {"",7,210,-204.000046,146.000000,-195.999954,154.000000,0.000000,""};
|
item12[] = {"",7,210,-204.000046,146.000000,-195.999954,154.000000,0.000000,""};
|
||||||
item13[] = {"Has_Target",4,4314,-150.000000,225.000000,-50.000000,275.000000,1.000000,"Has" \n "Target"};
|
item13[] = {"Has_Target",4,218,-150.000000,225.000000,-50.000000,275.000000,1.000000,"Has" \n "Target"};
|
||||||
item14[] = {"Chase",2,250,-150.000000,300.000000,-50.000000,350.000000,0.000000,"Chase"};
|
item14[] = {"Chase",2,4346,-150.000000,300.000000,-50.000000,350.000000,0.000000,"Chase"};
|
||||||
item15[] = {"",7,210,-29.000006,146.000000,-20.999996,154.000000,0.000000,""};
|
item15[] = {"",7,210,-29.000006,146.000000,-20.999996,154.000000,0.000000,""};
|
||||||
item16[] = {"",7,210,-29.000006,196.000000,-20.999996,204.000000,0.000000,""};
|
item16[] = {"",7,210,-29.000006,196.000000,-20.999996,204.000000,0.000000,""};
|
||||||
item17[] = {"",7,210,-104.000000,196.000000,-95.999992,204.000000,0.000000,""};
|
item17[] = {"",7,210,-104.000000,196.000000,-95.999992,204.000000,0.000000,""};
|
||||||
@@ -24,10 +24,10 @@ item19[] = {"Time_Check",4,218,-275.000000,300.000000,-175.000000,350.000000,0.0
|
|||||||
item20[] = {"No_Target",4,218,-275.000000,375.000000,-175.000000,425.000000,3.000000,"No" \n "Target"};
|
item20[] = {"No_Target",4,218,-275.000000,375.000000,-175.000000,425.000000,3.000000,"No" \n "Target"};
|
||||||
item21[] = {"",7,210,-479.000000,396.000000,-471.000000,404.000000,0.000000,""};
|
item21[] = {"",7,210,-479.000000,396.000000,-471.000000,404.000000,0.000000,""};
|
||||||
item22[] = {"",7,210,-479.000000,146.000000,-471.000000,154.000000,0.000000,""};
|
item22[] = {"",7,210,-479.000000,146.000000,-471.000000,154.000000,0.000000,""};
|
||||||
item23[] = {"",7,210,221.000000,321.000000,229.000000,329.000000,0.000000,""};
|
item23[] = {"",7,210,133.499985,321.000000,141.500000,329.000000,0.000000,""};
|
||||||
item24[] = {"",7,210,221.000000,396.000000,229.000000,404.000000,0.000000,""};
|
item24[] = {"",7,210,133.500000,396.000000,141.500000,404.000000,0.000000,""};
|
||||||
item25[] = {"Cleanup_",2,250,175.000000,200.000000,275.000000,250.000000,0.000000,"Cleanup?"};
|
item25[] = {"Cleanup_",2,250,-25.000000,50.000000,75.000000,100.000000,0.000000,"Cleanup?"};
|
||||||
item26[] = {"nobody_around",4,218,175.000000,-25.000000,275.000000,25.000000,0.000000,"nobody" \n "around"};
|
item26[] = {"nobody_around",4,218,50.000000,-50.000000,150.000000,0.000000,0.000000,"nobody" \n "around"};
|
||||||
item27[] = {"",7,210,-104.000023,396.000000,-95.999992,404.000000,0.000000,""};
|
item27[] = {"",7,210,-104.000023,396.000000,-95.999992,404.000000,0.000000,""};
|
||||||
item28[] = {"cant_see",4,218,-275.000000,450.000000,-175.000000,500.000000,2.000000,"cant" \n "see"};
|
item28[] = {"cant_see",4,218,-275.000000,450.000000,-175.000000,500.000000,2.000000,"cant" \n "see"};
|
||||||
item29[] = {"Finish_Move",2,250,-275.000000,525.000000,-175.000000,575.000000,0.000000,"Finish" \n "Move"};
|
item29[] = {"Finish_Move",2,250,-275.000000,525.000000,-175.000000,575.000000,0.000000,"Finish" \n "Move"};
|
||||||
@@ -35,34 +35,24 @@ item30[] = {"finished",4,218,-425.000000,525.000000,-325.000000,575.000000,1.000
|
|||||||
item31[] = {"",7,210,-479.000000,546.000000,-471.000000,554.000000,0.000000,""};
|
item31[] = {"",7,210,-479.000000,546.000000,-471.000000,554.000000,0.000000,""};
|
||||||
item32[] = {"",7,210,-29.000002,546.000000,-20.999998,554.000000,0.000000,""};
|
item32[] = {"",7,210,-29.000002,546.000000,-20.999998,554.000000,0.000000,""};
|
||||||
item33[] = {"",7,210,-304.000000,146.000000,-296.000000,154.000000,0.000000,""};
|
item33[] = {"",7,210,-304.000000,146.000000,-296.000000,154.000000,0.000000,""};
|
||||||
item34[] = {"someone_here",4,218,300.000000,200.000000,400.000000,250.000000,0.000000,"someone" \n "here"};
|
item34[] = {"someone_here",4,218,-75.000000,-50.000000,25.000000,0.000000,0.000000,"someone" \n "here"};
|
||||||
item35[] = {"wait",2,250,300.000000,125.000000,400.000000,175.000000,0.000000,"wait"};
|
item35[] = {"too_long",4,218,-425.000000,600.000000,-325.000000,650.000000,0.000000,"too long"};
|
||||||
item36[] = {"time_up",4,218,300.000000,-25.000000,400.000000,25.000000,0.000000,"time" \n "up"};
|
item36[] = {"",7,210,-229.000000,621.000000,-221.000000,629.000000,0.000000,""};
|
||||||
item37[] = {"",7,210,346.000000,95.999992,354.000000,104.000000,0.000000,""};
|
item37[] = {"",7,210,-479.000000,621.000000,-471.000000,629.000000,0.000000,""};
|
||||||
item38[] = {"",7,210,221.000000,96.000008,229.000000,103.999977,0.000000,""};
|
item38[] = {"Reset_Targeting",2,250,-525.000000,325.000000,-425.000000,375.000000,0.000000,"Reset" \n "Targeting"};
|
||||||
item39[] = {"Time_Check",4,218,425.000000,125.000000,525.000000,175.000000,0.000000,"Time" \n "Check"};
|
item39[] = {"No_target",4,218,-525.000000,250.000000,-425.000000,300.000000,0.000000,"No target"};
|
||||||
item40[] = {"",7,210,346.000000,-79.000000,354.000000,-71.000000,0.000000,""};
|
item40[] = {"",7,210,-104.000000,471.000000,-95.999992,479.000000,0.000000,""};
|
||||||
item41[] = {"",7,210,221.000000,-79.000000,229.000000,-71.000000,0.000000,""};
|
item41[] = {"player_check",4,218,-425.000000,0.000000,-325.000000,50.000000,0.000000,"player" \n "check"};
|
||||||
item42[] = {"too_long",4,218,-425.000000,600.000000,-325.000000,650.000000,0.000000,"too long"};
|
item42[] = {"is_Dedicated",4,218,-125.000000,-250.000000,-25.000000,-200.000000,5.000000,"is" \n "Dedicated"};
|
||||||
item43[] = {"",7,210,-229.000000,621.000000,-221.000000,629.000000,0.000000,""};
|
|
||||||
item44[] = {"",7,210,-479.000000,621.000000,-471.000000,629.000000,0.000000,""};
|
|
||||||
item45[] = {"Reset_Targeting",2,250,-525.000000,325.000000,-425.000000,375.000000,0.000000,"Reset" \n "Targeting"};
|
|
||||||
item46[] = {"No_target",4,218,-525.000000,250.000000,-425.000000,300.000000,0.000000,"No target"};
|
|
||||||
item47[] = {"deleted",4,218,425.000000,-25.000000,525.000000,25.000000,0.000000,"deleted"};
|
|
||||||
item48[] = {"",7,210,471.000000,-79.000000,479.000000,-71.000000,0.000000,""};
|
|
||||||
item49[] = {"",7,210,471.000000,95.999977,479.000000,104.000023,0.000000,""};
|
|
||||||
item50[] = {"",7,210,-104.000000,471.000000,-95.999992,479.000000,0.000000,""};
|
|
||||||
item51[] = {"player_check",4,218,-425.000000,0.000000,-325.000000,50.000000,0.000000,"player" \n "check"};
|
|
||||||
item52[] = {"is_Dedicated",4,218,50.000000,-250.000000,150.000000,-200.000000,5.000000,"is" \n "Dedicated"};
|
|
||||||
link0[] = {0,9};
|
link0[] = {0,9};
|
||||||
link1[] = {0,52};
|
link1[] = {0,42};
|
||||||
link2[] = {2,23};
|
link2[] = {2,23};
|
||||||
link3[] = {3,24};
|
link3[] = {3,24};
|
||||||
link4[] = {4,5};
|
link4[] = {4,5};
|
||||||
link5[] = {5,6};
|
link5[] = {5,6};
|
||||||
link6[] = {5,12};
|
link6[] = {5,12};
|
||||||
link7[] = {5,18};
|
link7[] = {5,18};
|
||||||
link8[] = {5,51};
|
link8[] = {5,41};
|
||||||
link9[] = {6,5};
|
link9[] = {6,5};
|
||||||
link10[] = {7,2};
|
link10[] = {7,2};
|
||||||
link11[] = {7,8};
|
link11[] = {7,8};
|
||||||
@@ -82,48 +72,35 @@ link24[] = {17,13};
|
|||||||
link25[] = {18,5};
|
link25[] = {18,5};
|
||||||
link26[] = {19,14};
|
link26[] = {19,14};
|
||||||
link27[] = {20,21};
|
link27[] = {20,21};
|
||||||
link28[] = {21,45};
|
link28[] = {21,38};
|
||||||
link29[] = {22,33};
|
link29[] = {22,33};
|
||||||
link30[] = {23,25};
|
link30[] = {23,25};
|
||||||
link31[] = {24,23};
|
link31[] = {24,23};
|
||||||
link32[] = {25,34};
|
link32[] = {25,26};
|
||||||
link33[] = {25,38};
|
link33[] = {25,34};
|
||||||
link34[] = {26,41};
|
link34[] = {26,1};
|
||||||
link35[] = {27,20};
|
link35[] = {27,20};
|
||||||
link36[] = {27,50};
|
link36[] = {27,40};
|
||||||
link37[] = {28,29};
|
link37[] = {28,29};
|
||||||
link38[] = {29,30};
|
link38[] = {29,30};
|
||||||
link39[] = {29,32};
|
link39[] = {29,32};
|
||||||
link40[] = {29,43};
|
link40[] = {29,36};
|
||||||
link41[] = {30,31};
|
link41[] = {30,31};
|
||||||
link42[] = {31,21};
|
link42[] = {31,21};
|
||||||
link43[] = {32,8};
|
link43[] = {32,8};
|
||||||
link44[] = {33,5};
|
link44[] = {33,5};
|
||||||
link45[] = {34,35};
|
link45[] = {34,5};
|
||||||
link46[] = {35,37};
|
link46[] = {35,37};
|
||||||
link47[] = {35,39};
|
link47[] = {36,35};
|
||||||
link48[] = {36,40};
|
link48[] = {37,31};
|
||||||
link49[] = {37,36};
|
link49[] = {38,17};
|
||||||
link50[] = {37,38};
|
link50[] = {38,39};
|
||||||
link51[] = {37,49};
|
link51[] = {39,22};
|
||||||
link52[] = {38,26};
|
link52[] = {40,28};
|
||||||
link53[] = {39,35};
|
link53[] = {41,5};
|
||||||
link54[] = {40,41};
|
link54[] = {42,1};
|
||||||
link55[] = {41,1};
|
globals[] = {25.000000,1,0,0,0,640,480,1,101,6316128,1,-671.713867,363.212036,624.148865,-248.208023,713,601,1};
|
||||||
link56[] = {42,44};
|
window[] = {2,-1,-1,-32000,-32000,777,66,1274,66,3,730};
|
||||||
link57[] = {43,42};
|
|
||||||
link58[] = {44,31};
|
|
||||||
link59[] = {45,17};
|
|
||||||
link60[] = {45,46};
|
|
||||||
link61[] = {46,22};
|
|
||||||
link62[] = {47,48};
|
|
||||||
link63[] = {48,40};
|
|
||||||
link64[] = {49,47};
|
|
||||||
link65[] = {50,28};
|
|
||||||
link66[] = {51,5};
|
|
||||||
link67[] = {52,1};
|
|
||||||
globals[] = {25.000000,1,0,0,0,640,480,1,99,6316128,1,-558.318542,127.785744,597.327209,-38.360462,626,580,1};
|
|
||||||
window[] = {0,-1,-1,-1,-1,755,44,1252,44,1,643};
|
|
||||||
*//*%FSM</HEAD>*/
|
*//*%FSM</HEAD>*/
|
||||||
class FSM
|
class FSM
|
||||||
{
|
{
|
||||||
@@ -249,9 +226,6 @@ class FSM
|
|||||||
"if (!_hasMoved) then {" \n
|
"if (!_hasMoved) then {" \n
|
||||||
" _agent setVariable[""doLoiter"",true,true];" \n
|
" _agent setVariable[""doLoiter"",true,true];" \n
|
||||||
"};" \n
|
"};" \n
|
||||||
"if (!moveToCompleted _agent) then {" \n
|
|
||||||
" _agent moveTo (position _agent);" \n
|
|
||||||
"};" \n
|
|
||||||
"" \n
|
"" \n
|
||||||
"//Enable combat timer." \n
|
"//Enable combat timer." \n
|
||||||
"_target setVariable[""startcombattimer"", 1, true];" \n
|
"_target setVariable[""startcombattimer"", 1, true];" \n
|
||||||
@@ -358,6 +332,7 @@ class FSM
|
|||||||
{
|
{
|
||||||
name = "Chase";
|
name = "Chase";
|
||||||
init = /*%FSM<STATEINIT""">*/"_timeN = time;" \n
|
init = /*%FSM<STATEINIT""">*/"_timeN = time;" \n
|
||||||
|
"_vehicle = (getPosATL vehicle player);" \n
|
||||||
"" \n
|
"" \n
|
||||||
"if (speed _agent < 0.1) then {_countr = _countr + 1} else {_countr = 0};" \n
|
"if (speed _agent < 0.1) then {_countr = _countr + 1} else {_countr = 0};" \n
|
||||||
"_target = _agent call zombie_findTargetAgent;" \n
|
"_target = _agent call zombie_findTargetAgent;" \n
|
||||||
@@ -365,14 +340,24 @@ class FSM
|
|||||||
"_targetPos = getPosATL _target;" \n
|
"_targetPos = getPosATL _target;" \n
|
||||||
"" \n
|
"" \n
|
||||||
"//Move to target" \n
|
"//Move to target" \n
|
||||||
"_agent moveTo _targetPos;" \n
|
"if (vehicle player == player) then {" \n
|
||||||
"_agent forceSpeed 7;" \n
|
" _agent moveTo _targetPos;" \n
|
||||||
|
" _agent forceSpeed 6;" \n
|
||||||
|
"} else {" \n
|
||||||
|
" _agent moveTo _vehicle;" \n
|
||||||
|
" _agent forceSpeed 6;" \n
|
||||||
|
"};" \n
|
||||||
"" \n
|
"" \n
|
||||||
"//Check if LOS" \n
|
"" \n
|
||||||
"if (_losCheck == 2) then {" \n
|
"if (_agent distance player <= 100) then {" \n
|
||||||
" _losCheck = 0;" \n
|
|
||||||
" _cantSee = [_agent,_target] call dayz_losCheck;" \n
|
" _cantSee = [_agent,_target] call dayz_losCheck;" \n
|
||||||
"};" \n
|
"};" \n
|
||||||
|
"" \n
|
||||||
|
"//Check if LOS" \n
|
||||||
|
"//if (_losCheck == 2) then {" \n
|
||||||
|
"// _losCheck = 0;" \n
|
||||||
|
"//_cantSee = [_agent,_target] call dayz_losCheck;" \n
|
||||||
|
"//};" \n
|
||||||
""/*%FSM</STATEINIT""">*/;
|
""/*%FSM</STATEINIT""">*/;
|
||||||
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
||||||
class Links
|
class Links
|
||||||
@@ -434,13 +419,23 @@ class FSM
|
|||||||
class Cleanup_
|
class Cleanup_
|
||||||
{
|
{
|
||||||
name = "Cleanup_";
|
name = "Cleanup_";
|
||||||
init = /*%FSM<STATEINIT""">*/"_waitStart = time;" \n
|
init = /*%FSM<STATEINIT""">*/"_list = (getposATL _agent) nearEntities [[""CAManBase"",""AllVehicles""],400];" \n
|
||||||
|
"_isSomeone = ({isPlayer _x} count _list) > 0;" \n
|
||||||
"" \n
|
"" \n
|
||||||
"_list = (getposATL _agent) nearEntities [[""CAManBase"",""AllVehicles""],400];" \n
|
"_waitStart = time;"/*%FSM</STATEINIT""">*/;
|
||||||
"_isSomeone = ({isPlayer _x} count _list) > 0;"/*%FSM</STATEINIT""">*/;
|
|
||||||
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
||||||
class Links
|
class Links
|
||||||
{
|
{
|
||||||
|
/*%FSM<LINK "someone_here">*/
|
||||||
|
class someone_here
|
||||||
|
{
|
||||||
|
priority = 0.000000;
|
||||||
|
to="Loiter";
|
||||||
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||||
|
condition=/*%FSM<CONDITION""">*/"_isSomeone"/*%FSM</CONDITION""">*/;
|
||||||
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
||||||
|
};
|
||||||
|
/*%FSM</LINK>*/
|
||||||
/*%FSM<LINK "nobody_around">*/
|
/*%FSM<LINK "nobody_around">*/
|
||||||
class nobody_around
|
class nobody_around
|
||||||
{
|
{
|
||||||
@@ -451,16 +446,6 @@ class FSM
|
|||||||
action=/*%FSM<ACTION""">*/"dayz_spawnZombies = dayz_spawnZombies - 1;"/*%FSM</ACTION""">*/;
|
action=/*%FSM<ACTION""">*/"dayz_spawnZombies = dayz_spawnZombies - 1;"/*%FSM</ACTION""">*/;
|
||||||
};
|
};
|
||||||
/*%FSM</LINK>*/
|
/*%FSM</LINK>*/
|
||||||
/*%FSM<LINK "someone_here">*/
|
|
||||||
class someone_here
|
|
||||||
{
|
|
||||||
priority = 0.000000;
|
|
||||||
to="wait";
|
|
||||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
||||||
condition=/*%FSM<CONDITION""">*/"_isSomeone"/*%FSM</CONDITION""">*/;
|
|
||||||
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
||||||
};
|
|
||||||
/*%FSM</LINK>*/
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
/*%FSM</STATE>*/
|
/*%FSM</STATE>*/
|
||||||
@@ -508,60 +493,6 @@ class FSM
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
/*%FSM</STATE>*/
|
/*%FSM</STATE>*/
|
||||||
/*%FSM<STATE "wait">*/
|
|
||||||
class wait
|
|
||||||
{
|
|
||||||
name = "wait";
|
|
||||||
init = /*%FSM<STATEINIT""">*/"_list = (getposATL _agent) nearEntities [[""CAManBase"",""AllVehicles""],300];" \n
|
|
||||||
"_isSomeone = ({isPlayer _x} count _list) > 0;" \n
|
|
||||||
"" \n
|
|
||||||
"_timeN = time;"/*%FSM</STATEINIT""">*/;
|
|
||||||
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
||||||
class Links
|
|
||||||
{
|
|
||||||
/*%FSM<LINK "time_up">*/
|
|
||||||
class time_up
|
|
||||||
{
|
|
||||||
priority = 0.000000;
|
|
||||||
to="End";
|
|
||||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
||||||
condition=/*%FSM<CONDITION""">*/"(time - _waitStart) > 300"/*%FSM</CONDITION""">*/;
|
|
||||||
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
||||||
};
|
|
||||||
/*%FSM</LINK>*/
|
|
||||||
/*%FSM<LINK "nobody_around">*/
|
|
||||||
class nobody_around
|
|
||||||
{
|
|
||||||
priority = 0.000000;
|
|
||||||
to="End";
|
|
||||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
||||||
condition=/*%FSM<CONDITION""">*/"!_isSomeone"/*%FSM</CONDITION""">*/;
|
|
||||||
action=/*%FSM<ACTION""">*/"dayz_spawnZombies = dayz_spawnZombies - 1;"/*%FSM</ACTION""">*/;
|
|
||||||
};
|
|
||||||
/*%FSM</LINK>*/
|
|
||||||
/*%FSM<LINK "deleted">*/
|
|
||||||
class deleted
|
|
||||||
{
|
|
||||||
priority = 0.000000;
|
|
||||||
to="End";
|
|
||||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
||||||
condition=/*%FSM<CONDITION""">*/"isNull _agent;"/*%FSM</CONDITION""">*/;
|
|
||||||
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
||||||
};
|
|
||||||
/*%FSM</LINK>*/
|
|
||||||
/*%FSM<LINK "Time_Check">*/
|
|
||||||
class Time_Check
|
|
||||||
{
|
|
||||||
priority = 0.000000;
|
|
||||||
to="wait";
|
|
||||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
||||||
condition=/*%FSM<CONDITION""">*/"(time - _timeN) > 30"/*%FSM</CONDITION""">*/;
|
|
||||||
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
||||||
};
|
|
||||||
/*%FSM</LINK>*/
|
|
||||||
};
|
|
||||||
};
|
|
||||||
/*%FSM</STATE>*/
|
|
||||||
/*%FSM<STATE "Reset_Targeting">*/
|
/*%FSM<STATE "Reset_Targeting">*/
|
||||||
class Reset_Targeting
|
class Reset_Targeting
|
||||||
{
|
{
|
||||||
@@ -595,9 +526,6 @@ class FSM
|
|||||||
"if (!_hasMoved) then {" \n
|
"if (!_hasMoved) then {" \n
|
||||||
" _agent setVariable[""doLoiter"",true,true];" \n
|
" _agent setVariable[""doLoiter"",true,true];" \n
|
||||||
"};" \n
|
"};" \n
|
||||||
"if (!moveToCompleted _agent) then {" \n
|
|
||||||
" _agent moveTo (position _agent);" \n
|
|
||||||
"};" \n
|
|
||||||
"" \n
|
"" \n
|
||||||
"//Enable combat timer." \n
|
"//Enable combat timer." \n
|
||||||
"_target setVariable[""startcombattimer"", 1, true];" \n
|
"_target setVariable[""startcombattimer"", 1, true];" \n
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ _class = _this select 3;
|
|||||||
if (!(_object isKindOf "Building")) exitWith {
|
if (!(_object isKindOf "Building")) exitWith {
|
||||||
deleteVehicle _object;
|
deleteVehicle _object;
|
||||||
};
|
};
|
||||||
_allowed = [_object] call check_publishobject;
|
_allowed = [_object, "Server"] call check_publishobject;
|
||||||
if (!_allowed) exitWith { };
|
if (!_allowed) exitWith { };
|
||||||
|
|
||||||
|
|
||||||
@@ -24,6 +24,10 @@ _key call server_hiveWrite;
|
|||||||
|
|
||||||
_object setVariable ["ObjectUID", _uid,true];
|
_object setVariable ["ObjectUID", _uid,true];
|
||||||
|
|
||||||
|
if (_object isKindOf "TentStorage") then {
|
||||||
|
_object addMPEventHandler ["MPKilled",{_this call vehicle_handleServerKilled;}];
|
||||||
|
};
|
||||||
|
|
||||||
dayz_serverObjectMonitor set [count dayz_serverObjectMonitor,_object];
|
dayz_serverObjectMonitor set [count dayz_serverObjectMonitor,_object];
|
||||||
|
|
||||||
//diag_log ("PUBLISH: Created " + (_class) + " with ID " + _uid);
|
//diag_log ("PUBLISH: Created " + (_class) + " with ID " + _uid);
|
||||||
|
|||||||
@@ -52,17 +52,6 @@ while {true} do {
|
|||||||
diag_log(format["CRASHSPAWNER: Spawning '%1' with loot table '%2' NOW! (%3) at: %4", _crashName, _lootTable, time, str(_position)]);
|
diag_log(format["CRASHSPAWNER: Spawning '%1' with loot table '%2' NOW! (%3) at: %4", _crashName, _lootTable, time, str(_position)]);
|
||||||
|
|
||||||
_crash = createVehicle [_crashModel,_position, [], 0, "CAN_COLLIDE"];
|
_crash = createVehicle [_crashModel,_position, [], 0, "CAN_COLLIDE"];
|
||||||
|
|
||||||
deleteMarker "Secure Helicopter Wreck";
|
|
||||||
///Add crash site markers
|
|
||||||
_crashmarker = createMarker["Secure Helicopter Wreck",_position];
|
|
||||||
_crashmarker setMarkerColor "ColorRed";
|
|
||||||
_crashmarker setMarkerType "Flag";
|
|
||||||
//_crashmarker setMarkerShape "ELLIPSE";
|
|
||||||
//_crashmarker setMarkerBrush "Grid";
|
|
||||||
_crashmarker setMarkerText "Secure Helicopter";
|
|
||||||
_crashmarker setMarkerSize [1, 1];
|
|
||||||
|
|
||||||
// Randomize the direction the wreck is facing
|
// Randomize the direction the wreck is facing
|
||||||
_crash setDir round(random 360);
|
_crash setDir round(random 360);
|
||||||
|
|
||||||
|
|||||||
@@ -89,6 +89,47 @@ _object_damage = {
|
|||||||
_key call server_hiveWrite;
|
_key call server_hiveWrite;
|
||||||
_object setVariable ["needUpdate",false,true];
|
_object setVariable ["needUpdate",false,true];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
_object_killed = {
|
||||||
|
private["_hitpoints","_array","_hit","_selection","_key","_damage"];
|
||||||
|
_hitpoints = _object call vehicle_getHitpoints;
|
||||||
|
_damage = damage _object;
|
||||||
|
_array = [];
|
||||||
|
{
|
||||||
|
_hit = [_object,_x] call object_getHit;
|
||||||
|
_selection = getText (configFile >> "CfgVehicles" >> (typeOf _object) >> "HitPoints" >> _x >> "name");
|
||||||
|
if (_hit > 0) then {_array set [count _array,[_selection,_hit]]};
|
||||||
|
_hit = 1;
|
||||||
|
_object setHit ["_selection", _hit]
|
||||||
|
} forEach _hitpoints;
|
||||||
|
_damage = 1;
|
||||||
|
|
||||||
|
if (_objectID == "0") then {
|
||||||
|
_key = format["CHILD:306:%1:%2:%3:",_uid,_array,_damage];
|
||||||
|
} else {
|
||||||
|
_key = format["CHILD:306:%1:%2:%3:",_objectID,_array,_damage];
|
||||||
|
};
|
||||||
|
diag_log ("HIVE: WRITE: "+ str(_key));
|
||||||
|
_key call server_hiveWrite;
|
||||||
|
_object setVariable ["needUpdate",false,true];
|
||||||
|
};
|
||||||
|
|
||||||
|
_object_repair = {
|
||||||
|
private["_hitpoints","_array","_hit","_selection","_key","_damage"];
|
||||||
|
_hitpoints = _object call vehicle_getHitpoints;
|
||||||
|
_damage = damage _object;
|
||||||
|
_array = [];
|
||||||
|
{
|
||||||
|
_hit = [_object,_x] call object_getHit;
|
||||||
|
_selection = getText (configFile >> "CfgVehicles" >> (typeOf _object) >> "HitPoints" >> _x >> "name");
|
||||||
|
if (_hit > 0) then {_array set [count _array,[_selection,_hit]]};
|
||||||
|
_object setHit ["_selection", _hit]
|
||||||
|
} forEach _hitpoints;
|
||||||
|
_key = format["CHILD:306:%1:%2:%3:",_objectID,_array,_damage];
|
||||||
|
diag_log ("HIVE: WRITE: "+ str(_key));
|
||||||
|
_key call server_hiveWrite;
|
||||||
|
_object setVariable ["needUpdate",false,true];
|
||||||
|
};
|
||||||
// TODO ----------------------
|
// TODO ----------------------
|
||||||
|
|
||||||
_object setVariable ["lastUpdate",time,true];
|
_object setVariable ["lastUpdate",time,true];
|
||||||
@@ -105,15 +146,18 @@ switch (_type) do {
|
|||||||
call _object_inventory;
|
call _object_inventory;
|
||||||
};
|
};
|
||||||
case "damage": {
|
case "damage": {
|
||||||
if ( (time - _lastUpdate) > 5 && !_needUpdate ) then {
|
diag_log ("Damaged Called");
|
||||||
|
if ( (time - _lastUpdate) > 5) then {
|
||||||
call _object_damage;
|
call _object_damage;
|
||||||
} else {
|
} else {
|
||||||
if ( !_needUpdate ) then {
|
diag_log format["DEBUG: Added to NeedUpdate=%1",_object];
|
||||||
needUpdate_objects set [count needUpdate_objects, _object];
|
needUpdate_objects set [count needUpdate_objects, _object];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
case "killed": {
|
||||||
|
call _object_killed;
|
||||||
};
|
};
|
||||||
case "repair": {
|
case "repair": {
|
||||||
call _object_damage;
|
call _object_repair;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -30,25 +30,36 @@ server_spawnCrashSite = compile preprocessFileLineNumbers "\z\addons\dayz_se
|
|||||||
vehicle_handleInteract = {
|
vehicle_handleInteract = {
|
||||||
private["_object"];
|
private["_object"];
|
||||||
_object = _this select 0;
|
_object = _this select 0;
|
||||||
|
needUpdate_objects = needUpdate_objects - [_object];
|
||||||
[_object, "all"] call server_updateObject;
|
[_object, "all"] call server_updateObject;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
vehicle_handleServerKilled = {
|
||||||
|
private["_unit","_killer"];
|
||||||
|
_unit = _this select 0;
|
||||||
|
_killer = _this select 1;
|
||||||
|
|
||||||
|
[_unit, "killed"] call server_updateObject;
|
||||||
|
|
||||||
|
_unit removeAllMPEventHandlers "MPKilled";
|
||||||
|
_unit removeAllEventHandlers "Killed";
|
||||||
|
_unit removeAllEventHandlers "HandleDamage";
|
||||||
|
_unit removeAllEventHandlers "GetIn";
|
||||||
|
_unit removeAllEventHandlers "GetOut";
|
||||||
|
};
|
||||||
|
|
||||||
check_publishobject = {
|
check_publishobject = {
|
||||||
private["_allowed","_allowedObjects","_object"];
|
private["_allowed","_allowedObjects","_object"];
|
||||||
|
|
||||||
_object = _this select 0;
|
_object = _this select 0;
|
||||||
|
_playername = _this select 1;
|
||||||
_allowedObjects = ["TentStorage", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","TrapBear","Wire_cat1"];
|
_allowedObjects = ["TentStorage", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","TrapBear","Wire_cat1"];
|
||||||
_noncombatitems = ["ThrownObjects", "RoadFlare", "ChemLight"];
|
_allowed = false;
|
||||||
_allowed = false;
|
|
||||||
|
|
||||||
diag_log format ["DEBUG: Checking if Object: %1 is allowed", _object];
|
diag_log format ["DEBUG: Checking if Object: %1 is allowed published by %2", _object, _playername];
|
||||||
|
|
||||||
if ((typeOf _object) in _allowedObjects) then {
|
if ((typeOf _object) in _allowedObjects) then {
|
||||||
diag_log format ["DEBUG: Object: %1 Safe",_object];
|
diag_log format ["DEBUG: Object: %1 published by %2 is Safe",_object, _playername];
|
||||||
_allowed = true;
|
|
||||||
};
|
|
||||||
if ((typeOf _object) in _noncombatitems) then {
|
|
||||||
diag_log format ["DEBUG: NONCombat: %1 Safe",_object];
|
|
||||||
_allowed = true;
|
_allowed = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
/*%FSM<COMPILE "scriptedFSM.cfg, DayZ Server Cleanup">*/
|
/*%FSM<COMPILE "F:\DayZ\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, DayZ Server Cleanup">*/
|
||||||
/*%FSM<HEAD>*/
|
/*%FSM<HEAD>*/
|
||||||
/*
|
/*
|
||||||
item0[] = {"init",0,250,-75.000000,-400.000000,25.000000,-350.000000,0.000000,"init"};
|
item0[] = {"init",0,250,-75.000000,-400.000000,25.000000,-350.000000,0.000000,"init"};
|
||||||
item1[] = {"true",8,218,-75.000000,-175.000000,25.000000,-125.000000,0.000000,"true"};
|
item1[] = {"true",8,218,-75.000000,-175.000000,25.000000,-125.000000,0.000000,"true"};
|
||||||
item2[] = {"waiting",2,250,-75.000000,-100.000000,25.000000,-50.000000,0.000000,"waiting"};
|
item2[] = {"waiting",2,250,-75.000000,-100.000000,25.000000,-50.000000,0.000000,"waiting"};
|
||||||
item3[] = {"time_dead",4,218,-300.000000,-25.000000,-200.000000,25.000000,4.000000,"time" \n "dead"};
|
item3[] = {"time_dead",4,218,-300.000000,-25.000000,-200.000000,25.000000,4.000000,"time" \n "dead"};
|
||||||
item4[] = {"cleanup_dead",2,250,-300.000000,50.000000,-200.000000,100.000000,0.000000,"cleanup" \n "dead"};
|
item4[] = {"cleanup_dead",2,4346,-300.000000,50.000000,-200.000000,100.000000,0.000000,"cleanup" \n "dead"};
|
||||||
item5[] = {"time_items",4,218,0.000000,-25.000000,100.000000,25.000000,2.000000,"time" \n "items"};
|
item5[] = {"time_items",4,218,0.000000,-25.000000,100.000000,25.000000,2.000000,"time" \n "items"};
|
||||||
item6[] = {"cleanup_items",2,250,0.000000,50.000000,100.000000,100.000000,0.000000,"cleanup" \n "items"};
|
item6[] = {"cleanup_items",2,250,0.000000,50.000000,100.000000,100.000000,0.000000,"cleanup" \n "items"};
|
||||||
item7[] = {"time_sync",4,218,-150.000000,-25.000000,-50.000000,25.000000,3.000000,"time" \n "sync"};
|
item7[] = {"time_sync",4,218,-150.000000,-25.000000,-50.000000,25.000000,3.000000,"time" \n "sync"};
|
||||||
@@ -19,7 +19,7 @@ item14[] = {"prepare",2,250,-75.000000,-250.000000,25.000000,-200.000000,0.00000
|
|||||||
item15[] = {"update_objects",2,250,150.000000,50.000000,250.000000,100.000000,0.000000,"update objects"};
|
item15[] = {"update_objects",2,250,150.000000,50.000000,250.000000,100.000000,0.000000,"update objects"};
|
||||||
item16[] = {"time_obj_update",4,218,150.000000,-25.000000,250.000000,25.000000,1.000000,"time" \n "obj update"};
|
item16[] = {"time_obj_update",4,218,150.000000,-25.000000,250.000000,25.000000,1.000000,"time" \n "obj update"};
|
||||||
item17[] = {"anti_hack",4,218,150.000000,-100.000000,250.000000,-50.000000,0.000000,"anti hack"};
|
item17[] = {"anti_hack",4,218,150.000000,-100.000000,250.000000,-50.000000,0.000000,"anti hack"};
|
||||||
item18[] = {"check_for_hacker",2,4346,150.000000,-175.000000,250.000000,-125.000000,0.000000,"check for" \n "hackers"};
|
item18[] = {"check_for_hacker",2,250,150.000000,-175.000000,250.000000,-125.000000,0.000000,"check for" \n "hackers"};
|
||||||
link0[] = {0,13};
|
link0[] = {0,13};
|
||||||
link1[] = {1,2};
|
link1[] = {1,2};
|
||||||
link2[] = {2,3};
|
link2[] = {2,3};
|
||||||
@@ -43,8 +43,8 @@ link19[] = {15,9};
|
|||||||
link20[] = {16,15};
|
link20[] = {16,15};
|
||||||
link21[] = {17,18};
|
link21[] = {17,18};
|
||||||
link22[] = {18,1};
|
link22[] = {18,1};
|
||||||
globals[] = {25.000000,1,0,0,0,640,480,1,33,6316128,1,-380.893097,315.695129,343.738464,-460.417511,803,927,1};
|
globals[] = {25.000000,1,0,0,0,640,480,1,33,6316128,1,-389.695160,324.496887,564.215637,-260.262604,803,927,1};
|
||||||
window[] = {2,-1,-1,-1,-1,1039,132,1246,132,3,820};
|
window[] = {2,-1,-1,-1,-1,995,88,1202,88,3,820};
|
||||||
*//*%FSM</HEAD>*/
|
*//*%FSM</HEAD>*/
|
||||||
class FSM
|
class FSM
|
||||||
{
|
{
|
||||||
@@ -144,77 +144,48 @@ class FSM
|
|||||||
" diag_log (""CLEANUP: TOO MANY DEAD BODIES"");" \n
|
" diag_log (""CLEANUP: TOO MANY DEAD BODIES"");" \n
|
||||||
" diag_log (""CLEANUP: PERFORMING BODY CLEANUP ON "" + str(_numDead) + "" BODIES"");" \n
|
" diag_log (""CLEANUP: PERFORMING BODY CLEANUP ON "" + str(_numDead) + "" BODIES"");" \n
|
||||||
"" \n
|
"" \n
|
||||||
|
" //Cleanup zed's & players" \n
|
||||||
|
"" \n
|
||||||
" _delQtyZ = 0; " \n
|
" _delQtyZ = 0; " \n
|
||||||
" _numZombie = {_x isKindOf ""zZombie_Base""} count allDead;" \n
|
" _delQtyP = 0;" \n
|
||||||
" {" \n
|
" {" \n
|
||||||
" if (local _x) then {" \n
|
" if (local _x) then {" \n
|
||||||
" if (_x isKindOf ""zZombie_Base"") then {" \n
|
" if (_x isKindOf ""zZombie_Base"") then {" \n
|
||||||
" deleteVehicle _x;" \n
|
" deleteVehicle _x;" \n
|
||||||
" _delQtyZ = _delQtyZ + 1;" \n
|
" _delQtyZ = _delQtyZ + 1;" \n
|
||||||
" } else {" \n
|
" } else {" \n
|
||||||
" _exists = _x in _deadBodies;" \n
|
" _pos = getPosATL _x;" \n
|
||||||
" if(!_exists) then {" \n
|
" _sfx = nearestObject [_pos,""Sound_Flies""];" \n
|
||||||
" _deadBodies set [count _deadBodies,_x];" \n
|
" if (!(isNull _sfx)) then {" \n
|
||||||
|
" deleteVehicle _sfx;" \n
|
||||||
" };" \n
|
" };" \n
|
||||||
|
" deleteVehicle _x;" \n
|
||||||
|
" _delQtyP = _delQtyP + 1;" \n
|
||||||
" };" \n
|
" };" \n
|
||||||
" };" \n
|
" };" \n
|
||||||
" } forEach allDead;" \n
|
" } forEach allDead;" \n
|
||||||
"" \n
|
"" \n
|
||||||
" //Cleanup players" \n
|
" //Check Flies" \n
|
||||||
" _body = objNull;" \n
|
" _dwUSOFC=0;" \n
|
||||||
" _delQtyP = 0;" \n
|
" {" \n
|
||||||
" _delDo = _numDead - _numZombie;" \n
|
" if (local _x) then {" \n
|
||||||
" _delDo = ((_delDo min (count _deadBodies)) -1);" \n
|
" deleteVehicle _x;" \n
|
||||||
" if (_delDo<1) then {_delDo=1};" \n
|
" _dwUSOFC=_dwUSOFC+1;" \n
|
||||||
" for ""_i"" from 0 to _delDo do {" \n
|
|
||||||
" _body = _deadBodies select _i;" \n
|
|
||||||
" if(!isNil ""_body"") then {" \n
|
|
||||||
" _pos = getPosATL _body;" \n
|
|
||||||
" _sfx = nearestObject [_pos,""Sound_Flies""];" \n
|
|
||||||
" if (!(isNull _sfx)) then {" \n
|
|
||||||
" deleteVehicle _sfx;" \n
|
|
||||||
" };" \n
|
|
||||||
" deleteVehicle _body;" \n
|
|
||||||
" _delQtyP = _delQtyP + 1;" \n
|
|
||||||
" };" \n
|
" };" \n
|
||||||
" _deadBodies set [_i,""DEL""];" \n
|
" diag_log (""CLEANUP: DELETED AN UNCONTROLLED SOUND OF FLIES:"" + str(_dwUSOFC) );" \n
|
||||||
|
" } forEach allMissionObjects ""Sound_Flies"";" \n
|
||||||
"" \n
|
"" \n
|
||||||
" //Let's move this into the body removal sequence so uncontrolled flies are removed only if corpses are cleaned" \n
|
" //clean fireplaces" \n
|
||||||
" //Check Flies" \n
|
" _dwUFPC=0;" \n
|
||||||
" _isOK=-1;" \n
|
" {" \n
|
||||||
" _dwUSOFC=0;" \n
|
" if (local _x) then {" \n
|
||||||
" {" \n
|
" deleteVehicle _x;" \n
|
||||||
" //_isOk = {!alive _x} count (nearestObjects [_x, [""CAManBase""], 2]);" \n
|
" _dwUFPC=_dwUFPC+1;" \n
|
||||||
" _isOk = {!alive _x} count (_x nearEntities [[""CAManBase""], 2]);" \n
|
" };" \n
|
||||||
" if (_isOk>-1) then {" \n
|
" diag_log (""CLEANUP: DELETED AN UNCONTROLLED FIREPLACE:"" + str(_dwUFPC) );" \n
|
||||||
" diag_log (""DW_DEBUG _isOK: "" + str(_isOK) );" \n
|
" } forEach allMissionObjects ""Land_Fire_DZ"";" \n
|
||||||
" };" \n
|
|
||||||
" if ((_isOk>-1) AND (_isOK<1)) then {" \n
|
|
||||||
" //diag_log (""CLEANUP: DELETING A SOUND OF FLIES"");" \n
|
|
||||||
" _dwUSOFC=_dwUSOFC+1;" \n
|
|
||||||
" deleteVehicle _x;" \n
|
|
||||||
" diag_log (""CLEANUP: DELETED AN UNCONTROLLED SOUND OF FLIES:"" + str(_dwUSOFC) );" \n
|
|
||||||
" };" \n
|
|
||||||
" } forEach allMissionObjects ""Sound_Flies"";" \n
|
|
||||||
"" \n
|
|
||||||
"" \n
|
|
||||||
" //Let's move this into the body removal sequence so uncontrolled fireplaces are removed only if corpses are cleaned" \n
|
|
||||||
" //clean fireplaces" \n
|
|
||||||
" _dwUFPC=0;" \n
|
|
||||||
" {" \n
|
|
||||||
" if (local _x) then {" \n
|
|
||||||
" //diag_log (""CLEANUP: DELETING A UNCONTROLLED FIREPLACE"");" \n
|
|
||||||
" deleteVehicle _x;" \n
|
|
||||||
" _dwUFPC=_dwUFPC+1;" \n
|
|
||||||
" diag_log (""CLEANUP: DELETED AN UNCONTROLLED FIREPLACE:"" + str(_dwUFPC) );" \n
|
|
||||||
" };" \n
|
|
||||||
" } forEach allMissionObjects ""Land_Fire_DZ"";" \n
|
|
||||||
"" \n
|
|
||||||
" };" \n
|
|
||||||
" _deadBodies = _deadBodies - [""DEL""];" \n
|
|
||||||
"" \n
|
"" \n
|
||||||
" diag_log (""CLEANUP: DELETED "" + str(_delQtyP) + "" PLAYER BODIES AND "" + str(_delQtyZ) + "" BODIES"");" \n
|
" diag_log (""CLEANUP: DELETED "" + str(_delQtyP) + "" PLAYER BODIES AND "" + str(_delQtyZ) + "" BODIES"");" \n
|
||||||
"" \n
|
|
||||||
"};" \n
|
"};" \n
|
||||||
""/*%FSM</STATEINIT""">*/;
|
""/*%FSM</STATEINIT""">*/;
|
||||||
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
||||||
@@ -246,7 +217,7 @@ class FSM
|
|||||||
" if (local _x) then {" \n
|
" if (local _x) then {" \n
|
||||||
" _qtyLoc = _qtyLoc + 1; // debugging" \n
|
" _qtyLoc = _qtyLoc + 1; // debugging" \n
|
||||||
" _keep = _x getVariable [""permaLoot"",false];" \n
|
" _keep = _x getVariable [""permaLoot"",false];" \n
|
||||||
" _nearby = {isPlayer _x} count (_x nearEntities [[""CAManBase""], 100]);" \n
|
" _nearby = count (_x nearEntities [AllPlayers, 100]);" \n
|
||||||
" if ( (!_keep) && (_nearby==0) ) then {" \n
|
" if ( (!_keep) && (_nearby==0) ) then {" \n
|
||||||
" deleteVehicle _x;" \n
|
" deleteVehicle _x;" \n
|
||||||
" _delQty = _delQty + 1;" \n
|
" _delQty = _delQty + 1;" \n
|
||||||
|
|||||||
@@ -53,6 +53,11 @@ diag_log "HIVE: Starting";
|
|||||||
_ownerID = _x select 3;
|
_ownerID = _x select 3;
|
||||||
|
|
||||||
_worldspace = _x select 4;
|
_worldspace = _x select 4;
|
||||||
|
_intentory= _x select 5;
|
||||||
|
_hitPoints= _x select 6;
|
||||||
|
_fuel = _x select 7;
|
||||||
|
_damage = _x select 8;
|
||||||
|
|
||||||
_dir = 0;
|
_dir = 0;
|
||||||
_pos = [0,0,0];
|
_pos = [0,0,0];
|
||||||
_wsDone = false;
|
_wsDone = false;
|
||||||
@@ -71,11 +76,6 @@ diag_log "HIVE: Starting";
|
|||||||
diag_log ("MOVED OBJ: " + str(_idKey) + " of class " + _type + " to pos: " + str(_pos));
|
diag_log ("MOVED OBJ: " + str(_idKey) + " of class " + _type + " to pos: " + str(_pos));
|
||||||
};
|
};
|
||||||
|
|
||||||
_intentory= _x select 5;
|
|
||||||
_hitPoints= _x select 6;
|
|
||||||
_fuel = _x select 7;
|
|
||||||
_damage = _x select 8;
|
|
||||||
|
|
||||||
if (_damage < 1) then {
|
if (_damage < 1) then {
|
||||||
diag_log format["OBJ: %1 - %2", _idKey,_type];
|
diag_log format["OBJ: %1 - %2", _idKey,_type];
|
||||||
|
|
||||||
@@ -88,7 +88,11 @@ diag_log "HIVE: Starting";
|
|||||||
clearWeaponCargoGlobal _object;
|
clearWeaponCargoGlobal _object;
|
||||||
clearMagazineCargoGlobal _object;
|
clearMagazineCargoGlobal _object;
|
||||||
|
|
||||||
_object setpos _pos;
|
if (_object isKindOf "TentStorage") then {
|
||||||
|
_pos set [2,0];
|
||||||
|
_object setpos _pos;
|
||||||
|
_object addMPEventHandler ["MPKilled",{_this call vehicle_handleServerKilled;}];
|
||||||
|
};
|
||||||
_object setdir _dir;
|
_object setdir _dir;
|
||||||
_object setDamage _damage;
|
_object setDamage _damage;
|
||||||
|
|
||||||
@@ -157,10 +161,6 @@ diag_log "HIVE: Starting";
|
|||||||
} forEach _hitpoints;
|
} forEach _hitpoints;
|
||||||
_object setvelocity [0,0,1];
|
_object setvelocity [0,0,1];
|
||||||
_object setFuel _fuel;
|
_object setFuel _fuel;
|
||||||
if (getDammage _object == 1) then {
|
|
||||||
_position = ([(getPosATL _object),0,100,10,0,500,0] call BIS_fnc_findSafePos);
|
|
||||||
_object setPosATL _position;
|
|
||||||
};
|
|
||||||
|
|
||||||
if(_ownerID != "0") then {
|
if(_ownerID != "0") then {
|
||||||
_object setvehiclelock "locked";
|
_object setvehiclelock "locked";
|
||||||
|
|||||||
Reference in New Issue
Block a user