Finish Medical and Sleep to UiSleep

This commit is contained in:
icomrade
2016-03-05 22:34:09 -05:00
parent eadb3566c4
commit 68da397c52
87 changed files with 1320 additions and 1056 deletions

View File

@@ -38,7 +38,7 @@ if (_hasbottleitem and _hastinitem) then {
_qty = _qty + ({_x == "ItemWaterBottleSafe"} count magazines player); _qty = _qty + ({_x == "ItemWaterBottleSafe"} count magazines player);
player playActionNow "Medic"; player playActionNow "Medic";
sleep 1; uiSleep 1;
_dis=10; _dis=10;
_sfx = "cook"; _sfx = "cook";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak; [player,_sfx,0,false,_dis] call dayz_zombieSpeak;

View File

@@ -8,7 +8,7 @@ _vehicle setVariable ["hasBomb",true,true];
_vehicle addEventHandler ["GetIn",{ _vehicle addEventHandler ["GetIn",{
//diag_log str(_this); //diag_log str(_this);
sleep 2; uiSleep 2;
_bombCar = _this select 0; _bombCar = _this select 0;
_bomb = createVehicle ["Bo_GBU12_lgb",getPosATL _bombCar, [], 0, "NONE"]; _bomb = createVehicle ["Bo_GBU12_lgb",getPosATL _bombCar, [], 0, "NONE"];
}]; }];

View File

@@ -1,7 +1,7 @@
private["_obj"]; private["_obj"];
_obj = _this select 3; _obj = _this select 3;
player playActionNow "Medic"; player playActionNow "Medic";
sleep 6; uiSleep 6;
if(_obj isKindOf "Land_fire") then { if(_obj isKindOf "Land_fire") then {
dayz_hasFire = objNull; dayz_hasFire = objNull;
deleteVehicle _obj; deleteVehicle _obj;

View File

@@ -35,7 +35,7 @@ if (_build) then {
[player,_dis,true,(getPosATL player)] call player_alertZombies; [player,_dis,true,(getPosATL player)] call player_alertZombies;
["Working",0,[20,40,15,0]] call dayz_NutritionSystem; // Added Nutrition-Factor for work ["Working",0,[20,40,15,0]] call dayz_NutritionSystem; // Added Nutrition-Factor for work
player playActionNow "Medic"; player playActionNow "Medic";
sleep 5; uiSleep 5;
_object setPosATL _location; _object setPosATL _location;
player reveal _object; player reveal _object;

View File

@@ -120,7 +120,7 @@ for "_i" from 1 to 20 do {
_cursorTarget setPosATL _pos; _cursorTarget setPosATL _pos;
}; };
sleep 1.5; uiSleep 1.5;
if (r_interrupt) exitwith { if (r_interrupt) exitwith {
diag_log [diag_ticktime, __FILE__, "Operation interrupted, last building deleted is:", _upgrade]; diag_log [diag_ticktime, __FILE__, "Operation interrupted, last building deleted is:", _upgrade];

View File

@@ -104,7 +104,7 @@ while {_isOk} do {
r_doLoop = false; r_doLoop = false;
_finished = false; _finished = false;
}; };
sleep 0.1; uiSleep 0.1;
}; };
r_doLoop = false; r_doLoop = false;
@@ -144,7 +144,7 @@ while {_isOk} do {
}; };
titleText [format["Dismantle attempt (%1 of %2).", _counter,_limit], "PLAIN DOWN"]; titleText [format["Dismantle attempt (%1 of %2).", _counter,_limit], "PLAIN DOWN"];
sleep 0.10; uiSleep 0.10;
}; };
//Completed and successful //Completed and successful

View File

@@ -91,7 +91,7 @@ if (_startMaintenance) then {
r_doLoop = false; r_doLoop = false;
_finished = true; _finished = true;
}; };
sleep 0.1; uiSleep 0.1;
}; };
r_doLoop = false; r_doLoop = false;

View File

@@ -48,7 +48,7 @@ if(_classname == "WoodenArrow") then {
if (_broken) exitWith {DZE_CanPickup = true; deleteVehicle _holder; cutText [localize "str_broken_arrow", "PLAIN DOWN"]; }; if (_broken) exitWith {DZE_CanPickup = true; deleteVehicle _holder; cutText [localize "str_broken_arrow", "PLAIN DOWN"]; };
sleep 0.25; //Why are we waiting? Animation uiSleep 0.25; //Why are we waiting? Animation
_claimedBy = _holder getVariable["claimed","0"]; _claimedBy = _holder getVariable["claimed","0"];

View File

@@ -151,7 +151,7 @@ if ((_startUpgrade) AND (isClass(_upgradeConfig))) then {
_cursorTarget setVariable["alreadyupgrading",1]; _cursorTarget setVariable["alreadyupgrading",1];
sleep 0.03; uiSleep 0.03;
//Get location and direction of old item //Get location and direction of old item
_dir = round getDir _cursorTarget; _dir = round getDir _cursorTarget;
@@ -201,7 +201,7 @@ if ((_startUpgrade) AND (isClass(_upgradeConfig))) then {
_countr = _countr + 1; _countr = _countr + 1;
} count _objWpnTypes; } count _objWpnTypes;
sleep 3; uiSleep 3;
//Light fire //Light fire
[_object,true] call dayz_inflame; [_object,true] call dayz_inflame;

View File

@@ -145,7 +145,7 @@ if ((_startUpgrade) AND (isClass(_upgradeConfig))) then {
_cursorTarget setVariable["alreadyupgrading",1]; _cursorTarget setVariable["alreadyupgrading",1];
sleep 0.03; uiSleep 0.03;
//Get location and direction of old item //Get location and direction of old item
_dir = round getDir _cursorTarget; _dir = round getDir _cursorTarget;
@@ -225,7 +225,7 @@ if ((_startUpgrade) AND (isClass(_upgradeConfig))) then {
_countr = _countr + 1; _countr = _countr + 1;
} count _objWpnTypes; } count _objWpnTypes;
sleep 3; uiSleep 3;
//publish new tent //publish new tent
PVDZE_obj_Publish = [dayz_characterID,_object,[_dir, _pos],[_weapons,_magazines,_backpacks]]; PVDZE_obj_Publish = [dayz_characterID,_object,[_dir, _pos],[_weapons,_magazines,_backpacks]];

View File

@@ -66,7 +66,7 @@ if (_hasInput) then {
} forEach _input; } forEach _input;
_availabeSpace = true; _availabeSpace = true;
//sleep 1; //uiSleep 1;
if (_availabeSpace) then { if (_availabeSpace) then {
player playActionNow "PutDown"; player playActionNow "PutDown";

View File

@@ -21,7 +21,7 @@ player removeMagazine "ItemCarBomb";
//wait a bit //wait a bit
player playActionNow "Medic"; player playActionNow "Medic";
sleep 1; uiSleep 1;
//DO Animation //DO Animation
_dis=20; _dis=20;

View File

@@ -10,12 +10,12 @@ _hasCrowbar = "ItemCrowbar" in items player;
if (!_hasSledgeHammer) exitWith { if (!_hasSledgeHammer) exitWith {
titleText ["You need a SledgeHammer to break into this compound" , "PLAIN DOWN"]; titleText ["You need a SledgeHammer to break into this compound" , "PLAIN DOWN"];
sleep 1; uiSleep 1;
}; };
if (!_hasCrowbar) exitWith { if (!_hasCrowbar) exitWith {
titleText ["You need a crowbar to break into this compound." , "PLAIN DOWN"]; titleText ["You need a crowbar to break into this compound." , "PLAIN DOWN"];
sleep 1; uiSleep 1;
}; };
_isOk = true; _isOk = true;
@@ -31,13 +31,13 @@ while {_isOk} do {
if (!_hasSledgeHammer) exitWith { if (!_hasSledgeHammer) exitWith {
_proceed = nil; _proceed = nil;
titleText ["You need a sledge hammer to break into a gate." , "PLAIN DOWN"]; titleText ["You need a sledge hammer to break into a gate." , "PLAIN DOWN"];
sleep 1; uiSleep 1;
}; };
if (!_hasCrowbar) exitWith { if (!_hasCrowbar) exitWith {
_proceed = nil; _proceed = nil;
titleText ["You need a crowbar to break into a gate." , "PLAIN DOWN"]; titleText ["You need a crowbar to break into a gate." , "PLAIN DOWN"];
sleep 1; uiSleep 1;
}; };
//Run animation //Run animation
@@ -71,7 +71,7 @@ while {_isOk} do {
r_doLoop = false; r_doLoop = false;
_finished = false; _finished = false;
}; };
sleep 0.1; uiSleep 0.1;
}; };
r_doLoop = false; r_doLoop = false;
@@ -121,7 +121,7 @@ while {_isOk} do {
}; };
titleText [format["Breaking into compound, attempt (%1 of %2).", _counter,_limit], "PLAIN DOWN"]; titleText [format["Breaking into compound, attempt (%1 of %2).", _counter,_limit], "PLAIN DOWN"];
sleep 0.03; uiSleep 0.03;
}; };
//Tool issues //Tool issues
if (isnil "_proceed") exitwith {}; if (isnil "_proceed") exitwith {};

View File

@@ -387,7 +387,7 @@ while {r_action_count != 0 and Dayz_constructionContext select 4} do {
}; };
}; };
}; };
sleep 0.03; uiSleep 0.03;
}; };
if (!_actionBuildHidden) then { // player can't build until all is fine if (!_actionBuildHidden) then { // player can't build until all is fine

View File

@@ -92,7 +92,7 @@ if (_woodCutting) then {
r_doLoop = false; r_doLoop = false;
}; };
sleep 0.1; uiSleep 0.1;
}; };
if(!_finished) exitWith { if(!_finished) exitWith {
@@ -134,7 +134,7 @@ if (_woodCutting) then {
}; };
_isOk = false; _isOk = false;
_proceed = true; _proceed = true;
sleep 1; uisleep 1;
}; };
cutText [format [localize "str_player_24_progress", _counter,_countOut], "PLAIN DOWN"]; cutText [format [localize "str_player_24_progress", _counter,_countOut], "PLAIN DOWN"];
}; };

View File

@@ -82,5 +82,5 @@ switch true do {
}; };
}; };
sleep 1; uiSleep 1;
r_action_count = 0; r_action_count = 0;

View File

@@ -131,7 +131,7 @@ if (_output != "") then
if (vehicle player == player) then if (vehicle player == player) then
{ {
//wait a while before dropping the output item //wait a while before dropping the output item
sleep 3; uiSleep 3;
//Drop Item to ground //Drop Item to ground
_output call fn_dropItem; _output call fn_dropItem;
}; };

View File

@@ -118,14 +118,14 @@ if(!r_drag_sqf and !r_player_unconscious and !_onLadder) then {
}; };
}; };
} forEach _output; } forEach _output;
//sleep 1; //uiSleep 1;
if (_availabeSpace) then { if (_availabeSpace) then {
//player playActionNow "PutDown"; //player playActionNow "PutDown";
call gear_ui_init; call gear_ui_init;
closeDialog 1; closeDialog 1;
player playActionNow "Medic"; player playActionNow "Medic";
sleep 2; uiSleep 2;
//setup alert and speak //setup alert and speak
_dis=20; _dis=20;
_sfx = "chopwood"; _sfx = "chopwood";
@@ -147,10 +147,10 @@ if(!r_drag_sqf and !r_player_unconscious and !_onLadder) then {
player removeMagazine _item; player removeMagazine _item;
}; };
}; };
//sleep 0.1; //uiSleep 0.1;
}; };
} forEach _input; } forEach _input;
sleep 3; uiSleep 3;
{ {
_item = _x select 0; _item = _x select 0;
_selection = _x select 1; _selection = _x select 1;
@@ -173,10 +173,10 @@ if(!r_drag_sqf and !r_player_unconscious and !_onLadder) then {
}; };
}; };
cutText [format [localize "str_crafting_success",_itemName], "PLAIN DOWN"]; cutText [format [localize "str_crafting_success",_itemName], "PLAIN DOWN"];
//sleep 2; //uiSleep 2;
} else { } else {
cutText [format [localize "str_crafting_failed",_itemName], "PLAIN DOWN"]; cutText [format [localize "str_crafting_failed",_itemName], "PLAIN DOWN"];
//sleep 2; //uiSleep 2;
}; };
}; };
} forEach _output; } forEach _output;

View File

@@ -109,7 +109,7 @@ if (count _nearByPile > 0) then {
}; };
}; };
} forEach _output; } forEach _output;
//sleep 1; //uiSleep 1;
if (_availabeSpace) then { if (_availabeSpace) then {
player playActionNow "PutDown"; player playActionNow "PutDown";
@@ -128,7 +128,7 @@ if (count _nearByPile > 0) then {
player removeMagazine _item; player removeMagazine _item;
}; };
}; };
//sleep 0.1; //uiSleep 0.1;
}; };
} forEach _input; } forEach _input;
@@ -154,10 +154,10 @@ if (count _nearByPile > 0) then {
}; };
}; };
cutText [format [localize "str_crafting_success",_itemName], "PLAIN DOWN"]; cutText [format [localize "str_crafting_success",_itemName], "PLAIN DOWN"];
//sleep 2; //uiSleep 2;
} else { } else {
cutText [format [localize "str_crafting_failed",_itemName], "PLAIN DOWN"]; cutText [format [localize "str_crafting_failed",_itemName], "PLAIN DOWN"];
//sleep 2; //uiSleep 2;
}; };
}; };
} forEach _output; } forEach _output;

View File

@@ -46,14 +46,14 @@ if ((count _worldspace) == 2) then {
//wait a bit //wait a bit
player playActionNow "Medic"; player playActionNow "Medic";
sleep 1; uiSleep 1;
_dis=20; _dis=20;
_sfx = "tentunpack"; _sfx = "tentunpack";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak; [player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] call player_alertZombies; [player,_dis,true,(getPosATL player)] call player_alertZombies;
sleep 5; uiSleep 5;
//place tent (local) //place tent (local)
_stash = createVehicle [_stashtype, _location, [], 0, "CAN_COLLIDE"]; _stash = createVehicle [_stashtype, _location, [], 0, "CAN_COLLIDE"];
_stash setdir _dir; _stash setdir _dir;

View File

@@ -11,7 +11,7 @@ if (_tape in magazines player) then {
//Fix the bottle //Fix the bottle
player playActionNow "Medic"; player playActionNow "Medic";
[player,"bandage",0,false] call dayz_zombieSpeak; [player,"bandage",0,false] call dayz_zombieSpeak;
sleep 6; uiSleep 6;
player removeMagazine _bottle; player removeMagazine _bottle;
player removeMagazine _tape; player removeMagazine _tape;
player addMagazine _fixedBottle; player addMagazine _fixedBottle;

View File

@@ -20,7 +20,7 @@ if ((_tape in magazines player) && (_handle in magazines player)) then {
//Fix the tool //Fix the tool
player playActionNow "Medic"; player playActionNow "Medic";
[player,"bandage",0,false] call dayz_zombieSpeak; [player,"bandage",0,false] call dayz_zombieSpeak;
sleep 6; uiSleep 6;
player removeWeapon _tool; player removeWeapon _tool;
player removeMagazine _tape; player removeMagazine _tape;
player removeMagazine _handle; player removeMagazine _handle;

View File

@@ -89,7 +89,7 @@ while {_isOk} do {
//make sure the player isnt swimming //make sure the player isnt swimming
// wait for animation // wait for animation
sleep 2; uiSleep 2;
// check if player is in boat // check if player is in boat
_vehicle = vehicle player; _vehicle = vehicle player;
@@ -151,7 +151,7 @@ while {_isOk} do {
if(_counter == 12) then { if(_counter == 12) then {
_isOk = false; _isOk = false;
sleep 1; uisleep 1;
cutText [localize "str_fishing_failed", "PLAIN DOWN"]; cutText [localize "str_fishing_failed", "PLAIN DOWN"];
}; };
}; };

View File

@@ -35,7 +35,7 @@ if ((count _worldspace) == 2) then {
_location = _worldspace select 1; _location = _worldspace select 1;
player playActionNow "Medic"; player playActionNow "Medic";
sleep 1; uiSleep 1;
// fireplace location may not be in front of player (but in 99% time it should) // fireplace location may not be in front of player (but in 99% time it should)
player setDir _dir; player setDir _dir;
player setPosATL (getPosATL player); player setPosATL (getPosATL player);
@@ -46,7 +46,7 @@ if ((count _worldspace) == 2) then {
// Added Nutrition-Factor for work // Added Nutrition-Factor for work
["Working",0,[20,40,15,0]] call dayz_NutritionSystem; ["Working",0,[20,40,15,0]] call dayz_NutritionSystem;
sleep 5; uiSleep 5;
_fire = createVehicle ["Land_Fire_DZ", getMarkerpos "respawn_west", [], 0, "CAN_COLLIDE"]; _fire = createVehicle ["Land_Fire_DZ", getMarkerpos "respawn_west", [], 0, "CAN_COLLIDE"];
_fire setDir _dir; _fire setDir _dir;

View File

@@ -78,7 +78,7 @@ if (!isNull _findNearestRock) then {
r_doLoop = false; r_doLoop = false;
}; };
sleep 0.1; uiSleep 0.1;
}; };
if(!_finished) exitWith { if(!_finished) exitWith {
@@ -121,7 +121,7 @@ if (!isNull _findNearestRock) then {
}; };
_isOk = false; _isOk = false;
_proceed = true; _proceed = true;
sleep 1; uisleep 1;
}; };
cutText [format[localize "str_mining_progress", _counter,(_countOut - _counter)], "PLAIN DOWN"]; cutText [format[localize "str_mining_progress", _counter,(_countOut - _counter)], "PLAIN DOWN"];
}; };

View File

@@ -116,5 +116,5 @@ for "_i" from 1 to _qtynew_create_mags_full do {
if (_qtynew_create_ammo_rest != 0) then { if (_qtynew_create_ammo_rest != 0) then {
player addMagazine [_create,_qtynew_create_ammo_rest]; player addMagazine [_create,_qtynew_create_ammo_rest];
}; };
sleep 1; uiSleep 1;
r_action_count = 0; r_action_count = 0;

View File

@@ -22,7 +22,7 @@ player removeMagazine _item;
_location = getPosATL player; _location = getPosATL player;
player playActionNow "PutDown"; player playActionNow "PutDown";
sleep 1; uiSleep 1;
_object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; _object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
_object setDir (getDir player); _object setDir (getDir player);

View File

@@ -90,7 +90,7 @@ while {r_doLoop} do {
if (r_interrupt ) then { if (r_interrupt ) then {
r_doLoop = false; r_doLoop = false;
}; };
sleep 0.1; uiSleep 0.1;
}; };
}; };

View File

@@ -13,7 +13,7 @@ _infoText = "";
//Tear the clothes //Tear the clothes
player playActionNow "Medic"; player playActionNow "Medic";
[player,"bandage",0,false] call dayz_zombieSpeak; [player,"bandage",0,false] call dayz_zombieSpeak;
sleep 6; uiSleep 6;
player removeMagazine _skin; player removeMagazine _skin;
switch (_rounded) do { switch (_rounded) do {
@@ -39,7 +39,7 @@ while {_i < _rounded} do {
if (_rnd < 0.5) then { if (_rnd < 0.5) then {
[player,"equip_string"] call BIS_fnc_invAdd; [player,"equip_string"] call BIS_fnc_invAdd;
}; };
sleep 0.03; uiSleep 0.03;
if (!_result) then { if (!_result) then {
systemchat (localize ("str_tear_clothes_noroom")); systemchat (localize ("str_tear_clothes_noroom"));

View File

@@ -32,6 +32,6 @@ if (_removeWeapon in (weapons player)) then {
}; };
} else { } else {
closedialog 0; closedialog 0;
sleep 0.2; uiSleep 0.2;
cutText [format[ localize "str_missingweapon", _text, _removeWeapon] , "PLAIN DOWN"] cutText [format[ localize "str_missingweapon", _text, _removeWeapon] , "PLAIN DOWN"]
}; };

View File

@@ -43,7 +43,7 @@ if (_hasToolbox) then {
if (_isMedic) then { _started = true; }; if (_isMedic) then { _started = true; };
if (_started and !_isMedic) then { r_doLoop = false; _finished = true; }; if (_started and !_isMedic) then { r_doLoop = false; _finished = true; };
if (r_interrupt) then { r_doLoop = false; }; if (r_interrupt) then { r_doLoop = false; };
sleep 0.1; uiSleep 0.1;
}; };
r_doLoop = false; r_doLoop = false;

View File

@@ -77,7 +77,7 @@ if (_isMan or _isAnimal or _isZombie) exitWith { cutText [localize "str_siphon_n
if (r_interrupt) then { if (r_interrupt) then {
r_doLoop = false; r_doLoop = false;
}; };
sleep 0.1; uiSleep 0.1;
}; };
r_doLoop = false; r_doLoop = false;
@@ -91,7 +91,7 @@ if (_isMan or _isAnimal or _isZombie) exitWith { cutText [localize "str_siphon_n
} else { } else {
// Alternate method in water make sure player stays in one spot for 6 seconds // Alternate method in water make sure player stays in one spot for 6 seconds
_location1 = getPosATL player; _location1 = getPosATL player;
sleep 6; uiSleep 6;
_location2 = getPosATL player; _location2 = getPosATL player;
if(_location1 distance _location2 < 3) then { if(_location1 distance _location2 < 3) then {
_finished = true; _finished = true;
@@ -133,7 +133,7 @@ if (_isMan or _isAnimal or _isZombie) exitWith { cutText [localize "str_siphon_n
call fnc_usec_medic_removeActions; call fnc_usec_medic_removeActions;
r_action = false; r_action = false;
sleep 1; uiSleep 1;
} else { } else {
_abort = true; _abort = true;
}; };

View File

@@ -15,7 +15,7 @@ _c = PVCDZ_plr_plantSpawner select 2; // random generator for plant type 0..2 a
_blacklist = PVCDZ_plr_plantSpawner select 3; _blacklist = PVCDZ_plr_plantSpawner select 3;
_plantcount = 0; _plantcount = 0;
_maxperspot = ceil (dayz_maxGlobalPlants / 2048 * 5); _maxperspot = ceil (dayz_maxGlobalPlants / 2048 * 5);
[] spawn { sleep 90; dayz_plantSpawner_done = 2; }; // force dayz_plantSpawner_done to unlock player on login page [] spawn { uiSleep 90; dayz_plantSpawner_done = 2; }; // force dayz_plantSpawner_done to unlock player on login page
//diag_log [ diag_tickTime, __FILE__, "Starting plantmax/a/b/c/blacklist/_maxperspot: ", dayz_maxGlobalPlants, _a, _b, _c, _blacklist , _maxperspot]; //diag_log [ diag_tickTime, __FILE__, "Starting plantmax/a/b/c/blacklist/_maxperspot: ", dayz_maxGlobalPlants, _a, _b, _c, _blacklist , _maxperspot];
_insideloop = { _insideloop = {

View File

@@ -160,7 +160,7 @@ if (isPlayer cursorTarget) then {
_y = _y + 1; _y = _y + 1;
_vehicle = (_vehClose select _y); _vehicle = (_vehClose select _y);
_vehType = getText (configFile >> "CfgVehicles" >> typeOf _unit >> "displayName"); _vehType = getText (configFile >> "CfgVehicles" >> typeOf _unit >> "displayName");
sleep 0.001; uiSleep 0.001;
}; };
_action = _unit addAction [format[localize "str_actions_medical_03",_vehType], "\z\addons\dayz_code\medical\load\load_act.sqf",[player,_vehicle,_unit], 0, true, true]; _action = _unit addAction [format[localize "str_actions_medical_03",_vehType], "\z\addons\dayz_code\medical\load\load_act.sqf",[player,_vehicle,_unit], 0, true, true];
r_player_actions set [count r_player_actions,_action]; r_player_actions set [count r_player_actions,_action];

View File

@@ -85,9 +85,9 @@ if (_unit == player) then
_unit = _this select 0; _unit = _this select 0;
cutText [localize "str_player_tranquilized", "PLAIN DOWN"]; cutText [localize "str_player_tranquilized", "PLAIN DOWN"];
//systemChat format ["YOU HAVE BEEN TRANQUILISED"]; //systemChat format ["YOU HAVE BEEN TRANQUILISED"];
//sleep 2; //uiSleep 2;
// 0 fadeSound 0.05; // 0 fadeSound 0.05;
//sleep 5; //uiSleep 5;
[_unit,0.01] call fnc_usec_damageUnconscious; [_unit,0.01] call fnc_usec_damageUnconscious;
_unit setVariable ["NORRN_unconscious", true, true]; _unit setVariable ["NORRN_unconscious", true, true];
r_player_timeout = round(random 60); r_player_timeout = round(random 60);

View File

@@ -98,7 +98,7 @@ switch _class do {
_dir = if (_isPlayer) then {getDir(_pos)} else {0}; _dir = if (_isPlayer) then {getDir(_pos)} else {0};
_obj = _class createVehicleLocal (getMarkerpos "respawn_west"); _obj = _class createVehicleLocal (getMarkerpos "respawn_west");
sleep 0.01; uiSleep 0.01;
_size = _obj call _realSize; _size = _obj call _realSize;
if (_isPlayer) then { _size = _size + (_pos call _realSize); }; if (_isPlayer) then { _size = _size + (_pos call _realSize); };
@@ -110,7 +110,7 @@ _new set [2, 0];
// place a temporary object (not colliding or can colliding) // place a temporary object (not colliding or can colliding)
if (_noCollision) then { if (_noCollision) then {
deleteVehicle _obj; deleteVehicle _obj;
sleep 0.01; uiSleep 0.01;
_obj = _class createVehicleLocal _new; _obj = _class createVehicleLocal _new;
// get non colliding position // get non colliding position
_new = getPosATL _obj; _new = getPosATL _obj;
@@ -131,7 +131,7 @@ if (_testBuilding) then { // let's proceed to the "something or its operator in
}; };
deleteVehicle _obj; deleteVehicle _obj;
sleep 0.01; uiSleep 0.01;
if (_testPond) then { // let's proceed to the "object in the pond" test (not dirty) if (_testPond) then { // let's proceed to the "object in the pond" test (not dirty)
_testPond = false; _testPond = false;

View File

@@ -63,7 +63,7 @@ _sandLevel = ctrlPosition ((uiNamespace getVariable 'DAYZ_GUI_waiting') displayC
//diag_log [(diag_tickTime - _start) < _timeout , !r_player_unconscious , alive player ]; //diag_log [(diag_tickTime - _start) < _timeout , !r_player_unconscious , alive player ];
// delay so that the character does not stop before falling: // delay so that the character does not stop before falling:
_disableHdlr = [] spawn { sleep 2; disableUserInput true; r_player_unconsciousInputDisabled = true; }; _disableHdlr = [] spawn { uiSleep 2; disableUserInput true; r_player_unconsciousInputDisabled = true; };
player playAction "CanNotMove"; player playAction "CanNotMove";
"dynamicBlur" ppEffectEnable true;"dynamicBlur" ppEffectAdjust [2]; "dynamicBlur" ppEffectCommit 0; "dynamicBlur" ppEffectEnable true;"dynamicBlur" ppEffectAdjust [2]; "dynamicBlur" ppEffectCommit 0;
@@ -87,12 +87,12 @@ while { (diag_tickTime - _start) < _timeout and r_player_unconscious and alive p
} else { } else {
player action ["eject", _veh]; player action ["eject", _veh];
player leaveVehicle _veh; player leaveVehicle _veh;
[] spawn { sleep 0.1; player switchmove "amovppnemstpsnonwnondnon"; }; // instant prone [] spawn { uiSleep 0.1; player switchmove "amovppnemstpsnonwnondnon"; }; // instant prone
}; };
}; };
if (player == _veh) then { player setVelocity [0,0,0]; }; if (player == _veh) then { player setVelocity [0,0,0]; };
sleep 0.1; uiSleep 0.1;
_count = _count + 1; _count = _count + 1;
}; };

View File

@@ -42,7 +42,7 @@ if ((_ammo isKindOf "SmokeShell") or (_ammo isKindOf "GrenadeHandTimedWest") or
if (_ammo isKindOf "SmokeShell") then { if (_ammo isKindOf "SmokeShell") then {
while { ((getPosATL _projectile) select 2) >= 1 } do { while { ((getPosATL _projectile) select 2) >= 1 } do {
_pos = getPosATL _projectile; _pos = getPosATL _projectile;
sleep 0.01; uiSleep 0.01;
}; };
_listTalk = _pos nearEntities ["zZombie_Base",50]; _listTalk = _pos nearEntities ["zZombie_Base",50];
@@ -74,7 +74,7 @@ if ((_ammo isKindOf "SmokeShell") or (_ammo isKindOf "GrenadeHandTimedWest") or
} else { } else {
while { alive _projectile } do { while { alive _projectile } do {
_pos = getPosATL _projectile; _pos = getPosATL _projectile;
sleep 0.01; uiSleep 0.01;
}; };
_listTalk = _pos nearEntities ["zZombie_Base",50]; _listTalk = _pos nearEntities ["zZombie_Base",50];

View File

@@ -16,7 +16,7 @@ if (_object == player) then {
private ["_endtime","_wait"]; private ["_endtime","_wait"];
_wait = _this select 0; _wait = _this select 0;
_endTime = diag_tickTime + _wait; _endTime = diag_tickTime + _wait;
waitUntil { sleep 1; diag_tickTime > _endTime }; waitUntil { uisleep 1; diag_tickTime > _endTime };
player setVariable ["FTcounter",((player getVariable ["FTcounter",0]) - _wait)]; player setVariable ["FTcounter",((player getVariable ["FTcounter",0]) - _wait)];
if ((player getVariable ["FTcounter",0]) <= 0) then { if ((player getVariable ["FTcounter",0]) <= 0) then {
player setVariable ["FTcounter",0]; player setVariable ["FTcounter",0];

View File

@@ -253,7 +253,7 @@ if (_isVehicle) then {
while { _i < 5 } do { while { _i < 5 } do {
player setDir ((getDir player) + _step); player setDir ((getDir player) + _step);
_i = _i + 1; _i = _i + 1;
sleep 0.01; uiSleep 0.01;
}; };
}; };
@@ -273,7 +273,7 @@ if (_isVehicle) then {
while { _i < 5 } do { while { _i < 5 } do {
player setDir ((getDir player) - _step); player setDir ((getDir player) - _step);
_i = _i + 1; _i = _i + 1;
sleep 0.01; uiSleep 0.01;
}; };
}; };

View File

@@ -19,7 +19,7 @@ _unit setDir _dir;
[objNull, _unit, rPlayMove, _move] call RE; [objNull, _unit, rPlayMove, _move] call RE;
//Wait //Wait
sleep 0.3; uiSleep 0.3;
if (_vehicle != player) then { if (_vehicle != player) then {
_hpList = _vehicle call vehicle_getHitpoints; _hpList = _vehicle call vehicle_getHitpoints;

View File

@@ -9,8 +9,8 @@ for "_i" from ((count _list) - 1) to 0 step -1 do
_position = getArray (_config >> "position"); _position = getArray (_config >> "position");
_object = nearestObject [_position,_type]; _object = nearestObject [_position,_type];
deleteVehicle _object; deleteVehicle _object;
if ((_i % 25) == 0) then { sleep 0.01; }; if ((_i % 25) == 0) then { uiSleep 0.01; };
}; };
sleep 0.001; uiSleep 0.001;
}; };
//diag_log ("CLEAR: " + str(_this)); //diag_log ("CLEAR: " + str(_this));

View File

@@ -19,7 +19,7 @@ for "_i" from ((count _list) - 1) to 0 step -1 do
_object setPosATL _position; _object setPosATL _position;
_object allowDamage false; _object allowDamage false;
_object setVariable ["", true]; // SV used by player_spawnCheck _object setVariable ["", true]; // SV used by player_spawnCheck
//if (_w8 AND {((_i % 25) == 0)}) then { sleep 0.01; }; //if (_w8 AND {((_i % 25) == 0)}) then { uiSleep 0.01; };
} else { } else {
if (!_inVehicle) then { if (!_inVehicle) then {
@@ -29,11 +29,11 @@ for "_i" from ((count _list) - 1) to 0 step -1 do
_object setPosATL _position; _object setPosATL _position;
_object allowDamage false; _object allowDamage false;
_object setVariable ["", true]; // SV used by player_spawnCheck _object setVariable ["", true]; // SV used by player_spawnCheck
if (_w8 AND {((_i % 25) == 0)}) then { sleep 0.01; }; if (_w8 AND {((_i % 25) == 0)}) then { uiSleep 0.01; };
}; };
}; };
}; };
//sleep 0.001; //uiSleep 0.001;
}; };
//diag_log ("FILL: " + str(_list)); //diag_log ("FILL: " + str(_list));

View File

@@ -6,7 +6,7 @@
/*********************************************************** /***********************************************************
ASSIGN DAMAGE TO A UNIT. ASSIGN DAMAGE TO A UNIT.
Called by "HandleDamage" vehicle Event Handler Called by "HandleDamage" vehicle Event Handler
or by "PVCDZ_veh_SH" PV or by "PVCDZE_veh_SH" PV
or by zombie_attack or by zombie_attack
- Function fnc_veh_handleDam - Function fnc_veh_handleDam

View File

@@ -52,7 +52,7 @@ _cantSee = {
}; };
}; };
if (!_isok) exitWith {false}; if (!_isok) exitWith {false};
sleep 0.001; uiSleep 0.001;
} forEach playableUnits; } forEach playableUnits;
_isok _isok
@@ -91,7 +91,7 @@ if ((_maxlocalspawned < _maxControlledZombies) and (dayz_CurrentNearByZombies <
}; };
_agent = createAgent [_type, _position, [], _radius, _method]; _agent = createAgent [_type, _position, [], _radius, _method];
sleep 0.03; uiSleep 0.03;
//add to global counter //add to global counter
dayz_spawnZombies = dayz_spawnZombies + 1; dayz_spawnZombies = dayz_spawnZombies + 1;
@@ -119,7 +119,7 @@ if ((_maxlocalspawned < _maxControlledZombies) and (dayz_CurrentNearByZombies <
if (!isNull _agent) then { if (!isNull _agent) then {
_agent setDir random 360; _agent setDir random 360;
sleep 0.03; uiSleep 0.03;
_position = getPosATL _agent; _position = getPosATL _agent;

View File

@@ -590,7 +590,7 @@ if (!isDedicated) then {
private "_delay"; private "_delay";
_delay = ((10000 + _humanity) / 5500) + 0.3; _delay = ((10000 + _humanity) / 5500) + 0.3;
playSound "heartbeat_1"; playSound "heartbeat_1";
sleep _delay; uiSleep _delay;
}; };
dayz_heartBeat = false; dayz_heartBeat = false;
}; };

View File

@@ -2,7 +2,7 @@
"norrnRaLW" addPublicVariableEventHandler {(_this select 1) execVM "\z\addons\dayz_code\medical\publicEH\load_wounded.sqf"}; "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"}; "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"}; "norrnRDead" addPublicVariableEventHandler {[_this select 1] execVM "\z\addons\dayz_code\medical\publicEH\deadState.sqf"};
"usecBleed" addPublicVariableEventHandler {_id = (_this select 1) spawn fnc_usec_damageBleed}; //"usecBleed" addPublicVariableEventHandler {_id = (_this select 1) spawn fnc_usec_damageBleed};
//"usecBandage" addPublicVariableEventHandler {(_this select 1) call player_medBandage}; //"usecBandage" addPublicVariableEventHandler {(_this select 1) call player_medBandage};
"usecInject" addPublicVariableEventHandler {(_this select 1) call player_medInject}; "usecInject" addPublicVariableEventHandler {(_this select 1) call player_medInject};
//"usecEpi" addPublicVariableEventHandler {(_this select 1) call player_medEpi}; //"usecEpi" addPublicVariableEventHandler {(_this select 1) call player_medEpi};
@@ -12,6 +12,11 @@
"PVDZE_plr_Hit" addPublicVariableEventHandler {(_this select 1) call fnc_usec_damageHandler}; "PVDZE_plr_Hit" addPublicVariableEventHandler {(_this select 1) call fnc_usec_damageHandler};
"PVDZE_plr_HitV" addPublicVariableEventHandler {(_this select 1) call fnc_usec_damageVehicle}; "PVDZE_plr_HitV" addPublicVariableEventHandler {(_this select 1) call fnc_usec_damageVehicle};
//"usecBreakLegs" addPublicVariableEventHandler {(_this select 1) call player_breaklegs}; //"usecBreakLegs" addPublicVariableEventHandler {(_this select 1) call player_breaklegs};
"PVDZ_hlt_Bleed" addPublicVariableEventHandler {(_this select 1) spawn fnc_usec_damageBleed};
"PVDZ_veh_SF" addPublicVariableEventHandler {(_this select 1) call fnc_veh_handleRepair}; // repair a part from a vehicle
"PVCDZ_obj_HideBody" addPublicVariableEventHandler {hideBody (_this select 1)};
"PVCDZ_obj_GutBody" addPublicVariableEventHandler {(_this select 1) spawn local_gutObject};
"PVCDZ_veh_SetFuel" addPublicVariableEventHandler {(_this select 1) spawn local_setFuel};
//Both //Both
"PVCDZE_veh_SetFuel" addPublicVariableEventHandler {(_this select 1) spawn local_setFuel}; "PVCDZE_veh_SetFuel" addPublicVariableEventHandler {(_this select 1) spawn local_setFuel};

View File

@@ -1,13 +1,46 @@
private ["_hasMeds","_med"]; #include "\z\addons\dayz_code\util\array.hpp";
_med = "ItemAntibiotic";
_hasMeds = _med in magazines player;
if (_hasMeds) then {
player removeMagazine _med;
};
//remove option
// player removeAction s_player_antiobiotic;
//s_player_antiobiotic = -1;
//remove infection private ["_msg","_antibiotics","_hasAntibiotics","_id","_hasMeds","_unit"];
r_player_infected = false;
player setVariable["USEC_infected",false,true]; _unit = _this select 0;
_medsUsed = _this select 1;
_antibiotics =["ItemAntibiotic","ItemAntibiotic1","ItemAntibiotic2","ItemAntibiotic3","ItemAntibiotic4","ItemAntibiotic5","ItemAntibiotic6"];
_hasAntibiotics = Array_Any(magazines player, {_this in _antibiotics});
_msg = "You seem to have misplaced your antibiotics.";
if (_hasAntibiotics) then {
//Remove one table from the box.
[_medsUsed,"medical"] call dayz_reduceItems;
//remove infection
r_player_infected = false;
_unit setVariable["USEC_infected",false,true];
//remove option
call fnc_usec_medic_removeActions;
r_action = false;
//player removeAction s_player_antiobiotic;
//s_player_antiobiotic = -1;
if ((_unit == player) or (vehicle player != player)) then {
//Self Healing
_id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medAntibiotics.sqf";
_msg = "You have taken antibiotics.";
} else {
//Send request to other player
PVDZE_send = [_unit,"Antibiotics",[_unit,player]];
publicVariableServer "PVDZE_send";
//Give humnaity for good deeds
[player,20] call player_humanityChange;
_msg = "You gave antibiotics.";
};
};
_msg call dayz_rollingMessages;

View File

@@ -1,10 +1,10 @@
// bleed.sqf private ["_started","_finished","_animState","_isMedic","_id","_unit","_item"];
private ["_started","_finished","_animState","_isMedic","_id","_unit","_display"];
disableserialization;
_unit = (_this select 3) select 0; _unit = (_this select 3) select 0;
_item = (_this select 3) select 1;
player removeMagazine _item;
closedialog 0;
call fnc_usec_medic_removeActions; call fnc_usec_medic_removeActions;
r_action = false; r_action = false;
@@ -14,21 +14,20 @@ if (vehicle player == player) then {
player playActionNow "Medic"; player playActionNow "Medic";
}; };
[1,1] call dayz_HungerThirst;
r_interrupt = false; r_interrupt = false;
_animState = animationState player; _animState = animationState player;
r_doLoop = true; r_doLoop = true;
_started = false; _started = false;
_finished = false; _finished = false;
[player,"bandage",0,false] call dayz_zombieSpeak; [player,"bandage",0,false] call dayz_zombieSpeak;
while {r_doLoop} do { while {r_doLoop} do {
_animState = animationState player; _animState = animationState player;
_isMedic = ["medic",_animState] call fnc_inString; _isMedic = ["medic",_animState] call fnc_inString;
if (_isMedic) then { if (_isMedic) then {
_started = true; _started = true;
}; };
if (_started && !_isMedic) then { if (_started and !_isMedic) then {
r_doLoop = false; r_doLoop = false;
_finished = true; _finished = true;
}; };
@@ -40,39 +39,27 @@ while {r_doLoop} do {
r_doLoop = false; r_doLoop = false;
_finished = true; _finished = true;
}; };
uiSleep 0.1; uisleep 0.1;
}; };
r_doLoop = false; r_doLoop = false;
if (_finished) then { if (_finished) then {
if ((_unit == player) or (vehicle player != player)) then {
_num_removed = ([player,"ItemBandage"] call BIS_fnc_invRemove);
if(_num_removed == 1) then {
if (vehicle player != player) then {
_display = findDisplay 106;
_display closeDisplay 0;
};
if ((_unit == player) || (vehicle player != player)) then {
//Self Healing //Self Healing
_id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medBandaged.sqf"; _id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medBandaged.sqf";
dayz_sourceBleeding = objNull; if (_item=="ItemSepsisBandage") then {
r_player_Sepsis = [false, 0];
player setVariable ["USEC_Sepsis", false, true];
player setVariable ["sepsisStarted", nil];
};
} else { } else {
/* PVS/PVC - Skaronator */
PVDZE_send = [_unit,"Bandage",[_unit,player]]; PVDZE_send = [_unit,"Bandage",[_unit,player]];
publicVariableServer "PVDZE_send"; publicVariableServer "PVDZE_send";
[player,20] call player_humanityChange; [player,20] call player_humanityChange;
}; };
{_unit setVariable[_x,false,true];} count USEC_typeOfWounds;
_unit setVariable ["USEC_injured",false,true];
};
} else { } else {
r_interrupt = false; r_interrupt = false;
if (vehicle player == player) then {
[objNull, player, rSwitchMove,""] call RE; [objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop"; player playActionNow "stop";
}; player addMagazine _item;
}; };

View File

@@ -39,7 +39,7 @@ if (!_hasTester) exitWith {};
_dialog = createDialog "bloodTest"; _dialog = createDialog "bloodTest";
sleep 0.02; uiSleep 0.02;
_display = uiNamespace getVariable 'DayZ_Blood_Test'; _display = uiNamespace getVariable 'DayZ_Blood_Test';
_resultsCard_hidden = _display displayCtrl 1288; _resultsCard_hidden = _display displayCtrl 1288;
@@ -210,7 +210,7 @@ if (_allClicked == 4) then {
switch (_type) do { switch (_type) do {
case "A" : { case "A" : {
if (!_allDisplayed) then { if (!_allDisplayed) then {
sleep 2; uiSleep 2;
if (r_antiA_done and !_antiA_displayed) then { if (r_antiA_done and !_antiA_displayed) then {
_antiA ctrlSetText (_aglutArray select _rnd1); _antiA ctrlSetText (_aglutArray select _rnd1);
_antiA_displayed = true; _antiA_displayed = true;
@@ -232,7 +232,7 @@ if (_allClicked == 4) then {
}; };
case "B" : { case "B" : {
if (!_allDisplayed) then { if (!_allDisplayed) then {
sleep 2; uiSleep 2;
if (r_antiA_done and !_antiA_displayed) then { if (r_antiA_done and !_antiA_displayed) then {
_antiA ctrlSetText (_wholeArray select _rnd1); _antiA ctrlSetText (_wholeArray select _rnd1);
_antiA_displayed = true; _antiA_displayed = true;
@@ -254,7 +254,7 @@ if (_allClicked == 4) then {
}; };
case "AB" : { case "AB" : {
if (!_allDisplayed) then { if (!_allDisplayed) then {
sleep 2; uiSleep 2;
if (r_antiA_done and !_antiA_displayed) then { if (r_antiA_done and !_antiA_displayed) then {
_antiA ctrlSetText (_aglutArray select _rnd1); _antiA ctrlSetText (_aglutArray select _rnd1);
_antiA_displayed = true; _antiA_displayed = true;
@@ -276,7 +276,7 @@ if (_allClicked == 4) then {
}; };
case "O" : { case "O" : {
if (!_allDisplayed) then { if (!_allDisplayed) then {
sleep 2; uiSleep 2;
if (r_antiA_done and !_antiA_displayed) then { if (r_antiA_done and !_antiA_displayed) then {
_antiA ctrlSetText (_wholeArray select _rnd1); _antiA ctrlSetText (_wholeArray select _rnd1);
_antiA_displayed = true; _antiA_displayed = true;
@@ -310,10 +310,10 @@ if (_allClicked == 4) then {
r_doLoop = false; r_doLoop = false;
_isDone = true; _isDone = true;
[] spawn { [] spawn {
sleep 7; uiSleep 7;
player setVariable["blood_testDone",true,true]; player setVariable["blood_testDone",true,true];
player setVariable["medForceUpdate",true]; player setVariable["medForceUpdate",true];
}; };
}; };
sleep 0.01; uiSleep 0.01;
}; };

View File

@@ -32,11 +32,11 @@ while {r_doLoop} do {
r_doLoop = false; r_doLoop = false;
}; };
if (vehicle player != player) then { if (vehicle player != player) then {
sleep 3; uiSleep 3;
r_doLoop = false; r_doLoop = false;
_finished = true; _finished = true;
}; };
sleep 0.1; uiSleep 0.1;
}; };
r_doLoop = false; r_doLoop = false;

View File

@@ -1,12 +1,15 @@
/* /*
CARRY BODY SCRIPT CARRY BODY SCRIPT
Allows players to carry unconscious bodies Allows players to carry unconscious bodies
JULY 2010 - norrin JULY 2010 - norrin
***************************************************************************************************************************** *****************************************************************************************************************************
Start carry.sqf Start carry.sqf
*/ */
private ["_unit","_dragee","_anim_name","_can_be_revived","_can_be_revived_2"]; private ["_unit","_dragee","_pos","_dir"];
_dragee = _this select 3; _dragee = _this select 3;
_can_be_revived = NORRN_revive_array select 20; _can_be_revived = NORRN_revive_array select 20;
_can_be_revived_2 = NORRN_revive_array select 21; _can_be_revived_2 = NORRN_revive_array select 21;
@@ -20,12 +23,11 @@ _dragee setVariable ["NORRN_unit_dragged", true, true];
detach _dragee; detach _dragee;
uiSleep 1.5; uiSleep 1.5;
// public EH // public EH
//DayZ CE: PublicVariables are removed in DayZ CE -> Could we also do here - Commit by Skaronator //PVDZ_drg_RACarUp = _dragee; // not used
norrnRACarUp = _dragee; //publicVariable "PVDZ_drg_RACarUp"; // not used
publicVariable "norrnRACarUp"; //_dragee switchMove "ainjpfalmstpsnonwrfldnon_carried_up";
_dragee switchMove "ainjpfalmstpsnonwrfldnon_carried_up"; //PVDZ_drg_RAPicUp = _unit; // not used
norrnRAPicUp = _unit; //publicVariable "PVDZ_drg_RAPicUp"; // not used
publicVariable "norrnRAPicUp";
_unit switchMove "acinpknlmstpsraswrfldnon_acinpercmrunsraswrfldnon"; _unit switchMove "acinpknlmstpsraswrfldnon_acinpercmrunsraswrfldnon";
uiSleep 10; uiSleep 10;
_dragee switchmove "ainjpfalmstpsnonwrfldnon_carried_still"; _dragee switchmove "ainjpfalmstpsnonwrfldnon_carried_still";
@@ -53,4 +55,5 @@ while {r_carry_sqf} do
}; };
uiSleep 0.1; uiSleep 0.1;
}; };
if (true) exitWith {};

View File

@@ -9,51 +9,52 @@
Start carry.sqf Start carry.sqf
*/ */
private ["_unit","_dragee","_anim_name","_can_be_revived","_can_be_revived_2"]; // private ["_unit","_dragee","_pos","_dir"];
_dragee = _this select 3; // _dragee = _this select 3;
_can_be_revived = NORRN_revive_array select 20; // _can_be_revived = NORRN_revive_array select 20;
_can_be_revived_2 = NORRN_revive_array select 21; // _can_be_revived_2 = NORRN_revive_array select 21;
_unit = player; // _unit = player;
r_carry_sqf = true; // r_carry_sqf = true;
r_drag_sqf = false; // r_drag_sqf = false;
//
_unit removeAction Norrn_carryAction; // _unit removeAction Norrn_carryAction;
if (isNull _dragee) exitWith {}; // if (isNull _dragee) exitWith {};
_dragee setVariable ["NORRN_unit_dragged", true, true]; // _dragee setVariable ["NORRN_unit_dragged", true, true];
detach _dragee; // detach _dragee;
uiSleep 1.5; // uiSleep 1.5;
// public EH // // public EH
norrnRACarUp = _dragee; // PVDZ_drg_RACarUp = _dragee;
publicVariable "norrnRACarUp"; // publicVariable "PVDZ_drg_RACarUp";
_dragee switchMove "ainjpfalmstpsnonwrfldnon_carried_up"; // _dragee switchMove "ainjpfalmstpsnonwrfldnon_carried_up";
norrnRAPicUp = _unit; // PVDZ_drg_RAPicUp = _unit;
publicVariable "norrnRAPicUp"; // publicVariable "PVDZ_drg_RAPicUp";
_unit switchMove "acinpknlmstpsraswrfldnon_acinpercmrunsraswrfldnon"; // _unit switchMove "acinpknlmstpsraswrfldnon_acinpercmrunsraswrfldnon";
uiSleep 10; // uiSleep 10;
_dragee switchmove "ainjpfalmstpsnonwrfldnon_carried_still"; // _dragee switchmove "ainjpfalmstpsnonwrfldnon_carried_still";
_dragee attachto [_unit,[-0.2, 0.2, 0]]; // _dragee attachto [_unit,[-0.2, 0.2, 0]];
//
//
while {r_carry_sqf} do // while {r_carry_sqf} do
{ // {
_anim_name = animationstate _unit; // _anim_name = animationstate _unit;
if (!(_dragee getVariable "NORRN_unconscious")) exitWith // if (!(_dragee getVariable "NORRN_unconscious")) exitWith
{ // {
detach _dragee; // detach _dragee;
_unit switchMove ""; // _unit switchMove "";
player removeAction Norrn_dropAction; // player removeAction Norrn_dropAction;
r_carry_sqf = false; // r_carry_sqf = false;
}; // };
//
//check that dragged unit still exists // //check that dragged unit still exists
if (!alive _unit || _anim_name != "acinpknlmstpsraswrfldnon_acinpercmrunsraswrfldnon" && _anim_name != "acinpercmstpsraswrfldnon" && _anim_name != "acinpercmrunsraswrfldf") exitWith // if (!alive _unit || _anim_name != "acinpknlmstpsraswrfldnon_acinpercmrunsraswrfldnon" && _anim_name != "acinpercmstpsraswrfldnon" && _anim_name != "acinpercmrunsraswrfldf") exitWith
{ // {
player removeAction NORRN_dropAction; // player removeAction NORRN_dropAction;
detach _dragee; // detach _dragee;
_unit switchMove ""; // _unit switchMove "";
r_carry_sqf = false; // r_carry_sqf = false;
}; // };
uiSleep 0.1; // uiSleep 0.1;
}; // };
_dragee playActionNow "Die"; // _dragee playActionNow "Die";
// if (true) exitWith {};
//

View File

@@ -9,36 +9,56 @@
Start drag.sqf Start drag.sqf
*/ */
private ["_unit","_dragee","_unconscious"]; private ["_unit","_dragee","_pos","_dir","_addAction"];
_dragee = _this select 3; _dragee = _this select 3;
_unit = player; _unit = player;
_unconscious = _dragee getVariable ["NORRN_unconscious", false]; _unconscious = _dragee getVariable ["NORRN_unconscious", false];
_addAction = false;
if (isNull _dragee) exitWith {}; if (isNull _dragee) exitWith {};
if (!_unconscious) exitWith {}; if (!_unconscious) exitWith {};
//player assumes dragging posture //player assumes dragging posture
_dragee setVariable ["NORRN_unit_dragged", true, true];
_unit playActionNow "grabDrag";
uiSleep 2;
//unconscious unit assumes dragging posture
//public EH
//["norrnRaDrag",_dragee] call broadcastRpcCallAll;
norrnRaDrag = [_dragee];
publicVariable "norrnRaDrag";
_dragee attachto [_unit,[0.1, 1.01, 0]];
uiSleep 0.02;
//rotate wounded units so that it is facing the correct direction
norrnR180 = _dragee;
publicVariable "norrnR180";
_dragee setDir 180;
r_drag_sqf = true; r_drag_sqf = true;
//Uneccesary actions removed & drop body added while {r_drag_sqf} do {
call fnc_usec_medic_removeActions; if (!_addAction) then {
_dragee setVariable ["NORRN_unit_dragged", true, true];
NORRN_dropAction = player addAction ["Drop body", "\z\addons\dayz_code\medical\drop_body.sqf",_dragee, 0, false, true]; _unit playActionNow "grabDrag";
//NORRN_carryAction = player addAction ["Carry body", "\z\addons\dayz_code\medical\carry.sqf",_dragee, 0, false, true]; uiSleep 2;
uiSleep 1;
//unconscious unit assumes dragging posture
//public EH
//PVDZ_drg_RaDrag = _dragee;
PVDZ_drg_RaDrag = [_dragee];
publicVariable "PVDZ_drg_RaDrag";
//_dragee switchmove "ainjppnemstpsnonwrfldb_still";
_dragee attachto [_unit,[0.1, 1.01, 0]];
uiSleep 0.02;
//rotate wounded units so that it is facing the correct direction
//PVDZ_drg_R180 = _dragee; // not used
//publicVariable "PVDZ_drg_R180"; // not used
_dragee setDir 180;
//Uneccesary actions removed & drop body added
call fnc_usec_medic_removeActions;
NORRN_dropAction = player addAction [localize "str_actions_medical_dropbody", "\z\addons\dayz_code\medical\drop_body.sqf",_dragee, 0, false, true];
//NORRN_carryAction = player addAction ["Carry body", "\z\addons\dayz_code\medical\carry.sqf",_dragee, 0, false, true];
uiSleep 1;
_addAction = true;
};
if (force_dropBody) then {
[cursorTarget, _unit, _unconscious, _dragee] execVM "\z\addons\dayz_code\medical\drop_body.sqf";
};
if (vehicle player != player) then {
player action ["eject", vehicle player];
cutText [localize "str_actions_medical_dragbody_veh","PLAIN DOWN"];
[cursorTarget, _unit, _unconscious, _dragee] execVM "\z\addons\dayz_code\medical\drop_body.sqf";
};
if (!r_drag_sqf) exitWith {};
};

View File

@@ -8,11 +8,10 @@
Start drop_body.sqf Start drop_body.sqf
*/ */
private ["_dragee","_unit"];
_dragee = _this select 3; _dragee = _this select 3;
player removeAction NORRN_dropAction; player removeAction NORRN_dropAction;
player removeAction NORRN_carryAction; //player removeAction NORRN_carryAction;
NORRN_remove_drag = true; NORRN_remove_drag = true;
r_drag_sqf = false; r_drag_sqf = false;
r_carry_sqf = false; r_carry_sqf = false;
@@ -28,5 +27,8 @@ _dragee setVariable ["NORRN_unit_dragged", false, true];
//lie on back //lie on back
_dragee playMoveNow "ainjppnemstpsnonwrfldnon"; _dragee playMoveNow "ainjppnemstpsnonwrfldnon";
norrnRalie = _dragee; //PVDZ_drg_Ralie = _dragee; // not used
publicVariable "norrnRalie"; //publicVariable "PVDZ_drg_Ralie"; // not used
force_dropBody = false;
if (true) exitWith {};

View File

@@ -4,7 +4,7 @@ private ["_unit","_isDead"];
_unit = (_this select 3) select 0; _unit = (_this select 3) select 0;
_isDead = _unit getVariable["USEC_isDead",false]; _isDead = _unit getVariable["USEC_isDead",false];
call fnc_usec_medic_removeActions; call fnc_usec_medic_removeActions;
[1,1] call dayz_HungerThirst;
player playActionNow "Medic"; player playActionNow "Medic";
player removeMagazine "ItemEpinephrine"; player removeMagazine "ItemEpinephrine";

View File

@@ -90,6 +90,9 @@ r_interrupt = false;
}; };
if (_complete) then { if (_complete) then {
if (!DZE_UseBloodTypes) then {
player addMagazine "ItemBloodbag";
} else {
switch (_bloodType) do { switch (_bloodType) do {
case "A" : { case "A" : {
if (_rh) then { if (_rh) then {
@@ -123,6 +126,7 @@ if (_complete) then {
}; };
}; };
}; };
};
} else { } else {
diag_log format ["Fill Bag: Something went wrong and the bloodBag was not added!"]; diag_log format ["Fill Bag: Something went wrong and the bloodBag was not added!"];
}; };

View File

@@ -1,66 +1,6 @@
// init_related_scripts.sqf ArmA2 revive // moved to dayz_code/system/scheduler/sched_medical.sqf
// <20> AUGUST 2010 - norrin
// Functions
// Added pvEH - scripts modified to remove the need for sending long strings via setVehicleInit to reduce network traffic && JIP load - 04072010
// INCLUDE REQUIRED GAME CODES
#include "\ca\editor\Data\Scripts\dikCodes.h"
//Settings
private ["_id","_rnd","_lowBlood"];
usec_bandage_recovery = 5; //time to recover after bandaging
//"colorCorrections" ppEffectEnable true;
//"dynamicBlur" ppEffectEnable true;
//[man2] call fnc_usec_damageHandle;
//[player] call fnc_usec_damageHandle;
//random morphine chance
//Epi pen not working chance
//Water Unconscious handling
// localize "CLIENT: Medical System Initiated";
while {true} do {
//hintSilent format["Injured: %1\nUnconscious: %2 (%7)\nBlood: %5\nPain: %6\nMust Evac: %8\nHandler: %3\nAction: %4\nLeg Damage: %9\nArm Damage: %10\nInfected: %11",r_player_injured,r_player_unconscious,r_player_handler,r_action,r_player_blood,r_player_inpain,r_player_timeout,r_player_dead, player getVariable ["hit_legs",0], player getVariable ["hit_arms",0],r_player_infected];
if (r_player_blood <= 0) then {
[player,900] call fnc_usec_damageUnconscious;
_id = [dayz_sourceBleeding,"bled"] spawn player_death;
};
if ((r_player_blood <= 3000) && !r_player_unconscious) then {
_rnd = random 100;
if (_rnd > 99) then {
[player,((random 0.1) + 0.2)] call fnc_usec_damageUnconscious;
};
};
//Handle Unconscious player
if ((r_player_unconscious) && (!r_player_handler1)) then {
//localize "CLIENT: Start Unconscious Function";
[] spawn fnc_usec_unconscious;
};
//Handle player bleeding
if ((r_player_injured) && (!r_player_handler)) then {
r_player_handler = true;
uiSleep 1;
//localize "CLIENT: Start Player Bleeding";
[] spawn fnc_usec_playerBleed; //publicizes the blood value at regular intervals
[] spawn fnc_med_publicBlood;
};
//Handle player infection
if ((r_player_infected) && (!r_player_handler)) then {
r_player_handler = true;
uiSleep 1;
[] spawn fnc_med_publicBlood;
};
while {1==1} do {
//Low Blood Effects //Low Blood Effects
if (!r_player_unconscious) then { if (!r_player_unconscious) then {
if (((r_player_blood/r_player_bloodTotal) < 0.35)) then { if (((r_player_blood/r_player_bloodTotal) < 0.35)) then {
@@ -77,11 +17,10 @@ while {true} do {
}; };
uiSleep 0.5; uiSleep 0.5;
_lowBlood = player getVariable ["USEC_lowBlood", false]; _lowBlood = player getVariable ["USEC_lowBlood", false];
if ((r_player_blood < r_player_bloodTotal) && !_lowBlood) then { if ((r_player_blood < r_player_bloodTotal) and !_lowBlood) then {
player setVariable["USEC_lowBlood",true,true]; player setVariable["USEC_lowBlood",true,true];
}; };
}; };
}; };
uiSleep 1;
}; };
endLoadingScreen;

View File

@@ -12,7 +12,7 @@ r_action = false;
r_action_load = false; r_action_load = false;
call fnc_usec_medic_removeActions; call fnc_usec_medic_removeActions;
//_dragger removeAction NORRN_loadWoundedAction; _dragger removeAction NORRN_loadWoundedAction;
if ((_vcl emptyPositions "cargo") > 0) then if ((_vcl emptyPositions "cargo") > 0) then
{ {
@@ -21,11 +21,11 @@ if ((_vcl emptyPositions "cargo") > 0) then
_wounded setVariable ["NORRN_LoadVcl", _vcl, true]; _wounded setVariable ["NORRN_LoadVcl", _vcl, true];
uiSleep 1; uiSleep 1;
//["norrnRLact",_wounded] call broadcastRpcCallAll; //["norrnRLact",_wounded] call broadcastRpcCallAll;
norrnRLact = [_wounded]; [_wounded] execVM "\z\addons\dayz_code\medical\load\load_wounded.sqf";
norrnRLact = _wounded;
publicVariable "norrnRLact"; publicVariable "norrnRLact";
player removeAction NORRN_dropAction; player removeAction NORRN_dropAction;
}else{ } else {
cutText [localize "str_dragnospace", "PLAIN DOWN"];//hint "No space left in vehicle";
hint "No space left in vehicle";
}; };
NORRN_load_wounded_action = true; NORRN_load_wounded_action = true;

View File

@@ -1,7 +1,7 @@
// Load_wounded.sqf // Load_wounded.sqf
// OCTOBER 2010 - norrin // OCTOBER 2010 - norrin
private ["_wounded","_vcl"]; private ["_wounded","_vcl","_group"];
_wounded = _this select 0; _wounded = _this select 0;
@@ -14,15 +14,16 @@ _wounded setVariable ["NORRN_unit_dragged", true, true];
_wounded assignAsCargo _vcl; _wounded assignAsCargo _vcl;
_wounded moveInCargo _vcl; _wounded moveInCargo _vcl;
uiSleep 1; uiSleep 1;
//["norrnRALW",_wounded] call broadcastRpcCallAll; //["norrnRaLW",_wounded] call broadcastRpcCallAll;
norrnRALW = [_wounded]; norrnRaLW = _wounded;
publicVariable "norrnRALW"; publicVariable "norrnRaLW";
_wounded switchMove "kia_hmmwv_driver";
if (local _wounded) then if (local _wounded) then
{ {
waitUntil {!(_wounded getVariable "NORRN_unconscious")|| !alive _wounded || vehicle _wounded == _wounded || (assignedVehicleRole _wounded) select 0 != "Cargo"}; waitUntil {!(_wounded getVariable "NORRN_unconscious")|| !alive _wounded || vehicle _wounded == _wounded || (assignedVehicleRole _wounded) select 0 != "Cargo"};
if (vehicle _wounded == _wounded || (assignedVehicleRole _wounded) select 0 != "Cargo") exitWith if ((vehicle _wounded == _wounded) || (assignedVehicleRole _wounded) select 0 != "Cargo") exitWith
{ {
if (_wounded getVariable "NORRN_AIunconscious") then if (_wounded getVariable "NORRN_AIunconscious") then
{ {
@@ -33,8 +34,8 @@ if (local _wounded) then
_wounded action ["EJECT", _vcl]; _wounded action ["EJECT", _vcl];
uiSleep 1; uiSleep 1;
}; };
norrinRAlie = _wounded; // PVDZ_drg_RAlie = _wounded; // not used
publicVariable "norrinRAlie"; // publicVariable "PVDZ_drg_RAlie"; // not used
_wounded switchMove "ainjppnemstpsnonwrfldnon"; _wounded switchMove "ainjppnemstpsnonwrfldnon";
_wounded setVariable ["NORRN_unit_dragged", false, true]; _wounded setVariable ["NORRN_unit_dragged", false, true];
uiSleep 1; uiSleep 1;
@@ -47,3 +48,5 @@ if (local _wounded) then
}; };
}; };
uiSleep 0.01; uiSleep 0.01;
if (true) exitWith {};

View File

@@ -1,14 +1,14 @@
// unLoad_act.sqf // unLoad_act.sqf
// AUGUST 2010 - norrin // AUGUST 2010 - norrin
private ["_args","_vcl","_loop","_unit","_name","_crewVcl"]; private ["_args","_dragger","_vcl","_wounded"];
_args = _this select 3; _args = _this select 3;
_name = _args select 0; _name = _args select 0;
_vcl = _args select 1; _vcl = _args select 1;
_crewVcl = crew _vcl; _crewVcl = crew _vcl;
_name removeAction (_this select 2); //_name removeAction NORRN_pullOutAction; // NORRN_pullOutAction is defined anywhere
for [{ _loop = 0 },{ _loop < count _crewVcl },{ _loop = _loop + 1}] do for [{ _loop = 0 },{ _loop < count _crewVcl },{ _loop = _loop + 1}] do
{ {
@@ -20,11 +20,18 @@ for [{ _loop = 0 },{ _loop < count _crewVcl },{ _loop = _loop + 1}] do
uiSleep 0.05; uiSleep 0.05;
_unit action ["EJECT", _vcl]; _unit action ["EJECT", _vcl];
uiSleep 1; uiSleep 1;
_position = getPosATL _unit;
_isOnDeck = getPosASL _unit in LHA_Deck;
if (_isOnDeck) then {
_unit setPosAsl [(_position select 0), (_position select 1), (LHA_height+1)];
};
_unit switchMove ""; _unit switchMove "";
_unit switchMove "ainjppnemstpsnonwrfldnon"; _unit switchMove "ainjppnemstpsnonwrfldnon";
uiSleep 0.2; uiSleep 0.2;
norrnRalie = _unit; // PVDZ_drg_Ralie = _unit; // not used
publicVariable "norrnRalie"; // publicVariable "PVDZ_drg_Ralie"; // not used
}; };
uiSleep 0.1; uiSleep 0.1;
}; };
if (true) exitWith {};

View File

@@ -9,13 +9,13 @@ if (!local _wounded) exitWith {};
r_action = false; r_action = false;
sleep 1; uiSleep 1;
_vcl = _wounded getVariable "NORRN_loadVcl"; _vcl = _wounded getVariable "NORRN_loadVcl";
_wounded setVariable ["NORRN_unit_dragged", true, true]; _wounded setVariable ["NORRN_unit_dragged", true, true];
_wounded assignAsCargo _vcl; _wounded assignAsCargo _vcl;
_wounded moveInCargo _vcl; _wounded moveInCargo _vcl;
sleep 1; uiSleep 1;
//["PVDZ_drg_RaLW",_wounded] call broadcastRpcCallAll; //["PVDZ_drg_RaLW",_wounded] call broadcastRpcCallAll;
norrnRaLW = _wounded; norrnRaLW = _wounded;
publicVariable "norrnRaLW"; publicVariable "norrnRaLW";
@@ -31,15 +31,15 @@ if (local _wounded) then
if (vehicle _wounded != _wounded) then if (vehicle _wounded != _wounded) then
{ {
unassignVehicle _wounded; unassignVehicle _wounded;
sleep 0.05; uiSleep 0.05;
_wounded action ["EJECT", _vcl]; _wounded action ["EJECT", _vcl];
sleep 1; uiSleep 1;
}; };
// PVDZ_drg_RAlie = _wounded; // not used // PVDZ_drg_RAlie = _wounded; // not used
// publicVariable "PVDZ_drg_RAlie"; // not used // publicVariable "PVDZ_drg_RAlie"; // not used
_wounded switchMove "ainjppnemstpsnonwrfldnon"; _wounded switchMove "ainjppnemstpsnonwrfldnon";
_wounded setVariable ["NORRN_unit_dragged", false, true]; _wounded setVariable ["NORRN_unit_dragged", false, true];
sleep 1; uiSleep 1;
}; };
}; };
@@ -48,5 +48,5 @@ if (local _wounded) then
_wounded playMove "BasicDriver"; _wounded playMove "BasicDriver";
}; };
}; };
sleep 0.01; uiSleep 0.01;
if (true) exitWith {}; if (true) exitWith {};

View File

@@ -1,17 +1,14 @@
// bleed.sqf private ["_started","_finished","_animState","_isMedic","_id","_unit"];
private ["_started","_finished","_animState","_isMedic","_id","_num_removed","_unit"];
disableserialization;
_unit = (_this select 3) select 0; _unit = (_this select 3) select 0;
player removeMagazine "ItemMorphine";
_unit setVariable ["hit_legs",0]; _unit setVariable ["hit_legs",0];
_unit setVariable ["hit_hands",0]; _unit setVariable ["hit_hands",0];
call fnc_usec_medic_removeActions; call fnc_usec_medic_removeActions;
r_action = false; r_action = false;
[1,1] call dayz_HungerThirst;
if (vehicle player == player) then { if (vehicle player == player) then {
//not in a vehicle //not in a vehicle
player playActionNow "Medic"; player playActionNow "Medic";
@@ -27,7 +24,7 @@ while {r_doLoop} do {
if (_isMedic) then { if (_isMedic) then {
_started = true; _started = true;
}; };
if (_started && !_isMedic) then { if (_started and !_isMedic) then {
r_doLoop = false; r_doLoop = false;
_finished = true; _finished = true;
}; };
@@ -44,29 +41,22 @@ while {r_doLoop} do {
r_doLoop = false; r_doLoop = false;
if (_finished) then { if (_finished) then {
_num_removed = ([player,"ItemMorphine"] call BIS_fnc_invRemove); if ((_unit == player) or (vehicle player != player)) then {
if(_num_removed == 1) then {
if (vehicle player != player) then {
_display = findDisplay 106;
_display closeDisplay 0;
};
if ((_unit == player) || (vehicle player != player)) then {
//Self Healing //Self Healing
_id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medMorphine.sqf"; _id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medMorphine.sqf";
} else { } else {
//PVCDZ_plr_Humanity = [player,50];
[player,50] call player_humanityChange; [player,50] call player_humanityChange;
}; };
/* PVS/PVC - Skaronator */ //["PVCDZ_hlt_Morphine",[_unit,player]] call broadcastRpcCallAll;
//PVCDZ_hlt_Morphine = [_unit,player];
//publicVariable "PVCDZ_hlt_Morphine";
PVDZE_send = [_unit,"Morphine",[_unit,player]]; PVDZE_send = [_unit,"Morphine",[_unit,player]];
publicVariableServer "PVDZE_send"; publicVariableServer "PVDZE_send";
};
} else { } else {
player addMagazine "ItemMorphine";
r_interrupt = false; r_interrupt = false;
if (vehicle player == player) then {
[objNull, player, rSwitchMove,""] call RE; [objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop"; player playActionNow "stop";
};
}; };

View File

@@ -1,39 +1,27 @@
// bleed.sqf private ["_id","_unit"];
private ["_id","_unit","_num_removed"];
disableserialization;
_unit = (_this select 3) select 0; _unit = (_this select 3) select 0;
_unit setVariable ["USEC_inPain", false, true];
call fnc_usec_medic_removeActions; call fnc_usec_medic_removeActions;
r_action = false; r_action = false;
_num_removed = ([player,"ItemPainkiller"] call BIS_fnc_invRemove); if (vehicle player == player) then {
if(_num_removed == 1) then {
if (vehicle player != player) then {
_display = findDisplay 106;
_display closeDisplay 0;
};
_unit setVariable ["USEC_inPain", false, true];
if (vehicle player == player) then {
//not in a vehicle //not in a vehicle
player playActionNow "Gear"; player playActionNow "Gear";
}; };
if ((_unit == player) || (vehicle player != player)) then { if ((_unit == player) or (vehicle player != player)) then {
//Self Healing //Self Healing
_id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medPainkiller.sqf"; _id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medPainkiller.sqf";
} else { } else {
//PVCDZ_plr_Humanity = [player,20];
[player,20] call player_humanityChange; [player,20] call player_humanityChange;
};
uiSleep 1;
//clear the healed player's vision
/* PVS/PVC - Skaronator */
PVDZE_send = [_unit,"Painkiller",[_unit,player]];
publicVariableServer "PVDZE_send";
}; };
player removeMagazine "ItemPainkiller";
uiSleep 1;
PVDZE_send = [_unit,"Painkiller",[_unit,player]];
publicVariableServer "PVDZE_send";

View File

@@ -5,13 +5,17 @@ _array = _this; //_this select 0;
_unit = _array select 0; _unit = _array select 0;
_medic = _array select 1; _medic = _array select 1;
if ((_unit == player) || (vehicle player != player)) then { if ((_unit == player) or (vehicle player != player)) then {
r_player_injured = false; r_player_injured = false;
"dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5;
r_player_handler = false; r_player_handler = false;
if (r_player_blood == r_player_bloodTotal) then { if (r_player_blood == r_player_bloodTotal) then {
player setVariable["USEC_lowBlood",false,true]; player setVariable["USEC_lowBlood",false,true];
}; };
dayz_sourceBleeding = objNull;
call fnc_usec_resetWoundPoints;
//Ensure Control is visible //Ensure Control is visible
_display = uiNamespace getVariable 'DAYZ_GUI_display'; _display = uiNamespace getVariable 'DAYZ_GUI_display';
_control = _display displayCtrl 1303; _control = _display displayCtrl 1303;

View File

@@ -1,61 +0,0 @@
// medBreakLegs.sqf
private ["_array","_unit","_attacker","_cnt","_index","_hit","_damage","_wound","_isInjured","_lowBlood"];
disableserialization;
_array = _this; //_this select 0;
_unit = _array select 0;
_attacker = _array select 1;
if (_unit == player && player distance _attacker < 5) then {
player setVariable["startcombattimer", 1];
// Make bleed
if (random 2 < 1) then {
// Find hit
_cnt = count (DAYZ_woundHit_ok select 1);
_index = floor (random _cnt);
_index = (DAYZ_woundHit_ok select 1) select _index;
_hit = (DAYZ_woundHit_ok select 0) select _index;
_damage = 0.1 + random (1.2);
//Record Damage to Minor parts (legs, arms)
if (_hit in USEC_MinorWounds) then {
[_unit,_hit,_damage] call object_processHit;
};
player setVariable["medForceUpdate",true,true];
1 call fnc_usec_bulletHit;
_wound = _hit call fnc_usec_damageGetWound;
//Create Wound
_unit setVariable[_wound,true,true];
[_unit,_wound,_hit] spawn fnc_usec_damageBleed;
usecBleed = [_unit,_wound,_hit];
publicVariable "usecBleed"; //Not sure if this can used over a PVS way, maybe with a rangeCheck like in gutObject.sqf?
//Set Injured if not already
_isInjured = _unit getVariable["USEC_injured",false];
if (!_isInjured) then {
_unit setVariable["USEC_injured",true,true];
dayz_sourceBleeding = _attacker;
};
//Set ability to give blood
_lowBlood = _unit getVariable["USEC_lowBlood",false];
if (!_lowBlood) then {
_unit setVariable["USEC_lowBlood",true,true];
};
r_player_injured = true;
// reduce blood
r_player_blood = r_player_blood - 50;
// Make player infected
if (random 5 < 1) then {
r_player_infected = true;
player setVariable["USEC_infected",true,true];
};
};
[_unit,"hit",2,false] call dayz_zombieSpeak;
};

View File

@@ -1,23 +1,15 @@
// animHealed.sqf // called by PublicVariableEventHandler "PVCDZ_hlt_Epi", received from the server,
// because another player sent a PVDZ_send = [_unit,"Epinephrine",[_unit,player,"ItemEpinephrine"]];
private ["_array","_unit","_medic","_isDead"];
_array = _this; //_this select 0; _array = _this; //_this select 0;
_unit = _array select 0; _unit = _array select 0; // healed
_medic = _array select 1; _medic = _array select 1; // healer
_isDead = _unit getVariable["USEC_isDead",false]; _isDead = _unit getVariable["USEC_isDead",false];
if (local _unit) then {_unit setCaptive false}; //if (local _unit) then {_unit setCaptive false}; // captive ????
if (!_isDead) then { if (_unit == player and !(_unit getVariable["USEC_isDead",false]) and _medic != _unit and _medic distance _unit < 5) then {
_unit switchMove "AmovPpneMstpSnonWnonDnon_healed"; _unit setVariable ["NORRN_unconscious", false, false]; r_player_unconscious = false;
//no need to public broadcast the variables since this runs on every peer _unit setVariable ["USEC_isCardiac",false, false]; r_player_cardiac = false;
_unit setVariable ["NORRN_unconscious", false, false]; //AmovPpneMstpSnonWnonDnon_healed
_unit setVariable ["USEC_isCardiac",false, false];
if (_unit == player) then {
r_player_unconscious = false;
disableUserInput false;
r_player_cardiac = false;
r_player_handler1 = false;
};
}; };

View File

@@ -1,11 +1,10 @@
// animHealed.sqf private ["_array","_unit","_medic","_display","_control"];
private ["_array","_unit","_medic","_display","_control","_id"];
disableserialization; disableserialization;
_array = _this; //_this select 0; _array = _this; //_this select 0;
_unit = _array select 0; _unit = _array select 0;
_medic = _array select 1; _medic = _array select 1;
if ((_unit == player) || (vehicle player != player)) then { if ((_unit == player) or (vehicle player != player)) then {
r_fracture_legs = false; r_fracture_legs = false;
r_fracture_arms = false; r_fracture_arms = false;
_unit setHit["legs",0]; _unit setHit["legs",0];
@@ -16,5 +15,8 @@ if ((_unit == player) || (vehicle player != player)) then {
_control = _display displayCtrl 1203; _control = _display displayCtrl 1203;
_control ctrlShow false; _control ctrlShow false;
// _id = false spawn dayz_disableRespawn; //_id = false spawn dayz_disableRespawn;
}; };
_unit setVariable ["hit_legs",0,true];
_unit setVariable ["hit_hands",0,true];

View File

@@ -1,12 +1,8 @@
// animHealed.sqf
private ["_array","_unit","_medic"]; private ["_array","_unit","_medic"];
_array = _this; //_this select 0; _array = _this; //_this select 0;
_unit = _array select 0; _unit = _array select 0;
_medic = _array select 1; _medic = _array select 1;
if ((_unit == player) || (vehicle player != player)) then { if ((_unit == player) or (vehicle player != player)) then {
r_player_inpain = false; r_player_inpain = false;
R3F_TIRED_Accumulator = 0;
"dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5;
}; };

View File

@@ -1,19 +1,15 @@
// bleed.sqf private["_unit","_isDead","_isCardiac"];
_unit = _this select 3;
private ["_unit","_isDead","_isCardiac"];
_unit = (_this select 3);
_isDead = _unit getVariable["USEC_isDead",false]; _isDead = _unit getVariable["USEC_isDead",false];
_isCardiac = _unit getVariable["USEC_isCardiac",false]; _isCardiac = _unit getVariable["USEC_isCardiac",false];
uiSleep 1; uiSleep 1;
if (_isDead) then { if (_isDead) then {
TitleText[(localize "str_epoch_player_3"),"PLAIN DOWN",3]; cutText [localize "str_pulse_extremely_weak","PLAIN DOWN"];
} else { } else {
if (_isCardiac) then { if (_isCardiac) then {
TitleText[(localize "str_epoch_player_4"),"PLAIN DOWN",3]; cutText [localize "str_pulse_weak","PLAIN DOWN"];
} else { } else {
TitleText[(localize "str_epoch_player_5"),"PLAIN DOWN",3]; cutText [localize "str_pulse_strong","PLAIN DOWN"];
}; };
}; };
//r_action = false;

View File

@@ -11,7 +11,7 @@ r_action = false;
if (vehicle player == player) then { if (vehicle player == player) then {
player playActionNow "Medic"; player playActionNow "Medic";
}; };
[1,1] call dayz_HungerThirst;
r_interrupt = false; r_interrupt = false;
_animState = animationState player; _animState = animationState player;
r_doLoop = true; r_doLoop = true;

View File

@@ -7,7 +7,10 @@ _blood = _unit getVariable ["USEC_BloodQty", 0];
_lowBlood = _unit getVariable ["USEC_lowBlood", false]; _lowBlood = _unit getVariable ["USEC_lowBlood", false];
_injured = _unit getVariable ["USEC_injured", false]; _injured = _unit getVariable ["USEC_injured", false];
_inPain = _unit getVariable ["USEC_inPain", false]; _inPain = _unit getVariable ["USEC_inPain", false];
_lastused = _unit getVariable ["LastTransfusion", time]; //_lastused = _unit getVariable ["LastTransfusion", time];
_lastused = selfTransfusionTime;
_timeout = (DZE_selfTransfuse_Values select 2);
if ((round(time - _lastused)) <= _timeout) exitWith {cutText [format[(localize "str_actions_medical_18"),(_timeout - (round(time - _lastused)))] , "PLAIN DOWN"]};
call gear_ui_init; call gear_ui_init;
closeDialog 0; closeDialog 0;
@@ -66,7 +69,7 @@ while {r_doLoop and (_i < 12)} do {
if (_isMedic and !_started) then { if (_isMedic and !_started) then {
closeDialog 0; closeDialog 0;
diag_log format ["TRANSFUSION: starting blood transfusion (%1 > %2)", name player, name _unit]; //diag_log format ["TRANSFUSION: starting blood transfusion (%1 > %2)", name player, name _unit];
if (_badBag) then { if (_badBag) then {
for "_r" from 0 to 15 do { for "_r" from 0 to 15 do {
_bagToRemove = _bagUsed; _bagToRemove = _bagUsed;
@@ -119,7 +122,9 @@ while {r_doLoop and (_i < 12)} do {
_blood = _unit getVariable ["USEC_BloodQty", 0]; _blood = _unit getVariable ["USEC_BloodQty", 0];
if (((_blood >= r_player_bloodTotal) and !_badBag and _bagFound) or (_i == 12)) then { if (((_blood >= r_player_bloodTotal) and !_badBag and _bagFound) or (_i == 12)) then {
diag_log format ["TRANSFUSION: completed blood transfusion successfully (_i = %1)", _i]; //diag_log format ["TRANSFUSION: completed blood transfusion successfully (_i = %1)", _i];
selfTransfusionTime = time;
[_unit, DZE_selfTransfuse_Values] call player_medTransfuse;
cutText [localize "str_actions_medical_transfusion_successful", "PLAIN DOWN"]; cutText [localize "str_actions_medical_transfusion_successful", "PLAIN DOWN"];
[player,_unit,"loc",rTITLETEXT,localize "str_actions_medical_transfusion_successful","PLAIN DOWN"] call RE; [player,_unit,"loc",rTITLETEXT,localize "str_actions_medical_transfusion_successful","PLAIN DOWN"] call RE;
[player,25] call player_humanityChange; [player,25] call player_humanityChange;
@@ -129,13 +134,12 @@ while {r_doLoop and (_i < 12)} do {
_isClose = ((player distance _unit) < ((sizeOf typeOf _unit) / 2)); _isClose = ((player distance _unit) < ((sizeOf typeOf _unit) / 2));
if (r_interrupt or !_isClose or _forceClose) then { if (r_interrupt or !_isClose or _forceClose) then {
diag_log format ["TRANSFUSION: transfusion was interrupted (r_interrupt: %1 | distance: %2 (%3) | _i = %4)", r_interrupt, player distance _unit, _isClose, _i]; //diag_log format ["TRANSFUSION: transfusion was interrupted (r_interrupt: %1 | distance: %2 (%3) | _i = %4)", r_interrupt, player distance _unit, _isClose, _i]; cutText [localize "str_actions_medical_transfusion_interrupted", "PLAIN DOWN"];
cutText [localize "str_actions_medical_transfusion_interrupted", "PLAIN DOWN"];
[player,_unit,"loc",rTITLETEXT,localize "str_actions_medical_transfusion_interrupted","PLAIN DOWN"] call RE; [player,_unit,"loc",rTITLETEXT,localize "str_actions_medical_transfusion_interrupted","PLAIN DOWN"] call RE;
r_doLoop = false; r_doLoop = false;
}; };
sleep 0.1; uiSleep 0.1;
}; };
r_doLoop = false; r_doLoop = false;

View File

@@ -4,20 +4,14 @@ fnc_usec_damageHandle = {
- Function - Function
- [unit] call fnc_usec_damageHandle; - [unit] call fnc_usec_damageHandle;
************************************************************/ ************************************************************/
private ["_unit"]; //private["_unit","_eh"];
_unit = _this select 0; _unit = _this select 0;
// Remove handle damage override
// _unit removeEventHandler ["HandleDamage",temp_handler];
mydamage_eh1 = _unit addeventhandler ["HandleDamage",{_this call fnc_usec_damageHandler;} ]; mydamage_eh1 = _unit addeventhandler ["HandleDamage",{_this call fnc_usec_damageHandler;} ];
mydamage_eh2 = _unit addEventHandler ["Fired", {_this call player_fired;}]; mydamage_eh2 = _unit addEventHandler ["Fired", {_this call player_fired;}];
mydamage_eh3 = _unit addEventHandler ["Killed", {_id = [] spawn player_death;}]; mydamage_eh3 = _unit addEventHandler ["Killed", {_id = [] spawn player_death;}];
}; };
fnc_usec_pitchWhine = { fnc_usec_pitchWhine = {
private ["_visual","_sound"];
_visual = _this select 0; _visual = _this select 0;
_sound = _this select 1; _sound = _this select 1;
//affect the player //affect the player
@@ -34,33 +28,51 @@ fnc_usec_pitchWhine = {
}; };
}; };
fnc_usec_damageUnconscious = { /*
private ["_unit","_damage","_inVehicle"]; //Old system 1.8.6
fnc_usec_damageUnconscious1 = {
private["_unit","_damage"];
_unit = _this select 0; _unit = _this select 0;
_damage = _this select 1; _damage = _this select 1;
_inVehicle = (vehicle _unit != _unit);
if ((_unit == player) || (vehicle player != player)) then { diag_log format["fnc_usec_damageUnconscious: %1,%2,%3",_unit,_damage, player];
r_player_timeout = round((((random 2) max 0.1) * _damage) * 20);
if (_unit == player) then {
r_player_timeout = 120 min (round((((random 2) max 0.1) * _damage) * 20));
r_player_unconscious = true; r_player_unconscious = true;
player setVariable["medForceUpdate",true,true]; };
};
*/
fnc_usec_damageUnconscious = {
private["_unit","_damage"];
_unit = _this select 0;
_damage = _this select 1;
diag_log format["fnc_usec_damageUnconscious: %1,%2,%3",_unit,_damage, player];
_inVehicle = (vehicle _unit != _unit);
if (_unit == player) then {
r_player_timeout = 120 min (round((((random 2) max 0.1) * _damage) * 20));
r_player_unconscious = true;
player setVariable["medForceUpdate",true];
player setVariable ["unconsciousTime", r_player_timeout, true]; player setVariable ["unconsciousTime", r_player_timeout, true];
}; };
if (_inVehicle) then { if (_inVehicle) then {
_unit spawn { _unit spawn {
private["_veh","_unit"]; private["_veh","_unit"];
_veh = vehicle _this; _veh = vehicle _this;
_unit = _this; _unit = _this;
waitUntil{(((([_veh] call FNC_GetPos) select 2 < 1) && (speed _veh < 1)) || (!r_player_unconscious))}; waitUntil{(((getPosATL _veh select 2 < 1) and (speed _veh < 1)) or (!r_player_unconscious))};
if (r_player_unconscious) then { if (r_player_unconscious) then {
_unit action ["eject", _veh]; _unit action ["eject", _veh];
waitUntil{((vehicle _this) != _this)}; waitUntil{((vehicle _this) != _this)};
uiSleep 1; uiSleep 1;
_unit setVariable ["NORRN_unconscious", true, true];
_unit playActionNow "Die"; _unit playActionNow "Die";
}; };
}; };
} else { } else {
_unit setVariable ["NORRN_unconscious", true, true];
_unit playActionNow "Die"; _unit playActionNow "Die";
}; };
}; };
@@ -68,48 +80,28 @@ fnc_usec_damageUnconscious = {
//Action Handlers added to init file //Action Handlers added to init file
fnc_usec_bulletHit = { fnc_usec_bulletHit = {
private["_commit"]; //private["_commit"];
_commit = _this; _commit = _this;
if (!r_player_unconscious) then { if (!r_player_unconscious) then {
"colorCorrections" ppEffectEnable true;"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 0.1], [1, 1, 1, 0.0]];"colorCorrections" ppEffectCommit 0; "colorCorrections" ppEffectEnable true; "colorCorrections" ppEffectAdjust [1, 1.1, -0.02, [0.4,-0.2,-0.2, .04], [1,1,1,0], [1,1,1, 0]]; "colorCorrections" ppEffectCommit 0;
"dynamicBlur" ppEffectEnable true;"dynamicBlur" ppEffectAdjust [2]; "dynamicBlur" ppEffectCommit 0; "dynamicBlur" ppEffectEnable true;"dynamicBlur" ppEffectAdjust [1]; "dynamicBlur" ppEffectCommit 0;
addCamShake [5, 0.5, 25]; setCamShakeParams [0.05, 4, 1, 3, true]; addCamShake [5, 0.5, 25];
"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1], [1, 1, 1, 0.0]];"colorCorrections" ppEffectCommit _commit; "colorCorrections" ppEffectAdjust [1, 1, 0, [0,0,0,0], [1, 1, 1, 1], [1, 1, 1, 1]]; "colorCorrections" ppEffectCommit _commit;
"dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit _commit; "dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit _commit;
}; };
}; };
fnc_usec_damageType = {
private["_damage","_ammo","_type"];
_damage = _this select 0;
_ammo = _this select 1;
_type = 0;
if ((_ammo isKindof "Grenade") || (_ammo isKindof "ShellBase") || (_ammo isKindof "TimeBombCore") || (_ammo isKindof "BombCore") || (_ammo isKindof "MissileCore") || (_ammo isKindof "RocketCore") || (_ammo isKindof "FuelExplosion") || (_ammo isKindof "GrenadeBase")) then {
_type = 1;
};
if ((_ammo isKindof "B_127x107_Ball") || (_ammo isKindof "B_127x99_Ball")) then {
_type = 2;
};
if (_ammo isKindof "Melee") then {
_type = 3;
};
_type;
};
fnc_usec_damageGetWound = { fnc_usec_damageGetWound = {
private["_hit","_sPoint","_options","_rnd","_wound"]; //private["_wound"];
_hit = format["%1",_this]; _hit = format["%1",_this];
_sPoint = USEC_woundHit find _hit; _sPoint = USEC_woundHit find _hit;
_options = USEC_woundPoint select _sPoint; _options = USEC_woundPoint select _sPoint;
_rnd = floor(random(count _options)); _rnd = floor(random(count _options));
_wound = _options select _rnd; _wound = _options select _rnd;
_wound; _wound
}; };
fnc_usec_medic_removeActions = { fnc_usec_medic_removeActions = {
private ["_obj"];
_obj = player; _obj = player;
{ {
_obj = _x; _obj = _x;
@@ -124,62 +116,187 @@ fnc_usec_medic_removeActions = {
fnc_usec_self_removeActions = { fnc_usec_self_removeActions = {
{ {
player removeAction _x; player removeAction _x;
} count r_self_actions; } forEach r_self_actions;
r_self_actions = []; r_self_actions = [];
}; };
fnc_med_publicBlood = { fnc_usec_calculateBloodPerSec = {
while {(r_player_injured || r_player_infected) && r_player_blood > 0} do { private["_bloodLossPerSec","_bloodGainPerSec","_bloodPerSec"];
player setVariable["USEC_BloodQty",r_player_blood,true]; _bloodLossPerSec = 0;
player setVariable["medForceUpdate",true]; _bloodGainPerSec = 0;
uiSleep 5;
if (dayz_thirst >= SleepWater) then {
_bloodLossPerSec = _bloodLossPerSec + 10;
}; };
if (dayz_hunger >= SleepFood) then {
_bloodLossPerSec = _bloodLossPerSec + 10;
};
if (r_player_injured) then {
_bloodLossPerSec = 10;
{
_wounded = player getVariable["hit_"+_x,false];
if (_wounded) then {
_bloodLossPerSec = _bloodLossPerSec + 10;
};
} forEach USEC_typeOfWounds;
};
//Sepsis
if (!r_player_infected) then {
if (r_player_Sepsis select 0) then {
_time = diag_tickTime - (r_player_Sepsis select 1);
if (_time > 900) then {
if (_time < 1800) then {
_time = ((_time - 900) max 1) min 900;
_bloodLossPerSec = _bloodLossPerSec + (_time / 450) + 1;
_bloodLossPerSec = _bloodLossPerSec - (_bloodLossPerSec % 1);
//hintSilent (format["SetupMedFNCS: Blood Level: %2/12000 bloodLossPerSec %1",_bloodLossPerSec,r_player_blood]);
} else {
r_player_Sepsis = [false, 0];
r_player_infected = true;
player setVariable["USEC_infected",true,true];
};
};
if ((_time < 1) and (isNil "sepsisStarted")) then {
//if (isNil "sepsisStarted") then {
//cutText [localize "str_medical_sepsis_warning","PLAIN DOWN",5];
systemChat (localize "str_medical_sepsis_warning");
player setVariable ["sepsisStarted", _time];
};
};
};
if (r_player_infected) then {
_bloodLossPerSec = _bloodLossPerSec + 3;
};
//_golbalNutrition = 1200 / (r_player_Nutrition select 0);
if (r_player_bloodregen > 0) then {
_bloodGainPerSec = r_player_bloodregen * 0.1;
/*
if ((r_player_bloodregen) < 30) then {
_bloodGainPerSec = r_player_bloodregen * _golbalNutrition;
};
if ((r_player_bloodregen)< 60) then {
_bloodGainPerSec = r_player_bloodregen * _golbalNutrition;
};
*/
r_player_bloodregen = (0 max r_player_bloodregen) - (0 max _bloodGainPerSec);
};
r_player_bloodlosspersec = _bloodLossPerSec;
r_player_bloodgainpersec = _bloodGainPerSec;
_bloodPerSec = _bloodGainPerSec - _bloodLossPerSec;
/*
private [ "_foodVal", "_thirstVal", "_tempVal"];
_foodVal = round(100*(1 - (dayz_hunger / SleepFood)));
_thirstVal = round(100*(1 - (dayz_thirst / SleepWater)));
_tempVal = round(100*(1 - ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin))));
hintSilent format [ "blood/s: %1\ngain/s: %2\nloss/s: %3\nbloodregen: %4\ninjured: %5\ninfected: %6\nsepsis: %7\ninpain:%15\nblood: %8\nthirst: %9 (%12%%)\nhunger: %10 (%13%%)\ntemp: %11 (%14%%)\nFoodstack: %16\n",
_bloodPerSec,
r_player_bloodgainpersec,
r_player_bloodlosspersec,
r_player_bloodregen,
r_player_injured,
r_player_infected,
r_player_Sepsis,
r_player_blood,
dayz_thirst,
dayz_hunger,
dayz_temperatur,
_thirstVal,
_foodVal,
_tempVal,
r_player_inpain,
r_player_foodstack
];
*/
r_player_bloodpersec = _bloodPerSec;
_bloodPerSec
}; };
fnc_usec_playerBleed = { fnc_usec_playerHandleBlood = {
private ["_bleedTime","_bleedPerSec","_total","_bTime","_myBleedTime","_id"]; private["_bloodPerSec","_elapsedTime"];
_bleedTime = 400; //seconds if (r_player_injured) then { // bleeding
_total = r_player_bloodTotal; _bleedTime = (random 500) + 100;
r_player_injured = true; _elapsedTime = 0;
_myBleedTime = (random 300) + 30;
_bTime = 0;
while {r_player_injured} do {
_bleedPerSec = 30; while {(r_player_injured) and (r_player_blood > 0)} do {
// If kneeling || crawling reduce bleeding _bloodPerSec = [] call fnc_usec_calculateBloodPerSec;
if (dayz_isKneeling && !r_player_unconscious) then{ r_player_blood = r_player_blood + _bloodPerSec;
_bleedPerSec = 15; _elapsedTime = _elapsedTime + 1;
};
if (dayz_isCrawling && !r_player_unconscious) then{
_bleedPerSec = 7.5;
};
//bleed out if (_elapsedTime > _bleedTime) then {
if (r_player_blood > 0) then {
r_player_blood = r_player_blood - _bleedPerSec;
};
_bTime = _bTime + 1;
if (_bTime > _myBleedTime) then {
r_player_injured = false; r_player_injured = false;
_id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medBandaged.sqf"; _id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medBandaged.sqf";
dayz_sourceBleeding = objNull; dayz_sourceBleeding = objNull;
{player setVariable[_x,false,true];} count USEC_woundHit; call fnc_usec_resetWoundPoints;
player setVariable ["USEC_injured",false,true];
}; };
_bloodDiff = r_player_blood - (player getVariable["USEC_BloodQty", 12000]);
if ((_bloodDiff >= 500) or (_bloodDiff <= -500)) then {
player setVariable["USEC_BloodQty",r_player_blood,true];
player setVariable["medForceUpdate",true];
};
uiSleep 1; uiSleep 1;
}; };
} else { // not bleeding
_bloodPerSec = [] call fnc_usec_calculateBloodPerSec;
if (_bloodPerSec != 0) then {
r_player_blood = r_player_blood + _bloodPerSec;
};
_bloodDiff = r_player_blood - (player getVariable["USEC_BloodQty", 12000]);
if ((_bloodDiff >= 500) or (_bloodDiff <= -500)) then {
player setVariable["USEC_BloodQty",r_player_blood,true];
player setVariable["medForceUpdate",true];
};
};
};
fnc_usec_resetWoundPoints = {
{
player setVariable["hit_"+_x,false,true];
} forEach USEC_typeOfWounds;
player setVariable ["USEC_injured",false,true];
}; };
fnc_usec_damageBleed = { fnc_usec_damageBleed = {
/*********************************************************** /***********************************************************
PROCESS DAMAGE TO A UNIT PROCESS DAMAGE TO A UNIT
- Function - Function fnc_usec_damageBleed: Draw a creepy blood stream from a player limb
- [_unit, _wound, _injury] call fnc_usec_damageBleed; - [_unit, _wound, _injury] call fnc_usec_damageBleed;
************************************************************/ ************************************************************/
private ["_unit","_wound","_injury","_modelPos","_point","_source","_rndX"]; private["_wound","_modelPos","_point","_source"];
_unit = _this select 0; _unit = _this select 0;
_wound = _this select 1; _wound = _this select 1;
_injury = _this select 2; //_injury = _this select 2; // not used. damage% ???
if (isServer) exitWith{}; // no graphical effects on server!
/*
if ((dayz_bleedingeffect == 1) or (dayz_bleedingeffect == 3)) then {
[] spawn fnc_blooddrops;
};*/
//diag_log format ["%1::fnc_usec_damageBleed %2", __FILE__, _this];
_modelPos = [0,0,0]; _modelPos = [0,0,0];
@@ -197,38 +314,47 @@ fnc_usec_damageBleed = {
case "LeftShoulder": { case "LeftShoulder": {
_modelPos = [0,0,0.2]; _modelPos = [0,0,0.2];
}; };
//added visual wounds to foots
case "RightFoot": {
_modelPos = [0,0,0.2];
};
case "LeftFoot": {
_modelPos = [0,0,0.2];
};
}; };
while {true} do { while {1 == 1} do {
scopeName "main"; scopeName "main";
waitUntil {(vehicle _unit == _unit)}; waitUntil {(vehicle _unit == _unit)};
if ((dayz_bleedingeffect == 2) or (dayz_bleedingeffect == 3)) then {
//Blood partical
_point = "Logic" createVehicleLocal getPosATL _unit; _point = "Logic" createVehicleLocal getPosATL _unit;
_source = "#particlesource" createVehicleLocal getPosATL _unit; _source = "#particlesource" createVehicleLocal getPosATL _unit;
_source setParticleParams _source setParticleParams
/*Sprite*/ [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 13, 1],"",// File,Ntieth,Index,Count,Loop(Bool) /* Sprite */ [["\Ca\Data\ParticleEffects\Universal\Universal", 16, 13, 1],"", // File,Ntieth,Index,Count,Loop(Bool)
/*Type*/ "Billboard", /* Type */ "Billboard",
/*TimmerPer*/ 1, /* TimmerPer */ 1,
/*Lifetime*/ 0.2, /* Lifetime */ 0.2,
/*Position*/ [0,0,0], /* Position */ [0,0,0],
/*MoveVelocity*/ [0,0,0.5], /* MoveVelocity */ [0,0,0.5],
/*Simulation*/ 1,0.32,0.1,0.05,//rotationVel,weight,volume,rubbing /* Simulation */ 1,0.32,0.1,0.05, //rotationVel,weight,volume,rubbing
/*Scale*/ [0.05,0.25], /* Scale */ [0.05,0.25],
/*Color*/ [[0.2,0.01,0.01,1],[0.2,0.01,0.01,0]], /* Color */ [[0.2,0.01,0.01,1],[0.2,0.01,0.01,0]],
/*AnimSpeed*/ [0.1], /* AnimSpeed */ [0.1],
/*randDirPeriod*/ 0, /* randDirPeriod */ 0,
/*randDirIntesity*/ 0, /* randDirIntesity */ 0,
/*onTimerScript*/ "", /* onTimerScript */ "",
/*DestroyScript*/ "", /* DestroyScript */ "",
/*Follow*/ _point]; /* Follow */ _point];
_source setParticleRandom [2, [0, 0, 0], [0.0, 0.0, 0.0], 0, 0.5, [0, 0, 0, 0.1], 0, 0, 10]; _source setParticleRandom [2, [0, 0, 0], [0.0, 0.0, 0.0], 0, 0.5, [0, 0, 0, 0.1], 0, 0, 10];
_source setDropInterval 0.02; _source setDropInterval 0.02;
_point attachTo [_unit,_modelPos,_wound]; _point attachTo [_unit,_modelPos,_wound];
};
uiSleep 5; uiSleep 5;
while {((_unit getVariable["USEC_injured",true]) && (alive _unit))} do { while {((_unit getVariable["USEC_injured",true]) and (alive _unit))} do {
scopeName "loop"; scopeName "loop";
if (vehicle _unit != _unit) then { if (vehicle _unit != _unit) then {
BreakOut "loop"; BreakOut "loop";
@@ -247,6 +373,25 @@ fnc_usec_damageBleed = {
deleteVehicle _point; deleteVehicle _point;
}; };
//LEGACY BELOW HERE, LEFT IN FOR SCRIPTS THAT MAY REQUIRE THESE FUNCTIONS
fnc_usec_damageType = {
private["_damage","_ammo","_type"];
_damage = _this select 0;
_ammo = _this select 1;
_type = 0;
if ((_ammo isKindof "Grenade") || (_ammo isKindof "ShellBase") || (_ammo isKindof "TimeBombCore") || (_ammo isKindof "BombCore") || (_ammo isKindof "MissileCore") || (_ammo isKindof "RocketCore") || (_ammo isKindof "FuelExplosion") || (_ammo isKindof "GrenadeBase")) then {
_type = 1;
};
if ((_ammo isKindof "B_127x107_Ball") || (_ammo isKindof "B_127x99_Ball")) then {
_type = 2;
};
if (_ammo isKindof "Melee") then {
_type = 3;
};
_type;
};
fnc_usec_recoverUncons = { fnc_usec_recoverUncons = {
player setVariable ["NORRN_unconscious",false,true]; player setVariable ["NORRN_unconscious",false,true];
player setVariable ["unconsciousTime",0,true]; player setVariable ["unconsciousTime",0,true];
@@ -266,3 +411,43 @@ fnc_usec_recoverUncons = {
player playMoveNow "AmovPpneMstpSnonWnonDnon_healed"; player playMoveNow "AmovPpneMstpSnonWnonDnon_healed";
}; };
}; };
fnc_med_publicBlood = {
while {(r_player_injured || r_player_infected) && r_player_blood > 0} do {
player setVariable["USEC_BloodQty",r_player_blood,true];
player setVariable["medForceUpdate",true];
uiSleep 5;
};
};
fnc_usec_playerBleed = {
private ["_bleedTime","_bleedPerSec","_total","_bTime","_myBleedTime","_id"];
_bleedTime = 400; //seconds
_total = r_player_bloodTotal;
r_player_injured = true;
_myBleedTime = (random 300) + 30;
_bTime = 0;
while {r_player_injured} do {}
_bleedPerSec = 30;
// If kneeling || crawling reduce bleeding
if (dayz_isKneeling && !r_player_unconscious) then{
_bleedPerSec = 15;
};
if (dayz_isCrawling && !r_player_unconscious) then{
_bleedPerSec = 7.5;
};
//bleed out
if (r_player_blood > 0) then {
r_player_blood = r_player_blood - _bleedPerSec;
};
_bTime = _bTime + 1;
if (_bTime > _myBleedTime) then {
r_player_injured = false;
_id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medBandaged.sqf";
dayz_sourceBleeding = objNull;
{player setVariable[_x,false,true];} count USEC_woundHit;
player setVariable ["USEC_injured",false,true];
};
uiSleep 1;
};
};

View File

@@ -1,59 +1,223 @@
private ["_started","_finished","_animState","_isMedic","_num_removed","_unit","_lastused"]; private ["_bloodAmount","_unit","_blood","_lowBlood","_injured","_inPain","_lastused","_hasTransfusionKit","_animState","_started","_finished","_timer","_i","_isMedic","_isClose","_duration","_rhVal","_bloodBagArrayNeeded","_BBneeded","_bbselect","_bloodBagNeeded","_badBag","_wholeBag","_bagFound","_bagToRemove","_forceClose","_bloodType","_rh","_bloodBagArray","_bbarray_length","_bloodBagWholeNeeded","_haswholebag","_r","_bloodTestdone","_sentRequest"];// bleed.sqf
// bleed.sqf //Get receving unit
_unit = (_this select 3) select 0; _unit = (_this select 3) select 0;
//_lowBlood = _unit getVariable ["USEC_lowBlood", false];
//_injured = _unit getVariable ["USEC_injured", false];
//_inPain = _unit getVariable ["USEC_inPain", false];
//_lastused = _unit getVariable ["LastTransfusion", time];
// if (_lastused - time < 60) exitwith {cutText [format[(localize "str_actions_medical_18"),_text] , "PLAIN DOWN"]}; //Does the player have a transfusionKit
//_hasTransfusionKit = "transfusionKit" in magazines player;
//Get receving units blood value
_blood = _unit getVariable ["USEC_BloodQty", 0];
//Get receving units bloodtype
_bloodType = _unit getVariable ["blood_type", ""];
//Get the receving units RH type
_rh = _unit getVariable ["rh_factor", false];
//Get status of bloodtest of receving unit
_bloodTestdone = _unit getVariable ["blood_testdone", false];
r_interrupt = false;
_badBag = false;
_wholeBag = false;
_bagFound = false;
_forceClose = false;
//End if the player does not have a transfusion kit
//if (!_hasTransfusionKit) exitWith { cutText [localize "str_actions_medical_transfusion_failed_transfusionkit", "PLAIN DOWN"]; };
//Unconscious timeout for receving unit
_duration = if (_blood <= 4000) then { 3 } else { 2 };
_bloodBagArray = ["bloodBagANEG","bloodBagAPOS","bloodBagBNEG","bloodBagBPOS","bloodBagABNEG","bloodBagABPOS","bloodBagONEG","bloodBagOPOS","wholeBloodBagANEG","wholeBloodBagAPOS","wholeBloodBagBNEG","wholeBloodBagBPOS","wholeBloodBagABNEG","wholeBloodBagABPOS","wholeBloodBagONEG","wholeBloodBagOPOS"];
_bloodBagArrayNeeded = ["ItemBloodbag","bloodBagONEG"];
if (_bloodTestdone) then { // if the recipient does not know his blood type, only O- can apply
switch (_bloodType) do {
case "A" : {
if (_rh) then {
_bloodBagArrayNeeded = ["ItemBloodbag","bloodBagAPOS","bloodBagANEG","bloodBagONEG","bloodBagOPOS"];
} else {
_bloodBagArrayNeeded = ["ItemBloodbag","bloodBagANEG","bloodBagONEG"];
};
};
case "B" : {
if (_rh) then {
_bloodBagArrayNeeded = ["ItemBloodbag","bloodBagBPOS","bloodBagBNEG","bloodBagONEG","bloodBagOPOS"];
} else {
_bloodBagArrayNeeded = ["ItemBloodbag","bloodBagBNEG","bloodBagONEG"];
};
};
case "AB" : {
if (_rh) then {
_bloodBagArrayNeeded = ["ItemBloodbag","bloodBagABPOS","bloodBagABNEG","bloodBagANEG","bloodBagAPOS","bloodBagBNEG","bloodBagBPOS","bloodBagONEG","bloodBagOPOS"];
} else {
_bloodBagArrayNeeded = ["ItemBloodbag","bloodBagABNEG","bloodBagANEG","bloodBagBNEG","bloodBagONEG"];
};
};
case "O" : {
if (_rh) then {
_bloodBagArrayNeeded = ["ItemBloodbag","bloodBagOPOS","bloodBagONEG"];
} else {
_bloodBagArrayNeeded = ["ItemBloodbag","bloodBagONEG"];
};
};
};
};
_BBneeded = false;
{ if (_x in magazines player) exitWith { _BBneeded = true; _bbselect = _x; }; } count _bloodBagArrayNeeded;
//No subs for whole blood :(
_rhVal = if (_rh) then { "POS" } else { "NEG" };
_bloodBagWholeNeeded = "wholeBloodBag" + _bloodType + _rhVal;
_haswholebag = _bloodBagWholeNeeded in magazines player;
if (!_BBneeded and !_haswholebag) then {
_badBag = true;
};
//use packed/separated bags first
if (_BBneeded) then {
_wholeBag = false;
} else {
if (_haswholebag) then {
_wholeBag = true;
};
};
call fnc_usec_medic_removeActions; call fnc_usec_medic_removeActions;
r_action = false; r_action = false;
// not possible to transfuse while in a vehicle if (vehicle player == player) then {
if (vehicle player != player) exitWith { }; //not in a vehicle
player playActionNow "Medic";
player playActionNow "Medic"; };
[1,1] call dayz_HungerThirst;
r_interrupt = false; r_interrupt = false;
_animState = animationState player; _animState = animationState player;
r_doLoop = true; r_doLoop = true;
_started = false; _started = false;
_finished = false; _finished = false;
_sentRequest = false;
_timer = diag_tickTime;
_i = 0;
_r = 0;
_humanityAwarded = 0;
_bloodAmount = if (!_wholeBag) then { 12000/*Full bloodbag*/ } else { 4000 /*Whole blood only gives 4k*/ };
while {r_doLoop} do { while {r_doLoop} do {
_animState = animationState player; _animState = animationState player;
_isMedic = ["medic",_animState] call fnc_inString; _isMedic = ["medic",_animState] call fnc_inString;
if (_isMedic) then {
if (_isMedic and !_started) then {
closeDialog 0;
//diag_log format ["TRANSFUSION: starting blood transfusion (%1 > %2)", name player, name _unit];
if (_badBag) then {
for "_r" from 0 to 15 do {
//select random bloodbag if the player has more then one of the required types
_bagToRemove = _bloodBagArray select _r;
//TODO: add separate action menu options so the removed bag isn't random
if (_bagToRemove in magazines player) exitWith {
_bagFound = true;
if (_r >= 8) then {
_wholeBag = true;
};
};
};
} else {
_bagToRemove = if (_wholeBag) then { _bloodBagWholeNeeded } else { _bbselect };
if (_bagToRemove in magazines player) then {
_bagFound = true;
};
};
if (!_bagFound) then {_forceClose = true;} else { player removeMagazine _bagToRemove;};
cutText [localize "str_actions_medical_transfusion_start", "PLAIN DOWN"];
//see Note 1
//[player,_unit,"loc",rTITLETEXT,format["Transfusion of %1 in progress, remain still...",_bagToRemove],"PLAIN DOWN"] call RE;
_started = true; _started = true;
}; };
if (_started && !_isMedic) then {
r_doLoop = false; if (_started) then {
_finished = true; //_sentRequest var stops the pvs running more then once as it's no longer needs too 1.8.4
if ((!_sentRequest) And (!_badBag)) then {
PVDZ_send = [_unit,"Transfuse",[_unit,player,_bloodAmount]];
publicVariableServer "PVDZ_send";
_sentRequest = true;
}; };
if (r_interrupt) then { if ((diag_tickTime - _timer) >= 1) then {
_timer = diag_tickTime;
//see Note 1
//PVCDZ_hlt_Transfuse = [_unit,player,1000];
//publicVariable "PVCDZ_hlt_Transfuse";
if (!_wholeBag) then {
_i = _i + 1; //Full bloodbag
} else {
_i = _i + 3; //Whole blood only gives 4k
};
if (!_badBag) then {
if (!_forceClose) then {
_bloodAmount = _bloodAmount - 500;
//see Note 1
//PVDZ_send = [_unit,"Transfuse",[_unit,player,500]];
//publicVariableServer "PVDZ_send";
// 25 points to be givin upto a maximum of 300 points if the player stays for the full duration
//This should be better this way to keep calculus simple and prevent people getting points for giving blood transfusions to healthy players (and less humanity for only very small amounts of blood)
//Pulled from pullrequest from ILoveBeans
if ( _humanityAwarded < 300 ) then {
_humanityAwarded = _humanityAwarded + 25 ;
};
};
} else {
if (!_forceClose and (_i >= 12)) then {
_bloodAmount = 0;
PVDZ_sendUnconscious = [_unit,_duration];
publicVariableServer "PVDZ_sendUnconscious";
diag_log ("Transfusion: "+str(PVDZ_sendUnconscious));
};
};
cutText [localize "str_actions_medical_transfusion_start", "PLAIN DOWN"];
//see Note 1
//[player,_unit,"loc",rTITLETEXT,format["Transfusion of %1 in progress, remain still...",_bagToRemove],"PLAIN DOWN"] call RE;
};
if (!_isMedic) then {
player playActionNow "Medic";
};
};
_blood = _unit getVariable ["USEC_BloodQty", 0];
if (_blood >= r_player_bloodTotal or _bloodAmount == 0) then {
//diag_log format ["TRANSFUSION: completed blood transfusion successfully (_i = %1)", _i];
cutText [localize "str_actions_medical_transfusion_successful", "PLAIN DOWN"];
//see Note 1
//[player,_unit,"loc",rTITLETEXT,localize "str_actions_medical_transfusion_successful","PLAIN DOWN"] call RE;
if (!_badBag and _bagFound) then { [player,_humanityAwarded] call player_humanityChange; };
r_doLoop = false; r_doLoop = false;
}; };
uiSleep 0.1;
_isClose = ((player distance _unit) < ((sizeOf typeOf _unit) / 2));
if (r_interrupt or !_isClose or _forceClose) then {
//diag_log format ["TRANSFUSION: transfusion was interrupted (r_interrupt: %1 | distance: %2 (%3) | _i = %4)", r_interrupt, player distance _unit, _isClose, _i];
cutText [localize "str_actions_medical_transfusion_interrupted", "PLAIN DOWN"];
//see Note 1
//[player,_unit,"loc",rTITLETEXT,localize "str_actions_medical_transfusion_interrupted","PLAIN DOWN"] call RE;
r_doLoop = false;
};
uiSleep 1;
}; };
r_doLoop = false; r_doLoop = false;
if (_finished) then { if (r_interrupt) then {
//_unit setVariable["LastTransfusion",time,true]; //reserve for self transfusion
_unit setVariable["USEC_lowBlood",false,true];
_num_removed = ([player,"ItemBloodbag"] call BIS_fnc_invRemove);
if(_num_removed == 1) then {
/* PVS/PVC - Skaronator */
PVDZE_send = [_unit,"Transfuse",[_unit,player]];
publicVariableServer "PVDZE_send";
[player,100] call player_humanityChange;
};
} else {
r_interrupt = false; r_interrupt = false;
player switchMove ""; player switchMove "";
player playActionNow "stop"; player playActionNow "stop";
}; };
/*
Note 1 - 1.8 system sending way too much info upto 12 times to the server on top of each call RE also being sent upto 12 times. System removed
*/

View File

@@ -30,11 +30,11 @@ while {r_doLoop} do {
r_doLoop = false; r_doLoop = false;
}; };
if (vehicle player != player) then { if (vehicle player != player) then {
sleep 3; uiSleep 3;
r_doLoop = false; r_doLoop = false;
_finished = true; _finished = true;
}; };
sleep 0.1; uiSleep 0.1;
}; };
r_doLoop = false; r_doLoop = false;

View File

@@ -127,7 +127,7 @@ else
deleteVehicle _v; deleteVehicle _v;
_v =(_wreck) createvehicle _pos; _v =(_wreck) createvehicle _pos;
{_x moveincargo _v} count _crw; {_x moveincargo _v} count _crw;
//sleep 0.05; //uiSleep 0.05;
_v setvelocity _vel; _v setvelocity _vel;
//_v setPos _pos; //_v setPos _pos;
_v setvectordir (_dir); _v setvectordir (_dir);

View File

@@ -278,7 +278,7 @@ if (isServer) then {
setWind [drn_DynamicWeather_WindX, drn_DynamicWeather_WindZ, true]; setWind [drn_DynamicWeather_WindX, drn_DynamicWeather_WindZ, true];
sleep 0.05; uiSleep 0.05;
publicVariable "drn_var_DynamicWeather_Rain"; publicVariable "drn_var_DynamicWeather_Rain";
drn_var_DynamicWeather_ServerInitialized = true; drn_var_DynamicWeather_ServerInitialized = true;
@@ -307,8 +307,8 @@ if (isServer) then {
_overcastLevel = 2; _overcastLevel = 2;
while {1 == 1} do { while {1 == 1} do {
// Sleep a while until next weather change // uiSleep a while until next weather change
sleep floor (_minTimeBetweenWeatherChangesMin * 60 + random ((_maxTimeBetweenWeatherChangesMin - _minTimeBetweenWeatherChangesMin) * 60)); uiSleep floor (_minTimeBetweenWeatherChangesMin * 60 + random ((_maxTimeBetweenWeatherChangesMin - _minTimeBetweenWeatherChangesMin) * 60));
if (_minimumFog == _maximumFog && _minimumOvercast != _maximumOvercast) then { if (_minimumFog == _maximumFog && _minimumOvercast != _maximumOvercast) then {
_weatherType = "OVERCAST"; _weatherType = "OVERCAST";
@@ -435,7 +435,7 @@ if (isServer) then {
call drn_fnc_DynamicWeather_SetWeatherAllClients; call drn_fnc_DynamicWeather_SetWeatherAllClients;
sleep _weatherChangeTimeSek; uiSleep _weatherChangeTimeSek;
}; };
}; };
@@ -506,10 +506,10 @@ if (isServer) then {
}; };
if (_debug) then { if (_debug) then {
sleep 1; uisleep 1;
} }
else { else {
sleep 10; uisleep 10;
}; };
}; };
}; };
@@ -538,7 +538,7 @@ drn_var_rainRoutine = [_rainIntervalRainProbability, _debug] spawn {
}; };
0 setRain _rain; 0 setRain _rain;
sleep 0.1; uiSleep 0.1;
while {1 == 1} do { while {1 == 1} do {
if (_rainIntervalRainProbability > 0) then { if (_rainIntervalRainProbability > 0) then {
@@ -557,7 +557,7 @@ drn_var_rainRoutine = [_rainIntervalRainProbability, _debug] spawn {
3 setRain _rain; 3 setRain _rain;
sleep 3; uiSleep 3;
}; };
}; };

View File

@@ -34,7 +34,7 @@ _ShuffleArray = {
_rand_array set [count _rand_array, _ar select _rand]; _rand_array set [count _rand_array, _ar select _rand];
_ar set [_rand, "randarray_del"]; _ar set [_rand, "randarray_del"];
_ar = _ar - ["randarray_del"]; _ar = _ar - ["randarray_del"];
sleep 0.001; uiSleep 0.001;
}; };
_rand_array; _rand_array;
}; };
@@ -52,7 +52,7 @@ _activeArray = [];
_i = _i + 1; _i = _i + 1;
}; };
_t = _t + 1; _t = _t + 1;
sleep 0.01; uiSleep 0.01;
}count _infectedWaterHoles; }count _infectedWaterHoles;
//diag_log [ diag_tickTime, __FILE__, "Infectious waterholes Max,Spawned,Active:",_t,_i,_activeArray]; //diag_log [ diag_tickTime, __FILE__, "Infectious waterholes Max,Spawned,Active:",_t,_i,_activeArray];

File diff suppressed because it is too large Load Diff

View File

@@ -2021,7 +2021,7 @@ class FSM
"_nearestCity = nearestLocations [getPos player, [""NameCityCapital"",""NameCity"",""NameVillage"",""NameLocal""],1000];" \n "_nearestCity = nearestLocations [getPos player, [""NameCityCapital"",""NameCity"",""NameVillage"",""NameLocal""],1000];" \n
"Dayz_logonTown = ""Wilderness"";" \n "Dayz_logonTown = ""Wilderness"";" \n
"if (count _nearestCity > 0) then {Dayz_logonTown = text (_nearestCity select 0)};" \n "if (count _nearestCity > 0) then {Dayz_logonTown = text (_nearestCity select 0)};" \n
"[_world,Dayz_logonTown,format[localize ""str_player_06"",dayz_Survived]] spawn { sleep 5; _this spawn BIS_fnc_infoText;};" \n "[_world,Dayz_logonTown,format[localize ""str_player_06"",dayz_Survived]] spawn { uiSleep 5; _this spawn BIS_fnc_infoText;};" \n
"dayzGearSave = true;" \n "dayzGearSave = true;" \n
"dayz_myPosition = getPosATL player;" \n "dayz_myPosition = getPosATL player;" \n
"Dayz_loginCompleted = true;" \n "Dayz_loginCompleted = true;" \n

View File

@@ -389,7 +389,7 @@ dayz_myLoad = (((count dayz_myBackpackMags) * 0.2) + (count dayz_myBackpackWpns)
//setGroupIconsVisible [false,false]; //setGroupIconsVisible [false,false];
//clearGroupIcons group player; //clearGroupIcons group player;
sleep 2; uiSleep 2;
_myPos = player getVariable["lastPos",[]]; _myPos = player getVariable["lastPos",[]];
if (count _myPos > 0) then { if (count _myPos > 0) then {

View File

@@ -6,7 +6,7 @@ _timeoutStart=diag_ticktime;
while {true} do { while {true} do {
if (diag_ticktime - _timeoutStart >= 120) exitWith { if (diag_ticktime - _timeoutStart >= 120) exitWith {
1 cutText [localize "str_player_login_timeout", "PLAIN DOWN"]; 1 cutText [localize "str_player_login_timeout", "PLAIN DOWN"];
sleep 5; uiSleep 5;
endMission "END1"; endMission "END1";
}; };
if ((!isNil "Dayz_loginCompleted") and {(Dayz_loginCompleted)}) exitWith { if ((!isNil "Dayz_loginCompleted") and {(Dayz_loginCompleted)}) exitWith {
@@ -20,7 +20,7 @@ while {true} do {
_control2 = _display displayctrl 102; _control2 = _display displayctrl 102;
_control2 ctrlSetText format["%1",floor(diag_ticktime - _timeoutStart)]; _control2 ctrlSetText format["%1",floor(diag_ticktime - _timeoutStart)];
sleep 0.2; uiSleep 0.2;
//diag_log [ __FILE__, __LINE__, "Looping..."]; //diag_log [ __FILE__, __LINE__, "Looping..."];
}; };

View File

@@ -139,7 +139,7 @@ sched_medical_effectsSlow = {
playSound "breath_1"; playSound "breath_1";
//Lets make sure the spawn ends 1 sec after the _duration timer this should provide a smooth transtion rather then a snap to focus. //Lets make sure the spawn ends 1 sec after the _duration timer this should provide a smooth transtion rather then a snap to focus.
sleep _duration + 1; uiSleep _duration + 1;
}; };
}; };

View File

@@ -5,11 +5,11 @@
sched_plantHint = { sched_plantHint = {
{ {
(getPosATL _x) spawn { (getPosATL _x) spawn {
sleep random 10; uiSleep random 10;
_sound=format["Sound_Crickets%1",1+floor random 3]; _sound=format["Sound_Crickets%1",1+floor random 3];
//diag_log [ _sound ]; //diag_log [ _sound ];
_x = createSoundSource [_sound, _this, [], 0]; _x = createSoundSource [_sound, _this, [], 0];
sleep 2; uiSleep 2;
deleteVehicle _x; deleteVehicle _x;
}; };
false false

View File

@@ -13,6 +13,6 @@ if (!isNull _trap) then {
dayz_traps set [count dayz_traps, _trap]; dayz_traps set [count dayz_traps, _trap];
}; };
sleep 0.5; uiSleep 0.5;
}; };
}; };

View File

@@ -3,7 +3,7 @@
//Returns true if the current script is running in the unscheduled environment and otherwise false. //Returns true if the current script is running in the unscheduled environment and otherwise false.
//If true a script error is also produced however this can be ignored. //If true a script error is also produced however this can be ignored.
//#define Util_IsUncheduled() ([diag_frameNo, sleep 0.005, diag_frameNo] call { _this select 0 == _this select 2 }) //#define Util_IsUncheduled() ([diag_frameNo, uiSleep 0.005, diag_frameNo] call { _this select 0 == _this select 2 })
/* Send public variables atomically without fear of race conditions. The previous value of the /* Send public variables atomically without fear of race conditions. The previous value of the
variable is restored automatically after transmission. For example: variable is restored automatically after transmission. For example:

View File

@@ -47,8 +47,8 @@ switch (_variable) do {
}; };
case "GutBody": { case "GutBody": {
PVCDZ_obj_GutBody = _arraytosend; PVCDZE_obj_GutBody = _arraytosend;
_owner publicVariableClient "PVCDZ_obj_GutBody"; _owner publicVariableClient "PVCDZE_obj_GutBody";
}; };
case "HideBody": { case "HideBody": {
@@ -67,8 +67,8 @@ switch (_variable) do {
}; };
case "Bleed": { case "Bleed": {
usecBleed = _arraytosend; PVDZ_hlt_Bleed = _arraytosend;
_owner publicVariableClient "usecBleed"; _owner publicVariableClient "PVDZ_hlt_Bleed";
}; };
case "PVDZE_plr_SetDate": { case "PVDZE_plr_SetDate": {