mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-21 02:46:29 +03:00
0.1
This commit is contained in:
423
dayz_code/init/compiles.sqf
Normal file
423
dayz_code/init/compiles.sqf
Normal file
@@ -0,0 +1,423 @@
|
||||
/*
|
||||
FUNCTION COMPILES
|
||||
*/
|
||||
//Player only
|
||||
if (!isDedicated) then {
|
||||
_config = configFile >> "CfgLoot";
|
||||
_config1 = configFile >> "CfgMagazines" >> "FoodEdible";
|
||||
_config2 = configFile >> "CfgWeapons" >> "Loot";
|
||||
|
||||
"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 "\z\addons\dayz_code\compile\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";
|
||||
building_spawnLoot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\building_spawnLoot.sqf";
|
||||
player_taskHint = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_taskHint.sqf";
|
||||
building_spawnZombies = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\building_spawnZombies.sqf";
|
||||
//animal_monitor = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\animal_monitor.sqf";
|
||||
building_monitor = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\building_monitor.sqf";
|
||||
player_fired = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_fired.sqf"; //Runs when player fires. Alerts nearby Zeds depending on calibre and audial rating
|
||||
player_packTent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_packTent.sqf";
|
||||
control_zombieAgent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\control_zombieAgent.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";
|
||||
spawn_flies = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\spawn_flies.sqf";
|
||||
stream_locationFill = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\stream_locationFill.sqf";
|
||||
stream_locationDel = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\stream_locationDel.sqf";
|
||||
stream_locationCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\stream_locationCheck.sqf";
|
||||
player_music = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_music.sqf"; //Used to generate ambient music
|
||||
player_login = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_login.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";
|
||||
//player_combatLogged = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_combatLogged.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";
|
||||
|
||||
//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
|
||||
|
||||
// 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";
|
||||
|
||||
//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_reloadMag = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_reloadMags.sqf";
|
||||
player_tentPitch = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\tent_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_chopWood = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_chopWood.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";
|
||||
player_dropWeapon = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_dropWeapon.sqf";
|
||||
player_setTrap = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_setTrap.sqf";
|
||||
object_pickup = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\object_pickup.sqf";
|
||||
|
||||
//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";
|
||||
|
||||
//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;";
|
||||
|
||||
// TODO: need move it in player_monitor.fsm
|
||||
// allow player disconnect from server, if loading hang, kicked by BE etc.
|
||||
[] spawn {
|
||||
private["_timeOut"];
|
||||
_timeOut = 0;
|
||||
while { _timeOut < 90 } do {
|
||||
_timeOut = _timeOut + 1;
|
||||
sleep 1;
|
||||
};
|
||||
if ( !dayz_preloadFinished ) then {
|
||||
endLoadingScreen;
|
||||
disableUserInput false;
|
||||
cutText ["Something went wrong! disconnect and try again!", "BLACK OUT",1];
|
||||
player enableSimulation false;
|
||||
};
|
||||
};
|
||||
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"];
|
||||
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 and !r_fracture_arms) then {
|
||||
_ctrlFracture = _display displayCtrl 1203;
|
||||
_ctrlFracture ctrlShow false;
|
||||
};
|
||||
};
|
||||
|
||||
dayz_losCheck = {
|
||||
private["_target","_agent","_cantSee"];
|
||||
_target = _this select 0;
|
||||
_agent = _this select 1;
|
||||
_cantSee = true;
|
||||
if (!isNull _target) then {
|
||||
_tPos = eyePos _target; //(getPosASL _target);
|
||||
_zPos = eyePos _agent; //(getPosASL _agent);
|
||||
if ((count _tPos > 0) and (count _zPos > 0)) then {
|
||||
_cantSee = terrainIntersectASL [(eyePos _target), (eyePos _agent)];
|
||||
//diag_log ("terrainIntersectASL: " + str(_cantSee));
|
||||
if (!_cantSee) then {
|
||||
_cantSee = lineIntersects [(eyePos _target), (eyePos _agent)];
|
||||
//diag_log ("lineIntersects: " + str(_cantSee));
|
||||
};
|
||||
};
|
||||
};
|
||||
_cantSee
|
||||
};
|
||||
|
||||
eh_zombieInit = {
|
||||
private["_unit","_pos"];
|
||||
//_unit = _this select 0;
|
||||
//_pos = getPosATL _unit;
|
||||
//_id = [_pos,_unit] execFSM "\z\AddOns\dayz_code\system\zombie_agent.fsm";
|
||||
};
|
||||
|
||||
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};
|
||||
} forEach _diff;
|
||||
hint format["Config: %5\nEmpty: %1\nNeeded: %2\nDiff: %3\nSuccess: %4",_empty,_needed,_diff,_success,_config];
|
||||
_success
|
||||
};
|
||||
|
||||
dayz_disableRespawn = {
|
||||
private["_display","_btnRespawn"];
|
||||
if(r_fracture_legs) exitWith {};
|
||||
disableSerialization;
|
||||
waitUntil {
|
||||
_display = findDisplay 49;
|
||||
!isNull _display;
|
||||
};
|
||||
_btnRespawn = _display displayCtrl 1010;
|
||||
_btnRespawn ctrlEnable false;
|
||||
};
|
||||
|
||||
dayz_disableAbort = {
|
||||
private["_display","_btnAbort","_combattimeout"];
|
||||
_combattimeout = player getVariable["combattimeout",0];
|
||||
if(_combattimeout < time) exitWith {};
|
||||
disableSerialization;
|
||||
waitUntil {
|
||||
_display = findDisplay 49;
|
||||
!isNull _display;
|
||||
};
|
||||
_btnAbort = _display displayCtrl 104;
|
||||
_btnAbort ctrlEnable false;
|
||||
};
|
||||
|
||||
dayz_spaceInterrupt = {
|
||||
private ["_dikCode", "_handled"];
|
||||
_dikCode = _this select 1;
|
||||
_altState = _this select 4;
|
||||
_handled = false;
|
||||
//if (_dikCode == 57) then {_handled = true}; // space
|
||||
//if (_dikCode in actionKeys 'MoveForward' or _dikCode in actionKeys 'MoveBack') then {r_interrupt = true};
|
||||
if (_dikCode in actionKeys "MoveLeft") then {r_interrupt = true};
|
||||
if (_dikCode in actionKeys "MoveRight") then {r_interrupt = true};
|
||||
if (_dikCode in actionKeys "MoveForward") then {r_interrupt = true};
|
||||
if (_dikCode in actionKeys "MoveBack") then {r_interrupt = true};
|
||||
if (_dikCode in actionKeys "ForceCommandingMode") then {_handled = true};
|
||||
if (_dikCode in actionKeys "PushToTalk" and (time - dayz_lastCheckBit > 10)) then {
|
||||
dayz_lastCheckBit = time;
|
||||
[player,50,true,(getPosATL player)] spawn player_alertZombies;
|
||||
};
|
||||
if (_dikCode in actionKeys "VoiceOverNet" and (time - dayz_lastCheckBit > 10)) then {
|
||||
dayz_lastCheckBit = time;
|
||||
[player,50,true,(getPosATL player)] spawn player_alertZombies;
|
||||
};
|
||||
if (_dikCode in actionKeys "PushToTalkDirect" and (time - dayz_lastCheckBit > 10)) then {
|
||||
dayz_lastCheckBit = time;
|
||||
[player,15,false,(getPosATL player)] spawn player_alertZombies;
|
||||
};
|
||||
if (_dikCode in actionKeys "Chat" and (time - dayz_lastCheckBit > 10)) then {
|
||||
dayz_lastCheckBit = time;
|
||||
[player,15,false,(getPosATL player)] spawn player_alertZombies;
|
||||
};
|
||||
/*
|
||||
if ((_dikCode == 0x38 or _dikCode == 0xB8) and (time - dayz_lastCheckBit > 10)) then {
|
||||
call dayz_forceSave;
|
||||
};
|
||||
*/
|
||||
if (_dikCode in actionKeys "IngamePause") then {
|
||||
call dayz_forceSave;
|
||||
_id = [] spawn dayz_disableRespawn;
|
||||
_id = [] spawn dayz_disableAbort;
|
||||
};
|
||||
_handled
|
||||
};
|
||||
|
||||
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;
|
||||
};
|
||||
};
|
||||
|
||||
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;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
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
|
||||
};
|
||||
|
||||
dayz_lowHumanity = {
|
||||
private["_unit","_humanity","_delay"];
|
||||
_unit = _this;
|
||||
if ((_unit distance player) < 15) then {
|
||||
_humanity = _unit getVariable["humanity",0];
|
||||
dayz_heartBeat = true;
|
||||
if (_humanity < -3000) then {
|
||||
_delay = ((10000 + _humanity) / 5500) + 0.3;
|
||||
playSound "heartbeat_1";
|
||||
sleep _delay;
|
||||
};
|
||||
dayz_heartBeat = false;
|
||||
};
|
||||
};
|
||||
/*
|
||||
dayz_meleeMagazineCheck = {
|
||||
private["_meleeNum","_magType","_wpnType"];
|
||||
_wpnType = _this;
|
||||
_magType = ([] + getArray (configFile >> "CfgWeapons" >> _wpnType >> "magazines")) select 0;
|
||||
_meleeNum = ({_x == _magType} count magazines player);
|
||||
if (_meleeNum > 1) then {
|
||||
if (player hasWeapon _wpnType) then {
|
||||
_meleeNum = _meleeNum - 1;
|
||||
};
|
||||
for "_i" from 1 to _meleeNum do {
|
||||
player removeMagazine _magType;
|
||||
};
|
||||
};
|
||||
};
|
||||
*/
|
||||
dayz_originalPlayer = player;
|
||||
};
|
||||
|
||||
BIS_fnc_selectRandom = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_selectRandom.sqf"; //Checks which actions for nearby casualty
|
||||
|
||||
//Server Only
|
||||
if (isServer) then {
|
||||
call compile preprocessFileLineNumbers "\z\addons\dayz_server\init\server_functions.sqf";
|
||||
} else {
|
||||
eh_localCleanup = {};
|
||||
};
|
||||
|
||||
progressLoadingScreen 0.8;
|
||||
|
||||
//Both
|
||||
//Start Dynamic Weather
|
||||
execVM "\z\addons\dayz_code\external\DynamicWeatherEffects.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
|
||||
zombie_initialize = compile preprocessFileLineNumbers "\z\addons\dayz_code\init\zombie_init.sqf";
|
||||
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 and 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 or 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
|
||||
// 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;
|
||||
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 (or 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_sefFuel = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_setFuel.sqf"; //Generated when someone refuels a vehicle
|
||||
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 or 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_medPainkiller = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medPainkiller.sqf";
|
||||
world_isDay = {if ((daytime < (24 - dayz_sunRise)) and (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";
|
||||
player_projectileNear = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_projectileNear.sqf";
|
||||
|
||||
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];
|
||||
};
|
||||
} forEach 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
|
||||
};
|
||||
|
||||
initialized = true;
|
||||
7
dayz_code/init/object_pickupAction.sqf
Normal file
7
dayz_code/init/object_pickupAction.sqf
Normal file
@@ -0,0 +1,7 @@
|
||||
private["_holder","_type","_classname","_name"];
|
||||
_holder = _this select 0;
|
||||
_type = _this select 1;
|
||||
_classname = _this select 2;
|
||||
_name = getText (configFile >> _type >> _classname >> "displayName");
|
||||
null = _holder addAction [format[(localize "STR_DAYZ_CODE_1"),_name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true];
|
||||
player reveal _holder;
|
||||
52
dayz_code/init/publicEH.sqf
Normal file
52
dayz_code/init/publicEH.sqf
Normal file
@@ -0,0 +1,52 @@
|
||||
//Medical Event Handlers
|
||||
"norrnRaLW" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\medical\publicEH\load_wounded.sqf"};
|
||||
"norrnRLact" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\medical\load\load_wounded.sqf"};
|
||||
"norrnRDead" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\medical\publicEH\deadState.sqf"};
|
||||
"usecBleed" addPublicVariableEventHandler {_id = (_this select 1) spawn fnc_usec_damageBleed};
|
||||
"usecBandage" addPublicVariableEventHandler {(_this select 1) call player_medBandage};
|
||||
"usecInject" addPublicVariableEventHandler {(_this select 1) call player_medInject};
|
||||
"usecEpi" addPublicVariableEventHandler {(_this select 1) call player_medEpi};
|
||||
"usecTransfuse" addPublicVariableEventHandler {(_this select 1) call player_medTransfuse};
|
||||
"usecMorphine" addPublicVariableEventHandler {(_this select 1) call player_medMorphine};
|
||||
"usecPainK" addPublicVariableEventHandler {(_this select 1) call player_medPainkiller};
|
||||
"dayzHit" addPublicVariableEventHandler {(_this select 1) call fnc_usec_damageHandler};
|
||||
"dayzHitV" addPublicVariableEventHandler {(_this select 1) call fnc_usec_damageVehicle};
|
||||
"dayzHideBody" addPublicVariableEventHandler {hideBody (_this select 1)};
|
||||
"dayzGutBody" addPublicVariableEventHandler {(_this select 1) spawn local_gutObject};
|
||||
"dayzSetFuel" addPublicVariableEventHandler {(_this select 1) spawn local_sefFuel};
|
||||
"dayzSetFix" addPublicVariableEventHandler {(_this select 1) call object_setFixServer};
|
||||
"dayzDelLocal" addPublicVariableEventHandler {(_this select 1) call object_delLocal};
|
||||
"dayzVehicleInit" addPublicVariableEventHandler {(_this select 1) call fnc_vehicleEventHandler};
|
||||
"dayzHumanity" addPublicVariableEventHandler {(_this select 1) spawn player_humanityChange};
|
||||
"dayz_serverObjectMonitor" addPublicVariableEventHandler {dayz_serverObjectMonitor = dayz_safety};
|
||||
|
||||
//Server only
|
||||
if (isServer) then {
|
||||
"dayzDeath" addPublicVariableEventHandler {_id = (_this select 1) spawn server_playerDied};
|
||||
"dayzDiscoAdd" addPublicVariableEventHandler {dayz_disco set [count dayz_disco,(_this select 1)];};
|
||||
"dayzDiscoRem" addPublicVariableEventHandler {dayz_disco = dayz_disco - [(_this select 1)];};
|
||||
"dayzPlayerSave" addPublicVariableEventHandler {_id = (_this select 1) spawn server_playerSync;};
|
||||
"dayzPublishObj" addPublicVariableEventHandler {(_this select 1) call server_publishObj};
|
||||
"dayzUpdateVehicle" addPublicVariableEventHandler {_id = (_this select 1) spawn server_updateObject};
|
||||
"dayzDeleteObj" addPublicVariableEventHandler {_id = (_this select 1) spawn local_deleteObj};
|
||||
"dayzLogin" addPublicVariableEventHandler {_id = (_this select 1) spawn server_playerLogin};
|
||||
"dayzLogin2" addPublicVariableEventHandler {(_this select 1) call server_playerSetup};
|
||||
"dayzPlayerMorph" addPublicVariableEventHandler {(_this select 1) call server_playerMorph};
|
||||
"dayzUpdate" addPublicVariableEventHandler {_id = (_this select 1) spawn dayz_processUpdate};
|
||||
"dayzLoginRecord" addPublicVariableEventHandler {_id = (_this select 1) spawn dayz_recordLogin};
|
||||
"dayzCharSave" addPublicVariableEventHandler {_id = (_this select 1) spawn server_playerSync};
|
||||
"dayzCharDisco" addPublicVariableEventHandler {_id = (_this select 1) spawn server_characterSync};
|
||||
};
|
||||
|
||||
//Client only
|
||||
if (!isDedicated) then {
|
||||
"dayzSetDate" addPublicVariableEventHandler {setDate (_this select 1)};
|
||||
"dayzFlies" addPublicVariableEventHandler {(_this select 1) call spawn_flies};
|
||||
"dayzRoadFlare" addPublicVariableEventHandler {(_this select 1) spawn object_roadFlare};
|
||||
"norrnRaDrag" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\medical\publicEH\animDrag.sqf"};
|
||||
"norrnRnoAnim" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\medical\publicEH\noAnim.sqf"};
|
||||
"changeCharacter" addPublicVariableEventHandler {(_this select 1) call player_serverModelChange};
|
||||
"dayzSwitch" addPublicVariableEventHandler {(_this select 1) call server_switchPlayer};
|
||||
"dayzFire" addPublicVariableEventHandler {nul=(_this select 1) spawn BIS_Effects_Burn};
|
||||
//"dayz_combatLog" addPublicVariableEventHandler {nul=(_this select 1) spawn player_combatLogged};
|
||||
};
|
||||
282
dayz_code/init/variables.sqf
Normal file
282
dayz_code/init/variables.sqf
Normal file
@@ -0,0 +1,282 @@
|
||||
disableSerialization;
|
||||
|
||||
//Model Variables
|
||||
Bandit1_DZ = "Bandit1_DZ";
|
||||
BanditW1_DZ = "BanditW1_DZ";
|
||||
Survivor1_DZ = "Survivor2_DZ";
|
||||
Survivor2_DZ = "Survivor2_DZ";
|
||||
SurvivorW2_DZ = "SurvivorW2_DZ";
|
||||
Sniper1_DZ = "Sniper1_DZ";
|
||||
Camo1_DZ = "Camo1_DZ";
|
||||
Soldier1_DZ = "Soldier1_DZ";
|
||||
Rocket_DZ = "Rocket_DZ";
|
||||
|
||||
dayz_combatLog = "";
|
||||
|
||||
|
||||
//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
|
||||
dayZ_hivePipe1 = "\\.\pipe\dayz"; //The named pipe
|
||||
dayZ_hivePipeAuth = "\\.\pipe\dayzAuth"; //The named pipe
|
||||
hiveInUse = false;
|
||||
allowConnection = false;
|
||||
isSinglePlayer = false;
|
||||
dayz_serverObjectMonitor = [];
|
||||
|
||||
//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_fireout = -1;
|
||||
s_player_butcher = -1;
|
||||
s_player_packtent = -1;
|
||||
s_player_fillwater = -1;
|
||||
s_player_fillwater2 = -1;
|
||||
s_player_fillfuel = -1;
|
||||
s_player_grabflare = -1;
|
||||
s_player_removeflare = -1;
|
||||
s_player_painkiller = -1;
|
||||
s_player_studybody = -1;
|
||||
s_build_Sandbag1_DZ = -1;
|
||||
s_build_Hedgehog_DZ = -1;
|
||||
s_build_Wire_cat1 = -1;
|
||||
s_player_deleteBuild = -1;
|
||||
s_player_forceSave = -1;
|
||||
};
|
||||
call dayz_resetSelfActions;
|
||||
|
||||
//Engineering variables
|
||||
s_player_lastTarget = objNull;
|
||||
s_player_repairActions = [];
|
||||
|
||||
//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;
|
||||
USEC_woundHit = [
|
||||
"",
|
||||
"body",
|
||||
"hands",
|
||||
"legs",
|
||||
"head_hit"
|
||||
];
|
||||
DAYZ_woundHit = [
|
||||
[
|
||||
"body",
|
||||
"hands",
|
||||
"legs",
|
||||
"head_hit"
|
||||
],[
|
||||
0.45,
|
||||
0.4,
|
||||
0.1,
|
||||
0.05
|
||||
]
|
||||
];
|
||||
DAYZ_woundHit_ok = [
|
||||
[
|
||||
"body",
|
||||
"hands",
|
||||
"legs"
|
||||
],[
|
||||
0.5,
|
||||
0.3,
|
||||
0.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"
|
||||
];
|
||||
|
||||
//Initialize Zombie Variables
|
||||
dayz_zombieTargetList = [
|
||||
["SoldierWB",50],
|
||||
["Air",500],
|
||||
["LandVehicle",200]
|
||||
];
|
||||
dayzHit = [];
|
||||
dayzPublishObj = []; //used for eventhandler to spawn a mirror of players tent
|
||||
dayzHideBody = objNull;
|
||||
|
||||
//DayZ settings
|
||||
dayz_dawn = 6;
|
||||
dayz_dusk = 18;
|
||||
dayz_maxAnimals = 5;
|
||||
DAYZ_agentnumber = 0;
|
||||
dayz_animalDistance = 800;
|
||||
dayz_zSpawnDistance = 1000;
|
||||
|
||||
if(isnil "dayz_maxLocalZombies") then {
|
||||
dayz_maxLocalZombies = 40;
|
||||
};
|
||||
|
||||
dayz_spawnPos = getPosATL player;
|
||||
|
||||
if(isDedicated) then {
|
||||
dayz_disco = [];
|
||||
};
|
||||
|
||||
if(isServer) then {
|
||||
dayz_players = [];
|
||||
dead_bodyCleanup = [];
|
||||
needUpdate_objects = [];
|
||||
};
|
||||
|
||||
if(!isDedicated) then {
|
||||
//Establish Location Streaming
|
||||
_funcGetLocation =
|
||||
{
|
||||
for "_i" from 0 to ((count _this) - 1) do
|
||||
{
|
||||
private ["_location","_config","_locHdr","_position","_size","_type"];
|
||||
//Get Location Data from config
|
||||
_config = (_this select _i);
|
||||
_locHdr = configName _config;
|
||||
_position = getArray (_config >> "position");
|
||||
_size = getNumber (_config >> "size");
|
||||
_type = getText (_config >> "type");
|
||||
|
||||
//Find the Location
|
||||
_location = nearestLocation [_position, _type];
|
||||
|
||||
//Record details
|
||||
dayz_Locations set [count dayz_Locations, [_location,_locHdr,_size]];
|
||||
};
|
||||
};
|
||||
_cfgLocation = configFile >> "CfgTownGenerator";
|
||||
_cfgLocation call _funcGetLocation;
|
||||
|
||||
dayz_buildingMonitor = []; //Buildings to check
|
||||
dayz_bodyMonitor = [];
|
||||
dayz_flyMonitor = []; //used for monitor flies
|
||||
|
||||
dayz_buildingMonitor = []; //Buildings to check
|
||||
dayz_bodyMonitor = [];
|
||||
dayz_flyMonitor = []; //used for monitor flies
|
||||
|
||||
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_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_playerName = "Unknown";
|
||||
dayz_sourceBleeding = objNull;
|
||||
dayz_clientPreload = false;
|
||||
dayz_panicCooldown = 0;
|
||||
dayz_areaAffect = 2;
|
||||
dayz_heartBeat = false;
|
||||
dayzClickTime = 0;
|
||||
dayz_spawnDelay = 300;
|
||||
dayz_spawnWait = -300;
|
||||
dayz_lootDelay = 3;
|
||||
dayz_lootWait = -300;
|
||||
dayz_spawnZombies = 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;
|
||||
//};
|
||||
};
|
||||
20
dayz_code/init/vehicle_init.sqf
Normal file
20
dayz_code/init/vehicle_init.sqf
Normal file
@@ -0,0 +1,20 @@
|
||||
/***********************************************************
|
||||
ASSIGN DAMAGE HANDLER TO A UNIT
|
||||
- Function set_EH
|
||||
- unit call set_EH;
|
||||
************************************************************/
|
||||
private["_unit","_eh1","_eh2","_dir","_location"];
|
||||
_unit = _this;
|
||||
_dir = getdir _this;
|
||||
_location = getPosATL _this;
|
||||
|
||||
//Assign event handlers
|
||||
_eh1 = _unit addeventhandler ["HandleDamage",{ _this call vehicle_handleDamage } ];
|
||||
_eh2 = _unit addeventhandler ["Killed",{ _this call vehicle_handleKilled } ];
|
||||
|
||||
//diag_log format ["set EH %1 for vehicle:%2", _eh1, typeOf _unit ];
|
||||
|
||||
if (isServer) then {
|
||||
_eh3 = _unit addEventHandler ["GetOut", {[(_this select 0),"all"] call server_updateObject;}];
|
||||
_eh4 = _unit addEventHandler ["GetIn", {[(_this select 0),"all"] call server_updateObject;}];
|
||||
};
|
||||
4
dayz_code/init/zombie_init.sqf
Normal file
4
dayz_code/init/zombie_init.sqf
Normal file
@@ -0,0 +1,4 @@
|
||||
private["_unit"];
|
||||
_unit = _this select 0;
|
||||
_id = _unit addeventhandler ["HandleDamage",{_this call local_zombieDamage}];
|
||||
_id = _unit addeventhandler ["Killed",{[_this,"zombieKills"] call local_eventKill}];
|
||||
Reference in New Issue
Block a user