mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-15 13:26:39 +03:00
1.0.0.2 pre test
+ [FIXED] Can now refuel and siphon while swimming again. Must stay at same position for 6 seconds. + [FIXED] Refuel sound now only plays when an actual refuel/siphon takes place. + [FIXED] Check fuel levels again just before refuel or siphon actions. + [FIXED] Player Zombies can now no longer pickup "Take %" objects. + [FIXED] Dogs now correctly consume any available raw meat. + [FIXED] Machete now spawns correctly, it was missing WeaponHolder_ItemMachete config. + [UPDATED] Updated batttleye scripts. + [CHANGED] Gutting zombies and animals now double checks for "meatHarvested" after animation and before action. + [CHANGED] Survivor2_DZ was not in the list of AllPlayers. + [CHANGED] Lowered alert radius when gutting zombies to 50m instead of 100m. + [CHANGED] Moved all clothes to cfgloots to reduce spawn chances as we add more. (clothes, militaryclothes, specialclothes) + [CHANGED] HMMWV URAL and UAZ road debris now has its own military loot tables that include sandbags. + [CHANGED] New vehicle spawns now have a new damage system using a random percent between min and max variables. Defaults: (DynamicVehicleDamageLow = 0; DynamicVehicleDamageHigh = 100;) + [CHANGED] Animal count was too low was 5 now 8. Can be overridden with dayz_maxAnimals set inside mission init.sqf. + [ADDED] Taming dogs now has a 50% chance to fail and consume meat, Chance to tame without failure increases with number of days alive (dayz_skilllevel). + [ADDED] Added spawnMarkerCount variable override to use more spawn marker locations. (default=4) + [ADDED] Added medic animation requirement for gutting zombies and animals so you can now walk away to cancel gutting process. + [ADDED] Added old bandit skin back in as Skin_Bandit2_DZ as a drop on Residential. + [ADDED] New vehicle spawns now have a chance to spawn 0-3 loot randomly from all cfgloots. + [ADDED] Added new desert themed domed camping tent (ItemTentDomed) that holds 75 mags, 12 weapons, and 7 backpacks - thanks to vRNemesis for model and texture. + [ADDED] Added server side ability to enabled taming dogs and can be enabled by setting dayz_tameDogs = true; within mission init.sqf. (default: false) + [ADDED] Added parachute spawning players as a server side option enable server side with the variable dayz_paraSpawn = true; within mission init.sqf. (default: false) + [ADDED] Randomly spawning (like helicopter crashes) Mass Grave with 8-16 zombies and 2x more loot. + [REMOVED] Commented out remaining unused call to stream_locationCheck. + [INFO] Changes can be made to all zombie spawn variables via the mission init.sqf (defaults: dayz_maxLocalZombies = 40; dayz_maxGlobalZombies =30; dayz_maxZeds = 500;) + [INFO] DZEdebug = true; (default: false) will enable debug so that road debris and new vehicle spawns are visible via map markers. Also debug will enable "Save to arma.RPT" that allows access of a tool to obtain lootpos information for buildings used for adding support for additional maps.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
class CfgMagazines {
|
||||
class CA_Magazine; // External class reference
|
||||
|
||||
class ItemTent : CA_Magazine {
|
||||
class ItemTentDomed : CA_Magazine {
|
||||
scope = public;
|
||||
count = 1;
|
||||
type = (256 * 3);
|
||||
@@ -14,6 +14,7 @@ class CfgMagazines {
|
||||
class Pitch {
|
||||
text = $STR_PITCH_TENT;
|
||||
script = "spawn player_tentPitch;";
|
||||
create = "TentStorageDomed";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -29,7 +29,7 @@ _offset_z = 0;
|
||||
_offset_z_attach = 0.5;
|
||||
|
||||
// Start Preview loop
|
||||
_tmpbuilt = createVehicle ["_classname", _location, [], 0, "CAN_COLLIDE"];
|
||||
_tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
|
||||
_tmpbuilt setdir _dir;
|
||||
_tmpbuilt attachTo [player,[_offset_x,_offset_y,_offset_z_attach]];
|
||||
|
||||
|
||||
@@ -10,10 +10,20 @@ player playActionNow "PutDown";
|
||||
|
||||
switch (_type) do {
|
||||
case 0: {
|
||||
player removeMagazine "FoodSteakRaw";
|
||||
_handle setFSMVariable ["_hunger",0];
|
||||
player removeAction s_player_feeddog;
|
||||
s_player_feeddog = -1;
|
||||
// expanded to allow all meats as input
|
||||
_removed = 0;
|
||||
_itemIn = "FoodmeatRaw";
|
||||
_countIn = 1;
|
||||
{
|
||||
if( (_removed < _countIn) && ((_x == _itemIn) || configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn)) then {
|
||||
_removed = _removed + ([player,_x] call BIS_fnc_invRemove);
|
||||
};
|
||||
} forEach magazines player;
|
||||
if(_removed == _countIn) then {
|
||||
_handle setFSMVariable ["_hunger",0];
|
||||
player removeAction s_player_feeddog;
|
||||
s_player_feeddog = -1;
|
||||
};
|
||||
|
||||
};
|
||||
case 1: {
|
||||
|
||||
@@ -9,38 +9,74 @@ _config = configFile >> "CfgSurvival" >> "Meat" >> _type;
|
||||
player removeAction s_player_butcher;
|
||||
s_player_butcher = -1;
|
||||
|
||||
|
||||
if ((_hasKnife or _hasKnifeBlunt) and !_hasHarvested) then {
|
||||
//Get Animal Type
|
||||
_isListed = isClass (_config);
|
||||
_text = getText (configFile >> "CfgVehicles" >> _type >> "displayName");
|
||||
|
||||
// force animation
|
||||
player playActionNow "Medic";
|
||||
|
||||
_dis=10;
|
||||
_sfx = "gut";
|
||||
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
|
||||
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
|
||||
|
||||
_item setVariable["meatHarvested",true,true];
|
||||
|
||||
_qty = 2;
|
||||
if (_isListed) then {
|
||||
_qty = getNumber (_config >> "yield");
|
||||
};
|
||||
|
||||
if (_hasKnifeBlunt) then { _qty = round(_qty / 2); };
|
||||
|
||||
_array = [_item,_qty];
|
||||
// Alert zombies
|
||||
[player,10,true,(getPosATL player)] spawn player_alertZombies;
|
||||
|
||||
if (local _item) then {
|
||||
_array spawn local_gutObject;
|
||||
} else {
|
||||
dayzGutBody = _array;
|
||||
publicVariable "dayzGutBody";
|
||||
};
|
||||
r_interrupt = false;
|
||||
_animState = animationState player;
|
||||
r_doLoop = true;
|
||||
_started = false;
|
||||
_finished = false;
|
||||
|
||||
sleep 6;
|
||||
_string = format[localize "str_success_gutted_animal",_text,_qty];
|
||||
cutText [_string, "PLAIN DOWN"];
|
||||
while {r_doLoop} do {
|
||||
_animState = animationState player;
|
||||
_isMedic = ["medic",_animState] call fnc_inString;
|
||||
if (_isMedic) then {
|
||||
_started = true;
|
||||
};
|
||||
if (_started and !_isMedic) then {
|
||||
r_doLoop = false;
|
||||
_finished = true;
|
||||
};
|
||||
if (r_interrupt) then {
|
||||
r_doLoop = false;
|
||||
};
|
||||
sleep 0.1;
|
||||
};
|
||||
r_doLoop = false;
|
||||
|
||||
if (!_finished) exitWith {
|
||||
r_interrupt = false;
|
||||
[objNull, player, rSwitchMove,""] call RE;
|
||||
player playActionNow "stop";
|
||||
cutText ["Canceled gutting." , "PLAIN DOWN"];
|
||||
_abort = true;
|
||||
};
|
||||
|
||||
_hasHarvested = _item getVariable["meatHarvested",false];
|
||||
|
||||
if(_finished and !_hasHarvested) then {
|
||||
|
||||
_item setVariable["meatHarvested",true,true];
|
||||
|
||||
// Play sound since we finished
|
||||
[player,"gut",0,false,10] call dayz_zombieSpeak;
|
||||
|
||||
_qty = 2;
|
||||
if (_isListed) then {
|
||||
_qty = getNumber (_config >> "yield");
|
||||
};
|
||||
|
||||
if (_hasKnifeBlunt) then { _qty = round(_qty / 2); };
|
||||
|
||||
_array = [_item,_qty];
|
||||
|
||||
if (local _item) then {
|
||||
_array spawn local_gutObject;
|
||||
} else {
|
||||
dayzGutBody = _array;
|
||||
publicVariable "dayzGutBody";
|
||||
};
|
||||
|
||||
_string = format[localize "str_success_gutted_animal",_text,_qty];
|
||||
cutText [_string, "PLAIN DOWN"];
|
||||
};
|
||||
};
|
||||
@@ -15,24 +15,64 @@ if ((_hasKnife or _hasKnifeBlunt) and !_hasHarvested) then {
|
||||
_isListed = isClass (_config);
|
||||
_text = getText (configFile >> "CfgVehicles" >> _type >> "displayName");
|
||||
|
||||
// force animation
|
||||
player playActionNow "Medic";
|
||||
[player,"gut",0,false] call dayz_zombieSpeak;
|
||||
_item setVariable["meatHarvested",true,true];
|
||||
|
||||
// Alert zombies
|
||||
[player,50,true,(getPosATL player)] spawn player_alertZombies;
|
||||
|
||||
r_interrupt = false;
|
||||
_animState = animationState player;
|
||||
r_doLoop = true;
|
||||
_started = false;
|
||||
_finished = false;
|
||||
|
||||
_qty = 1;
|
||||
|
||||
_id = [player,100,true,(getPosATL player)] spawn player_alertZombies;
|
||||
|
||||
_array = [_item,_qty];
|
||||
|
||||
if (local _item) then {
|
||||
_array spawn local_gutObjectZ;
|
||||
} else {
|
||||
dayzGutBody = _array;
|
||||
publicVariable "dayzGutBodyZ";
|
||||
while {r_doLoop} do {
|
||||
_animState = animationState player;
|
||||
_isMedic = ["medic",_animState] call fnc_inString;
|
||||
if (_isMedic) then {
|
||||
_started = true;
|
||||
};
|
||||
if (_started and !_isMedic) then {
|
||||
r_doLoop = false;
|
||||
_finished = true;
|
||||
};
|
||||
if (r_interrupt) then {
|
||||
r_doLoop = false;
|
||||
};
|
||||
sleep 0.1;
|
||||
};
|
||||
r_doLoop = false;
|
||||
|
||||
if (!_finished) exitWith {
|
||||
r_interrupt = false;
|
||||
[objNull, player, rSwitchMove,""] call RE;
|
||||
player playActionNow "stop";
|
||||
cutText ["Canceled gutting." , "PLAIN DOWN"];
|
||||
_abort = true;
|
||||
};
|
||||
|
||||
_hasHarvested = _item getVariable["meatHarvested",false];
|
||||
|
||||
sleep 6;
|
||||
_string = format["Successfully Gutted Zombie",_text,_qty];
|
||||
cutText [_string, "PLAIN DOWN"];
|
||||
if(_finished and !_hasHarvested) then {
|
||||
|
||||
_item setVariable["meatHarvested",true,true];
|
||||
|
||||
// Play sound since we finished
|
||||
[player,"gut",0,false,10] call dayz_zombieSpeak;
|
||||
|
||||
_qty = 1;
|
||||
|
||||
_array = [_item,_qty];
|
||||
|
||||
if (local _item) then {
|
||||
_array spawn local_gutObjectZ;
|
||||
} else {
|
||||
dayzGutBody = _array;
|
||||
publicVariable "dayzGutBodyZ";
|
||||
};
|
||||
|
||||
_string = format["Successfully Gutted Zombie",_text,_qty];
|
||||
cutText [_string, "PLAIN DOWN"];
|
||||
};
|
||||
};
|
||||
@@ -1,5 +1,8 @@
|
||||
private["_array","_type","_classname","_holder","_config","_isOk","_muzzles","_playerID","_claimedBy","_text","_control","_dialog","_item","_val","_max","_bolts","_quivers","_quiver","_broken"];
|
||||
|
||||
// Exit if player zombie
|
||||
if(player isKindOf "PZombie_VB") exitWith {};
|
||||
|
||||
if(TradeInprogress) exitWith { cutText ["Take item already in progress." , "PLAIN DOWN"]; };
|
||||
TradeInprogress = true;
|
||||
|
||||
@@ -14,7 +17,7 @@ _text = getText (configFile >> _type >> _classname >> "displayName");
|
||||
_claimedBy = _holder getVariable["claimed","0"];
|
||||
|
||||
// Check if any players are nearby if not allow player to claim item.
|
||||
_playerNear = {isPlayer _x} count (player nearEntities ["AllVehicles", 6]) > 1;
|
||||
_playerNear = {isPlayer _x} count (player nearEntities ["Man", 6]) > 1;
|
||||
|
||||
// Only allow if not already claimed.
|
||||
if (_claimedBy == "0" or !_playerNear) then {
|
||||
@@ -53,33 +56,43 @@ if(_classname isKindOf "Bag_Base_EP1") then {
|
||||
diag_log("Picked up a bag: " + _classname);
|
||||
};
|
||||
|
||||
_config = (configFile >> _type >> _classname);
|
||||
_isOk = [player,_config] call BIS_fnc_invAdd;
|
||||
if (_isOk) then {
|
||||
deleteVehicle _holder;
|
||||
if (_classname in ["MeleeHatchet","MeleeCrowbar","MeleeMachete"]) then {
|
||||
// test to see if item still exists just before adding and removing
|
||||
if(_holder == objNull) exitWith {};
|
||||
|
||||
if (_type == "cfgWeapons") then {
|
||||
_muzzles = getArray(configFile >> "cfgWeapons" >> _classname >> "muzzles");
|
||||
//_wtype = ((weapons player) select 0);
|
||||
if (count _muzzles > 1) then {
|
||||
player selectWeapon (_muzzles select 0);
|
||||
} else {
|
||||
player selectWeapon _classname;
|
||||
_obj = nearestObjects [(getPosATL player), [(typeOf _holder)], 5];
|
||||
_qty = count _obj;
|
||||
|
||||
if(_qty >= 1) then {
|
||||
|
||||
_config = (configFile >> _type >> _classname);
|
||||
_isOk = [player,_config] call BIS_fnc_invAdd;
|
||||
if (_isOk) then {
|
||||
|
||||
deleteVehicle _holder;
|
||||
if (_classname in ["MeleeHatchet","MeleeCrowbar","MeleeMachete"]) then {
|
||||
|
||||
if (_type == "cfgWeapons") then {
|
||||
_muzzles = getArray(configFile >> "cfgWeapons" >> _classname >> "muzzles");
|
||||
//_wtype = ((weapons player) select 0);
|
||||
if (count _muzzles > 1) then {
|
||||
player selectWeapon (_muzzles select 0);
|
||||
} else {
|
||||
player selectWeapon _classname;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
} else {
|
||||
_holder setVariable["claimed","0",true];
|
||||
cutText [localize "STR_DAYZ_CODE_2", "PLAIN DOWN"];
|
||||
if (_classname == "MeleeCrowbar") then {
|
||||
player removeMagazine 'crowbar_swing';
|
||||
};
|
||||
if (_classname == "MeleeHatchet") then {
|
||||
player removeMagazine 'hatchet_swing';
|
||||
};
|
||||
if (_classname == "MeleeMachete") then {
|
||||
player removeMagazine 'Machete_swing';
|
||||
} else {
|
||||
_holder setVariable["claimed","0",true];
|
||||
cutText [localize "STR_DAYZ_CODE_2", "PLAIN DOWN"];
|
||||
if (_classname == "MeleeCrowbar") then {
|
||||
player removeMagazine 'crowbar_swing';
|
||||
};
|
||||
if (_classname == "MeleeHatchet") then {
|
||||
player removeMagazine 'hatchet_swing';
|
||||
};
|
||||
if (_classname == "MeleeMachete") then {
|
||||
player removeMagazine 'Machete_swing';
|
||||
};
|
||||
};
|
||||
};
|
||||
TradeInprogress = false;
|
||||
|
||||
@@ -3,8 +3,6 @@ private["_location","_isOk","_dir","_classname","_item"];
|
||||
if(TradeInprogress) exitWith { cutText ["Building already in progress." , "PLAIN DOWN"]; };
|
||||
TradeInprogress = true;
|
||||
|
||||
_location = player modeltoworld [0,1,0];
|
||||
// _location set [2,0];
|
||||
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
||||
_isWater = (surfaceIsWater _location) or dayz_isSwimming;
|
||||
_bypass = false;
|
||||
@@ -18,6 +16,7 @@ _item = _this;
|
||||
_classname = getText (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "create");
|
||||
_require = getText (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "require");
|
||||
_text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
|
||||
_attachToOffset = getArray (configFile >> "CfgVehicles" >> _classname >> "offset");
|
||||
|
||||
_hasbuilditem = _this in magazines player;
|
||||
_hasrequireditem = _require in items player;
|
||||
@@ -29,15 +28,12 @@ if (_hasrequireditem or _bypass) then {
|
||||
|
||||
_dir = getDir player;
|
||||
|
||||
_offset_x = 0;
|
||||
_offset_y = 1.5;
|
||||
_offset_z = 0;
|
||||
_offset_z_attach = 0.5;
|
||||
_location = [0,0,0];
|
||||
|
||||
// Start Preview loop
|
||||
_tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
|
||||
_tmpbuilt setdir _dir;
|
||||
_tmpbuilt attachTo [player,[_offset_x,_offset_y,_offset_z_attach]];
|
||||
_tmpbuilt attachTo [player,_attachToOffset];
|
||||
|
||||
_cancel = false;
|
||||
_counter = 0;
|
||||
@@ -85,9 +81,6 @@ if (_hasrequireditem or _bypass) then {
|
||||
|
||||
if(!_cancel) then {
|
||||
|
||||
_hasbuilditem = _this in magazines player;
|
||||
if (!_hasbuilditem) exitWith {cutText [format[(localize "str_player_31"),_text,"build"] , "PLAIN DOWN"]};
|
||||
|
||||
_dir = getDir player;
|
||||
player removeMagazine _item;
|
||||
|
||||
@@ -104,6 +97,9 @@ if (_hasrequireditem or _bypass) then {
|
||||
|
||||
sleep 5;
|
||||
|
||||
_hasbuilditem = _this in magazines player;
|
||||
if (!_hasbuilditem) exitWith {cutText [format[(localize "str_player_31"),_text,"build"] , "PLAIN DOWN"]};
|
||||
|
||||
player allowDamage false;
|
||||
_object = createVehicle [_classname, _built_location, [], 0, "CAN_COLLIDE"];
|
||||
_object setDir _dir;
|
||||
|
||||
@@ -28,7 +28,7 @@ for "_x" from 1 to _refuelQty do {
|
||||
_fillCounter = _fillCounter + 1;
|
||||
|
||||
if(_refuelQty == 1) then {
|
||||
cutText ["Preparing to refuel, stand still to fill empty jerry can.", "PLAIN DOWN"];
|
||||
cutText ["Preparing to refuel, stand still to drain full jerry can.", "PLAIN DOWN"];
|
||||
} else {
|
||||
cutText [format[("Preparing to refuel, stand still to drain full jerry can %1 of %2."),_fillCounter,_refuelQty] , "PLAIN DOWN"];
|
||||
};
|
||||
@@ -39,35 +39,49 @@ for "_x" from 1 to _refuelQty do {
|
||||
[player,"refuel",0,false] call dayz_zombieSpeak;
|
||||
[player,20,true,(getPosATL player)] spawn player_alertZombies;
|
||||
|
||||
r_interrupt = false;
|
||||
_animState = animationState player;
|
||||
r_doLoop = true;
|
||||
_started = false;
|
||||
_finished = false;
|
||||
|
||||
while {r_doLoop} do {
|
||||
if(!dayz_isSwimming) then {
|
||||
|
||||
r_interrupt = false;
|
||||
_animState = animationState player;
|
||||
_isMedic = ["medic",_animState] call fnc_inString;
|
||||
if (_isMedic) then {
|
||||
_started = true;
|
||||
r_doLoop = true;
|
||||
_started = false;
|
||||
_finished = false;
|
||||
|
||||
while {r_doLoop} do {
|
||||
_animState = animationState player;
|
||||
_isMedic = ["medic",_animState] call fnc_inString;
|
||||
if (_isMedic) then {
|
||||
_started = true;
|
||||
};
|
||||
if (_started and !_isMedic) then {
|
||||
r_doLoop = false;
|
||||
_finished = true;
|
||||
};
|
||||
if (r_interrupt) then {
|
||||
r_doLoop = false;
|
||||
};
|
||||
sleep 0.1;
|
||||
};
|
||||
if (_started and !_isMedic) then {
|
||||
r_doLoop = false;
|
||||
r_doLoop = false;
|
||||
|
||||
if (!_finished) exitWith {
|
||||
r_interrupt = false;
|
||||
[objNull, player, rSwitchMove,""] call RE;
|
||||
player playActionNow "stop";
|
||||
cutText ["Canceled refuel." , "PLAIN DOWN"];
|
||||
_abort = true;
|
||||
};
|
||||
} else {
|
||||
// Alternate method in water make sure player stays in one spot for 6 seconds
|
||||
_location1 = getPosATL player;
|
||||
sleep 6;
|
||||
_location2 = getPosATL player;
|
||||
|
||||
if(_location1 distance _location2 > 0.1) then {
|
||||
_finished = false;
|
||||
} else {
|
||||
_finished = true;
|
||||
};
|
||||
if (r_interrupt) then {
|
||||
r_doLoop = false;
|
||||
};
|
||||
sleep 0.1;
|
||||
};
|
||||
r_doLoop = false;
|
||||
|
||||
if (!_finished) exitWith {
|
||||
r_interrupt = false;
|
||||
[objNull, player, rSwitchMove,""] call RE;
|
||||
player playActionNow "stop";
|
||||
cutText ["Canceled refuel." , "PLAIN DOWN"];
|
||||
_abort = true;
|
||||
};
|
||||
|
||||
if (_finished) then {
|
||||
@@ -77,6 +91,11 @@ for "_x" from 1 to _refuelQty do {
|
||||
player removeMagazine "ItemJerrycan";
|
||||
player addMagazine "ItemJerrycanEmpty";
|
||||
|
||||
// Get fuel levels again to prevent wasted gas from others filling
|
||||
_curFuel = ((fuel _vehicle) * _capacity);
|
||||
_newFuel = (_curFuel + _canSize);
|
||||
_newFuel = (_newFuel / _capacity);
|
||||
|
||||
dayzSetFuel = [_vehicle,_newFuel];
|
||||
publicVariable "dayzSetFuel";
|
||||
if (local _vehicle) then {
|
||||
|
||||
@@ -35,65 +35,93 @@ for "_x" from 1 to _siphonQty do {
|
||||
cutText [format[("Preparing to siphon, stand still to fill empty jerry can %1 of %2."),_fillCounter,_siphonQty] , "PLAIN DOWN"];
|
||||
};
|
||||
|
||||
// force animation
|
||||
player playActionNow "Medic";
|
||||
// Play sound and alert zombies
|
||||
[player,"refuel",0,false] call dayz_zombieSpeak;
|
||||
// alert zombies
|
||||
[player,20,true,(getPosATL player)] spawn player_alertZombies;
|
||||
|
||||
r_interrupt = false;
|
||||
_animState = animationState player;
|
||||
r_doLoop = true;
|
||||
_started = false;
|
||||
_finished = false;
|
||||
|
||||
while {r_doLoop} do {
|
||||
if(!dayz_isSwimming) then {
|
||||
|
||||
// force animation
|
||||
player playActionNow "Medic";
|
||||
|
||||
r_interrupt = false;
|
||||
_animState = animationState player;
|
||||
_isMedic = ["medic",_animState] call fnc_inString;
|
||||
if (_isMedic) then {
|
||||
_started = true;
|
||||
r_doLoop = true;
|
||||
_started = false;
|
||||
_finished = false;
|
||||
|
||||
while {r_doLoop} do {
|
||||
_animState = animationState player;
|
||||
_isMedic = ["medic",_animState] call fnc_inString;
|
||||
if (_isMedic) then {
|
||||
_started = true;
|
||||
};
|
||||
if (_started and !_isMedic) then {
|
||||
r_doLoop = false;
|
||||
_finished = true;
|
||||
};
|
||||
if (r_interrupt) then {
|
||||
r_doLoop = false;
|
||||
};
|
||||
sleep 0.1;
|
||||
};
|
||||
if (_started and !_isMedic) then {
|
||||
r_doLoop = false;
|
||||
r_doLoop = false;
|
||||
|
||||
if (!_finished) exitWith {
|
||||
r_interrupt = false;
|
||||
[objNull, player, rSwitchMove,""] call RE;
|
||||
player playActionNow "stop";
|
||||
cutText ["Canceled siphon." , "PLAIN DOWN"];
|
||||
_abort = true;
|
||||
};
|
||||
|
||||
} else {
|
||||
// Alternate method in water make sure player stays in one spot for 6 seconds
|
||||
_location1 = getPosATL player;
|
||||
sleep 6;
|
||||
_location2 = getPosATL player;
|
||||
|
||||
if(_location1 distance _location2 > 0.1) then {
|
||||
_finished = false;
|
||||
} else {
|
||||
_finished = true;
|
||||
};
|
||||
if (r_interrupt) then {
|
||||
r_doLoop = false;
|
||||
};
|
||||
sleep 0.1;
|
||||
};
|
||||
r_doLoop = false;
|
||||
|
||||
if (!_finished) exitWith {
|
||||
r_interrupt = false;
|
||||
[objNull, player, rSwitchMove,""] call RE;
|
||||
player playActionNow "stop";
|
||||
cutText ["Canceled siphon." , "PLAIN DOWN"];
|
||||
_abort = true;
|
||||
};
|
||||
|
||||
if (_finished) then {
|
||||
|
||||
if ("ItemJerrycanEmpty" in magazines player) then {
|
||||
|
||||
// Play sound
|
||||
[player,"refuel",0,false] call dayz_zombieSpeak;
|
||||
|
||||
player removeMagazine "ItemJerrycanEmpty";
|
||||
player addMagazine "ItemJerrycan";
|
||||
|
||||
//apply newFuel to vehicle on every peer
|
||||
//["dayzSetFuel",[_vehicle,_newFuel]] call broadcastRpcCallAll;
|
||||
|
||||
dayzSetFuel = [_vehicle,_newFuel];
|
||||
if (local _vehicle) then {
|
||||
dayzSetFuel spawn local_setFuel;
|
||||
};
|
||||
publicVariable "dayzSetFuel";
|
||||
// Get fuel levels again to ensure proper fuel level from others siphoning
|
||||
_curFuel = ((fuel _vehicle) * _capacity);
|
||||
_newFuel = (_curFuel - _canSize);
|
||||
|
||||
cutText [format["%1 has been drained for %2 litres of Fuel",_nameType,_canSize], "PLAIN DOWN"];
|
||||
// calculate minimum needed fuel
|
||||
_newFuel = (_newFuel / _capacity);
|
||||
|
||||
if (_newFuel > 0) then {
|
||||
|
||||
dayzSetFuel = [_vehicle,_newFuel];
|
||||
if (local _vehicle) then {
|
||||
dayzSetFuel spawn local_setFuel;
|
||||
};
|
||||
publicVariable "dayzSetFuel";
|
||||
|
||||
cutText [format["%1 has been drained for %2 litres of Fuel",_nameType,_canSize], "PLAIN DOWN"];
|
||||
|
||||
call fnc_usec_medic_removeActions;
|
||||
r_action = false;
|
||||
call fnc_usec_medic_removeActions;
|
||||
r_action = false;
|
||||
|
||||
sleep 1;
|
||||
sleep 1;
|
||||
} else {
|
||||
_abort = true;
|
||||
};
|
||||
|
||||
|
||||
} else {
|
||||
_abort = true;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
File: tame_dog.sqf
|
||||
File: tame_dog.sqf 1.1
|
||||
Author: Kane "Alby" Stone
|
||||
Edited by: [VB]AWOL
|
||||
|
||||
Description:
|
||||
Allows a player to tame/domesticate a dog.
|
||||
@@ -19,18 +20,47 @@ _caller = _this select 1;
|
||||
_id = _this select 2;
|
||||
_dog = _this select 3;
|
||||
|
||||
player removeMagazine "FoodSteakRaw";
|
||||
_animalID = _dog getVariable "fsm_handle";
|
||||
_animalID setFSMVariable ["_isTamed", true];
|
||||
sleep 1;
|
||||
diag_log format["DEBUG: %1, id: %2 [%3]",_dog,_animalID,completedFSM _animalID];
|
||||
if (!moveToCompleted _dog) then {
|
||||
_dog moveTo (position _dog);
|
||||
};
|
||||
_dog disableAI "FSM";
|
||||
(group _dog) setBehaviour "AWARE";
|
||||
_fsmid = [_dog, typeOf _dog] execFSM "\z\addons\dayz_code\system\dog_agent.fsm";
|
||||
_fsmid setFSMVariable ["_handle", _fsmid];
|
||||
player setVariable ["dogID", _fsmid];
|
||||
_dog setVariable ["fsm_handle", _fsmid];
|
||||
_dog setVariable ["characterID", dayz_characterID, true];
|
||||
// expanded to allow all meats as input
|
||||
_removed = 0;
|
||||
_itemIn = "FoodmeatRaw";
|
||||
_countIn = 1;
|
||||
|
||||
{
|
||||
if( (_removed < _countIn) && ((_x == _itemIn) || configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn)) then {
|
||||
_removed = _removed + ([player,_x] call BIS_fnc_invRemove);
|
||||
};
|
||||
if(_removed == 1) exitWith { _selected = _x; };
|
||||
|
||||
} forEach magazines player;
|
||||
|
||||
// get name of item removed
|
||||
_textRemoved = getText(configFile >> "CfgMagazines" >> _selected >> "displayName");
|
||||
|
||||
// Only proceed if removed count matches
|
||||
if(_removed == _countIn) then {
|
||||
|
||||
// add failure rate based on skill level variable (days alive)
|
||||
_chanceToFail = ((random 1 + (dayz_skilllevel/100)) > 0.5);
|
||||
|
||||
if(!_chanceToFail) then {
|
||||
|
||||
_animalID = _dog getVariable "fsm_handle";
|
||||
_animalID setFSMVariable ["_isTamed", true];
|
||||
sleep 1;
|
||||
diag_log format["DEBUG: %1, id: %2 [%3]",_dog,_animalID,completedFSM _animalID];
|
||||
if (!moveToCompleted _dog) then {
|
||||
_dog moveTo (position _dog);
|
||||
};
|
||||
_dog disableAI "FSM";
|
||||
(group _dog) setBehaviour "AWARE";
|
||||
_fsmid = [_dog, typeOf _dog] execFSM "\z\addons\dayz_code\system\dog_agent.fsm";
|
||||
_fsmid setFSMVariable ["_handle", _fsmid];
|
||||
player setVariable ["dogID", _fsmid];
|
||||
_dog setVariable ["fsm_handle", _fsmid];
|
||||
_dog setVariable ["characterID", dayz_characterID, true];
|
||||
|
||||
cutText [format["Dog consumed %1, and is now tamed.",_textRemoved], "PLAIN DOWN"];
|
||||
} else {
|
||||
cutText [format["Dog consumed %1, yet remains untamed.",_textRemoved], "PLAIN DOWN"];
|
||||
};
|
||||
};
|
||||
@@ -47,20 +47,20 @@ if (!_isOk) then {
|
||||
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
|
||||
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
|
||||
|
||||
_classname = getText (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Pitch" >> "create");
|
||||
|
||||
sleep 5;
|
||||
//place tent (local)
|
||||
_tent = createVehicle ["TentStorage", _location, [], 0, "CAN_COLLIDE"];
|
||||
_tent setdir _dir;
|
||||
_tent setpos _location;
|
||||
player reveal _tent;
|
||||
_location = getPosATL _tent;
|
||||
_object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
|
||||
_object setdir _dir;
|
||||
_object setpos _location;
|
||||
player reveal _object;
|
||||
_location = getPosATL _object;
|
||||
|
||||
_tent setVariable ["characterID",dayz_characterID,true];
|
||||
_object setVariable ["characterID",dayz_characterID,true];
|
||||
|
||||
//player setVariable ["tentUpdate",["Land_A_tent",_dir,_location,[dayz_tentWeapons,dayz_tentMagazines,dayz_tentBackpacks]],true];
|
||||
|
||||
//["dayzPublishObj",[dayz_characterID,_tent,[_dir,_location],"TentStorage"]] call callRpcProcedure;
|
||||
dayzPublishObj = [dayz_characterID,_tent,[_dir,_location],"TentStorage"];
|
||||
//["dayzPublishObj",[dayz_characterID,_tent,[_dir,_location],_classname]] call callRpcProcedure;
|
||||
dayzPublishObj = [dayz_characterID,_object,[_dir,_location],_classname];
|
||||
publicVariableServer "dayzPublishObj";
|
||||
|
||||
cutText [localize "str_success_tent_pitch", "PLAIN DOWN"];
|
||||
|
||||
@@ -339,4 +339,77 @@ class CfgLoot {
|
||||
0.01
|
||||
}
|
||||
};
|
||||
|
||||
clothes[] = {
|
||||
{
|
||||
"Skin_RU_Policeman_DZ",
|
||||
"Skin_Pilot_EP1_DZ",
|
||||
"Skin_Functionary1_EP1_DZ",
|
||||
"Skin_Priest_DZ",
|
||||
"Skin_Rocker2_DZ",
|
||||
"Skin_SurvivorW3_DZ",
|
||||
"Skin_SurvivorWpink_DZ",
|
||||
"Skin_SurvivorWurban_DZ",
|
||||
},
|
||||
{
|
||||
0.01,
|
||||
0.02,
|
||||
0.03,
|
||||
0.02,
|
||||
0.02,
|
||||
0.05,
|
||||
0.02,
|
||||
0.01,
|
||||
}
|
||||
};
|
||||
militaryclothes[] = {
|
||||
{
|
||||
"Skin_Camo1_DZ",
|
||||
"Skin_Sniper1_DZ",
|
||||
"Skin_Rocket_DZ",
|
||||
"Skin_Soldier1_DZ",
|
||||
"Skin_Drake_Light_DZ",
|
||||
"Skin_Soldier_TL_PMC_DZ",
|
||||
"Skin_Soldier_Sniper_PMC_DZ",
|
||||
"Skin_Soldier_Bodyguard_AA12_PMC_DZ",
|
||||
"Skin_CZ_Special_Forces_GL_DES_EP1_DZ",
|
||||
},
|
||||
{
|
||||
0.03, // "Skin_Camo1_DZ",
|
||||
0.02, // "Skin_Sniper1_DZ",
|
||||
0.03, // "Skin_Rocket_DZ",
|
||||
0.05, // "Skin_Soldier1_DZ",
|
||||
0.01, // "Skin_Drake_Light_DZ"
|
||||
0.02, // Skin_Soldier_TL_PMC_DZ
|
||||
0.02, // Skin_Soldier_Sniper_PMC_DZ
|
||||
0.02, // Skin_Soldier_Bodyguard_AA12_PMC_DZ
|
||||
0.02, // Skin_CZ_Special_Forces_GL_DES_EP1_DZ
|
||||
}
|
||||
};
|
||||
specialclothes[] = {
|
||||
{
|
||||
"Skin_Ins_Soldier_GL_DZ",
|
||||
"Skin_GUE_Commander_DZ",
|
||||
"Skin_Bandit1_DZ",
|
||||
"Skin_Bandit2_DZ",
|
||||
"Skin_BanditW1_DZ",
|
||||
"Skin_BanditW2_DZ",
|
||||
"Skin_TK_INS_Soldier_EP1_DZ",
|
||||
"Skin_TK_INS_Warlord_EP1",
|
||||
"Skin_SurvivorWcombat_DZ",
|
||||
"Skin_SurvivorWdesert_DZ",
|
||||
},
|
||||
{
|
||||
0.01, //"Skin_Ins_Soldier_GL_DZ",
|
||||
0.01, //"Skin_GUE_Commander_DZ",
|
||||
0.05, //"Skin_Bandit1_DZ",
|
||||
0.02, //"Skin_Bandit2_DZ",
|
||||
0.05, //"Skin_BanditW1_DZ",
|
||||
0.03, //"Skin_BanditW2_DZ",
|
||||
0.01, //"Skin_TK_INS_Soldier_EP1_DZ",
|
||||
0.01, //"Skin_TK_INS_Warlord_EP1",
|
||||
0.01, //"Skin_SurvivorWcombat_DZ",
|
||||
0.03, //"Skin_SurvivorWdesert_DZ",
|
||||
}
|
||||
};
|
||||
};
|
||||
@@ -666,6 +666,22 @@ class Citizen1; // External class reference
|
||||
weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072";
|
||||
canHideBodies = 1;
|
||||
};
|
||||
class Bandit2_DZ: Soldier_Crew_PMC
|
||||
{
|
||||
scope = 2;
|
||||
displayName = "$STR_CHAR_2";
|
||||
weapons[] = {"Throw","Put"};
|
||||
model = "\ca\characters_E\GER\GER_rifleman";
|
||||
portrait = "\Ca\characters_E\data\portraits\ger_soldier_CA";
|
||||
magazines[] = {};
|
||||
backpack = "";
|
||||
respawnWeapons[] = {"Throw","Put"};
|
||||
respawnMagazines[] = {};
|
||||
hiddenSelections[] = {"Camo"};
|
||||
hiddenSelectionsTextures[] = {"\dayz\textures\clothes\bandit_tex1_co.paa"};
|
||||
weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072";
|
||||
canHideBodies = 1;
|
||||
};
|
||||
|
||||
class BAF_Soldier_Officer_W;
|
||||
class Rocket_DZ: BAF_Soldier_Officer_W {
|
||||
|
||||
@@ -428,17 +428,17 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
s_player_studybody = -1;
|
||||
};
|
||||
|
||||
/*
|
||||
//Dog
|
||||
if (_isDog and _isAlive and (_hasRawMeat) and _canDo and _ownerID == "0" and player getVariable ["dogID", 0] == 0) then {
|
||||
if (s_player_tamedog < 0) then {
|
||||
s_player_tamedog = player addAction [localize "str_actions_tamedog", "\z\addons\dayz_code\actions\tame_dog.sqf", cursorTarget, 1, false, true, "", ""];
|
||||
if(dayz_tameDogs) then {
|
||||
//Dog
|
||||
if (_isDog and _isAlive and (_hasRawMeat) and _canDo and _ownerID == "0" and player getVariable ["dogID", 0] == 0) then {
|
||||
if (s_player_tamedog < 0) then {
|
||||
s_player_tamedog = player addAction [localize "str_actions_tamedog", "\z\addons\dayz_code\actions\tame_dog.sqf", cursorTarget, 1, false, true, "", ""];
|
||||
};
|
||||
} else {
|
||||
player removeAction s_player_tamedog;
|
||||
s_player_tamedog = -1;
|
||||
};
|
||||
} else {
|
||||
player removeAction s_player_tamedog;
|
||||
s_player_tamedog = -1;
|
||||
};
|
||||
*/
|
||||
|
||||
if (_isDog and _ownerID == dayz_characterID and _isAlive and _canDo) then {
|
||||
_dogHandle = player getVariable ["dogID", 0];
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
private ["_objects"];
|
||||
_objects = nearestObjects [getPosATL player, ["Car", "Helicopter", "Motorcycle", "Ship", "TentStorage","VaultStorage"], 10];
|
||||
_objects = nearestObjects [getPosATL player, ["Car", "Helicopter", "Motorcycle", "Ship", "TentStorage", "VaultStorage"], 10];
|
||||
{
|
||||
//["dayzUpdateVehicle",[_x,"gear"]] call callRpcProcedure;
|
||||
dayzUpdateVehicle = [_x,"gear"];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
[_obj] spawn player_packTent;
|
||||
*/
|
||||
private["_objectID","_objectUID","_obj","_ownerID","_dir","_pos","_bag","_holder","_weapons","_magazines","_backpacks","_objWpnTypes","_objWpnQty","_countr"];
|
||||
private["_objectID","_objectUID","_obj","_ownerID","_dir","_pos","_object","_holder","_weapons","_magazines","_backpacks","_objWpnTypes","_objWpnQty","_countr"];
|
||||
_obj = _this;
|
||||
_ownerID = _obj getVariable["CharacterID","0"];
|
||||
_objectID = _obj getVariable["ObjectID","0"];
|
||||
@@ -28,10 +28,15 @@ if(_ownerID == dayz_characterID) then {
|
||||
|
||||
sleep 3;
|
||||
|
||||
_classname = getText (configFile >> "CfgMagazines" >> (typeOf_obj) >> "create");
|
||||
|
||||
_location = _pos;
|
||||
|
||||
//place tent (local)
|
||||
_bag = createVehicle ["WeaponHolder_ItemTent",_pos,[], 0, "CAN_COLLIDE"];
|
||||
_bag setdir _dir;
|
||||
player reveal _bag;
|
||||
//_bag = createVehicle ["WeaponHolder_ItemTent",_pos,[], 0, "CAN_COLLIDE"];
|
||||
_object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
|
||||
_object setdir _dir;
|
||||
player reveal _object;
|
||||
|
||||
_holder = "WeaponHolder" createVehicle _pos;
|
||||
|
||||
|
||||
@@ -17,7 +17,14 @@ switch (_iClass) do {
|
||||
_weights = dayz_CLChances select _index;
|
||||
_cntWeights = count _weights;
|
||||
_qty = 0;
|
||||
_max = ceil(random 2) + 1;
|
||||
|
||||
// If clothing just spawn one bag of clothes
|
||||
if(_iClass == "clothes" or _iClass == "militaryclothes" or _iClass == "specialclothes") then {
|
||||
_max = 1;
|
||||
} else {
|
||||
_max = ceil(random 2) + 1;
|
||||
};
|
||||
|
||||
while {_qty < _max} do {
|
||||
_tQty = round(random 1) + 1;
|
||||
_index = floor(random _cntWeights);
|
||||
|
||||
@@ -329,6 +329,10 @@ class CfgSurvival {
|
||||
sex = "male";
|
||||
playerModel = "Bandit1_DZ";
|
||||
};
|
||||
class Skin_Bandit2_DZ: Default {
|
||||
sex = "male";
|
||||
playerModel = "Bandit2_DZ";
|
||||
};
|
||||
class Skin_BanditW1_DZ: Default {
|
||||
sex = "female";
|
||||
playerModel = "BanditW1_DZ";
|
||||
@@ -451,23 +455,16 @@ class CfgBuildingLoot {
|
||||
|
||||
{ "Winchester1866","weapon" },
|
||||
{ "WeaponHolder_ItemTent","object" },
|
||||
{ "WeaponHolder_ItemTentDomed","object" },
|
||||
{ "","military" },
|
||||
{ "","trash" },
|
||||
{"Crossbow_DZ","weapon"},
|
||||
{ "Binocular","weapon" },
|
||||
{ "PartWoodPile","magazine" },
|
||||
{ "Skin_Camo1_DZ","magazine" },
|
||||
{ "Skin_Sniper1_DZ","magazine" },
|
||||
{ "","clothes" },
|
||||
{ "","specialclothes" },
|
||||
{ "WeaponHolder_MeleeCrowbar","object" },
|
||||
{"MR43","weapon"},
|
||||
{ "Skin_RU_Policeman_DZ","magazine" },
|
||||
{ "Skin_Pilot_EP1_DZ","magazine" },
|
||||
{ "Skin_Functionary1_EP1_DZ","magazine" },
|
||||
{ "Skin_Priest_DZ","magazine" },
|
||||
{ "Skin_Rocker2_DZ","magazine" },
|
||||
{ "Skin_SurvivorW3_DZ","magazine" },
|
||||
{ "Skin_SurvivorWpink_DZ","magazine" },
|
||||
{ "Skin_SurvivorWurban_DZ","magazine" },
|
||||
|
||||
};
|
||||
itemChance[] = {
|
||||
@@ -491,23 +488,16 @@ class CfgBuildingLoot {
|
||||
0.01, //18
|
||||
0.01,
|
||||
0.01,
|
||||
0.01,
|
||||
0.03,
|
||||
0.5,
|
||||
0.01,
|
||||
0.06,
|
||||
0.06,
|
||||
0.01,
|
||||
0.03,
|
||||
0.01,
|
||||
0.08,
|
||||
0.03,
|
||||
0.01,
|
||||
0.02,
|
||||
0.03,
|
||||
0.02,
|
||||
0.02,
|
||||
0.05,
|
||||
0.02,
|
||||
0.01,
|
||||
};
|
||||
};
|
||||
class Office: Residential {
|
||||
@@ -619,6 +609,8 @@ class CfgBuildingLoot {
|
||||
|
||||
{ "Winchester1866","weapon" },
|
||||
{ "WeaponHolder_ItemTent","object" },
|
||||
{ "WeaponHolder_ItemTentDomed","object" },
|
||||
|
||||
{ "","food" },
|
||||
{ "","trash" },
|
||||
{"Crossbow_DZ","weapon"},
|
||||
@@ -645,13 +637,14 @@ class CfgBuildingLoot {
|
||||
0.01, //18
|
||||
0.01,
|
||||
0.01,
|
||||
0.01,
|
||||
0.3,
|
||||
0.15,
|
||||
0.01,
|
||||
0.05,
|
||||
0.02,
|
||||
0.01
|
||||
};
|
||||
};
|
||||
};
|
||||
class HeliCrash: Default {
|
||||
zombieChance = 0.4;
|
||||
@@ -676,19 +669,13 @@ class CfgBuildingLoot {
|
||||
{ "NVGoggles","weapon" },
|
||||
{ "AmmoBoxSmall_556","object" },
|
||||
{ "AmmoBoxSmall_762","object" },
|
||||
{ "Skin_Camo1_DZ","magazine" },
|
||||
{ "Skin_Sniper1_DZ","magazine" },
|
||||
{ "","militaryclothes" },
|
||||
{"G36C","weapon"},
|
||||
{"G36C_camo","weapon"},
|
||||
//{"G36_C_SD_camo","weapon"},
|
||||
{"G36A_camo","weapon"},
|
||||
{"G36K_camo","weapon"},
|
||||
{"100Rnd_762x54_PK","magazine"},
|
||||
{ "Skin_Rocket_DZ","magazine" },
|
||||
{ "Skin_Soldier1_DZ","magazine" },
|
||||
{ "Skin_Soldier_TL_PMC_DZ","magazine" },
|
||||
{ "Skin_Soldier_Sniper_PMC_DZ","magazine" },
|
||||
{ "Skin_Soldier_Bodyguard_AA12_PMC_DZ","magazine" },
|
||||
};
|
||||
itemChance[] = {
|
||||
0.02, //{"FN_FAL","weapon"},
|
||||
@@ -707,19 +694,13 @@ class CfgBuildingLoot {
|
||||
0.02, //{"NVGoggles","weapon"}
|
||||
0.1, //AmmoBoxSmall_556
|
||||
0.1, //AmmoBoxSmall_762
|
||||
0.08, //Skin_Camo1_DZ
|
||||
0.05, //Skin_Sniper1_DZ
|
||||
0.08, //militaryclothes
|
||||
0.03, //G36C"
|
||||
0.02, //G36C_camo
|
||||
//0.01, //G36_C_SD_camo
|
||||
0.02, //G36A_camo
|
||||
0.02, //G36K_camo
|
||||
0.01, //("100Rnd_762x54_PK","magazine"}
|
||||
0.01,
|
||||
0.05,
|
||||
0.02, // Skin_Soldier_TL_PMC_DZ
|
||||
0.02, // Skin_Soldier_Sniper_PMC_DZ
|
||||
0.02, // Skin_Soldier_Bodyguard_AA12_PMC_DZ
|
||||
};
|
||||
};
|
||||
class HeliCrash_No50s: Default {
|
||||
@@ -743,8 +724,7 @@ class HeliCrash_No50s: Default {
|
||||
{"NVGoggles","weapon"},
|
||||
{"AmmoBoxSmall_556","object"},
|
||||
{"AmmoBoxSmall_762","object"},
|
||||
{"Skin_Camo1_DZ","magazine"},
|
||||
{"Skin_Sniper1_DZ","magazine"},
|
||||
{ "","militaryclothes" },
|
||||
{"G36C","weapon"},
|
||||
{"G36C_camo","weapon"},
|
||||
//{"G36_C_SD_camo","weapon"},
|
||||
@@ -767,8 +747,7 @@ class HeliCrash_No50s: Default {
|
||||
0.02, //{"NVGoggles","weapon"}
|
||||
0.1, //AmmoBoxSmall_556
|
||||
0.1, //AmmoBoxSmall_762
|
||||
0.08, //Skin_Camo1_DZ
|
||||
0.05, //Skin_Sniper1_DZ
|
||||
0.08, //militaryclothes
|
||||
0.03, //G36C"
|
||||
0.02, //G36C_camo
|
||||
//0.01, //G36_C_SD_camo
|
||||
@@ -950,18 +929,7 @@ class HeliCrash_No50s: Default {
|
||||
{"G36_C_SD_camo","weapon"},
|
||||
{"M40A3","weapon"},
|
||||
{"100Rnd_762x54_PK","magazine"},
|
||||
{ "Skin_Soldier1_DZ","magazine" },
|
||||
{ "Skin_Ins_Soldier_GL_DZ","magazine" },
|
||||
{ "Skin_GUE_Commander_DZ","magazine" },
|
||||
{ "Skin_Bandit1_DZ","magazine" },
|
||||
{ "Skin_BanditW1_DZ","magazine" },
|
||||
{ "Skin_BanditW2_DZ","magazine" },
|
||||
{ "Skin_Drake_Light_DZ","magazine" },
|
||||
{ "Skin_CZ_Special_Forces_GL_DES_EP1_DZ","magazine" },
|
||||
{ "Skin_TK_INS_Soldier_EP1_DZ","magazine" },
|
||||
{ "Skin_TK_INS_Warlord_EP1","magazine" },
|
||||
{ "Skin_SurvivorWcombat_DZ","magazine" },
|
||||
{ "Skin_SurvivorWdesert_DZ","magazine" },
|
||||
{ "","militaryclothes" },
|
||||
};
|
||||
itemChance[] = {
|
||||
0.10,
|
||||
@@ -1014,19 +982,8 @@ class HeliCrash_No50s: Default {
|
||||
0.01, //Sa58V_CCO_EP1
|
||||
0.01, //{"G36_C_SD_camo","weapon"},
|
||||
0.02, // M40A3
|
||||
0.01, //("100Rnd_762x54_PK","magazine"}
|
||||
0.05,
|
||||
0.01,
|
||||
0.01,
|
||||
0.01,
|
||||
0.01,
|
||||
0.01,
|
||||
0.01,
|
||||
0.01,
|
||||
0.03,
|
||||
0.01,
|
||||
0.01,
|
||||
0.03,
|
||||
0.01, //("100Rnd_762x54_PK","magazine"}
|
||||
0.05, // militaryclothes
|
||||
};
|
||||
};
|
||||
class Hunting: Default {
|
||||
@@ -1433,6 +1390,10 @@ class HeliCrash_No50s: Default {
|
||||
|
||||
|
||||
// DAYZ AMP More buildings
|
||||
class Mass_grave: HouseRoaming {
|
||||
minRoaming = 8;
|
||||
maxRoaming = 16;
|
||||
};
|
||||
class Land_Shed_W02_EP1: FarmRoaming{};
|
||||
class Land_MBG_ApartmentsOne_W: HouseRoaming{};
|
||||
class Land_MBG_ApartmentsTwo_P: HouseRoaming{};
|
||||
@@ -1658,6 +1619,37 @@ class HeliCrash_No50s: Default {
|
||||
zombieChance = 0.3;
|
||||
zombieClass[] = {"zZombie_Base","zZombie_Base","z_teacher","z_suit1","z_suit2"};
|
||||
itemType[] = {
|
||||
{ "ItemWatch","generic" },
|
||||
{ "ItemCompass","generic" },
|
||||
{ "ItemMap","weapon" },
|
||||
{ "Makarov","weapon" },
|
||||
{ "Colt1911","weapon" },
|
||||
{ "ItemFlashlight","generic" },
|
||||
{ "ItemKnife","generic" },
|
||||
{ "ItemMatchbox","generic" },
|
||||
{ "ItemToolbox","weapon" },
|
||||
{ "","generic" },
|
||||
{ "","food" },
|
||||
{ "WeaponHolder_PartGeneric","object" },
|
||||
{ "WeaponHolder_PartWheel","object" },
|
||||
{ "WeaponHolder_PartFueltank","object" },
|
||||
{ "WeaponHolder_PartEngine","object" },
|
||||
{ "WeaponHolder_PartGlass","object" },
|
||||
{ "WeaponHolder_ItemJerrycan","object" }};
|
||||
itemChance[] = {0.15,0.01,0.05,0.02,0.02,0.05,0.05,0.05,0.02,0.15,0.05,0.06,0.05,0.03,0.01,0.07,0.03};
|
||||
};
|
||||
|
||||
class DynamicDebrisMilitary: Default
|
||||
{
|
||||
lootChance = 0.4;
|
||||
minRoaming = 0;
|
||||
maxRoaming = 2;
|
||||
zombieChance = 0.3;
|
||||
zombieClass[] = {"z_soldier_pilot","z_soldier_heavy"};
|
||||
itemType[] = {
|
||||
{ "ItemEtool","weapon" },
|
||||
{ "ItemSandbag","magazine"},
|
||||
{ "","military" },
|
||||
{ "ItemWatch","generic" },
|
||||
{ "ItemCompass","generic" },
|
||||
{ "ItemMap","weapon" },
|
||||
@@ -1676,9 +1668,62 @@ class HeliCrash_No50s: Default {
|
||||
{ "WeaponHolder_PartGlass","object" },
|
||||
{ "WeaponHolder_PartVRotor","object" },
|
||||
{ "WeaponHolder_ItemJerrycan","object" }};
|
||||
itemChance[] = {0.15,0.01,0.05,0.02,0.02,0.05,0.05,0.05,0.02,0.15,0.05,0.06,0.05,0.03,0.01,0.07,0.01,0.03};
|
||||
itemChance[] = {0.05,0.11,0.08,0.15,0.01,0.05,0.02,0.02,0.05,0.05,0.05,0.02,0.15,0.05,0.06,0.05,0.03,0.02,0.03,0.02,0.03};
|
||||
};
|
||||
|
||||
class MassGrave: Default {
|
||||
zombieChance = 0.3;
|
||||
maxRoaming = 3;
|
||||
zombieClass[] = {"zZombie_Base","z_hunter","z_hunter","z_hunter","z_villager1","z_villager2","z_villager3"};
|
||||
lootChance = 0.5;
|
||||
lootPos[] = {};
|
||||
itemType[] = {
|
||||
{ "ItemWatch","generic" },
|
||||
{ "ItemCompass","generic" },
|
||||
{ "ItemMap","weapon" },
|
||||
{ "Makarov","weapon" },
|
||||
{ "Colt1911","weapon" },
|
||||
|
||||
{ "ItemKnife","generic" },
|
||||
{ "ItemMatchbox","generic" },
|
||||
{ "ItemToolbox","weapon" },
|
||||
|
||||
{ "WeaponHolder_ItemJerrycanEmpty","object" },
|
||||
{ "","generic" },
|
||||
{ "huntingrifle","weapon" },
|
||||
{ "LeeEnfield","weapon" },
|
||||
{ "Winchester1866","weapon" },
|
||||
{ "","trash" },
|
||||
{"Crossbow_DZ","weapon"},
|
||||
{ "PartWoodPile","magazine" },
|
||||
{ "WeaponHolder_ItemHatchet","object" },
|
||||
{ "MR43","weapon" },
|
||||
{"WeaponHolder_ItemMachete", "object"}
|
||||
};
|
||||
itemChance[] = {
|
||||
0.06,
|
||||
0.08,
|
||||
0.05,
|
||||
0.06,
|
||||
0.08,
|
||||
|
||||
0.05,
|
||||
0.06,
|
||||
0.08,
|
||||
|
||||
0.06,
|
||||
0.28,
|
||||
0.01,
|
||||
0.04,
|
||||
0.03,
|
||||
0.22,
|
||||
0.03,
|
||||
0.11,
|
||||
0.17,
|
||||
0.06,
|
||||
0.03
|
||||
};
|
||||
};
|
||||
|
||||
class Land_House_C_1_EP1: Residential
|
||||
{
|
||||
lootPos[] = {
|
||||
|
||||
@@ -5,6 +5,9 @@ _classname = _this select 2;
|
||||
|
||||
_name = getText (configFile >> _type >> _classname >> "displayName");
|
||||
|
||||
// Exit if player zombie
|
||||
if(player isKindOf "PZombie_VB") exitWith {};
|
||||
|
||||
actionMonitor = {
|
||||
private["_holder","_type","_classname","_name","_action","_distance","_run","_timeout"];
|
||||
_holder = _this select 0;
|
||||
|
||||
@@ -2,6 +2,7 @@ disableSerialization;
|
||||
|
||||
//Model Variables
|
||||
Bandit1_DZ = "Bandit1_DZ";
|
||||
Bandit2_DZ = "Bandit2_DZ";
|
||||
BanditW1_DZ = "BanditW1_DZ";
|
||||
BanditW2_DZ = "BanditW2_DZ";
|
||||
Survivor1_DZ = "Survivor2_DZ";
|
||||
@@ -35,8 +36,8 @@ SurvivorWcombat_DZ = "SurvivorWcombat_DZ";
|
||||
SurvivorWdesert_DZ = "SurvivorWdesert_DZ";
|
||||
SurvivorWurban_DZ = "SurvivorWurban_DZ";
|
||||
|
||||
AllPlayers = ["SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ","SurvivorW2_DZ","Bandit1_DZ","BanditW1_DZ","BanditW2_DZ","Soldier_Crew_PMC","Sniper1_DZ","Camo1_DZ","Soldier1_DZ","Rocket_DZ","Rocker2_DZ","Priest_DZ","Functionary1_EP1_DZ","GUE_Commander_DZ","Ins_Soldier_GL_DZ","Haris_Press_EP1_DZ","Pilot_EP1_DZ","RU_Policeman_DZ","pz_policeman","pz_suit1","pz_suit2","pz_worker1","pz_worker2","pz_worker3","pz_doctor","pz_teacher","pz_hunter","pz_villager1","pz_villager2","pz_villager3","pz_priest","Soldier_TL_PMC_DZ","Soldier_Sniper_PMC_DZ","Soldier_Bodyguard_AA12_PMC_DZ","Drake_Light_DZ","CZ_Special_Forces_GL_DES_EP1_DZ","TK_INS_Soldier_EP1_DZ","TK_INS_Warlord_EP1_DZ"];
|
||||
AllPlayersVehicles = ["SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ","SurvivorW2_DZ","Bandit1_DZ","BanditW1_DZ","BanditW2_DZ","Soldier_Crew_PMC","Sniper1_DZ","Camo1_DZ","Soldier1_DZ","Rocket_DZ","Rocker2_DZ","Priest_DZ","Functionary1_EP1_DZ","GUE_Commander_DZ","Ins_Soldier_GL_DZ","Haris_Press_EP1_DZ","Pilot_EP1_DZ","RU_Policeman_DZ","pz_policeman","pz_suit1","pz_suit2","pz_worker1","pz_worker2","pz_worker3","pz_doctor","pz_teacher","pz_hunter","pz_villager1","pz_villager2","pz_villager3","pz_priest","Soldier_TL_PMC_DZ","Soldier_Sniper_PMC_DZ","Soldier_Bodyguard_AA12_PMC_DZ","Drake_Light_DZ","CZ_Special_Forces_GL_DES_EP1_DZ","TK_INS_Soldier_EP1_DZ","TK_INS_Warlord_EP1_DZ","AllVehicles"];
|
||||
AllPlayers = ["Survivor2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ","SurvivorW2_DZ","Bandit1_DZ","Bandit2_DZ","BanditW1_DZ","BanditW2_DZ","Soldier_Crew_PMC","Sniper1_DZ","Camo1_DZ","Soldier1_DZ","Rocket_DZ","Rocker2_DZ","Priest_DZ","Functionary1_EP1_DZ","GUE_Commander_DZ","Ins_Soldier_GL_DZ","Haris_Press_EP1_DZ","Pilot_EP1_DZ","RU_Policeman_DZ","pz_policeman","pz_suit1","pz_suit2","pz_worker1","pz_worker2","pz_worker3","pz_doctor","pz_teacher","pz_hunter","pz_villager1","pz_villager2","pz_villager3","pz_priest","Soldier_TL_PMC_DZ","Soldier_Sniper_PMC_DZ","Soldier_Bodyguard_AA12_PMC_DZ","Drake_Light_DZ","CZ_Special_Forces_GL_DES_EP1_DZ","TK_INS_Soldier_EP1_DZ","TK_INS_Warlord_EP1_DZ"];
|
||||
AllPlayersVehicles = ["Survivor2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ","SurvivorW2_DZ","Bandit1_DZ","Bandit2_DZ","BanditW1_DZ","BanditW2_DZ","Soldier_Crew_PMC","Sniper1_DZ","Camo1_DZ","Soldier1_DZ","Rocket_DZ","Rocker2_DZ","Priest_DZ","Functionary1_EP1_DZ","GUE_Commander_DZ","Ins_Soldier_GL_DZ","Haris_Press_EP1_DZ","Pilot_EP1_DZ","RU_Policeman_DZ","pz_policeman","pz_suit1","pz_suit2","pz_worker1","pz_worker2","pz_worker3","pz_doctor","pz_teacher","pz_hunter","pz_villager1","pz_villager2","pz_villager3","pz_priest","Soldier_TL_PMC_DZ","Soldier_Sniper_PMC_DZ","Soldier_Bodyguard_AA12_PMC_DZ","Drake_Light_DZ","CZ_Special_Forces_GL_DES_EP1_DZ","TK_INS_Soldier_EP1_DZ","TK_INS_Warlord_EP1_DZ","AllVehicles"];
|
||||
|
||||
PZombie_VB = "PZombie_VB";
|
||||
|
||||
@@ -76,7 +77,7 @@ meatcooked = [
|
||||
no_output_food = ["FoodMRE", "FoodPistachio", "FoodNutmix","FoodBioMeat"]+meatcooked+meatraw;
|
||||
|
||||
|
||||
badfood = ["FoodBioMeat"];
|
||||
badfood = ["FoodBioMeat","FoodCanUnlabeled"];
|
||||
|
||||
food_with_output=[
|
||||
"FoodCanBakedBeans",
|
||||
@@ -386,7 +387,7 @@ dayzPlayerDeaths = [];
|
||||
dayz_dawn = 6;
|
||||
dayz_dusk = 18;
|
||||
if(isNil "dayz_maxAnimals") then {
|
||||
dayz_maxAnimals = 5;
|
||||
dayz_maxAnimals = 8;
|
||||
};
|
||||
DAYZ_agentnumber = 0;
|
||||
dayz_animalDistance = 800;
|
||||
@@ -395,19 +396,21 @@ dayz_zSpawnDistance = 1000;
|
||||
if(isNil "dayz_maxLocalZombies") then {
|
||||
dayz_maxLocalZombies = 40;
|
||||
};
|
||||
|
||||
if(isNil "dayz_maxGlobalZombies") then {
|
||||
dayz_maxGlobalZombies = 30;
|
||||
};
|
||||
|
||||
if(isNil "dayz_maxZeds") then {
|
||||
dayz_maxZeds = 500;
|
||||
};
|
||||
|
||||
if(isNil "DZEdebug") then {
|
||||
DZEdebug = false;
|
||||
};
|
||||
|
||||
if(isNil "dayz_tameDogs") then {
|
||||
dayz_tameDogs = false;
|
||||
};
|
||||
if(isNil "dayz_paraSpawn") then {
|
||||
dayz_paraSpawn = false;
|
||||
};
|
||||
|
||||
dayz_spawnPos = getPosATL player;
|
||||
|
||||
|
||||
@@ -137,7 +137,7 @@ class RscDisplayMain : RscStandardDisplay
|
||||
class DAYZ_Version : CA_Version
|
||||
{
|
||||
idc = -1;
|
||||
text = "DayZ Epoch 1.0.0.1 (1.7.6.1)";
|
||||
text = "DayZ Epoch 1.0.0.2pre (1.7.6.1)";
|
||||
y = "(SafeZoneH + SafeZoneY) - (1 - 0.95)";
|
||||
};
|
||||
delete CA_TitleMainMenu;
|
||||
|
||||
@@ -34,9 +34,9 @@ item29[] = {"Load_In",2,250,-75.000000,850.000000,25.000000,900.000000,0.000000,
|
||||
item30[] = {"Bad_Version",4,218,50.000000,650.000000,150.000000,700.000000,0.000000,"Bad" \n "Version"};
|
||||
item31[] = {"ERROR__Bad_Versi",2,250,175.000000,650.000000,275.000000,700.000000,0.000000,"ERROR:" \n "Bad Version"};
|
||||
item32[] = {"Display_Ready",4,218,-175.000000,900.000000,-75.000000,950.000000,0.000000,"Display" \n "Ready"};
|
||||
item33[] = {"Preload_Display",2,250,-75.000000,950.000000,25.000000,1000.000000,0.000000,"Preload" \n "Display"};
|
||||
item33[] = {"Preload_Display",2,4346,-75.000000,950.000000,25.000000,1000.000000,0.000000,"Preload" \n "Display"};
|
||||
item34[] = {"Preload_Done",4,218,-175.000000,1000.000000,-75.000000,1050.000000,0.000000,"Preload" \n "Done"};
|
||||
item35[] = {"Initialize",2,4346,-75.000000,1050.000000,25.000000,1100.000000,0.000000,"Initialize"};
|
||||
item35[] = {"Initialize",2,250,-75.000000,1050.000000,25.000000,1100.000000,0.000000,"Initialize"};
|
||||
item36[] = {"Finish",1,250,-75.000000,1150.000000,25.000000,1200.000000,0.000000,"Finish"};
|
||||
item37[] = {"True",8,218,25.000000,1100.000000,125.000000,1150.000000,0.000000,"True"};
|
||||
item38[] = {"Too_Long",4,218,300.000000,150.000000,400.000000,200.000000,0.000000,"Too" \n "Long"};
|
||||
@@ -119,8 +119,8 @@ link59[] = {51,52};
|
||||
link60[] = {52,29};
|
||||
link61[] = {53,54};
|
||||
link62[] = {54,20};
|
||||
globals[] = {25.000000,1,0,0,0,640,480,1,85,6316128,1,-442.430725,330.314087,1379.589600,739.273743,1062,880,1};
|
||||
window[] = {2,-1,-1,-1,-1,890,130,1101,130,3,1080};
|
||||
globals[] = {25.000000,1,0,0,0,640,480,1,85,6316128,1,-390.091248,277.974548,1239.554443,681.356201,754,630,1};
|
||||
window[] = {2,-1,-1,-1,-1,786,26,997,26,3,772};
|
||||
*//*%FSM</HEAD>*/
|
||||
class FSM
|
||||
{
|
||||
@@ -691,8 +691,13 @@ class FSM
|
||||
"_setDir = _worldspace select 0;" \n
|
||||
"_setPos = _worldspace select 1;" \n
|
||||
"" \n
|
||||
"player setPosATL _setPos;" \n
|
||||
"player setDir _setDir;" \n
|
||||
"if(dayz_paraSpawn) then {" \n
|
||||
" _para = createVehicle [""ParachuteWest"", _setPos, [], 0, ""FLY""]; " \n
|
||||
" player moveInDriver _para;" \n
|
||||
"} else {" \n
|
||||
" player setPosATL _setPos;" \n
|
||||
" player setDir _setDir;" \n
|
||||
"};" \n
|
||||
"" \n
|
||||
"//Legs and Arm fractures" \n
|
||||
"_legs = player getVariable [""hit_legs"",0];" \n
|
||||
@@ -986,7 +991,7 @@ class FSM
|
||||
"" \n
|
||||
"reload player;" \n
|
||||
"" \n
|
||||
"if (_currentAnim != """") then {" \n
|
||||
"if (_currentAnim != """" and !dayz_paraSpawn) then {" \n
|
||||
" [objNull, player, rSwitchMove,_currentAnim] call RE;" \n
|
||||
"};" \n
|
||||
"if (_currentWpn != """") then {" \n
|
||||
@@ -1279,7 +1284,7 @@ class FSM
|
||||
{
|
||||
name = "Stream";
|
||||
init = /*%FSM<STATEINIT""">*/"//stream in location" \n
|
||||
"call stream_locationCheck;" \n
|
||||
"//call stream_locationCheck;" \n
|
||||
"" \n
|
||||
"_zombies = (getPosATL player) nearEntities [""zZombie_Base"",30];" \n
|
||||
"{deleteVehicle _x} forEach _zombies;" \n
|
||||
|
||||
Reference in New Issue
Block a user