This commit is contained in:
vbawol
2013-02-01 01:47:36 -06:00
parent d69e34617a
commit c4fa47f4d9
18 changed files with 570 additions and 202 deletions

View File

@@ -7,7 +7,8 @@ OnLoadMissionTime = False;
disabledAI = true;
disableChannels[]={0,1,2,6};
enableItemsDropping = 0;
onPauseScript = "onpause.sqf";
onPauseScript = "\z\addons\dayz_code\compile\player_onPause.sqf";
loadScreen = "\z\addons\dayz_code\gui\dayz_logo_ca.paa";
class Header

View File

@@ -1,34 +0,0 @@
private["_display","_btnRespawn","_btnAbort","_timeOut","_timeMax"];
disableSerialization;
_display = _this select 0;
_btnRespawn = _display displayCtrl 1010;
_btnAbort = _display displayCtrl 104;
_btnRespawn ctrlEnable false;
_btnAbort ctrlEnable false;
_timeOut = 0;
_timeMax = 30;
while {!isNull _display} do {
switch true do {
case ({isPlayer _x} count (player nearEntities ["AllVehicles", 6]) > 1) : {
_btnAbort ctrlEnable false;
cutText ["Cannot Abort near another player!", "PLAIN DOWN"];
};
case (_timeOut < _timeMax && count (player nearEntities ["zZombie_Base", 50]) > 0) : {
_btnAbort ctrlEnable false;
cutText [format ["Can Abort in %1", (_timeMax - _timeOut)], "PLAIN DOWN"];
_timeOut = _timeOut + 1;
};
case (player getVariable["combattimeout", 0] >= time) : {
_btnAbort ctrlEnable false;
cutText ["Cannot Abort while in combat!", "PLAIN DOWN"];
};
default {
_btnAbort ctrlEnable true;
cutText ["", "PLAIN DOWN"];
};
};
sleep 1;
};
cutText ["", "PLAIN DOWN"];

View File

@@ -7,7 +7,8 @@ OnLoadMissionTime = False;
disabledAI = true;
disableChannels[]={0,1,2,6};
enableItemsDropping = 0;
onPauseScript = "onpause.sqf";
onPauseScript = "\z\addons\dayz_code\compile\player_onPause.sqf";
loadScreen = "\z\addons\dayz_code\gui\dayz_logo_ca.paa";
class Header

View File

@@ -1,34 +0,0 @@
private["_display","_btnRespawn","_btnAbort","_timeOut","_timeMax"];
disableSerialization;
_display = _this select 0;
_btnRespawn = _display displayCtrl 1010;
_btnAbort = _display displayCtrl 104;
_btnRespawn ctrlEnable false;
_btnAbort ctrlEnable false;
_timeOut = 0;
_timeMax = 30;
while {!isNull _display} do {
switch true do {
case ({isPlayer _x} count (player nearEntities ["AllVehicles", 6]) > 1) : {
_btnAbort ctrlEnable false;
cutText ["Cannot Abort near another player!", "PLAIN DOWN"];
};
case (_timeOut < _timeMax && count (player nearEntities ["zZombie_Base", 50]) > 0) : {
_btnAbort ctrlEnable false;
cutText [format ["Can Abort in %1", (_timeMax - _timeOut)], "PLAIN DOWN"];
_timeOut = _timeOut + 1;
};
case (player getVariable["combattimeout", 0] >= time) : {
_btnAbort ctrlEnable false;
cutText ["Cannot Abort while in combat!", "PLAIN DOWN"];
};
default {
_btnAbort ctrlEnable true;
cutText ["", "PLAIN DOWN"];
};
};
sleep 1;
};
cutText ["", "PLAIN DOWN"];

View File

@@ -32,7 +32,6 @@ _config = (configFile >> _type >> _classname);
_isOk = [player,_config] call BIS_fnc_invAdd;
if (_isOk) then {
deleteVehicle _holder;
/*
if (_classname in ["MeleeHatchet","MeleeCrowbar"]) then {
if (_type == "cfgWeapons") then {
@@ -45,7 +44,6 @@ if (_isOk) then {
};
};
};
*/
} else {
_holder setVariable["claimed",0,true];
cutText [localize "STR_DAYZ_CODE_2", "PLAIN DOWN"];

View File

@@ -16,6 +16,13 @@ _bos = 0;
if(_buy_o_sell == "buy") then {
_qty = {_x == _part_in} count magazines player;
} else {
// SELL ONLY check if item is bulk
_bulkItem = "bulk_" + _part_in;
_bulkqty = {_x == _bulkItem} count magazines player;
diag_log format["DEBUG bulk: %1", _bulkItem];
_bos = 1;
_qty = 0;
_bag = unitBackpack player;
@@ -25,44 +32,120 @@ if(_buy_o_sell == "buy") then {
};
};
if (_qty >= _qty_in) then {
if (_bulkqty >= 1) then {
// TODO: optimize for one db call only
_part_in = "bulk_" + _part_in;
player removeMagazine _part_in;
diag_log format["DEBUG remove magazine %1", _part_in];
["dayzTradeObject",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure;
// increment trader for each
for "_x" from 1 to 12 do {
["dayzTradeObject",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure;
waitUntil {!isNil "dayzTradeResult"};
diag_log format["DEBUG Starting to wait for answer: %1", dayzTradeObject];
if(dayzTradeResult == "PASS") then {
diag_log format["DEBUG Complete Trade: %1", dayzTradeResult];
};
};
waitUntil {!isNil "dayzTradeResult"};
_qty_out = _qty_out * 12;
diag_log format["DEBUG Complete Trade: %1", dayzTradeResult];
// gold = 36 copper
// gold = 6 silver
//
if(dayzTradeResult == "PASS") then {
if(_buy_o_sell == "buy") then {
for "_x" from 1 to _qty_in do {
player removeMagazine _part_in;
if (_part_out == "ItemSilverBar") then {
if (_qty_out >= 6) then {
// find number of gold
_gold_out = _qty_out / 6;
// whole number of gold bars
_gold_qty_out = floor _gold_out;
_part_out = "ItemGoldBar";
for "_x" from 1 to _gold_qty_out do {
player addMagazine _part_out;
};
removeBackpack player;
player addBackpack _part_out;
// Find remainder
_partial_qty_out = (_gold_out - _gold_qty_out) * 6;
// whole number of gold bars
_silver_qty_out = floor _partial_qty_out;
_part_out = "ItemSilverBar";
for "_x" from 1 to _silver_qty_out do {
player addMagazine _part_out;
};
} else {
// Sell
for "_x" from 1 to _qty_out do {
player addMagazine _part_out;
};
removeBackpack player;
// player addBackpack _part_out;
};
};
cutText [format[("Traded %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
} else {
for "_x" from 1 to _qty_out do {
player addMagazine _part_out;
};
};
{player removeAction _x} forEach s_player_parts;s_player_parts = [];
s_player_parts_crtl = -1;
cutText [format[("Traded %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
dayzTradeResult = nil;
} else {
if (_qty >= _qty_in) then {
["dayzTradeObject",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure;
diag_log format["DEBUG Starting to wait for answer: %1", dayzTradeObject];
waitUntil {!isNil "dayzTradeResult"};
diag_log format["DEBUG Complete Trade: %1", dayzTradeResult];
if(dayzTradeResult == "PASS") then {
if(_buy_o_sell == "buy") then {
for "_x" from 1 to _qty_in do {
player removeMagazine _part_in;
};
removeBackpack player;
player addBackpack _part_out;
} else {
// Sell
for "_x" from 1 to _qty_out do {
player addMagazine _part_out;
};
removeBackpack player;
// player addBackpack _part_out;
};
cutText [format[("Traded %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
{player removeAction _x} forEach s_player_parts;s_player_parts = [];
s_player_parts_crtl = -1;
} else {
cutText [format[("Insufficient Stock %1"),_textPartOut] , "PLAIN DOWN"];
};
dayzTradeResult = nil;
} else {
cutText [format[("Insufficient Stock %1"),_textPartOut] , "PLAIN DOWN"];
_needed = _qty_in - _qty;
cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"];
};
dayzTradeResult = nil;
} else {
_needed = _qty_in - _qty;
cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"];
};

View File

@@ -17,52 +17,140 @@ if(_buy_o_sell == "buy") then {
_qty = {_x == _part_in} count magazines player;
} else {
// SELL ONLY check if item is bulk
_bulkItem = "bulk_" + _part_in;
_bulkqty = {_x == _bulkItem} count magazines player;
diag_log format["DEBUG bulk: %1", _bulkItem];
_qty = {_x == _part_in} count weapons player;
_bos = 1;
};
if (_qty >= _qty_in) then {
["dayzTradeObject",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure;
waitUntil {!isNil "dayzTradeResult"};
diag_log format["DEBUG Complete Trade: %1", dayzTradeResult];
if(dayzTradeResult == "PASS") then {
for "_x" from 1 to _qty_in do {
if(_buy_o_sell == "buy") then {
player removeMagazine _part_in;
} else {
player removeWeapon _part_in;
};
};
if (_bulkqty >= 1) then {
for "_x" from 1 to _qty_out do {
if(_buy_o_sell == "buy") then {
player addWeapon _part_out;
} else {
// TODO: optimize for one db call only
_part_in = "bulk_" + _part_in;
player removeMagazine _part_in;
diag_log format["DEBUG remove magazine %1", _part_in];
// increment trader for each
for "_x" from 1 to 12 do {
["dayzTradeObject",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure;
waitUntil {!isNil "dayzTradeResult"};
if(dayzTradeResult == "PASS") then {
diag_log format["DEBUG Complete Trade: %1", dayzTradeResult];
};
};
_qty_out = _qty_out * 12;
// gold = 36 copper
// gold = 6 silver
//
if (_part_out == "ItemSilverBar") then {
if (_qty_out >= 6) then {
// find number of gold
_gold_out = _qty_out / 6;
// whole number of gold bars
_gold_qty_out = floor _gold_out;
_part_out = "ItemGoldBar";
for "_x" from 1 to _gold_qty_out do {
player addMagazine _part_out;
};
// Find remainder
_partial_qty_out = (_gold_out - _gold_qty_out) * 6;
// whole number of gold bars
_silver_qty_out = floor _partial_qty_out;
_part_out = "ItemSilverBar";
for "_x" from 1 to _silver_qty_out do {
player addMagazine _part_out;
};
} else {
for "_x" from 1 to _qty_out do {
player addMagazine _part_out;
};
};
// [player,"repair",0,false] call dayz_zombieSpeak;
cutText [format[("Traded %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
{player removeAction _x} forEach s_player_parts;s_player_parts = [];
s_player_parts_crtl = -1;
} else {
cutText [format[("Insufficient Stock %1"),_textPartOut] , "PLAIN DOWN"];
for "_x" from 1 to _qty_out do {
player addMagazine _part_out;
};
};
cutText [format[("Traded %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
dayzTradeResult = nil;
} else {
_needed = _qty_in - _qty;
cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"];
if (_qty >= _qty_in) then {
["dayzTradeObject",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure;
waitUntil {!isNil "dayzTradeResult"};
diag_log format["DEBUG Complete Trade: %1", dayzTradeResult];
if(dayzTradeResult == "PASS") then {
for "_x" from 1 to _qty_in do {
if(_buy_o_sell == "buy") then {
player removeMagazine _part_in;
} else {
player removeWeapon _part_in;
};
};
for "_x" from 1 to _qty_out do {
if(_buy_o_sell == "buy") then {
player addWeapon _part_out;
} else {
player addMagazine _part_out;
};
};
// [player,"repair",0,false] call dayz_zombieSpeak;
cutText [format[("Traded %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
{player removeAction _x} forEach s_player_parts;s_player_parts = [];
s_player_parts_crtl = -1;
} else {
cutText [format[("Insufficient Stock %1"),_textPartOut] , "PLAIN DOWN"];
};
dayzTradeResult = nil;
} else {
_needed = _qty_in - _qty;
cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"];
};
};

View File

@@ -470,7 +470,7 @@ class Citizen1; // External class reference
};
class Rocker2;
class Rocker2_DZ: Rocker2 {
displayName = "Rocker Outfit";
displayName = "Rocker";
side = 1;
weapons[] = {"Throw","Put"};
backpack = "";
@@ -481,10 +481,10 @@ class Citizen1; // External class reference
canHideBodies = 1;
canCarryBackPack = 1;
};
class BAF_Soldier_W;
class Soldier1_DZ: BAF_Soldier_W {
displayName = "Soldier";
class TK_INS_Warlord_EP1;
class TK_INS_Warlord_EP1_DZ: TK_INS_Warlord_EP1 {
displayName = "Takistani Warlord";
side = 1;
weapons[] = {"Throw","Put"};
backpack = "";
@@ -494,6 +494,85 @@ class Citizen1; // External class reference
weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072";
canHideBodies = 1;
};
class TK_INS_Soldier_EP1;
class TK_INS_Soldier_EP1_DZ: TK_INS_Soldier_EP1 {
displayName = "Takistani Soldier";
side = 1;
weapons[] = {"Throw","Put"};
backpack = "";
magazines[] = {};
respawnWeapons[] = {"Throw","Put"};
respawnMagazines[] = {};
weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072";
canHideBodies = 1;
};
class CZ_Special_Forces_GL_DES_EP1;
class CZ_Special_Forces_GL_DES_EP1_DZ: CZ_Special_Forces_GL_DES_EP1 {
displayName = "Special Forces";
side = 1;
weapons[] = {"Throw","Put"};
backpack = "";
magazines[] = {};
respawnWeapons[] = {"Throw","Put"};
respawnMagazines[] = {};
weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072";
canHideBodies = 1;
};
class Drake_Light;
class Drake_Light_DZ: Drake_Light {
displayName = "Desert Camo";
side = 1;
weapons[] = {"Throw","Put"};
backpack = "";
magazines[] = {};
respawnWeapons[] = {"Throw","Put"};
respawnMagazines[] = {};
weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072";
canHideBodies = 1;
};
class Soldier_Bodyguard_AA12_PMC;
class Soldier_Bodyguard_AA12_PMC_DZ: Soldier_Bodyguard_AA12_PMC {
displayName = "Bodyguard";
side = 1;
weapons[] = {"Throw","Put"};
backpack = "";
magazines[] = {};
respawnWeapons[] = {"Throw","Put"};
respawnMagazines[] = {};
weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072";
canHideBodies = 1;
};
class Soldier_Sniper_PMC;
class Soldier_Sniper_PMC_DZ: Soldier_Sniper_PMC {
displayName = "Marksman";
side = 1;
weapons[] = {"Throw","Put"};
backpack = "";
magazines[] = {};
respawnWeapons[] = {"Throw","Put"};
respawnMagazines[] = {};
weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072";
canHideBodies = 1;
};
class Soldier_TL_PMC;
class Soldier_TL_PMC_DZ: Soldier_TL_PMC {
displayName = "Team Leader";
side = 1;
weapons[] = {"Throw","Put"};
backpack = "";
magazines[] = {};
respawnWeapons[] = {"Throw","Put"};
respawnMagazines[] = {};
weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072";
canHideBodies = 1;
};
class BAF_Soldier_SniperH_W;
class Sniper1_DZ: BAF_Soldier_SniperH_W {
displayName = "Sniper";

View File

@@ -19,7 +19,9 @@ _hasmuttonRaw = "FoodmuttonRaw" in magazines player;
_haschickenRaw = "FoodchickenRaw" in magazines player;
_hasrabbitRaw = "FoodrabbitRaw" in magazines player;
_hasbaconRaw = "FoodbaconRaw" in magazines player;
_hasRawMeat = _hasSteakRaw or _hasmuttonRaw or _hasrabbitRaw or _hasbaconRaw;
//Define all Raw food
_hasRawMeat = _hasSteakRaw or _hasmuttonRaw or _haschickenRaw or _hasrabbitRaw or _hasbaconRaw;
_hasKnife = "ItemKnife" in items player;
_hasToolbox = "ItemToolbox" in items player;
//_hasTent = "ItemTent" in items player;
@@ -169,7 +171,7 @@ if (!isNull cursorTarget and !_inVehicle and (player distance cursorTarget < 4))
};
};
//Fireplace Actions check
if(inflamed cursorTarget and (_hasSteakRaw or _hasmuttonRaw or _hasrabbitRaw or _hasbaconRaw) and _canDo) then {
if(inflamed cursorTarget and (_hasSteakRaw or _hasmuttonRaw or _haschickenRaw or _hasrabbitRaw or _hasbaconRaw) and _canDo) then {
if (s_player_cook < 0) then {
s_player_cook = player addAction [localize "str_actions_self_05", "\z\addons\dayz_code\actions\cook.sqf",cursorTarget, 3, true, true, "", ""];
};

View File

@@ -0,0 +1,44 @@
private["_display","_btnRespawn","_btnAbort","_timeOut","_timeMax","_isDead"];
disableSerialization;
waitUntil {
_display = findDisplay 49;
!isNull _display;
};
_btnRespawn = _display displayCtrl 1010;
_btnAbort = _display displayCtrl 104;
_btnRespawn ctrlEnable false;
_btnAbort ctrlEnable false;
_timeOut = 0;
_timeMax = 30;
_isDead = !alive player;
if(r_fracture_legs) exitWith {_btnRespawn ctrlEnable true;};
if(_isDead) exitwith {_btnAbort ctrlEnable true;};
sleep 1;
while {!isNull _display} do {
switch true do {
case ({isPlayer _x} count (player nearEntities ["AllVehicles", 6]) > 1) : {
_btnAbort ctrlEnable false;
cutText ["Cannot Abort near another player!", "PLAIN DOWN"];
};
/*
case (_timeOut < _timeMax && count (player nearEntities ["zZombie_Base", 50]) > 0) : {
_btnAbort ctrlEnable false;
cutText [format ["Can Abort in %1", (_timeMax - _timeOut)], "PLAIN DOWN"];
_timeOut = _timeOut + 1;
};
*/
case (player getVariable["combattimeout", 0] >= time) : {
_btnAbort ctrlEnable false;
cutText ["Cannot Abort while in combat!", "PLAIN DOWN"];
};
default {
_btnAbort ctrlEnable true;
cutText ["", "PLAIN DOWN"];
};
};
sleep 3;
};
cutText ["", "PLAIN DOWN"];

View File

@@ -33,7 +33,7 @@ class CfgMods
hidePicture = 0;
hideName = 0;
action = "http://www.dayepoch.com";
version = "0.84";
version = "0.85";
hiveVersion = 0.96; //0.93
};
};
@@ -52,6 +52,19 @@ class CfgAddons
};
};
class CfgAISkill {
aimingaccuracy[] = {0, 0, 1, 1};
aimingshake[] = {0, 0, 1, 1};
aimingspeed[] = {0, 0, 1, 1};
commanding[] = {0, 0, 1, 1};
courage[] = {0, 0, 1, 1};
endurance[] = {0, 0, 1, 1};
general[] = {0, 0, 1, 1};
reloadspeed[] = {0, 0, 1, 1};
spotdistance[] = {0, 0, 1, 1};
spottime[] = {0, 0, 1, 1};
};
class CfgInGameUI
{
class PeripheralVision
@@ -71,19 +84,19 @@ class CfgInGameUI
colorCiv[] = {0,0,0,0}; //{0.8,0.8,0.8,1};
colorRes[] = {0,0,0,0}; //{0.7,0.7,0.95,1};
font = "EtelkaNarrowMediumPro";
size = "0"; //"( 21 / 408 )";
size = "( 21 / 408 )"; //"( 21 / 408 )";
class Columns
{
class Order
{
width = 0; //0.046;
colorBg[] = {0,0,0,0}; //{0.1,0.27,0.1,0.8};
width = 0.046; //0.046;
colorBg[] = {0.1,0.27,0.1,0.8}; //{0.1,0.27,0.1,0.8};
doubleLine = 0;
};
class Player
{
width = 0; //0.25;
colorBg[] = {0,0,0,0}; //{0.1,0.23,0.1,0.8};
width = 0.25; //0.25;
colorBg[] = {0.1,0.23,0.1,0.8}; //{0.1,0.23,0.1,0.8};
doubleLine = 0;
};
class KillsInfantry
@@ -123,10 +136,10 @@ class CfgInGameUI
};
class KillsTotal
{
width = 0; //0.1;
width = 0.1; //0.1;
doubleLine = 0;
colorBg[] = {0,0,0,0}; //{0.1,0.35,0.1,0.9};
picture = ""; //"\ca\ui\data\stats_total_ca.paa";
colorBg[] = {0.1,0.35,0.1,0.9}; //{0.1,0.35,0.1,0.9};
picture = "\ca\ui\data\stats_total_ca.paa"; //"\ca\ui\data\stats_total_ca.paa";
};
};
};
@@ -195,14 +208,19 @@ class CfgSurvival {
class Cow02: Cow{};
class Cow03: Cow{};
class Cow04: Cow{};
class Cow01_EP1: Cow{};
class Goat: Default {
yield = 4;
rawfoodtype = "FoodSteakRaw";
};
class Goat01_EP1: Goat{};
class Goat02_EP1: Goat{};
class Sheep: Default {
yield = 4;
rawfoodtype = "FoodmuttonRaw";
};
class Sheep01_EP1: Sheep{};
class Sheep02_EP1: Sheep{};
class WildBoar: Default {
yield = 4;
rawfoodtype = "FoodbaconRaw";
@@ -211,14 +229,17 @@ class CfgSurvival {
yield = 4;
rawfoodtype = "FoodchickenRaw";
};
class Cock: Default {
yield = 4;
rawfoodtype = "FoodchickenRaw";
class Cock: Hen{};
class DZ_Fin: Default {
yield = 0;
rawfoodtype = "FoodSteakRaw";
};
class DZ_Pastor: DZ_Fin{};
class Rabbit: Default {
yield = 4;
rawfoodtype = "FoodrabbitRaw";
};
};
class Skins {
class Default {
@@ -297,6 +318,40 @@ class CfgSurvival {
sex = "female";
playerModel = "SurvivorW3_DZ";
};
class Skin_Soldier_TL_PMC_DZ: Default {
sex = "male";
playerModel = "Soldier_TL_PMC_DZ";
};
class Skin_Soldier_Sniper_PMC_DZ: Default {
sex = "male";
playerModel = "Soldier_Sniper_PMC_DZ";
};
class Skin_Soldier_Bodyguard_AA12_PMC_DZ: Default {
sex = "male";
playerModel = "Soldier_Bodyguard_AA12_PMC_DZ";
};
class Skin_Drake_Light_DZ: Default {
sex = "male";
playerModel = "Drake_Light_DZ";
};
class Skin_CZ_Special_Forces_GL_DES_EP1_DZ: Default {
sex = "male";
playerModel = "CZ_Special_Forces_GL_DES_EP1_DZ";
};
class Skin_TK_INS_Soldier_EP1_DZ: Default {
sex = "male";
playerModel = "TK_INS_Soldier_EP1_DZ";
};
class Skin_TK_INS_Warlord_EP1_DZ: Default {
sex = "male";
playerModel = "TK_INS_Warlord_EP1_DZ";
};
@@ -573,7 +628,10 @@ class CfgBuildingLoot {
{"G36K_camo","weapon"},
{"100Rnd_762x54_PK","magazine"},
{ "Skin_Rocket_DZ","magazine" },
{ "Skin_Soldier1_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"},
@@ -601,7 +659,10 @@ class CfgBuildingLoot {
0.02, //G36K_camo
0.01, //("100Rnd_762x54_PK","magazine"}
0.01,
0.05
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 {
@@ -841,6 +902,10 @@ class HeliCrash_No50s: Default {
{ "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" },
};
itemChance[] = {
0.10,
@@ -900,6 +965,10 @@ class HeliCrash_No50s: Default {
0.01,
0.01,
0.01,
0.01,
0.01,
0.03,
0.01,
};
};
class Church: Residential {

View File

@@ -219,12 +219,16 @@ if (!isDedicated) then {
_success
};
dayz_spaceInterrupt = {
private ["_dikCode", "_handled"];
_DisplayOrDialogOrControl = _this select 0;
_dikCode = _this select 1;
_shiftState = _this select 2;
_ctrlState = _this select 3;
_altState = _this select 4;
_handled = false;
DoRE = ({isPlayer _x} count (player nearEntities ["AllVehicles",500]) > 1);
if (_dikCode in (actionKeys "GetOver")) then {
if (canRoll && animationState player in ["amovpercmrunslowwrfldf","amovpercmrunsraswrfldf","amovpercmevaslowwrfldf","amovpercmevasraswrfldf"]) then {
canRoll = false;
@@ -276,14 +280,13 @@ if (!isDedicated) then {
dayz_lastCheckBit = time;
[player,15,false,(getPosATL player)] spawn player_alertZombies;
};
/*
if ((_dikCode == 0x38 or _dikCode == 0xB8) and (time - dayz_lastCheckBit > 10)) then {
call dayz_forceSave;
};
/*
if (_dikCode in actionKeys "IngamePause") then {
call dayz_forceSave;
_id = [] spawn dayz_disableRespawn;
_id = [] spawn dayz_disableAbort;
_idOnPause = [] spawn dayz_onPause;
};
*/
_handled

View File

@@ -13,8 +13,25 @@ Camo1_DZ = "Camo1_DZ";
Soldier1_DZ = "Soldier1_DZ";
Rocket_DZ = "Rocket_DZ";
AllPlayers = ["SurvivorW3_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"];
AllPlayersVehicles = ["SurvivorW3_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","AllVehicles"];
// more models
Rocker2_DZ = "Rocker2_DZ";
Priest_DZ = "Priest_DZ";
Functionary1_EP1_DZ = "Functionary1_EP1_DZ";
GUE_Commander_DZ = "GUE_Commander_DZ";
Ins_Soldier_GL_DZ = "Ins_Soldier_GL_DZ";
Haris_Press_EP1_DZ = "Haris_Press_EP1_DZ";
Pilot_EP1_DZ = "Pilot_EP1_DZ";
RU_Policeman_DZ = "RU_Policeman_DZ";
Soldier_TL_PMC_DZ = "Soldier_TL_PMC_DZ";
Soldier_Sniper_PMC_DZ = "Soldier_Sniper_PMC_DZ";
Soldier_Bodyguard_AA12_PMC_DZ = "Soldier_Bodyguard_AA12_PMC_DZ";
Drake_Light_DZ = "Drake_Light_DZ";
CZ_Special_Forces_GL_DES_EP1_DZ = "CZ_Special_Forces_GL_DES_EP1_DZ";
TK_INS_Soldier_EP1_DZ = "TK_INS_Soldier_EP1_DZ";
TK_INS_Warlord_EP1_DZ = "TK_INS_Warlord_EP1_DZ";
AllPlayers = ["SurvivorW3_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 = ["SurvivorW3_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"];
PZombie_VB = "PZombie_VB";

View File

@@ -87,7 +87,7 @@ class RscDisplayMain : RscStandardDisplay
class DAYZ_Version : CA_Version
{
idc = -1;
text = "DayZ Epoch 0.84 (1.7.5.M1D25)";
text = "DayZ Epoch 0.85 (1.7.5.M1D25)";
y = "(SafeZoneH + SafeZoneY) - (1 - 0.95)";
};
class CA_TitleMainMenu;

View File

@@ -6,7 +6,7 @@ item1[] = {"End",1,250,50.000000,-250.000000,150.000000,-200.000000,0.000000,"En
item2[] = {"Not_Alive",4,218,0.000000,300.000000,100.000000,350.000000,5.000000,"Not" \n "Alive"};
item3[] = {"Nobody_Near",4,218,0.000000,375.000000,100.000000,425.000000,4.000000,"Nobody" \n "Near"};
item4[] = {"loiter",4,218,-300.000000,0.000000,-200.000000,50.000000,0.000000,"loiter"};
item5[] = {"Loiter",2,250,-300.000000,75.000000,-200.000000,125.000000,0.000000,"Loiter"};
item5[] = {"Loiter",2,4346,-300.000000,75.000000,-200.000000,125.000000,0.000000,"Loiter"};
item6[] = {"In_Position",4,218,-175.000000,75.000000,-75.000000,125.000000,1.000000,"In Position"};
item7[] = {"",7,210,-29.000042,321.000000,-20.999958,329.000000,0.000000,""};
item8[] = {"",7,210,-29.000042,395.999939,-20.999958,404.000061,0.000000,""};
@@ -15,7 +15,7 @@ item10[] = {"Begin",2,250,-300.000000,-100.000000,-200.000000,-50.000000,0.00000
item11[] = {"",7,210,-254.000046,-29.000004,-245.999954,-20.999996,0.000000,""};
item12[] = {"",7,210,-204.000046,146.000000,-195.999954,154.000000,0.000000,""};
item13[] = {"Has_Target",4,218,-150.000000,225.000000,-50.000000,275.000000,1.000000,"Has" \n "Target"};
item14[] = {"Chase",2,4346,-150.000000,300.000000,-50.000000,350.000000,0.000000,"Chase"};
item14[] = {"Chase",2,250,-150.000000,300.000000,-50.000000,350.000000,0.000000,"Chase"};
item15[] = {"",7,210,-29.000006,146.000000,-20.999996,154.000000,0.000000,""};
item16[] = {"",7,210,-29.000006,196.000000,-20.999996,204.000000,0.000000,""};
item17[] = {"",7,210,-104.000000,196.000000,-95.999992,204.000000,0.000000,""};
@@ -93,14 +93,13 @@ link45[] = {34,5};
link46[] = {35,37};
link47[] = {36,35};
link48[] = {37,31};
link49[] = {38,17};
link50[] = {38,39};
link51[] = {39,22};
link52[] = {40,28};
link53[] = {41,5};
link54[] = {42,1};
link49[] = {38,39};
link50[] = {39,22};
link51[] = {40,28};
link52[] = {41,5};
link53[] = {42,1};
globals[] = {25.000000,1,0,0,0,640,480,1,101,6316128,1,-671.713867,363.212036,788.169373,-84.187515,713,601,1};
window[] = {2,-1,-1,-32000,-32000,865,154,1362,154,3,730};
window[] = {2,-1,-1,-32000,-32000,799,88,1296,88,3,730};
*//*%FSM</HEAD>*/
class FSM
{
@@ -169,14 +168,17 @@ class FSM
init = /*%FSM<STATEINIT""">*/"_isAlive = alive _agent;" \n
"_target = _agent call zombie_findTargetAgent;" \n
"" \n
"_agent setBehaviour ""SAFE"";" \n
"_agent setCombatMode ""BLUE"";" \n
"_agent forceSpeed 2;" \n
"_agent setSkill 0;" \n
"" \n
"_newDest = _agent getVariable [""myDest"",getposATL _agent];" \n
"if (!isNil ""_newDest"") then {" \n
" if (_newDest distance _myDest > 0) then {" \n
" _myDest = _newDest;" \n
" _agent moveTo _myDest;" \n
" _agent forceSpeed 2;" \n
"// _agent forceSpeed 2;" \n
" };" \n
"};" \n
"" \n
@@ -287,6 +289,7 @@ class FSM
"" \n
"_hasMoved = _doLoiter;" \n
"" \n
"" \n
"_agent disableAI ""FSM"";" \n
"_newDest = getPosATL _agent;" \n
"_timeN = time;" \n
@@ -339,8 +342,11 @@ class FSM
"_isAlive = alive _agent;" \n
"_targetPos = getPosATL _target;" \n
"" \n
"" \n
"//Move to target" \n
"" \n
"_agent setBehaviour ""CARELESS"";" \n
"_agent setCombatMode ""RED"";" \n
"_agent moveTo _targetPos;" \n
"_agent forceSpeed 6;" \n
"" \n
@@ -404,7 +410,7 @@ class FSM
priority = 0.000000;
to="Chase";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(time - _timeN) > 1"/*%FSM</CONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(time - _timeN) > 2"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"_losCheck = _losCheck + 1;"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
@@ -508,29 +514,6 @@ class FSM
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Has_Target">*/
class Has_Target
{
priority = 1.000000;
to="Chase";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!(isNull _target)"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"//Leader cries out" \n
"if (_isSomeone) then {" \n
" [_agent,""spotted"",2,true] call dayz_zombieSpeak;" \n
"};" \n
"if (!_hasMoved) then {" \n
" _agent setVariable[""doLoiter"",true,true];" \n
"};" \n
"" \n
"//Enable combat timer." \n
"_target setVariable[""startcombattimer"", 1, true];" \n
"" \n
"_countr = 0;" \n
"_losCheck = 0;" \n
"_cantSee = false;"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "No_target">*/
class No_target
{

View File

@@ -1115,6 +1115,49 @@ class CfgMagazines
displayName = "Civilian (female)";
descriptionShort = "Civilian (female)";
};
class Skin_TK_INS_Warlord_EP1_DZ: SkinBase
{
scope = 2;
displayName = "Takistani Warlord";
descriptionShort = "Takistani Warlord";
};
class Skin_TK_INS_Soldier_EP1_DZ: SkinBase
{
scope = 2;
displayName = "Takistani Soldier";
descriptionShort = "Takistani Soldier";
};
class Skin_CZ_Special_Forces_GL_DES_EP1_DZ: SkinBase
{
scope = 2;
displayName = "Special Forces";
descriptionShort = "Special Forces";
};
class Skin_Drake_Light_DZ: SkinBase
{
scope = 2;
displayName = "Desert Camo";
descriptionShort = "Desert Camo";
};
class Skin_Soldier_Bodyguard_AA12_PMC_DZ: SkinBase
{
scope = 2;
displayName = "Bodyguard";
descriptionShort = "Bodyguard";
};
class Skin_Soldier_Sniper_PMC_DZ: SkinBase
{
scope = 2;
displayName = "Marksman";
descriptionShort = "Marksman";
};
class Skin_Soldier_TL_PMC_DZ: SkinBase
{
scope = 2;
displayName = "Team Leader";
descriptionShort = "Team Leader";
};
@@ -1478,26 +1521,37 @@ class CfgMagazines
picture = "\dayz_equip\textures\equip_jerrycan_e_ca.paa";
descriptionShort = "$STR_EQUIP_DESC_39";
};
class bulk_NVGoggles: CA_Magazine
class bulk: CA_Magazine
{
scope = 2;
count = 12;
count = 1;
type = "(256 * 6)";
displayName = "Supply Crate";
model = "\dayz_equip\models\supply_crate.p3d";
picture = "\dayz_equip\textures\equip_wooden_crate_ca.paa";
descriptionShort = "12 x Random Item";
};
class bulk_NVGoggles: bulk
{
descriptionShort = "12 x NV Goggles";
};
class bulk_30Rnd_9x19_MP5SD: CA_Magazine
class bulk_DZ_Backpack_EP1: bulk
{
descriptionShort = "12 x DZ_Backpack_EP1";
};
class bulk_30Rnd_9x19_MP5SD: bulk
{
scope = 2;
count = 12;
type = "(256 * 6)";
displayName = "Supply Crate";
model = "\dayz_equip\models\supply_crate.p3d";
picture = "\dayz_equip\textures\equip_wooden_crate_ca.paa";
descriptionShort = "12 x 30Rnd_9x19_MP5SD";
};
class bulk_15Rnd_9x19_M9SD: bulk
{
descriptionShort = "12 x 15Rnd_9x19_M9SD";
};
class bulk_30Rnd_556x45_StanagSD: bulk
{
descriptionShort = "12 x 30Rnd_556x45_StanagSD";
};
class ItemGenerator: CA_Magazine
{
scope = 2;

View File

@@ -8,6 +8,8 @@ _playerObj = _this select 1;
_playerName = name _playerObj;
_worldspace = [];
if (_playerName == '__SERVER__' || _playerID == '' || local player) exitWith {};
if (count _this > 2) then {
dayz_players = dayz_players - [_this select 2];
};

View File

@@ -2,6 +2,18 @@
dayz_versionNo = getText(configFile >> "CfgMods" >> "DayZ" >> "version");
dayz_hiveVersionNo = getNumber(configFile >> "CfgMods" >> "DayZ" >> "hiveVersion");
_script = getText(missionConfigFile >> "onPauseScript");
if (_script != "") then
{
diag_log "MISSION: File Updated";
} else {
while {true} do
{
diag_log "MISSION: File Needs Updating";
sleep 1;
};
};
serverVehicleCounter = [];