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:
vbawol
2013-04-10 08:54:13 -05:00
parent f93113b067
commit dd20524793
53 changed files with 2523 additions and 333 deletions

View File

@@ -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";
};
};
};

View File

@@ -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]];

View File

@@ -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: {

View File

@@ -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"];
};
};

View File

@@ -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"];
};
};

View File

@@ -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;

View File

@@ -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;

View File

@@ -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 {

View File

@@ -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;

View File

@@ -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"];
};
};

View File

@@ -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"];

View File

@@ -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",
}
};
};

View File

@@ -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 {

View File

@@ -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];

View File

@@ -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"];

View File

@@ -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;

View File

@@ -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);

View File

@@ -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[] = {

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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