Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной

Стоит ZSC и Advanced Trading. При покупке пишет что у меня недостаточно денег для покупки, хотя я более чем уверен, что их у меня достаточно

Изменено пользователем JustJew (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

Нашел в чем проблема. Если у кого тоже самое, поменяйте в zupa\advancedtrading\config.sqf параметр Z_MoneyVariable на "cashMoney"

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах





  • 0

Стоит ZSC и Advanced Trading. При покупке пишет что у меня недостаточно денег для покупки, хотя я более чем уверен, что их у меня достаточно

Ты точно все по инструкции ставил?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Ты точно все по инструкции ставил?

Абсолютно

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Продавать могу, а если покупаю, пишет что-то вроде "You need 10000 coins to buy all these items", несмотря на то, что у меня 400000. Все делал по инструкции (там всего то 4 шага, сложно ошибиться), пол ночи убил в поисках, помогите

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Продавать могу, а если покупаю, пишет что-то вроде "You need 10000 coins to buy all these items", несмотря на то, что у меня 400000. Все делал по инструкции (там всего то 4 шага, сложно ошибиться), пол ночи убил в поисках, помогите

А инфистатор стоит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

А инфистатор стоит?

Тоже есть

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

А инфистатор стоит?

Причем тут инфистар?

 

Тоже есть

Я хотел бы увидеть логи при покупке,а еще лучше перед запуском в параметры запуска игры добавь  -showScriptErrors , а потом скинь логи под спойлер.

Изменено пользователем sanek327 (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Причем тут инфистар?

 

Я хотел бы увидеть логи при покупке,а еще лучше перед запуском в параметры запуска игры добавь  -showScriptErrors , а потом скинь логи под спойлер.

Где эти логи лежат?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
'...bank_dialog2 = -1;
player removeAction |#|s_player_packOBJ;
s_player_packOBJ = 1;...'
Error Undefined variable in expression: s_player_packobj
File mpmissions\__CUR_MP.Chernarus\fn_selfActions.sqf, line 857

Вот это пишет в самой арме, если -showScriptErrors включен

 

 

 

В кастомный Variables добавил

  1. s_player_packobj = -1;

Все равно не работает

Но ошибку уже не выдает

Изменено пользователем JustJew (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

init

 

/*
For DayZ Epoch
Addons Credits: Jetski Yanahui by Kol9yN, Zakat, Gerasimow9, YuraPetrov, zGuba, A.Karagod, IceBreakr, Sahbazz
*/
startLoadingScreen ["","RscDisplayLoadCustom"];
cutText ["","BLACK OUT"];
enableSaving [false, false];

//REALLY IMPORTANT VALUES
dayZ_instance = 11; //The instance
dayzHiveRequest = [];
initialized = false;
dayz_previousID = 0;

//disable greeting menu
player setVariable ["BIS_noCoreConversations", true];
//disable radio messages to be heard and shown in the left lower corner of the screen
enableRadio false;
// May prevent "how are you civillian?" messages from NPC
enableSentences false;

// DayZ Epoch config
spawnShoremode = 1; // Default = 1 (on shore)
spawnArea= 1500; // Default = 1500

MaxVehicleLimit = 0; // Default = 50
MaxDynamicDebris = 100; // Default = 100
dayz_MapArea = 14000; // Default = 10000
dayz_maxLocalZombies = 10; // Default = 30

//Default Loadout
DefaultMagazines = ["ItemBandage","ItemBandage","100Rnd_762x54_PK","100Rnd_762x54_PK","ItemMorphine","ItemPainkiller","ItemWaterbottleBoiled","FoodSteakCooked"];
DefaultWeapons = ["Pecheneg","ItemFlashlight","ItemHatchet","ItemMap", "ItemGPS"];
DefaultBackpack = "DZ_Patrol_Pack_EP1";
DefaultBackpackWeapon = "";

dayz_paraSpawn = false;

dayz_minpos = -1;
dayz_maxpos = 16000;

dayz_sellDistance_vehicle = 10;
dayz_sellDistance_boat = 30;
dayz_sellDistance_air = 40;

dayz_maxAnimals = 5; // Default: 8
dayz_tameDogs = true;
DynamicVehicleDamageLow = 0; // Default: 0
DynamicVehicleDamageHigh = 100; // Default: 100

DZE_BuildOnRoads = false; // Default: False
DZE_ConfigTrader = true;

EpochEvents = [["any","any","any","any",30,"crash_spawner"],["any","any","any","any",0,"crash_spawner"],["any","any","any","any",15,"supply_drop"]];
dayz_fullMoonNights = true;

//Load in compiled functions
call compile preprocessFileLineNumbers "variables.sqf"; //Initilize the Variables (IMPORTANT: Must happen very early)
progressLoadingScreen 0.1;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; //Initilize the publicVariable event handlers
progressLoadingScreen 0.2;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; //Functions used by CLIENT for medical
progressLoadingScreen 0.4;
call compile preprocessFileLineNumbers "compiles.sqf"; //Compile regular functions
call compile preprocessFileLineNumbers "ZSC\gold\ZSCinit.sqf";
progressLoadingScreen 0.5;
call compile preprocessFileLineNumbers "server_traders.sqf"; //Compile trader configs
progressLoadingScreen 1.0;

"filmic" setToneMappingParams [0.153, 0.357, 0.231, 0.1573, 0.011, 3.750, 6, 4]; setToneMapping "Filmic";

if (isServer) then {
call compile preprocessFileLineNumbers "\z\addons\dayz_server\missions\DayZ_Epoch_11.Chernarus\dynamic_vehicle.sqf";
//Compile vehicle configs

// Add trader citys
_nil = [] execVM "\z\addons\dayz_server\missions\DayZ_Epoch_11.Chernarus\mission.sqf";
_serverMonitor = [] execVM "\z\addons\dayz_server\system\server_monitor.sqf";
};

if (!isDedicated) then {
//Conduct map operations
0 fadeSound 0;
waitUntil {!isNil "dayz_loadScreenMsg"};
dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");

//Run the player monitor
_id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];
_playerMonitor = [] execVM "\z\addons\dayz_code\system\player_monitor.sqf";
execVM "ZSC\compiles\playerHud.sqf";

//Lights
//[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";

};

//Start Dynamic Weather
execVM "\z\addons\dayz_code\external\DynamicWeatherEffects.sqf";


#include "\z\addons\dayz_code\system\BIS_Effects\init.sqf"
[] execVM "infistar_safezone.sqf";

 

 

compiles

 

/*
FUNCTION COMPILES
*/
//Player only
if (!isDedicated) then {

"filmic" setToneMappingParams [0.07, 0.31, 0.23, 0.37, 0.011, 3.750, 6, 4]; setToneMapping "Filmic";

BIS_Effects_Burn = compile preprocessFile "\ca\Data\ParticleEffects\SCRIPTS\destruction\burn.sqf";
player_zombieCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_zombieCheck.sqf"; //Run on a players computer, checks if the player is near a zombie
player_zombieAttack = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_zombieAttack.sqf"; //Run on a players computer, causes a nearby zombie to attack them
fnc_usec_damageActions = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_damageActions.sqf"; //Checks which actions for nearby casualty
fnc_inAngleSector = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_inAngleSector.sqf"; //Checks which actions for nearby casualty
fnc_usec_selfActions = compile preprocessFileLineNumbers "fn_selfActions.sqf"; //Checks which actions for self
fnc_usec_unconscious = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_unconscious.sqf";
player_temp_calculation = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_temperatur.sqf"; //Temperatur System //TeeChange
player_weaponFiredNear = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_weaponFiredNear.sqf";
player_animalCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_animalCheck.sqf";
player_spawnCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_spawnCheck.sqf";
player_dumpBackpack = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_dumpBackpack.sqf";
building_spawnLoot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\building_spawnLoot.sqf";
building_spawnZombies = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\building_spawnZombies.sqf";
dayz_spaceInterrupt = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\dayz_spaceInterrupt.sqf";
player_fired = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_fired.sqf"; //Runs when player fires. Alerts nearby Zeds depending on calibre && audial rating
player_harvest = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_harvest.sqf";
player_packTent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_packTent.sqf";
player_packVault = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_packVault.sqf";
player_unlockVault = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_unlockVault.sqf";

player_removeObject = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\remove.sqf";
player_removeNearby = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_removeNearby.sqf";

player_removeTankTrap = {
//Object Array, Range, Error Message (@Skaronator)
[["Hedgehog_DZ"], 1,"STR_EPOCH_ACTIONS_14"] call player_removeNearby;
};
player_removeNet = {
[["DesertLargeCamoNet","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ"], 5,"str_epoch_player_8"] call player_removeNearby;
};

player_login = {
private ["_unit","_detail"];
_unit = _this select 0;
_detail = _this select 1;
if(_unit == getPlayerUID player) then {
player setVariable["publish",_detail];
};
};

player_unlockDoor = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_unlockDoor.sqf";
player_changeCombo = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_changeCombo.sqf";

player_lockVault = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_lockVault.sqf";
player_updateGui = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf";
player_crossbowBolt = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_crossbowBolt.sqf";
player_music = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_music.sqf"; //Used to generate ambient music
player_death = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_death.sqf";
player_switchModel = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_switchModel.sqf";
player_checkStealth = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_checkStealth.sqf";
world_sunRise = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_sunRise.sqf";
world_surfaceNoise = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_surfaceNoise.sqf";
player_humanityMorph = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_humanityMorph.sqf";
player_throwObject = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_throwObject.sqf";
player_alertZombies = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_alertZombies.sqf";
player_fireMonitor = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\fire_monitor.sqf";
fn_gearMenuChecks = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_gearMenuChecks.sqf";

//Objects
object_roadFlare = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_roadFlare.sqf";
object_setpitchbank = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_setpitchbank.sqf";
object_monitorGear = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_monitorGear.sqf";

local_roadDebris = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_roadDebris.sqf";

//Zombies
zombie_findTargetAgent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\zombie_findTargetAgent.sqf";
zombie_loiter = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\zombie_loiter.sqf"; //Server compile, used for loiter behaviour
zombie_generate = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\zombie_generate.sqf"; //Server compile, used for loiter behaviour
wild_spawnZombies = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\wild_spawnZombies.sqf"; //Server compile, used for loiter behaviour

pz_attack = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\pzombie\pz_attack.sqf";

dog_findTargetAgent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\dog_findTargetAgent.sqf";

//actions
player_countmagazines = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_countmagazines.sqf";
player_addToolbelt = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_addToolbelt.sqf";
player_copyKey = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_copyKey.sqf";
player_reloadMag = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_reloadMags.sqf";
player_loadCrate = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_loadCrate.sqf";
player_craftItem = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_craftItem.sqf";
player_tentPitch = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\tent_pitch.sqf";
player_vaultPitch = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\vault_pitch.sqf";
player_drink = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_drink.sqf";
player_eat = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_eat.sqf";
player_useMeds = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_useMeds.sqf";
player_fillWater = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\water_fill.sqf";
player_makeFire = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_makefire.sqf";
player_harvestPlant = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_harvestPlant.sqf";
player_goFishing = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_goFishing.sqf";
player_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build.sqf";
player_wearClothes = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_wearClothes.sqf";
object_pickup = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\object_pickup.sqf";
player_flipvehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_flipvehicle.sqf";
player_sleep = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_sleep.sqf";
player_antiWall = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_antiWall.sqf";
player_deathBoard = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\list_playerDeathsAlt.sqf";

player_plotPreview = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_showPlotRadius.sqf";
player_upgradeVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_upgradeVehicle.sqf";

//ui
player_selectSlot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_selectSlot.sqf";
player_gearSync = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_gearSync.sqf";
player_gearSet = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_gearSet.sqf";
ui_changeDisplay = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_changeDisplay.sqf";
ui_gear_sound = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_gear_sound.sqf";

//System
player_monitor = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\player_monitor.sqf";
player_spawn_1 = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\player_spawn_1.sqf";
player_spawn_2 = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\player_spawn_2.sqf";
onPreloadStarted "dayz_preloadFinished = false;";
onPreloadFinished "dayz_preloadFinished = true;";

// helper functions
player_hasTools = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_hasTools.sqf";
player_checkItems = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_checkItems.sqf";
player_removeItems = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_removeItems.sqf";
//Trader ["Trader City Name",false,"enter"] - Trader City Name | Show Message | "enter" || "leave"
player_traderCity = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_traderCity.sqf";

// combination of check && remove items
player_checkAndRemoveItems = {
private ["_items","_b"];
_items = _this;
_b = _items call player_checkItems;
if (_b) then {
_b = _items call player_removeItems;
};
_b
};

dayz_HungerThirst = {
dayz_hunger = dayz_hunger + (_this select 0);
dayz_thirst = dayz_thirst + (_this select 1);
};

epoch_totalCurrency = {
// total currency
_total_currency = 0;
{
_part = (configFile >> "CfgMagazines" >> _x);
_worth = (_part >> "worth");
if isNumber (_worth) then {
_total_currency = _total_currency + getNumber(_worth);
};
} count (magazines player);
_total_currency
};

epoch_itemCost = {
_trade_total = 0;
{
_part_in_configClass = configFile >> "CfgMagazines" >> (_x select 0);
if (isClass (_part_in_configClass)) then {
_part_inWorth = (_part_in_configClass >> "worth");
if isNumber (_part_inWorth) then {
_trade_total = _trade_total + (getNumber(_part_inWorth) * (_x select 1));
};
};
} count _this;

//diag_log format["DEBUG TRADER ITEMCOST: %1", _this];
_trade_total
};

epoch_returnChange = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\epoch_returnChange.sqf";
// usage [["partinclassname",4]] call epoch_returnChange;

dayz_losChance = {
private["_agent","_maxDis","_dis","_val","_maxExp","_myExp"];
_agent = _this select 0;
_dis = _this select 1;
_maxDis = _this select 2;
// diag_log ("VAL: " + str(_this));
_val = (_maxDis - _dis) max 0;
_maxExp = ((exp 2) * _maxDis);
_myExp = ((exp 2) * (_val)) / _maxExp;
_myExp = _myExp * 0.7;
_myExp
};

ui_initDisplay = {
private["_control","_ctrlBleed","_display","_ctrlFracture","_ctrlDogFood","_ctrlDogWater","_ctrlDogWaterBorder", "_ctrlDogFoodBorder"];
disableSerialization;
_display = uiNamespace getVariable 'DAYZ_GUI_display';
_control = _display displayCtrl 1204;
_control ctrlShow false;
if (!r_player_injured) then {
_ctrlBleed = _display displayCtrl 1303;
_ctrlBleed ctrlShow false;
};
if (!r_fracture_legs && !r_fracture_arms) then {
_ctrlFracture = _display displayCtrl 1203;
_ctrlFracture ctrlShow false;
};
_ctrlDogFoodBorder = _display displayCtrl 1501;
_ctrlDogFoodBorder ctrlShow false;
_ctrlDogFood = _display displayCtrl 1701;
_ctrlDogFood ctrlShow false;

_ctrlDogWaterBorder = _display displayCtrl 1502;
_ctrlDogWaterBorder ctrlShow false;
_ctrlDogWater = _display displayCtrl 1702;
_ctrlDogWater ctrlShow false
};

dayz_losCheck = {
private["_target","_agent","_cantSee"];
_target = _this select 0; // PUT THE PLAYER IN FIRST ARGUMENT!!!!
_agent = _this select 1;
_cantSee = true;
if (!isNull _target) then {

_tPos = visiblePositionASL _target;
_zPos = visiblePositionASL _agent;

_tPos set [2,(_tPos select 2)+1];
_zPos set [2,(_zPos select 2)+1];

if ((count _tPos > 0) && (count _zPos > 0)) then {
_cantSee = terrainIntersectASL [_tPos, _zPos];
if (!_cantSee) then {
_cantSee = lineIntersects [_tPos, _zPos, _agent, vehicle _target];
};
};
};
_cantSee
};

dayz_equipCheck = {
private ["_empty", "_needed","_diff","_success"];
_config = _this;
_empty = [player] call BIS_fnc_invSlotsEmpty;
_needed = [_config] call BIS_fnc_invSlotType;
_diff = [_empty,_needed] call BIS_fnc_vectorDiff;

_success = true;
{
if (_x > 0) then {_success = false};
} count _diff;
hint format["Config: %5\nEmpty: %1\nNeeded: %2\nDiff: %3\nSuccess: %4",_empty,_needed,_diff,_success,_config];
_success
};

vehicle_gear_count = {
private["_counter"];
_counter = 0;
{
_counter = _counter + _x;
} count _this;
_counter
};

player_tagFriendlyMsg = {
if(player == (_this select 0)) then {
cutText[(localize "str_epoch_player_2"),"PLAIN DOWN"];
};
};

player_serverModelChange = {
private["_object","_model"];
_object = _this select 0;
_model = _this select 1;
if (_object == player) then {
_model call player_switchModel;
};
};

player_guiControlFlash = {
private["_control"];
_control = _this;
if (ctrlShown _control) then {
_control ctrlShow false;
} else {
_control ctrlShow true;
};
};

gearDialog_create = {
private ["_i","_dialog"];
if (!isNull (findDisplay 106)) then {
(findDisplay 106) closeDisplay 0;
};
openMap false;
closeDialog 0;
if (gear_done) then {sleep 0.001;};
player action ["Gear", player];
if (gear_done) then {sleep 0.001;};
_dialog = findDisplay 106;
_i = 0;
while {isNull _dialog} do {//DO NOT CHANGE TO A FOR LOOP!
_i = _i + 1;
_dialog = findDisplay 106;
if (gear_done) then {sleep 0.001;};
if (_i in [100,200,299]) then {
closeDialog 0;
player action ["Gear", player];
};
if (_i > 300) exitWith {};
};
if (gear_done) then {sleep 0.001;};
_dialog = findDisplay 106;
if ((parseNumber(_this select 0)) != 0) then {
ctrlActivate (_dialog displayCtrl 157);
if (gear_done) then {
waitUntil {ctrlShown (_dialog displayCtrl 159)};
sleep 0.001;
};
};
_dialog
};

gear_ui_offMenu = {
private["_control","_parent","_menu"];
disableSerialization;
_control = _this select 0;
_parent = findDisplay 106;
if (!(_this select 3)) then {
for "_i" from 0 to 9 do {
_menu = _parent displayCtrl (1600 + _i);
_menu ctrlShow false;
};
_grpPos = ctrlPosition _control;
_grpPos set [3,0];
_control ctrlSetPosition _grpPos;
_control ctrlShow false;
_control ctrlCommit 0;
};
};

dze_surrender_off = {
player setVariable ["DZE_Surrendered", false, true];
DZE_Surrender = false;
};

gear_ui_init = {
private["_control","_parent","_menu","_dspl","_grpPos"];
disableSerialization;
_parent = findDisplay 106;
_control = _parent displayCtrl 6902;
for "_i" from 0 to 9 do {
_menu = _parent displayCtrl (1600 + _i);
_menu ctrlShow false;
};
_grpPos = ctrlPosition _control;
_grpPos set [3,0];
_control ctrlSetPosition _grpPos;
_control ctrlShow false;
_control ctrlCommit 0;
};

dayz_eyeDir = {
private["_vval","_vdir"];
_vval = (eyeDirection _this);
_vdir = (_vval select 0) atan2 (_vval select 1);
if (_vdir < 0) then {_vdir = 360 + _vdir};
_vdir
};

DZE_getModelName = {
_objInfo = toArray(str(_this));
_lenInfo = count _objInfo - 1;
_objName = [];
_i = 0;
// determine where the object name starts
{
if (58 == _objInfo select _i) exitWith {};
_i = _i + 1;
} count _objInfo;
_i = _i + 2; // skip the ": " part
for "_k" from _i to _lenInfo do {
_objName set [(count _objName), (_objInfo select _k)];
};
_objName = toLower(toString(_objName));
_objName
};

dze_isnearest_player = {
private ["_notClosest","_playerDistance","_nearPlayers","_obj","_playerNear"];
if(!isNull _this) then {
_nearPlayers = _this nearEntities ["CAManBase", 12];
_playerNear = ({isPlayer _x} count _nearPlayers) > 1;
_notClosest = false;
if (_playerNear) then {
// check if another player is closer
_playerDistance = player distance _this;
{
if (_playerDistance > (_x distance _this)) exitWith { _notClosest = true; };
} count _nearPlayers;
};
} else {
_notClosest = false;
};
_notClosest
};

// trader menu code
if (DZE_ConfigTrader) then {
call compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_traderMenuConfig.sqf";
}else{
call compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_traderMenuHive.sqf";
};
// recent murders menu code
call compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_murderMenu.sqf";

//This is still needed but the fsm should terminate if any errors pop up.
[] spawn {
private["_timeOut","_display","_control1","_control2"];
disableSerialization;
_timeOut = 0;
dayz_loadScreenMsg = "";
diag_log "DEBUG: loadscreen guard started.";
_display = uiNameSpace getVariable "BIS_loadingScreen";
if (!isNil "_display") then {
_control1 = _display displayctrl 8400;
_control2 = _display displayctrl 102;
};
if (!isNil "dayz_DisplayGenderSelect") then {
waitUntil {!dayz_DisplayGenderSelect};
};

// 120 sec timeout (12000 * 0.01)
while { _timeOut < 12000 } do {
if (dayz_clientPreload && dayz_authed) exitWith
{
diag_log "PLOGIN: Login loop completed!";
endLoadingScreen;
};
if (!isNil "_display") then {
if ( isNull _display ) then {
waitUntil { !dialog; };
startLoadingScreen ["","RscDisplayLoadCustom"];
_display = uiNameSpace getVariable "BIS_loadingScreen";
_control1 = _display displayctrl 8400;
_control2 = _display displayctrl 102;
};

if ( dayz_loadScreenMsg != "" ) then {
_control1 ctrlSetText dayz_loadScreenMsg;
dayz_loadScreenMsg = "";
};

_control2 ctrlSetText format["%1",round(_timeOut*0.01)];
};

_timeOut = _timeOut + 1;

if (_timeOut >= 12000) then {
1 cutText [localize "str_player_login_timeout", "PLAIN DOWN"];
sleep 10;
endLoadingScreen;
endMission "END1";
};

sleep 0.01;
};
};

dayz_meleeMagazineCheck = {
private["_meleeNum","_magType"];
_magType = ([] + getArray (configFile >> "CfgWeapons" >> _wpnType >> "magazines")) select 0;
_meleeNum = ({_x == _magType} count magazines player);
if (_meleeNum < 1) then {
player addMagazine _magType;
};
};

dayz_originalPlayer = player;

progressLoadingScreen 0.8;
};

//Both
BIS_fnc_selectRandom = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\BIS_fnc\fn_selectRandom.sqf";
BIS_fnc_vectorAdd = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\BIS_fnc\fn_vectorAdd.sqf";
BIS_fnc_halo = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\BIS_fnc\fn_halo.sqf";
BIS_fnc_findNestedElement = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\BIS_fnc\fn_findNestedElement.sqf";
BIS_fnc_param = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\BIS_fnc\fn_param.sqf";

fnc_buildWeightedArray = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_buildWeightedArray.sqf"; //Checks which actions for nearby casualty
fnc_usec_damageVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_damageHandlerVehicle.sqf"; //Event handler run on damage

// object_vehicleKilled = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_vehicleKilled.sqf"; //Event handler run on damage
object_setHitServer = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_setHitServer.sqf"; //process the hit as a NORMAL damage (useful for persistent vehicles)
object_setFixServer = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_setFixServer.sqf"; //process the hit as a NORMAL damage (useful for persistent vehicles)
object_getHit = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_getHit.sqf"; //gets the hit value for a HitPoint (i.e. HitLegs) against the selection (i.e. "legs"), returns the value
object_setHit = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_setHit.sqf"; //process the hit as a NORMAL damage (useful for persistent vehicles)
object_processHit = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_processHit.sqf"; //process the hit in the REVO damage system (records && sets hit)
object_delLocal = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_delLocal.sqf";
// object_cargoCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_cargoCheck.sqf"; //Run by the player || server to monitor changes in cargo contents
fnc_usec_damageHandler = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_damageHandler.sqf"; //Event handler run on damage
fnc_veh_ResetEH = compile preprocessFileLineNumbers "\z\addons\dayz_code\init\veh_ResetEH.sqf"; //Initialize vehicle
// Vehicle damage fix
vehicle_handleDamage = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\vehicle_handleDamage.sqf";
vehicle_handleKilled = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\vehicle_handleKilled.sqf";
//fnc_vehicleEventHandler = compile preprocessFileLineNumbers "\z\addons\dayz_code\init\vehicle_init.sqf"; //Initialize vehicle
fnc_inString = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_inString.sqf";
fnc_isInsideBuilding = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_isInsideBuilding.sqf"; //_isInside = [_unit,_building] call fnc_isInsideBuilding;
fnc_isInsideBuilding2 = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_isInsideBuilding2.sqf"; //_isInside = [_unit,_building] call fnc_isInsideBuilding2;
fnc_isInsideBuilding3 = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_isInsideBuilding3.sqf"; //_isInside = [_unit,_building] call fnc_isInsideBuilding3;
dayz_zombieSpeak = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_speak.sqf"; //Used to generate random speech for a unit
vehicle_getHitpoints = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\vehicle_getHitpoints.sqf";
local_gutObject = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_gutObject.sqf"; //Generated on the server (|| local to unit) when gutting an object
local_lockUnlock = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_lockUnlock.sqf"; //When vehicle is local to unit perform locking vehicle
local_gutObjectZ = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_gutObjectZ.sqf"; //Generated on the server (|| local to unit) when gutting an object
local_zombieDamage = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_damageHandlerZ.sqf"; //Generated by the client who created a zombie to track damage
local_eventKill = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_eventKill.sqf"; //Generated when something is killed
//player_weaponCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_weaponCheck.sqf"; //Run by the player || server to monitor whether they have picked up a new weapon
curTimeStr = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_curTimeStr.sqf";
player_medBandage = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medBandaged.sqf";
player_medInject = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medInject.sqf";
player_medEpi = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medEpi.sqf";
player_medTransfuse = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medTransfuse.sqf";
player_medMorphine = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medMorphine.sqf";
player_breaklegs = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medBreakLegs.sqf";
player_medPainkiller = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medPainkiller.sqf";
world_isDay = {if ((daytime < (24 - dayz_sunRise)) && (daytime > dayz_sunRise)) then {true} else {false}};
player_humanityChange = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_humanityChange.sqf";
spawn_loot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\spawn_loot.sqf";
spawn_loot_small = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\spawn_loot_small.sqf";
// player_projectileNear = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_projectileNear.sqf";
FNC_GetSetPos = { //DO NOT USE IF YOU NEED ANGLE COMPENSATION!!!!
private "_pos";
_thingy = _this select 0;
_pos = getPosASL _thingy;
if (surfaceIsWater _pos) then {
_thingy setPosASL _pos;
} else {
_thingy setPosATL (ASLToATL _pos);
};
};
FNC_GetPos = {
private "_pos";
if (isNil {_this select 0}) exitWith {[0,0,0]};
_thingy = _this select 0;
_pos = getPosASL _thingy;
if !(surfaceIsWater _pos) then {
_pos = ASLToATL _pos;
};
_pos
};
local_setFuel = {
private["_qty","_vehicle"];
_vehicle = _this select 0;
_qty = _this select 1;
_vehicle setFuel _qty;
};
zombie_initialize = {
private ["_unit","_position"];
_unit = _this select 0;
if (isServer) then {
_unit addEventHandler ["local", {_this call zombie_findOwner}];
};
_id = _unit addeventhandler["HandleDamage", { _this call local_zombieDamage }];
_id = _unit addeventhandler["Killed", { [_this, "zombieKills"] call local_eventKill }];
};

dayz_EjectPlayer = {
// check if player in vehicle
private ["_noDriver","_vehicle","_inVehicle"];
_vehicle = vehicle player;
_inVehicle = (_vehicle != player);
if(_inVehicle) then {
_noDriver = ((_vehicle emptyPositions "driver") > 0);
if (_noDriver && (speed _vehicle) != 0) then {
player action [ "eject", _vehicle];
};
};
};

player_sumMedical = {
private["_character","_wounds","_legs","_arms","_medical"];
_character = _this;
_wounds = [];
if (_character getVariable["USEC_injured",false]) then {
{
if (_character getVariable[_x,false]) then {
_wounds set [count _wounds,_x];
};
} count USEC_typeOfWounds;
};
_legs = _character getVariable ["hit_legs",0];
_arms = _character getVariable ["hit_arms",0];
_medical = [
_character getVariable["USEC_isDead",false],
_character getVariable["NORRN_unconscious", false],
_character getVariable["USEC_infected",false],
_character getVariable["USEC_injured",false],
_character getVariable["USEC_inPain",false],
_character getVariable["USEC_isCardiac",false],
_character getVariable["USEC_lowBlood",false],
_character getVariable["USEC_BloodQty",12000],
_wounds,
[_legs,_arms],
_character getVariable["unconsciousTime",0],
_character getVariable["messing",[0,0]]
];
_medical
};

//Server Only
if (isServer) then {
call compile preprocessFileLineNumbers "\z\addons\dayz_server\init\server_functions.sqf";
} else {
eh_localCleanup = {};
};

initialized = true;

 

 

variables

 

disableSerialization;

//Model Variables
Bandit1_DZ = "Bandit1_DZ";
Bandit2_DZ = "Bandit2_DZ";
BanditW1_DZ = "BanditW1_DZ";
BanditW2_DZ = "BanditW2_DZ";
Survivor1_DZ = "Survivor2_DZ";
Survivor2_DZ = "Survivor2_DZ";
SurvivorW2_DZ = "SurvivorW2_DZ";
SurvivorW3_DZ = "SurvivorW2_DZ";
Sniper1_DZ = "Sniper1_DZ";
Camo1_DZ = "Camo1_DZ";
Soldier1_DZ = "Soldier1_DZ";
Rocket_DZ = "Rocket_DZ";

AllPlayers = ["Survivor2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWsequishaD_DZ","SurvivorWsequisha_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","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_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","FR_OHara_DZ","FR_Rodriguez_DZ","CZ_Soldier_Sniper_EP1_DZ","Graves_Light_DZ","GUE_Soldier_MG_DZ","GUE_Soldier_Sniper_DZ","GUE_Soldier_Crew_DZ","GUE_Soldier_CO_DZ","GUE_Soldier_2_DZ","TK_Special_Forces_MG_EP1_DZ","TK_Soldier_Sniper_EP1_DZ","TK_Commander_EP1_DZ","RU_Soldier_Crew_DZ","INS_Lopotev_DZ","INS_Soldier_AR_DZ","INS_Soldier_CO_DZ","INS_Bardak_DZ","INS_Worker2_DZ"];
MeleeWeapons = ["MeleeFishingPole","MeleeCrowbar","MeleeBaseBallBatNails","MeleeBaseBallBatBarbed","MeleeBaseBallBat","Crossbow_DZ","MeleeSledge","MeleeMachete","MeleeHatchet_DZE"];
gear_done = false;
//Cooking
meatraw = [
"FoodSteakRaw",
"FoodmeatRaw",
"FoodbeefRaw",
"FoodmuttonRaw",
"FoodchickenRaw",
"FoodrabbitRaw",
"FoodbaconRaw",
"ItemTrout",
"ItemSeaBass",
"ItemTuna"
];
exceptionsraw = ["ItemTuna"];
meatcooked = [
"FoodSteakCooked",
"FoodmeatCooked",
"FoodbeefCooked",
"FoodmuttonCooked",
"FoodchickenCooked",
"FoodrabbitCooked",
"FoodbaconCooked",
"ItemTroutCooked",
"ItemSeaBassCooked",
"ItemTunaCooked"
];
//Eating
no_output_food = ["FoodMRE", "FoodPistachio", "FoodNutmix","FoodBioMeat"]+meatcooked+meatraw;

// Food with increased chance for infection.
badfood = ["FoodBioMeat","FoodCanUnlabeled"];

food_with_output=[
"FoodCanBakedBeans",
"FoodCanSardines",
"FoodCanFrankBeans",
"FoodCanPasta",
"FoodCanGriff",
"FoodCanBadguy",
"FoodCanBoneboy",
"FoodCanCorn",
"FoodCanCurgon",
"FoodCanDemon",
"FoodCanFraggleos",
"FoodCanHerpy",
"FoodCanOrlok",
"FoodCanPowell",
"FoodCanTylers",
"FoodCanUnlabeled"
];

food_output = [
"TrashTinCan",
"TrashTinCan",
"TrashTinCan",
"TrashTinCan",
"FoodCanGriffEmpty",
"FoodCanBadguyEmpty",
"FoodCanBoneboyEmpty",
"FoodCanCornEmpty",
"FoodCanCurgonEmpty",
"FoodCanDemonEmpty",
"FoodCanFraggleosEmpty",
"FoodCanHerpyEmpty",
"FoodCanOrlokEmpty",
"FoodCanPowellEmpty",
"FoodCanTylersEmpty",
"FoodCanUnlabeledEmpty"
];
//Drinking
no_output_drink = ["ItemWaterbottle", "ItemWaterbottleBoiled"];
drink_with_output = [
"ItemSoda", //just to define item for ItemSodaEmpty
"ItemSodaRbull",
"ItemSodaOrangeSherbet",
"ItemSodaCoke",
"ItemSodaPepsi",
"ItemSodaMdew",
"ItemSodaMtngreen",
"ItemSodaR4z0r",
"ItemSodaClays",
"ItemSodaSmasht",
"ItemSodaDrwaste",
"ItemSodaLemonade",
"ItemSodaLvg",
"ItemSodaMzly",
"ItemSodaRabbit"
];
drink_output = [
"ItemSodaEmpty",
"ItemSodaEmpty",
"ItemSodaEmpty",
"ItemSodaCokeEmpty",
"ItemSodaPepsiEmpty",
"ItemSodaMdewEmpty",
"ItemSodaMtngreenEmpty",
"ItemSodaR4z0rEmpty",
"ItemSodaClaysEmpty",
"ItemSodaSmashtEmpty",
"ItemSodaDrwasteEmpty",
"ItemSodaLemonadeEmpty",
"ItemSodaLvgEmpty",
"ItemSodaMzlyEmpty",
"ItemSodaRabbitEmpty"
];
boil_tin_cans = [
"TrashTinCan",
"FoodCanGriffEmpty",
"FoodCanBadguyEmpty",
"FoodCanBoneboyEmpty",
"FoodCanCornEmpty",
"FoodCanCurgonEmpty",
"FoodCanDemonEmpty",
"FoodCanFraggleosEmpty",
"FoodCanHerpyEmpty",
"FoodCanOrlokEmpty",
"FoodCanPowellEmpty",
"FoodCanTylersEmpty",
"FoodCanUnlabeledEmpty",
"ItemSodaEmpty",
"ItemSodaCokeEmpty",
"ItemSodaPepsiEmpty",
"ItemSodaMdewEmpty",
"ItemSodaMtngreenEmpty",
"ItemSodaR4z0rEmpty",
"ItemSodaClaysEmpty",
"ItemSodaSmashtEmpty",
"ItemSodaDrwasteEmpty",
"ItemSodaLemonadeEmpty",
"ItemSodaLvgEmpty",
"ItemSodaMzlyEmpty",
"ItemSodaRabbitEmpty"
];

dayz_combination = "";
dayz_humanitytarget = "";
dayz_combatLog = "";
canRoll = true;

canbuild = true;

//Hunting Variables
dayZ_partClasses = [
"PartFueltank",
"PartWheel",
//"PartGeneric", //No need to add, it is default for everything
"PartEngine"
];
dayZ_explosiveParts = [
"palivo",
"motor"
];
//Survival Variables
SleepFood = 2160; //minutes (48 hours)
SleepWater = 1440; //minutes (24 hours)
SleepTemperatur = 90 / 100; //Firs Value = Minutes untill Player reaches the coldest Point at night (without other effects! night factor expected to be -1) //TeeChange

//Server Variables
allowConnection = false;
isSinglePlayer = false;
PVDZE_serverObjectMonitor = [];
PlayerDeaths = [];

//Streaming Variables (player only)
dayz_Locations = [];
dayz_locationsActive = [];

//GUI
Dayz_GUI_R = 0.38; // 0.7
Dayz_GUI_G = 0.63; // -0.63
Dayz_GUI_B = 0.26; // -0.26

//Player self-action handles
dayz_resetSelfActions = {
s_player_fire = -1;
s_player_cook = -1;
s_player_boil = -1;
s_player_fireout = -1;
s_player_butcher = -1;
s_player_packtent = -1;
s_player_packvault = -1;
s_player_lockvault = -1;
s_player_unlockvault = -1;
s_player_fillwater = -1;
s_player_fillwater2 = -1;
s_player_fillfuel = -1;
s_player_grabflare = -1;
s_player_callzombies = -1;
s_player_showname = -1;
s_player_debuglootpos = -1;
s_player_pzombiesattack = -1;
s_player_pzombiesvision = -1;
s_player_pzombiesfeed = -1;
s_player_removeflare = -1;
s_player_painkiller = -1;
s_player_studybody = -1;
s_player_tamedog = -1;
s_player_madsci_crtl = -1;
s_player_parts_crtl = -1;
s_build_Sandbag1_DZ = -1;
s_build_Hedgehog_DZ = -1;
s_build_Wire_cat1 = -1;
s_player_deleteBuild = -1;
s_player_forceSave = -1;
s_player_checkGear = -1;
s_player_flipveh = -1;
s_player_stats = -1;
s_player_sleep = -1;
s_player_movedog = -1;
s_player_speeddog = -1;
s_player_calldog = -1;
s_player_feeddog = -1;
s_player_waterdog = -1;
s_player_staydog = -1;
s_player_trackdog = -1;
s_player_barkdog = -1;
s_player_warndog = -1;
s_player_followdog = -1;
s_player_repair_crtl = -1;
s_player_information = -1;
s_player_fuelauto = -1;
s_player_fuelauto2 = -1;
s_player_fillgen = -1;
s_player_upgrade_build = -1;
s_player_maint_build = -1;
s_player_downgrade_build = -1;
s_player_towing = -1;
s_halo_action = -1;
s_player_SurrenderedGear = -1;
s_player_maintain_area = -1;
s_player_maintain_area_preview = -1;
s_player_heli_lift = -1;
s_player_heli_detach = -1;
s_player_lockUnlock_crtl = -1;
s_givemoney_dialog = -1;
s_bank_dialog = -1;
s_bank_dialog2 = -1;
s_player_packobj = -1;
};
call dayz_resetSelfActions;

//Engineering variables
s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull];
s_player_repairActions = [];
s_player_lockunlock = [];

// Custom
s_player_madsci = [];
s_player_parts = [];
s_player_combi = [];

//Initialize Medical Variables
r_interrupt = false;
r_doLoop = false;
r_self = false;
r_self_actions = [];
r_drag_sqf = false;
r_action = false;
r_action_unload = false;
r_player_handler = false;
r_player_handler1 = false;
r_player_dead = false;
r_player_unconscious = false;
r_player_infected = false;
r_player_injured = false;
r_player_inpain = false;
r_player_loaded = false;
r_player_cardiac = false;
r_fracture_legs = false;
r_fracture_arms = false;
r_player_vehicle = player;
r_player_blood = 12000;
r_player_lowblood = false;
r_player_timeout = 0;
r_player_bloodTotal = r_player_blood;
r_public_blood = r_player_blood;
r_player_bloodDanger = r_player_bloodTotal * 0.2;
r_player_actions = [];
r_handlerCount = 0;
r_action_repair = false;
r_action_targets = [];
r_pitchWhine = false;
r_isBandit = false;
isInTraderCity = false;
NORRN_dropAction = -1;
DZE_PROTOBOX = objNull;

//ammo routine
r_player_actions2 = [];
r_action2 = false;
r_player_lastVehicle = objNull;
r_player_lastSeat = [];
r_player_removeActions2 = {
if (!isNull r_player_lastVehicle) then {
{
r_player_lastVehicle removeAction _x;
} count r_player_actions2;
r_player_actions2 = [];
r_action2 = false;
};
};

USEC_woundHit = [
"",
"body",
"hands",
"legs",
"head_hit"
];
DAYZ_woundHit = [
[
"body",
"hands",
"legs",
"head_hit"
],
[ 0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,2,3]
];
DAYZ_woundHit_ok = [
[
"body",
"hands",
"legs"
],
[0,0,0,0,0,1,1,1,2,2]
];
DAYZ_woundHit_dog = [
[
"body",
"hands",
"legs"
],
[0,0,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2]
];
USEC_MinorWounds = [
"hands",
"legs"
];
USEC_woundPoint = [
["Pelvis","aimpoint"],
["aimpoint"], //,"RightShoulder","LeftShoulder"
["lelbow","relbow"],
["RightFoot","LeftFoot"],
["neck","pilot"]
];
USEC_typeOfWounds = [
"Pelvis",
"aimpoint",
"lelbow","relbow",
"RightFoot","LeftFoot",
"neck","pilot"
];

DZE_vehicleZwounds = [
"sklo predni L",
"sklo predni P",
"sklo zadni",
"sklo zadni L",
"sklo zadni P",
"sklo P",
"Glass1",
"Glass2",
"Glass3",
"Glass4",
"Glass5",
"Glass6"
];

DZE_HeliAllowTowFrom = [
"CH_47F_EP1_DZE",
"CH_47F_EP1_DZ",
"CH_47F_BAF",
"CH_47F_EP1",
"BAF_Merlin_DZE",
"CH53_DZE"
];

DZE_HeliAllowToTow = [
"hilux1_civil_1_open",
"HMMWV_Base",
"Lada_base",
"Offroad_DSHKM_base",
"Pickup_PK_base",
"SkodaBase",
"tractor",
"VWGolf",
"Volha_TK_CIV_Base_EP1",
"S1203_TK_CIV_EP1",
"SUV_Base_EP1",
"ArmoredSUV_Base_PMC",
"UAZ_Base",
"LandRover_Base",
"Ship"
];

//Initialize Zombie Variables
dayz_zombieTargetList = [
["SoldierWB",50],
["Air",500],
["LandVehicle",200]
];
PVDZE_plr_Hit = [];
PVDZE_obj_Publish = []; //used for eventhandler to spawn a mirror of players tent
PVDZE_plr_HideBody = objNull;
dayz_selectedVault = objNull;
dayz_selectedDoor = objNull;

PVDZE_veh_Publish = []; // for vehicle traders
PVDZE_obj_Trade = []; // For all traders increment qty
PVDZE_plr_TradeMenu = []; // For all traders
PVDZE_plr_DeathB = [];

//DayZ settings
dayz_dawn = 6;
dayz_dusk = 18;
DAYZ_agentnumber = 0;
dayz_animalDistance = 800;
dayz_zSpawnDistance = 1000;

dayz_maxMaxModels = 80; // max quantity of Man models (player || Z, dead || alive) around players. Below this limit we can spawn Z // max quantity of loot piles around players. Below this limit we can spawn some loot
dayz_spawnArea = 200; // radius around player where we can spawn loot & Z
dayz_cantseeDist = 150; // distance from which we can spawn a Z in front of any player without ray-tracing && angle checks
dayz_cantseefov = 70; // half player field-of-view. Visible Z won't be spawned in front of any near players
dayz_canDelete = 300; // Z, further than this distance from its "owner", will be deleted

if(isNil "DZE_SelfTransfuse") then {
DZE_SelfTransfuse = false;
};
if(isNil "dayz_maxAnimals") then {
dayz_maxAnimals = 5;
};
if(isNil "timezoneswitch") then {
timezoneswitch = 0;
};
if(isNil "dayz_maxLocalZombies") then {
dayz_maxLocalZombies = 15;
};
if(isNil "dayz_maxGlobalZombiesInit") then {
dayz_maxGlobalZombiesInit = 15;
};
if(isNil "dayz_maxGlobalZombiesIncrease") then {
dayz_maxGlobalZombiesIncrease = 5;
};
if(isNil "dayz_maxZeds") then {
dayz_maxZeds = 500;
};
if (isNil "DZE_PlayerZed") then {
DZE_PlayerZed = true;
};
if (isNil "DZE_GodModeBase") then {
DZE_GodModeBase = false;
};
if(isNil "DZEdebug") then {
DZEdebug = false;
};
if (isNil "DZE_Debug_Damage") then {
DZE_Debug_Damage = true;
};
if(isNil "DZE_TRADER_SPAWNMODE") then {
DZE_TRADER_SPAWNMODE = false;
};
if(isNil "dayz_tameDogs") then {
dayz_tameDogs = false;
};
if(isNil "dayz_sellDistance_vehicle") then {
dayz_sellDistance_vehicle = 10;
};
if(isNil "dayz_sellDistance_boat") then {
dayz_sellDistance_boat = 30;
};
if(isNil "dayz_sellDistance_air") then {
dayz_sellDistance_air = 40;
};
if(isNil "dayz_paraSpawn") then {
dayz_paraSpawn = false;
};
if(isNil "dayz_minpos") then {
dayz_minpos = -20000;
};
if(isNil "dayz_maxpos") then {
dayz_maxpos = 20000;
};
if(isNil "DZE_BuildingLimit") then {
DZE_BuildingLimit = 150;
};
if(isNil "DZE_HumanityTargetDistance") then {
DZE_HumanityTargetDistance = 25;
};
if(isNil "DZE_FriendlySaving") then {
DZE_FriendlySaving = true;
};
if(isNil "DZE_BuildOnRoads") then {
DZE_BuildOnRoads = false;
};
if(isNil "DZE_MissionLootTable") then {
DZE_MissionLootTable = false;
};
if(isNil "DZE_ConfigTrader") then {
DZE_ConfigTrader = false;
};
if(isNil "DZE_LootSpawnTimer") then {
DZE_LootSpawnTimer = 10;
};
if(isNil "DZE_HeliLift") then {
DZE_HeliLift = true;
};
if(isNil "DZE_DamageBeforeMaint") then {
DZE_DamageBeforeMaint = 0.09;
};
if(isNil "DZE_StaticConstructionCount") then {
DZE_StaticConstructionCount = 0;
};
if (isNil "DZE_selfTransfuse_Values") then {
DZE_selfTransfuse_Values = [12000, 15, 300];
};

// needed on server
if(isNil "DZE_PlotPole") then {
DZE_PlotPole = [30,45];
};
if(isNil "DZE_maintainRange") then {
DZE_maintainRange = ((DZE_PlotPole select 0)+20);
};

DZE_REPLACE_WEAPONS = [["Crossbow","ItemMatchbox","ItemHatchet"],["Crossbow_DZ","ItemMatchbox_DZE","ItemHatchet_DZE"]];

if(isNil "dayz_zedSpawnVehCount") then {
dayz_zedSpawnVehCount = dayz_maxLocalZombies / 2;
};
if(isNil "dayz_spawnAirCount") then {
dayz_spawnAirCount = 0;
};
if(isNil "dayz_zedsAttackVehicles") then {
dayz_zedsAttackVehicles = true;
};

// update objects
dayz_updateObjects = ["Plane","Tank","Car", "Helicopter", "Motorcycle", "Ship", "TentStorage", "VaultStorage","LockboxStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ","Scaffolding_DZ"];
dayz_disallowedVault = ["TentStorage", "BuiltItems","ModularItems","DZE_Base_Object"];
dayz_reveal = ["AllVehicles","WeaponHolder","Land_A_tent","BuiltItems","ModularItems","DZE_Base_Object"];
dayz_allowedObjects = ["TentStorage","TentStorageDomed","TentStorageDomed2", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","BagFenceRound_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","Generator_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","FireBarrel_DZ","WoodCrate_DZ","Scaffolding_DZ"];

DZE_LockableStorage = ["VaultStorage","VaultStorageLocked","LockboxStorageLocked","LockboxStorage"];
DZE_LockedStorage = ["VaultStorageLocked","LockboxStorageLocked"];
DZE_UnLockedStorage = ["VaultStorage","LockboxStorage"];
DZE_maintainClasses = ["ModularItems","DZE_Housebase","LightPole_DZ","BuiltItems","Plastic_Pole_EP1_DZ","Fence_corrugated_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","StickFence_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","DeerStand_DZ","Scaffolding_DZ","FireBarrel_DZ"];

DZE_DoorsLocked = ["Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallDoorLocked_DZ","CinderWallDoorSmallLocked_DZ"];

// List of removable items that require crowbar
DZE_isRemovable = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","Plastic_Pole_EP1_DZ","FireBarrel_DZ","Scaffolding_DZ"];
DZE_isWreck = ["SKODAWreck","HMMWVWreck","UralWreck","datsun01Wreck","hiluxWreck","datsun02Wreck","UAZWreck","Land_Misc_Garb_Heap_EP1","Fort_Barricade_EP1","Rubbish2"];
DZE_isWreckBuilding = ["Land_wreck_cinder","Land_wood_wreck_quarter","Land_wood_wreck_floor","Land_wood_wreck_third","Land_wood_wreck_frame","Land_iron_vein_wreck","Land_silver_vein_wreck","Land_gold_vein_wreck","Land_ammo_supply_wreck"];
DZE_isNewStorage = ["VaultStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ"];

// These work with just a running generator
dayz_fuelpumparray = ["FuelPump_DZ","Land_A_FuelStation_Feed","Land_Ind_FuelStation_Feed_EP1","Land_FuelStation_Feed_PMC","FuelStation","Land_ibr_FuelStation_Feed","Land_fuelstation_army","Land_fuelstation","land_fuelstation_w","Land_benzina_schnell"];
DZE_fueltruckarray = ["KamazRefuel_DZ","UralRefuel_TK_EP1_DZ","MtvrRefuel_DES_EP1_DZ","V3S_Refuel_TK_GUE_EP1_DZ","MtvrRefuel_DZ","KamazRefuel_DZE","UralRefuel_TK_EP1_DZE","MtvrRefuel_DES_EP1_DZE","V3S_Refuel_TK_GUE_EP1_DZE","MtvrRefuel_DZE"];

// Standard Fuel sources
dayz_fuelsources = ["Land_Ind_TankSmall","Land_fuel_tank_big","Land_fuel_tank_stairs","Land_fuel_tank_stairs_ep1","Land_wagon_tanker","Land_fuelstation","Land_fuelstation_army","land_fuelstation_w","Land_benzina_schnell"];

DZE_Lock_Door = "";

//init global arrays for Loot Chances
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\loot_init.sqf";

if(isServer) then {
dayz_players = [];
dead_bodyCleanup = [];
needUpdate_objects = [];

DZE_DYN_AntiStuck = 0;
DZE_DYN_AntiStuck2nd = 0;
DZE_DYN_AntiStuck3rd = 0;

if(isNil "dayz_fullMoonNights") then {
dayz_fullMoonNights = false;
};
if(isNil "EpochEvents") then {
EpochEvents = [];
};
if(isNil "DZE_vehicleAmmo") then {
DZE_vehicleAmmo = 0;
};

if(isNil "DZE_BackpackGuard") then {
DZE_BackpackGuard = true;
};

if(isNil "DZE_CleanNull") then {
DZE_CleanNull = false;
};
if (isNil "DZE_DeathMsgGlobal") then {
DZE_DeathMsgGlobal = false;
};
if (isNil "DZE_DeathMsgSide") then {
DZE_DeathMsgSide = false;
};
if (isNil "DZE_DeathMsgTitleText") then {
DZE_DeathMsgTitleText = false;
};
DZE_safeVehicle = ["ParachuteWest","ParachuteC"];
};

if(!isDedicated) then {

dayz_spawnPos = getPosATL player;

dayz_buildingMonitor = []; //Buildings to check
dayz_bodyMonitor = [];

// weather control var
zeroPreviousWeather = [0,0,[0,0],0];
zeroCurrentWeather = [0,0,[0,0],0];

if (DZE_MissionLootTable) then {
dayz_baseTypes = getArray (missionConfigFile >> "CfgBuildingLoot" >> "Default" >> "zombieClass");
} else {
dayz_baseTypes = getArray (configFile >> "CfgBuildingLoot" >> "Default" >> "zombieClass");
};


//temperature variables
dayz_temperatur = 36; //TeeChange
dayz_temperaturnormal = 36; //TeeChange
dayz_temperaturmax = 42; //TeeChange
dayz_temperaturmin = 27; //TeeChange

//player special variables
dayZ_lastPlayerUpdate = 0;
dayZ_everyonesTents = [];
dayz_hunger = 0;
dayz_thirst = 0;
dayz_combat = 0;
dayz_preloadFinished = false;
dayz_statusArray = [1,1];
dayz_disAudial = 0;
dayz_disVisual = 0;
dayz_firedCooldown = 0;
dayz_DeathActioned = false;
dayz_canDisconnect = true;
dayz_damageCounter = time;
dayz_lastSave = time;
dayz_isSwimming = true;
dayz_isKneeling = false;
dayz_isCrawling = false;
dayz_PreviousTown = "Wilderness";
dayz_currentDay = 0;
dayz_hasLight = false;
dayz_surfaceNoise = 0;
dayz_surfaceType = "None";
dayz_noPenalty = [];
dayz_heavenCooldown = 0;
deathHandled = false;
dayz_lastHumanity = 0;
dayz_guiHumanity = -90000;
dayz_firstGroup = group player;
dayz_originalPlayer = player;
dayz_sourceBleeding = objNull;
dayz_clientPreload = false;
dayz_authed = false;
dayz_panicCooldown = 0;
dayz_areaAffect = 2.5;
dayz_heartBeat = false;
dayzClickTime = 0;
//Current local
dayz_spawnZombies = 0;
dayz_swarmSpawnZombies = 0;
//Max local
dayz_maxLocalZombies = 30; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z
//Current NearBy
dayz_CurrentNearByZombies = 0;
//Max NearBy
dayz_maxNearByZombies = 60; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z
//Current total
dayz_currentGlobalZombies = 0;
//Max global zeds.
dayz_maxGlobalZeds = 3000;
dayz_spawnDelay = 120;
dayz_spawnWait = -120;
dayz_lootDelay = 3;
dayz_lootWait = -300;
//used to count global zeds around players
dayz_CurrentZombies = 0;
//Used to limit overall zed counts
dayz_tickTimeOffset = 0;
dayz_currentWeaponHolders = 0;
dayz_maxMaxWeaponHolders = 80;
dayz_maxCurrentZeds = 0;
dayz_inVehicle = false;
dayz_Magazines = [];
dayzGearSave = false;
dayz_unsaved = false;
dayz_scaleLight = 0;
dayzDebug = false;
dayzState = -1;
//uiNamespace setVariable ['DAYZ_GUI_display',displayNull];
//if (uiNamespace getVariable ['DZ_displayUI', 0] == 2) then {
// dayzDebug = true;
//};

DZE_ActionInProgress = false;

// DayZ Epoch Client only variables
if(isNil "DZE_AllowForceSave") then {
DZE_AllowForceSave = false;
};
if(isNil "DZE_AllowCargoCheck") then {
DZE_AllowCargoCheck = true;
};
if(isNil "DZE_ForceNameTags") then {
DZE_ForceNameTags = false;
};
if(isNil "DZE_ForceNameTagsOff") then {
DZE_ForceNameTagsOff = false;
};
if(isNil "DZE_ForceNameTagsInTrader") then {
DZE_ForceNameTagsInTrader = false;
};
if(isNil "DZE_HaloJump") then {
DZE_HaloJump = true;
};

if(isNil "DZE_AntiWallLimit") then {
DZE_AntiWallLimit = 3;
};
if(isNil "DZE_requireplot") then {
DZE_requireplot = 1;
};
if(isNil "DZE_R3F_WEIGHT") then {
DZE_R3F_WEIGHT = true;
};


DZE_AntiWallCounter = 0;

DZE_FreshSpawn = false;

DZE_myHaloVehicle = objNull;
dayz_myLiftVehicle = objNull;

DZE_Friends = [];

DZE_CanPickup = true;
DZE_Q = false;
DZE_Z = false;

DZE_Q_alt = false;
DZE_Z_alt = false;

DZE_Q_ctrl = false;
DZE_Z_ctrl = false;

DZE_5 = false;
DZE_4 = false;
DZE_6 = false;

DZE_cancelBuilding = false;
DZE_PZATTACK = false;

DZE_trees = ["t_picea2s_snow.p3d","b_corylus.p3d","t_quercus3s.p3d","t_larix3s.p3d","t_pyrus2s.p3d","str_briza_kriva.p3d","dd_borovice.p3d","les_singlestrom_b.p3d","les_singlestrom.p3d","smrk_velky.p3d","smrk_siroky.p3d","smrk_maly.p3d","les_buk.p3d","str krovisko vysoke.p3d","str_fikovnik_ker.p3d","str_fikovnik.p3d","str vrba.p3d","hrusen2.p3d","str dub jiny.p3d","str lipa.p3d","str briza.p3d","p_akat02s.p3d","jablon.p3d","p_buk.p3d","str_topol.p3d","str_topol2.p3d","p_osika.p3d","t_picea3f.p3d","t_picea2s.p3d","t_picea1s.p3d","t_fagus2w.p3d","t_fagus2s.p3d","t_fagus2f.p3d","t_betula1f.p3d","t_betula2f.p3d","t_betula2s.p3d","t_betula2w.p3d","t_alnus2s.p3d","t_acer2s.p3d","t_populus3s.p3d","t_quercus2f.p3d","t_sorbus2s.p3d","t_malus1s.p3d","t_salix2s.p3d","t_picea1s_w.p3d","t_picea2s_w.p3d","t_ficusb2s_ep1.p3d","t_populusb2s_ep1.p3d","t_populusf2s_ep1.p3d","t_amygdalusc2s_ep1.p3d","t_pistacial2s_ep1.p3d","t_pinuse2s_ep1.p3d","t_pinuss3s_ep1.p3d","t_prunuss2s_ep1.p3d","t_pinusn2s.p3d","t_pinusn1s.p3d","t_pinuss2f.p3d","t_poplar2f_dead_pmc.p3d","misc_torzotree_pmc.p3d","misc_burnspruce_pmc.p3d","brg_cocunutpalm8.p3d","brg_umbrella_acacia01b.p3d","brg_jungle_tree_canopy_1.p3d","brg_jungle_tree_canopy_2.p3d","brg_cocunutpalm4.p3d","brg_cocunutpalm3.p3d","palm_01.p3d","palm_02.p3d","palm_03.p3d","palm_04.p3d","palm_09.p3d","palm_10.p3d","brg_cocunutpalm2.p3d","brg_jungle_tree_antiaris.p3d","brg_cocunutpalm1.p3d","str habr.p3d"];
DZE_TEMP_treedmg = 1;

DZE_Surrender = false;
DZE_Quarantine = false;
DZE_InRadiationZone = false;

DZE_SaveTime = 30;
};

 

 

fn_selfActions

 

scriptName "Functions\misc\fn_selfActions.sqf";

private ["_isWreckBuilding","_temp_keys","_magazinesPlayer","_isPZombie","_vehicle","_inVehicle","_hasFuelE","_hasRawMeat","_hasKnife","_hasToolbox","_onLadder","_nearLight","_canPickLight","_canDo","_text","_isHarvested","_isVehicle","_isVehicletype","_isMan","_traderType","_ownerID","_isAnimal","_isDog","_isZombie","_isDestructable","_isTent","_isFuel","_isAlive","_Unlock","_lock","_buy","_dogHandle","_lieDown","_warn","_hastinitem","_allowedDistance","_menu","_menu1","_humanity_logic","_low_high","_cancel","_metals_trader","_traderMenu","_isWreck","_isRemovable","_isDisallowRepair","_rawmeat","_humanity","_speed","_dog","_hasbottleitem","_isAir","_isShip","_playersNear","_findNearestGens","_findNearestGen","_IsNearRunningGen","_cursorTarget","_isnewstorage","_itemsPlayer","_ownerKeyId","_typeOfCursorTarget","_hasKey","_oldOwner","_combi","_key_colors","_player_deleteBuild","_player_flipveh","_player_lockUnlock_crtl","_player_butcher","_player_studybody","_player_cook","_player_boil","_hasFuelBarrelE","_hasHotwireKit","_player_SurrenderedGear","_isSurrendered","_isModular","_isModularDoor","_ownerKeyName","_temp_keys_names","_hasAttached","_allowTow","_liftHeli","_found","_posL","_posC","_height","_liftHelis","_attached"];

if (DZE_ActionInProgress) exitWith {};

_vehicle = vehicle player;
_isPZombie = player isKindOf "PZombie_VB";
_inVehicle = (_vehicle != player);
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
_canDo = (!r_drag_sqf && !r_player_unconscious && !_onLadder);
_nearLight = nearestObject [player,"LitObject"];
_canPickLight = false;

if (!isNull _nearLight) then {
if (_nearLight distance player < 4) then {
_canPickLight = isNull (_nearLight getVariable ["owner",objNull]);
};
};

if (_canPickLight && !dayz_hasLight && !_isPZombie) then {
if (s_player_grabflare < 0) then {
_text = getText (configFile >> "CfgAmmo" >> (typeOf _nearLight) >> "displayName");
s_player_grabflare = player addAction [format[localize "str_actions_medical_15",_text], "\z\addons\dayz_code\actions\flare_pickup.sqf",_nearLight, 1, false, true, "", ""];
s_player_removeflare = player addAction [format[localize "str_actions_medical_17",_text], "\z\addons\dayz_code\actions\flare_remove.sqf",_nearLight, 1, false, true, "", ""];
};
} else {
player removeAction s_player_grabflare;
player removeAction s_player_removeflare;
s_player_grabflare = -1;
s_player_removeflare = -1;
};

if (DZE_HeliLift) then {
_hasAttached = _vehicle getVariable["hasAttached",false];
if(_inVehicle && (_vehicle isKindOf "Air") && ((([_vehicle] call FNC_getPos) select 2) < 30) && (speed _vehicle < 5) && (typeName _hasAttached == "OBJECT")) then {
if (s_player_heli_detach < 0) then {
dayz_myLiftVehicle = _vehicle;
s_player_heli_detach = dayz_myLiftVehicle addAction ["Detach Vehicle","\z\addons\dayz_code\actions\player_heliDetach.sqf",[dayz_myLiftVehicle,_hasAttached],2,false,true,"",""];
};
} else {
dayz_myLiftVehicle removeAction s_player_heli_detach;
s_player_heli_detach = -1;
};
};

if(DZE_HaloJump) then {
if(_inVehicle && (_vehicle isKindOf "Air") && ((([_vehicle] call FNC_getPos) select 2) > 400)) then {
if (s_halo_action < 0) then {
DZE_myHaloVehicle = _vehicle;
s_halo_action = DZE_myHaloVehicle addAction [localize "STR_EPOCH_ACTIONS_HALO","\z\addons\dayz_code\actions\halo_jump.sqf",[],2,false,true,"",""];
};
} else {
DZE_myHaloVehicle removeAction s_halo_action;
s_halo_action = -1;
};
};

if (!DZE_ForceNameTagsOff) then {
if (s_player_showname < 0 && !_isPZombie) then {
if (DZE_ForceNameTags) then {
s_player_showname = 1;
player setVariable["DZE_display_name",true,true];
} else {
s_player_showname = player addAction [localize "STR_EPOCH_ACTIONS_NAMEYES", "\z\addons\dayz_code\actions\display_name.sqf",true, 0, true, false, "",""];
s_player_showname1 = player addAction [localize "STR_EPOCH_ACTIONS_NAMENO", "\z\addons\dayz_code\actions\display_name.sqf",false, 0, true, false, "",""];
};
};
};

if(_isPZombie) then {
if (s_player_callzombies < 0) then {
s_player_callzombies = player addAction [localize "STR_EPOCH_ACTIONS_RAISEHORDE", "\z\addons\dayz_code\actions\call_zombies.sqf",player, 5, true, false, "",""];
};
if (DZE_PZATTACK) then {
call pz_attack;
DZE_PZATTACK = false;
};
if (s_player_pzombiesvision < 0) then {
s_player_pzombiesvision = player addAction [localize "STR_EPOCH_ACTIONS_NIGHTVIS", "\z\addons\dayz_code\actions\pzombie\pz_vision.sqf", [], 4, false, true, "nightVision", "_this == _target"];
};
if (!isNull cursorTarget && (player distance cursorTarget < 3)) then {
_isAnimal = cursorTarget isKindOf "Animal";
_isZombie = cursorTarget isKindOf "zZombie_base";
_isHarvested = cursorTarget getVariable["meatHarvested",false];
_isMan = cursorTarget isKindOf "Man";
if (!alive cursorTarget && (_isAnimal || _isMan) && !_isZombie && !_isHarvested) then {
if (s_player_pzombiesfeed < 0) then {
s_player_pzombiesfeed = player addAction [localize "STR_EPOCH_ACTIONS_FEED", "\z\addons\dayz_code\actions\pzombie\pz_feed.sqf",cursorTarget, 3, true, false, "",""];
};
} else {
player removeAction s_player_pzombiesfeed;
s_player_pzombiesfeed = -1;
};
} else {
player removeAction s_player_pzombiesfeed;
s_player_pzombiesfeed = -1;
};
};

_allowedDistance = 4;
_isAir = cursorTarget isKindOf "Air";
_isShip = cursorTarget isKindOf "Ship";

if(_isAir || _isShip) then {
_allowedDistance = 8;
};

if (!isNull cursorTarget && !_inVehicle && !_isPZombie && (player distance cursorTarget < _allowedDistance) && _canDo) then { //Has some kind of target

_cursorTarget = cursorTarget;
_typeOfCursorTarget = typeOf _cursorTarget;
_isVehicle = _cursorTarget isKindOf "AllVehicles";
_isVehicletype = _typeOfCursorTarget in ["ATV_US_EP1","ATV_CZ_EP1"];
_isnewstorage = _typeOfCursorTarget in DZE_isNewStorage;
_magazinesPlayer = magazines player;
_hasbottleitem = "ItemWaterbottle" in _magazinesPlayer;
_hastinitem = false;

{
if (_x in _magazinesPlayer) then {
_hastinitem = true;
};
} count boil_tin_cans;

_hasFuelE = "ItemJerrycanEmpty" in _magazinesPlayer;
_hasFuelBarrelE = "ItemFuelBarrelEmpty" in _magazinesPlayer;
_hasHotwireKit = "ItemHotwireKit" in _magazinesPlayer;
_itemsPlayer = items player;
_temp_keys = [];
_temp_keys_names = [];
_key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];

{
if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in _key_colors) then {
_ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid");
_ownerKeyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName");
_temp_keys_names set [_ownerKeyId,_ownerKeyName];
_temp_keys set [count _temp_keys,str(_ownerKeyId)];
};
} count _itemsPlayer;

_hasKnife = "ItemKnife" in _itemsPlayer;
_hasToolbox = "ItemToolbox" in _itemsPlayer;
_isMan = _cursorTarget isKindOf "Man";
_traderType = _typeOfCursorTarget;
_ownerID = _cursorTarget getVariable ["CharacterID","0"];
_isAnimal = _cursorTarget isKindOf "Animal";
_isDog = (_cursorTarget isKindOf "DZ_Pastor" || _cursorTarget isKindOf "DZ_Fin");
_isZombie = _cursorTarget isKindOf "zZombie_base";
_isDestructable = _cursorTarget isKindOf "BuiltItems";
_isWreck = _typeOfCursorTarget in DZE_isWreck;
_isWreckBuilding = _typeOfCursorTarget in DZE_isWreckBuilding;
_isModular = _cursorTarget isKindOf "ModularItems";
_isModularDoor = _typeOfCursorTarget in ["Land_DZE_WoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_GarageWoodDoor","CinderWallDoor_DZ","CinderWallDoorSmall_DZ"];
_isRemovable = _typeOfCursorTarget in DZE_isRemovable;
_isDisallowRepair = _typeOfCursorTarget in ["M240Nest_DZ"];
_isTent = _cursorTarget isKindOf "TentStorage";
_isAlive = alive _cursorTarget;
_text = getText (configFile >> "CfgVehicles" >> _typeOfCursorTarget >> "displayName");
_rawmeat = meatraw;
_hasRawMeat = false;

{
if (_x in _magazinesPlayer) then {
_hasRawMeat = true;
};
} count _rawmeat;

_isFuel = false;

if (_hasFuelE || _hasFuelBarrelE) then {
{
if(_cursorTarget isKindOf _x) exitWith {_isFuel = true;};
} count dayz_fuelsources;
};

_player_flipveh = false;
_player_deleteBuild = false;
_player_lockUnlock_crtl = false;

if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then {
if (s_player_maintain_area < 0) then {
s_player_maintain_area = player addAction [format["%1",localize "STR_EPOCH_ACTIONS_MAINTAREA"], "ZSC\compiles\maintain_area.sqf", "maintain", 5, false];
s_player_maintain_area_preview = player addAction [format["%1",localize "STR_EPOCH_ACTIONS_MAINTPREV"], "ZSC\compiles\maintain_area.sqf", "preview", 5, false];
};
} else {
player removeAction s_player_maintain_area;
s_player_maintain_area = -1;
player removeAction s_player_maintain_area_preview;
s_player_maintain_area_preview = -1;
};

if(_isAlive) then {

if(_isDestructable || _isWreck || _isRemovable || _isWreckBuilding) then {
if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
_player_deleteBuild = true;
};
};

if(_isModular && (dayz_characterID == _ownerID)) then {
if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
_player_deleteBuild = true;
};
};

if(_isModularDoor && (dayz_characterID == _ownerID)) then {
if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
_player_deleteBuild = true;
};
};

if(_isVehicle) then {

if (!(canmove _cursorTarget) && (player distance _cursorTarget >= 2) && (count (crew _cursorTarget))== 0 && ((vectorUp _cursorTarget) select 2) < 0.5) then {
_playersNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]);
if(_isVehicletype || (_playersNear >= 2)) then {
_player_flipveh = true;
};
};

if(!_isMan && _ownerID != "0" && !(_cursorTarget isKindOf "Bicycle")) then {
_player_lockUnlock_crtl = true;
};
};
};

if(_player_deleteBuild) then {
if (s_player_deleteBuild < 0) then {
s_player_deleteBuild = player addAction [format[localize "str_actions_delete",_text], "\z\addons\dayz_code\actions\remove.sqf",_cursorTarget, 1, true, true, "", ""];
};
} else {
player removeAction s_player_deleteBuild;
s_player_deleteBuild = -1;
};

if (DZE_HeliLift) then {

_liftHeli = objNull;
_found = false;
_allowTow = false;

if ((count (crew _cursorTarget)) == 0) then {
{
if(!_allowTow) then {
_allowTow = _cursorTarget isKindOf _x;
};
} count DZE_HeliAllowToTow;
};

if (_allowTow) then {
_liftHelis = nearestObjects [player, DZE_HeliAllowTowFrom, 15];
{
if(!_found) then {
_posL = [_x] call FNC_getPos;
_posC = [_cursorTarget] call FNC_getPos;
_height = (_posL select 2) - (_posC select 2);
_hasAttached = _x getVariable["hasAttached",false];
if(_height < 15 && _height > 5 && (typeName _hasAttached != "OBJECT")) then {
if(((abs((_posL select 0) - (_posC select 0))) < 10) && ((abs((_posL select 1) - (_posC select 1))) < 10)) then {
_liftHeli = _x;
_found = true;
};
};
};
} count _liftHelis;
};

_attached = _cursorTarget getVariable["attached",false];

if(_found && _allowTow && _canDo && !locked _cursorTarget && !_isPZombie && (typeName _attached != "OBJECT")) then {
if (s_player_heli_lift < 0) then {
s_player_heli_lift = player addAction ["Attach to Heli", "\z\addons\dayz_code\actions\player_heliLift.sqf",[_liftHeli,_cursorTarget], -10, false, true, "",""];
};
} else {
player removeAction s_player_heli_lift;
s_player_heli_lift = -1;
};
};

if(_player_lockUnlock_crtl) then {
if (s_player_lockUnlock_crtl < 0) then {
_hasKey = _ownerID in _temp_keys;
_oldOwner = (_ownerID == dayz_playerUID);
if(locked _cursorTarget) then {
if(_hasKey || _oldOwner) then {
_Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\unlock_veh.sqf",[_cursorTarget,(_temp_keys_names select (parseNumber _ownerID))], 2, true, true, "", ""];
s_player_lockunlock set [count s_player_lockunlock,_Unlock];
s_player_lockUnlock_crtl = 1;
} else {
if(_hasHotwireKit) then {
_Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_HOTWIRE",_text], "\z\addons\dayz_code\actions\hotwire_veh.sqf",_cursorTarget, 2, true, true, "", ""];
} else {
_Unlock = player addAction [format["%1",localize "STR_EPOCH_ACTIONS_VEHLOCKED"], "",_cursorTarget, 2, true, true, "", ""];
};
s_player_lockunlock set [count s_player_lockunlock,_Unlock];
s_player_lockUnlock_crtl = 1;
};
} else {
if(_hasKey || _oldOwner) then {
_lock = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\lock_veh.sqf",_cursorTarget, 1, true, true, "", ""];
s_player_lockunlock set [count s_player_lockunlock,_lock];
s_player_lockUnlock_crtl = 1;
};
};
};
} else {
{player removeAction _x} count s_player_lockunlock;s_player_lockunlock = [];
s_player_lockUnlock_crtl = -1;
};

if(DZE_AllowForceSave) then {

if((_isVehicle || _isTent) && !_isMan) then {
if (s_player_forceSave < 0) then {
s_player_forceSave = player addAction [format[localize "str_actions_save",_text], "\z\addons\dayz_code\actions\forcesave.sqf",_cursorTarget, 1, true, true, "", ""];
};
} else {
player removeAction s_player_forceSave;
s_player_forceSave = -1;
};
};



if(DZE_AllowCargoCheck) then {
if((_isVehicle || _isTent || _isnewstorage) && _isAlive && !_isMan && !locked _cursorTarget) then {
if (s_player_checkGear < 0) then {
s_player_checkGear = player addAction [localize "STR_EPOCH_PLAYER_CARGO", "\z\addons\dayz_code\actions\cargocheck.sqf",_cursorTarget, 1, true, true, "", ""];
};
} else {
player removeAction s_player_checkGear;
s_player_checkGear = -1;
};
};

if(_player_flipveh) then {
if (s_player_flipveh < 0) then {
s_player_flipveh = player addAction [format[localize "str_actions_flipveh",_text], "\z\addons\dayz_code\actions\player_flipvehicle.sqf",_cursorTarget, 1, true, true, "", ""];
};
} else {
player removeAction s_player_flipveh;
s_player_flipveh = -1;
};

if((_hasFuelE || _hasFuelBarrelE) && _isFuel) then {
if (s_player_fillfuel < 0) then {
s_player_fillfuel = player addAction [localize "str_actions_self_10", "\z\addons\dayz_code\actions\jerry_fill.sqf",[], 1, false, true, "", ""];
};
} else {
player removeAction s_player_fillfuel;
s_player_fillfuel = -1;
};

_player_butcher = false;
_player_studybody = false;
_player_SurrenderedGear = false;

if (!_isAlive) then {

if((_isAnimal || _isZombie) && _hasKnife) then {
_isHarvested = _cursorTarget getVariable["meatHarvested",false];
if (!_isHarvested) then {
_player_butcher = true;
};
};

if (_isMan && !_isZombie && !_isAnimal) then {
_player_studybody = true;
}
} else {

if(_isMan && !_isZombie && !_isAnimal) then {
_isSurrendered = _cursorTarget getVariable ["DZE_Surrendered",false];
if (_isSurrendered) then {
_player_SurrenderedGear = true;
};
};
};

if (_player_butcher) then {
if (s_player_butcher < 0) then {
if(_isZombie) then {
s_player_butcher = player addAction [localize "STR_EPOCH_ACTIONS_GUTZOM", "\z\addons\dayz_code\actions\gather_zparts.sqf",_cursorTarget, 0, true, true, "", ""];
} else {
s_player_butcher = player addAction [localize "str_actions_self_04", "\z\addons\dayz_code\actions\gather_meat.sqf",_cursorTarget, 3, true, true, "", ""];
};
};
} else {
player removeAction s_player_butcher;
s_player_butcher = -1;
};

if (_player_studybody) then {
if (s_player_studybody < 0) then {
s_player_studybody = player addAction [(""+("Check Wallet") + ""), "ZSC\actions\check_wallet.sqf",_cursorTarget, 0, false, true, "",""];
};
} else {
player removeAction s_player_studybody;
s_player_studybody = -1;
};

_player_cook = false;
_player_boil = false;

if (inflamed _cursorTarget) then {

if (_hasRawMeat) then {
_player_cook = true;
};

if (_hasbottleitem && _hastinitem) then {
_player_boil = true;
};
};

if (_player_SurrenderedGear) then {
if (s_player_SurrenderedGear < 0) then {
s_player_SurrenderedGear = player addAction [localize "STR_EPOCH_ACTIONS_GEAR", "\z\addons\dayz_code\actions\surrender_gear.sqf",_cursorTarget, 1, true, true, "", ""];
};
} else {
player removeAction s_player_SurrenderedGear;
s_player_SurrenderedGear = -1;
};

if (_player_cook) 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, "", ""];
};
} else {
player removeAction s_player_cook;
s_player_cook = -1;
};

if (_player_boil) then {
if (s_player_boil < 0) then {
s_player_boil = player addAction [localize "str_actions_boilwater", "\z\addons\dayz_code\actions\boil.sqf",_cursorTarget, 3, true, true, "", ""];
};
} else {
player removeAction s_player_boil;
s_player_boil = -1;
};

if(_cursorTarget == dayz_hasFire) then {
if ((s_player_fireout < 0) && !(inflamed _cursorTarget) && (player distance _cursorTarget < 3)) then {
s_player_fireout = player addAction [localize "str_actions_self_06", "\z\addons\dayz_code\actions\fire_pack.sqf",_cursorTarget, 0, false, true, "",""];
};
} else {
player removeAction s_player_fireout;
s_player_fireout = -1;
};

if(_isTent && (player distance _cursorTarget < 3)) then {
if (_ownerID == dayz_characterID) then {
if (s_player_packtent < 0) then {
s_player_packtent = player addAction [localize "str_actions_self_07", "\z\addons\dayz_code\actions\tent_pack.sqf",_cursorTarget, 0, false, true, "",""];
};
} else {
if(("ItemJerrycan" in _magazinesPlayer) && ("ItemMatchbox_DZE" in weapons player)) then {
if (s_player_packtent < 0) then {
s_player_packtent = player addAction [localize "STR_EPOCH_ACTIONS_DESTROYTENT", "\z\addons\dayz_code\actions\remove.sqf",_cursorTarget, 1, true, true, "", ""];
};
};
};
} else {
player removeAction s_player_packtent;
s_player_packtent = -1;
};

if((_typeOfCursorTarget in DZE_LockableStorage) && _ownerID != "0" && (player distance _cursorTarget < 3)) then {
if (s_player_unlockvault < 0) then {
if(_typeOfCursorTarget in DZE_LockedStorage) then {
if(_ownerID == dayz_combination || _ownerID == dayz_playerUID) then {
_combi = player addAction [format[localize "STR_EPOCH_ACTIONS_OPEN",_text], "\z\addons\dayz_code\actions\vault_unlock.sqf",_cursorTarget, 0, false, true, "",""];
s_player_combi set [count s_player_combi,_combi];
} else {
_combi = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""];
s_player_combi set [count s_player_combi,_combi];
};
s_player_unlockvault = 1;
} else {
if(_ownerID != dayz_combination && _ownerID != dayz_playerUID) then {
_combi = player addAction [localize "STR_EPOCH_ACTIONS_RECOMBO", "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""];
s_player_combi set [count s_player_combi,_combi];
s_player_unlockvault = 1;
};
};
};
} else {
{player removeAction _x} count s_player_combi;s_player_combi = [];
s_player_unlockvault = -1;
};

if(_typeOfCursorTarget in ZSC_MoneyStorage && (player distance _cursorTarget < 5)) then {
if (s_bank_dialog < 0) then {
s_bank_dialog = player addAction ["Money Storage", "ZSC\actions\bank_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
};
} else {
player removeAction s_bank_dialog;
s_bank_dialog = -1;
};

// cars
if( _isVehicle && !_isMan &&_isAlive && !_isMan && !locked _cursorTarget && !(_cursorTarget isKindOf "Bicycle") && (player distance _cursorTarget < 5)) then {
if (s_bank_dialog2 < 0) then {
s_bank_dialog2 = player addAction ["Money Storage", "ZSC\actions\bank_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
};
} else {
player removeAction s_bank_dialog2;
s_bank_dialog2 = -1;
};


if(_typeOfCursorTarget in DZE_UnLockedStorage && _ownerID != "0" && (player distance _cursorTarget < 3)) then {

if (s_player_lockvault < 0) then {
if(_ownerID == dayz_combination || _ownerID == dayz_playerUID) then {
s_player_lockvault = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\vault_lock.sqf",_cursorTarget, 0, false, true, "",""];
};
};
if (s_player_packvault < 0 && (_ownerID == dayz_combination || _ownerID == dayz_playerUID)) then {
s_player_packvault = player addAction [format["%1",(format[localize "STR_EPOCH_ACTIONS_PACK",_text])], "\z\addons\dayz_code\actions\vault_pack.sqf",_cursorTarget, 0, false, true, "",""];
};

} else {
player removeAction s_player_packvault;
s_player_packvault = -1;
player removeAction s_player_lockvault;
s_player_lockvault = -1;
};

if(_typeOfCursorTarget == "Info_Board_EP1") then {
if (s_player_information < 0) then {
s_player_information = player addAction [localize "STR_EPOCH_ACTIONS_MURDERS", "\z\addons\dayz_code\actions\list_playerDeaths.sqf",[], 7, false, true, "",""];
};
} else {
player removeAction s_player_information;
s_player_information = -1;
};

if (_isMan and _isAlive and !_isZombie and !_isAnimal and !(_traderType in serverTraders)) then {
if (s_givemoney_dialog < 0) then {
s_givemoney_dialog = player addAction [format["Give Money to %1", (name _cursorTarget)], "ZSC\actions\give_player_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
};
} else {
player removeAction s_givemoney_dialog;
s_givemoney_dialog = -1;
};

if(_typeOfCursorTarget in dayz_fuelpumparray) then {
if (s_player_fuelauto < 0) then {

_findNearestGens = nearestObjects [player, ["Generator_DZ"], 30];
_findNearestGen = [];
{
if (alive _x && (_x getVariable ["GeneratorRunning", false])) then {
_findNearestGen set [(count _findNearestGen),_x];
};
} count _findNearestGens;
_IsNearRunningGen = count (_findNearestGen);

if(_IsNearRunningGen > 0) then {
s_player_fuelauto = player addAction [localize "STR_EPOCH_ACTIONS_FILLVEH", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",objNull, 0, false, true, "",""];
} else {
s_player_fuelauto = player addAction [format["%1",localize "STR_EPOCH_ACTIONS_NEEDPOWER"], "",[], 0, false, true, "",""];
};
};
} else {
player removeAction s_player_fuelauto;
s_player_fuelauto = -1;
};

if(_typeOfCursorTarget in DZE_fueltruckarray && alive _cursorTarget) then {
if (s_player_fuelauto2 < 0) then {
if(isEngineOn _cursorTarget) then {
s_player_fuelauto2 = player addAction [localize "STR_EPOCH_ACTIONS_FILLVEH", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",_cursorTarget, 0, false, true, "",""];
} else {
s_player_fuelauto2 = player addAction [format["%1",localize "STR_EPOCH_ACTIONS_NEEDPOWER"], "",[], 0, false, true, "",""];
};
};
} else {
player removeAction s_player_fuelauto2;
s_player_fuelauto2 = -1;
};

if ((_cursorTarget isKindOf "ModularItems") || (_cursorTarget isKindOf "Land_DZE_WoodDoor_Base") || (_cursorTarget isKindOf "CinderWallDoor_DZ_Base")) then {
if ((s_player_lastTarget select 0) != _cursorTarget) then {
if (s_player_upgrade_build > 0) then {
player removeAction s_player_upgrade_build;
s_player_upgrade_build = -1;
};
};
if (s_player_upgrade_build < 0) then {
s_player_lastTarget set [0,_cursorTarget];
s_player_upgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_UPGRADE",_text], "\z\addons\dayz_code\actions\player_upgrade.sqf",_cursorTarget, -1, false, true, "",""];
};
} else {
player removeAction s_player_upgrade_build;
s_player_upgrade_build = -1;
};

if((_isDestructable || _cursorTarget isKindOf "Land_DZE_WoodDoorLocked_Base" || _cursorTarget isKindOf "CinderWallDoorLocked_DZ_Base") && (DZE_Lock_Door == _ownerID)) then {
if ((s_player_lastTarget select 1) != _cursorTarget) then {
if (s_player_downgrade_build > 0) then {
player removeAction s_player_downgrade_build;
s_player_downgrade_build = -1;
};
};
if (s_player_downgrade_build < 0) then {
s_player_lastTarget set [1,_cursorTarget];
s_player_downgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_REMLOCK",_text], "\z\addons\dayz_code\actions\player_buildingDowngrade.sqf",_cursorTarget, -2, false, true, "",""];
};
} else {
player removeAction s_player_downgrade_build;
s_player_downgrade_build = -1;
};

if((_cursorTarget isKindOf "ModularItems" || _cursorTarget isKindOf "DZE_Housebase" || _typeOfCursorTarget == "LightPole_DZ") && (damage _cursorTarget >= DZE_DamageBeforeMaint)) then {
if ((s_player_lastTarget select 2) != _cursorTarget) then {
if (s_player_maint_build > 0) then {
player removeAction s_player_maint_build;
s_player_maint_build = -1;
};
};
if (s_player_maint_build < 0) then {
s_player_lastTarget set [2,_cursorTarget];
s_player_maint_build = player addAction [format[localize "STR_EPOCH_ACTIONS_MAINTAIN",_text], "\z\addons\dayz_code\actions\player_buildingMaint.sqf",_cursorTarget, -2, false, true, "",""];
};
} else {
player removeAction s_player_maint_build;
s_player_maint_build = -1;
};

if(_cursorTarget isKindOf "Generator_DZ") then {
if (s_player_fillgen < 0) then {

if((_cursorTarget getVariable ["GeneratorRunning", false])) then {
s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR1", "\z\addons\dayz_code\actions\stopGenerator.sqf",_cursorTarget, 0, false, true, "",""];
} else {
if((_cursorTarget getVariable ["GeneratorFilled", false])) then {
s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR2", "\z\addons\dayz_code\actions\fill_startGenerator.sqf",_cursorTarget, 0, false, true, "",""];
} else {
if("ItemJerrycan" in _magazinesPlayer) then {
s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR3", "\z\addons\dayz_code\actions\fill_startGenerator.sqf",_cursorTarget, 0, false, true, "",""];
};
};
};
};
} else {
player removeAction s_player_fillgen;
s_player_fillgen = -1;
};

if(_isTent && _ownerID == dayz_characterID) then {
if ((s_player_sleep < 0) && (player distance _cursorTarget < 3)) then {
s_player_sleep = player addAction [localize "str_actions_self_sleep", "\z\addons\dayz_code\actions\player_sleep.sqf",_cursorTarget, 0, false, true, "",""];
};
} else {
player removeAction s_player_sleep;
s_player_sleep = -1;
};

if ((dayz_myCursorTarget != _cursorTarget) && _isVehicle && !_isMan && _hasToolbox && (damage _cursorTarget < 1) && !_isDisallowRepair) then {
if (s_player_repair_crtl < 0) then {
dayz_myCursorTarget = _cursorTarget;
_menu = dayz_myCursorTarget addAction [localize "STR_EPOCH_PLAYER_REPAIRV", "\z\addons\dayz_code\actions\repair_vehicle.sqf",_cursorTarget, 0, true, false, "",""];
_menu1 = dayz_myCursorTarget addAction [localize "STR_EPOCH_PLAYER_SALVAGEV", "\z\addons\dayz_code\actions\salvage_vehicle.sqf",_cursorTarget, 0, true, false, "",""];
s_player_repairActions set [count s_player_repairActions,_menu];
s_player_repairActions set [count s_player_repairActions,_menu1];
s_player_repair_crtl = 1;
} else {
{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
s_player_repair_crtl = -1;
};
};

if (_isMan && !_isPZombie && _traderType in serverTraders) then {

if (s_player_parts_crtl < 0) then {

_humanity = player getVariable ["humanity",0];
_traderMenu = call compile format["menu_%1;",_traderType];
_low_high = "low";
_humanity_logic = false;

if((_traderMenu select 2) == "friendly") then {
_humanity_logic = (_humanity < -5000);
};
if((_traderMenu select 2) == "hostile") then {
_low_high = "high";
_humanity_logic = (_humanity > -5000);
};
if((_traderMenu select 2) == "hero") then {
_humanity_logic = (_humanity < 5000);
};
if(_humanity_logic) then {
_cancel = player addAction [format[localize "STR_EPOCH_ACTIONS_HUMANITY",_low_high], "\z\addons\dayz_code\actions\trade_cancel.sqf",["na"], 0, true, false, "",""];
s_player_parts set [count s_player_parts,_cancel];
} else {

{
_buy = player addAction [format["Trade %1 %2 for %3 %4",(_x select 3),(_x select 5),(_x select 2),(_x select 6)], "\z\addons\dayz_code\actions\trade_items_wo_db.sqf",[(_x select 0),(_x select 1),(_x select 2),(_x select 3),(_x select 4),(_x select 5),(_x select 6)], (_x select 7), true, true, "",""];
s_player_parts set [count s_player_parts,_buy];

} count (_traderMenu select 1);
_buyV = player addAction ["Advanced Trading", "zupa\advancedTrading\init.sqf",(_traderMenu select 0), 999, true, false, "",""];
s_player_parts set [count s_player_parts,_buyV];
// Database menu
_buy = player addAction [localize "STR_EPOCH_PLAYER_289", "\z\addons\dayz_code\actions\show_dialog.sqf",(_traderMenu select 0), 999, true, false, "",""];
s_player_parts set [count s_player_parts,_buy];
};
s_player_parts_crtl = 1;
};
} else {
{player removeAction _x} count s_player_parts;s_player_parts = [];
s_player_parts_crtl = -1;
};

if(dayz_tameDogs) then {

if (_isDog && _isAlive && (_hasRawMeat) && _ownerID == "0" && 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;
};

if (_isDog && _ownerID == dayz_characterID && _isAlive) then {
_dogHandle = player getVariable ["dogID", 0];
if (s_player_feeddog < 0 && _hasRawMeat) then {
s_player_feeddog = player addAction [localize "str_actions_feeddog","\z\addons\dayz_code\actions\dog\feed.sqf",[_dogHandle,0], 0, false, true,"",""];
};
if (s_player_waterdog < 0 && "ItemWaterbottle" in _magazinesPlayer) then {
s_player_waterdog = player addAction [localize "str_actions_waterdog","\z\addons\dayz_code\actions\dog\feed.sqf",[_dogHandle,1], 0, false, true,"",""];
};
if (s_player_staydog < 0) then {
_lieDown = _dogHandle getFSMVariable "_actionLieDown";
if (_lieDown) then { _text = "str_actions_liedog"; } else { _text = "str_actions_sitdog"; };
s_player_staydog = player addAction [localize _text,"\z\addons\dayz_code\actions\dog\stay.sqf", _dogHandle, 5, false, true,"",""];
};
if (s_player_trackdog < 0) then {
s_player_trackdog = player addAction [localize "str_actions_trackdog","\z\addons\dayz_code\actions\dog\track.sqf", _dogHandle, 4, false, true,"",""];
};
if (s_player_barkdog < 0) then {
s_player_barkdog = player addAction [localize "str_actions_barkdog","\z\addons\dayz_code\actions\dog\speak.sqf", _cursorTarget, 3, false, true,"",""];
};
if (s_player_warndog < 0) then {
_warn = _dogHandle getFSMVariable "_watchDog";
if (_warn) then { _text = (localize "str_epoch_player_247"); _warn = false; } else { _text = (localize "str_epoch_player_248"); _warn = true; };
s_player_warndog = player addAction [format[localize "str_actions_warndog",_text],"\z\addons\dayz_code\actions\dog\warn.sqf",[_dogHandle, _warn], 2, false, true,"",""];
};
if (s_player_followdog < 0) then {
s_player_followdog = player addAction [localize "str_actions_followdog","\z\addons\dayz_code\actions\dog\follow.sqf",[_dogHandle,true], 6, false, true,"",""];
};
} else {
player removeAction s_player_feeddog;
s_player_feeddog = -1;
player removeAction s_player_waterdog;
s_player_waterdog = -1;
player removeAction s_player_staydog;
s_player_staydog = -1;
player removeAction s_player_trackdog;
s_player_trackdog = -1;
player removeAction s_player_barkdog;
s_player_barkdog = -1;
player removeAction s_player_warndog;
s_player_warndog = -1;
player removeAction s_player_followdog;
s_player_followdog = -1;
};
};

} else {

{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
s_player_repair_crtl = -1;
{player removeAction _x} count s_player_combi;s_player_combi = [];
dayz_myCursorTarget = objNull;
s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull];
{player removeAction _x} count s_player_parts;s_player_parts = [];
s_player_parts_crtl = -1;
{player removeAction _x} count s_player_lockunlock;s_player_lockunlock = [];
s_player_lockUnlock_crtl = -1;
player removeAction s_player_checkGear;
s_player_checkGear = -1;
player removeAction s_player_SurrenderedGear;
s_player_SurrenderedGear = -1;
player removeAction s_player_forceSave;
s_player_forceSave = -1;
player removeAction s_player_flipveh;
s_player_flipveh = -1;
player removeAction s_player_sleep;
s_player_sleep = -1;
player removeAction s_player_deleteBuild;
s_player_deleteBuild = -1;
player removeAction s_player_butcher;
s_player_butcher = -1;
player removeAction s_player_cook;
s_player_cook = -1;
player removeAction s_player_boil;
s_player_boil = -1;
player removeAction s_player_fireout;
s_player_fireout = -1;
player removeAction s_player_packtent;
s_player_packtent = -1;
player removeAction s_player_fillfuel;
s_player_fillfuel = -1;
player removeAction s_player_studybody;
s_player_studybody = -1;
player removeAction s_player_tamedog;
s_player_tamedog = -1;
player removeAction s_player_feeddog;
s_player_feeddog = -1;
player removeAction s_player_waterdog;
s_player_waterdog = -1;
player removeAction s_player_staydog;
s_player_staydog = -1;
player removeAction s_player_trackdog;
s_player_trackdog = -1;
player removeAction s_player_barkdog;
s_player_barkdog = -1;
player removeAction s_player_warndog;
s_player_warndog = -1;
player removeAction s_player_followdog;
s_player_followdog = -1;
player removeAction s_player_unlockvault;
s_player_unlockvault = -1;
player removeAction s_player_packvault;
s_player_packvault = -1;
player removeAction s_player_lockvault;
s_player_lockvault = -1;
player removeAction s_player_information;
s_player_information = -1;
player removeAction s_player_fillgen;
s_player_fillgen = -1;
player removeAction s_player_upgrade_build;
s_player_upgrade_build = -1;
player removeAction s_player_maint_build;
s_player_maint_build = -1;
player removeAction s_player_downgrade_build;
s_player_downgrade_build = -1;
player removeAction s_player_towing;
s_player_towing = -1;
player removeAction s_player_fuelauto;
s_player_fuelauto = -1;
player removeAction s_player_fuelauto2;
s_player_fuelauto2 = -1;
player removeAction s_givemoney_dialog;
s_givemoney_dialog = -1;
player removeAction s_bank_dialog;
s_bank_dialog = -1;
player removeAction s_bank_dialog2;
s_bank_dialog2 = -1;
player removeAction s_player_packOBJ;
s_player_packOBJ = -1;
};

_dogHandle = player getVariable ["dogID", 0];

if (_dogHandle > 0) then {
_dog = _dogHandle getFSMVariable "_dog";
_ownerID = "0";
if (!isNull cursorTarget) then { _ownerID = cursorTarget getVariable ["CharacterID","0"]; };
if (_canDo && !_inVehicle && alive _dog && _ownerID != dayz_characterID) then {
if (s_player_movedog < 0) then {
s_player_movedog = player addAction [localize "str_actions_movedog", "\z\addons\dayz_code\actions\dog\move.sqf", player getVariable ["dogID", 0], 1, false, true, "", ""];
};
if (s_player_speeddog < 0) then {
_text = (localize "str_epoch_player_249");
_speed = 0;
if (_dog getVariable ["currentSpeed",1] == 0) then { _speed = 1; _text = (localize "str_epoch_player_250"); };
s_player_speeddog = player addAction [format[localize "str_actions_speeddog", _text], "\z\addons\dayz_code\actions\dog\speed.sqf",[player getVariable ["dogID", 0],_speed], 0, false, true, "", ""];
};
if (s_player_calldog < 0) then {
s_player_calldog = player addAction [localize "str_actions_calldog", "\z\addons\dayz_code\actions\dog\follow.sqf", [player getVariable ["dogID", 0], true], 2, false, true, "", ""];
};
};
} else {
player removeAction s_player_movedog;
s_player_movedog = -1;
player removeAction s_player_speeddog;
s_player_speeddog = -1;
player removeAction s_player_calldog;
s_player_calldog = -1;
};

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: Jdinovich
      На сервер произвелась DDos атака,хостинг ее отбил сервер через время поднялся,но теперь при заходе на сервер после лобби моментально просто появляется дебаг зона и все.http://forum.battleready.ru/uploads/monthly_2018_06/Screenshot_2018-06-08-11-17-25.png.87e0ff8111d405c6c1856ad8e9dfbeaf.png
      https://pastebin.com/72HewBMz Rpt log
       я увидел эту строчку с ошибкой Error 5 reading file "mpmissions\DayZ_Epoch_11.Chernarus\"
      Но я посмотрел по логам,когда сервер работал и там уже была эта ошибка,но сервер нормально функционировал,тоесть дело не в ней,а в чем?
    • Автор: Voteban
      Всем привет ! У меня проблема состоит в том что кнопка выхода не работает .Тоесть таймер не отсчитывает 10сек и из-за этого кнопка не активна .Как исправить ? Помогите люди добрые и не очень.
    • Автор: ro1and
      Помогите разобраться с Advanced Towing.
      В настройках скрипта редактируются классы, которые могут буксировать/буксироваться.
      SA_TOW_SUPPORTED_VEHICLES = [ "Tank", "Car", "Ship" ];
      Содержимое этих классов нигде не описано. Чтоб оно заработало на сервере Exile нужно вместо этих классов вписать классы из config.cpp файла миссии (class Trucks, Choppers и т.д.) или оставить все как есть?
      Просто хочу, чтобы грузовики тоже могли буксировать.
      Заранее благодарю за помощь.
       
    • Автор: Gromillla
      Установил буксировку MF-Tow и Запрет на буксировку , но при попытке начать буксировку пишет что техника закрыта, хотя обе транспорта открыты и были куплены у торговца. Ошибок в RPT клиентском и серверном нет.
      Может что-то ещё необходимо? 
      Версия эпоча 1.0.6.2
    • Автор: wintyra
      Подскажите в чем может быть проблема, открываю в XM8 открываю гараж, технику видит но при загрузки ни чего не происходит, ошибку не высвечивает, просто закрывается и все. В rpt море ошибок даж не знаю куда смотреть(
      и замок на технику не ставится, не знаю из за этого же аль нет(

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
  • Наш выбор

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.