Revert "V0.65"

This reverts commit 3e44688199.
This commit is contained in:
happydayz 2016-01-14 14:34:18 +11:00
parent b540a69765
commit 4b209f2140
8 changed files with 0 additions and 542 deletions

View File

@ -1,33 +0,0 @@
/*
Enigma_RevivePlyr.sqf
[_ZEN_] Enigma (Happydayz)
*/
private["_target","_targetname","_updatestats"];
_target = _this select 0;
_targetname = name _target;
if !(isPlayer _target) exitWith {systemChat Format ["Theres no pulse..."]};
if (_target getVariable "EnigmaRevivePermitted") then {
if (magazines player find "Exile_Item_Defibrillator" >= 0) then {
_target switchMove "AinjPpneMstpSnonWrflDnon";
sleep 0.2;
player playMove "AinvPknlMstpSlayWrflDnon_medic";
sleep 6;
player switchmove ""; //incase get stuck in animation
if (_target getVariable["REVIVE", true]) then {
_target setVariable["antidupe", -1, true]; //targetted player inventory is now locked out from accessing!
ENIGMA_revivePlayer = [_target,player,1];
publicVariableServer "ENIGMA_revivePlayer";
} else {
systemChat Format ["RIP %1! They suffered a fatal injury!",_targetname];
};
};
} else {
systemChat Format ["RIP %1! They suffered a fatal injury!",_targetname];
};

View File

@ -1,123 +0,0 @@
/**
* ExileClient_object_player_death_startBleedingOut
*
* Exile Mod
* www.exilemod.com
* <20> 2015 Exile Mod Team
*
* This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
*/
private["_respawnDelay","_layer","_descriptions"];
_respawnDelay = _this;
oldgroup = group player;
/////////////////////////////////added by happydayz/////////////////////////////////////
if (player getVariable["REVIVE", true]) then {
_descriptions =
[
"KNOCKED OUT",
"CRITICALLY WOUNDED",
"BLEEDING OUT",
"ON DEATHS DOOR"
];
player setVariable ['EnigmaRevivePermitted', true, true]; //adds action to be revived
////////////////////////////////////////////////////////////////////////////////////////
[100] call BIS_fnc_bloodEffect;
ExileClientPostProcessingColorCorrections ppEffectAdjust [1, 1.1, -0.05, [0.4, 0.2, 0.3, -0.1], [0.79, 0.72, 0.62, 0], [0.5,0.5,0.5,0], [0,0,0,0,0,0,4]];
ExileClientPostProcessingColorCorrections ppEffectCommit 0;
ExileClientPostProcessingColorCorrections ppEffectAdjust [1, 1.1, -0.05, [0.4, 0.2, 0.3, -0.1], [0.3, 0.05, 0, 0], [0.5,0.5,0.5,0], [0,0,0,0,0,0,4]];
ExileClientPostProcessingColorCorrections ppEffectCommit _respawnDelay;
ExileClientPostProcessingBackgroundBlur ppEffectAdjust [0];
ExileClientPostProcessingBackgroundBlur ppEffectCommit 0;
ExileClientPostProcessingBackgroundBlur ppEffectEnable true;
ExileClientPostProcessingBackgroundBlur ppEffectAdjust [2];
ExileClientPostProcessingBackgroundBlur ppEffectCommit _respawnDelay;
ExileClientBleedOutHeartbeatPlaying = false;
ExileClientBleedOutCountDownDuration = _respawnDelay;
ExileClientBleedOutCountDownEnd = time + _respawnDelay;
_layer = "BIS_fnc_respawnCounter" call bis_fnc_rscLayer;
_layer cutText ["", "plain"];
missionnamespace setvariable ["RscRespawnCounter_description", format ["<t size='2' align='center'>%1</t>", _descriptions call BIS_fnc_selectRandom]];
missionnamespace setvariable ["RscRespawnCounter_colorID", 0];
missionnamespace setvariable ["RscRespawnCounter_Custom", _respawnDelay];
_layer cutRsc ["RscRespawnCounter", "plain"];
showChat true;
"Start bleeding out..." call ExileClient_util_log;
if(ExileClientBleedOutThread isEqualTo -1)then
{
ExileClientBleedOutThread = [2, ExileClient_object_player_thread_bleedToDeath, [], true] call ExileClient_system_thread_addtask;
};
} else {
_descriptions =
[
"WRECKED",
"REKT",
"STOMPED",
"WASTED",
"SCREWED",
"TOASTED",
"REST IN PIECES",
"TERMINATED",
"KILLED",
"EXILED",
"ANNIHILATED",
"HAMMERED",
"NEUTRALIZED",
"DUMPED",
"ZAPPED",
"SLAIN",
"FRIED",
"WIPED OUT",
"VANQUISHED",
"BUSTED",
"PULVERIZED",
"SMASHED",
"SHREDDED",
"CRUSHED"
];
[100] call BIS_fnc_bloodEffect;
ExileClientPostProcessingColorCorrections ppEffectAdjust [1, 1.1, -0.05, [0.4, 0.2, 0.3, -0.1], [0.79, 0.72, 0.62, 0], [0.5,0.5,0.5,0], [0,0,0,0,0,0,4]];
ExileClientPostProcessingColorCorrections ppEffectCommit 0;
ExileClientPostProcessingColorCorrections ppEffectAdjust [1, 1.1, -0.05, [0.4, 0.2, 0.3, -0.1], [0.3, 0.05, 0, 0], [0.5,0.5,0.5,0], [0,0,0,0,0,0,4]];
ExileClientPostProcessingColorCorrections ppEffectCommit _respawnDelay;
ExileClientPostProcessingBackgroundBlur ppEffectAdjust [0];
ExileClientPostProcessingBackgroundBlur ppEffectCommit 0;
ExileClientPostProcessingBackgroundBlur ppEffectEnable true;
ExileClientPostProcessingBackgroundBlur ppEffectAdjust [2];
ExileClientPostProcessingBackgroundBlur ppEffectCommit _respawnDelay;
ExileClientBleedOutHeartbeatPlaying = false;
ExileClientBleedOutCountDownDuration = _respawnDelay;
ExileClientBleedOutCountDownEnd = time + _respawnDelay;
_layer = "BIS_fnc_respawnCounter" call bis_fnc_rscLayer;
_layer cutText ["", "plain"];
missionnamespace setvariable ["RscRespawnCounter_description", format ["<t size='2' align='center'>%1</t>", _descriptions call BIS_fnc_selectRandom]];
missionnamespace setvariable ["RscRespawnCounter_colorID", 0];
missionnamespace setvariable ["RscRespawnCounter_Custom", _respawnDelay];
_layer cutRsc ["RscRespawnCounter", "plain"];
showChat true;
"Start bleeding out..." call ExileClient_util_log;
if(ExileClientBleedOutThread isEqualTo -1)then
{
ExileClientBleedOutThread = [2, ExileClient_object_player_thread_bleedToDeath, [], true] call ExileClient_system_thread_addtask;
};
};
true

View File

@ -1,47 +0,0 @@
/**
* ExileClient_object_player_event_onInventoryOpened
*
* Exile Mod
* www.exilemod.com
* © 2015 Exile Mod Team
*
* This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
*/
private["_cancelEvent","_container"];
_cancelEvent = false;
_container = _this select 1;
if (ExileClientIsHandcuffed) then
{
_cancelEvent = true;
}
else
{
if (ExileClientIsInConstructionMode) then
{
_cancelEvent = true;
}
else
{
if ((locked _container) isEqualTo 2) then
{
_cancelEvent = true;
}
else
{
if ((_container getVariable ["ExileIsLocked", 1] isEqualTo -1) || (_container getVariable["antidupe", 1]) isEqualTo -1) then //added revive dupe test -- happdayz
{
hint "antidupe initiated";
_cancelEvent = true;
}
else
{
ExileClientInventoryOpened = true;
ExileClientCurrentInventoryContainer = _container;
};
};
};
};
_cancelEvent // OKAY!

View File

@ -1,26 +0,0 @@
/*
Enigma Exile Revive Compiles
[_ZEN_] Enigma (Happydayz)
*/
if (!hasInterface && isServer) exitWith {
Diag_log "Initializing Enigma Revive Compiles!";
};
private ['_code', '_function', '_file'];
{
_code = '';
_function = _x select 0;
_file = _x select 1;
_code = compileFinal (preprocessFileLineNumbers _file);
missionNamespace setVariable [_function, _code];
}
forEach
[
['Enigma_RevivePlyr', 'Custom\EnigmaRevive\Enigma_RevivePlyr.sqf']
];
true

View File

@ -1,103 +0,0 @@
/*
Enigma Exile Revive Initialization
[_ZEN_] Enigma (Happydayz)
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////Custom Settings//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (!hasInterface && isServer) exitWith {
MaxRevivesAllowed = 1; //Set the max number of revives permitted per life. I recomend you keep it at 1. Just saying...
DamageWhenRevived = 0.95; //Set to a percentage. 0.95 = 95% damage.... or 5% health
FatiguewhenRevived = 1; //Set to a percentage. 1 = 100% fatigued and can only walk.
//NOTE: this has been designed to only allow 1 revive. I havent put in any checks to prevent players using this to gain respect by killing each other and reviving again!!!
//You have been warned!
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////DO NOT MODIFY BELOW THIS LINE///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////Server Settings/////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ReviveChk_cache = [];
ReviveChk_cache = [[0000,0]];
Diag_log "Initializing Enigma Revive!";
};
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////Client Settings//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (hasInterface) then {
[] execVM "Custom\EnigmaRevive\compiles.sqf";
player setVariable ['EnigmaRevivePermitted', false, true];
player setVariable["antidupe", 1, true];
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////EventHandlers//////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
"EnigmaRevive" addPublicVariableEventHandler {
private["_newPlayerObject","_oldPlayerObject","_packet","_weapon","_reviver"];
_packet = _this select 1;
_newPlayerObject = _packet select 0;
cutText ["","BLACK IN",20];
[100] call BIS_fnc_bloodEffect;
"Reviving player..." call ExileClient_util_log;
_layer = "BIS_fnc_respawnCounter" call bis_fnc_rscLayer;
_layer cutText ["", "plain"];
"Removing bleed out thread..." call ExileClient_util_log;
[ExileClientBleedOutThread] call ExileClient_system_thread_removeTask;
ExileClientBleedOutThread = -1;
player setVariable ['EnigmaRevivePermitted', false, true];
false call ExileClient_gui_postProcessing_toggleDialogBackgroundBlur;
true call ExileClient_gui_hud_toggle;
player setVariable["antidupe", 1, true]; //remove the antidupe from the revived player!
};
"EnigmaReviveFail" addPublicVariableEventHandler {
_packet = _this select 1;
_requestingPlayer = _packet select 0;
_revivername = _packet select 1;
systemChat Format ["%1 bungled your revive and killed you!",_revivername];
[] call ExileClient_gui_escape_respawn; //force kill player
};
"EnigmaReviveMSG" addPublicVariableEventHandler {
_packet = _this select 1;
_msg = _packet select 0;
systemChat Format ["%1",_msg];
};
waitUntil { uiSleep 0.5; !isNull(findDisplay 46); };
sleep 10;
systemChat "Loading: Enigma Exile Revive"; //Please leave this line as a way of saying thanks to me! :D HAPPYD
};

View File

@ -1,2 +0,0 @@
[] execVM "Custom\EnigmaRevive\init.sqf";

View File

@ -1,208 +0,0 @@
changelog
13/01/16 -- prevent duping of gear by revived player.
14/01/16 -- prevent accessing gear on player being revived (stops duping).
------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------HOW TO UPGRADE TO ENIGMA EXILE REVIVE V0.65--------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------
- Replace server pbo. Replace Enigma Revive folder in mission file. New Line for cfgcustomcode:
//////////////////////////////////////////////////////////////////////////////////////////////////////
class CfgExileCustomCode {
ExileClient_object_player_death_startBleedingOut = "custom\EnigmaRevive\ExileClient_object_player_death_startBleedingOut.sqf"; //Happys Revive
ExileClient_object_player_event_onInventoryOpened = "custom\EnigmaRevive\ExileClient_object_player_event_onInventoryOpened.sqf"; //Happys Revive AntiDupe ---NEW with v0.65
};
//////////////////////////////////////////////////////////////////////////////////////////////////////
------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------HOW TO INSTALL ENIGMA EXILE REVIVE V0.65---------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------
First add the startup paramaters @Enigma_Exile to your server!
Copy the @Enigma_Exile Folder to your Server Root!
Open up your mission file and add the init.sqf line to your init.sqf file (Must be executed by both server and client!)!
Copy the Entire Custom folder into the root of your mission file!
Now open your mission file --- config.cpp
Locate the lines:
//////////////////////////////////////////////////////////////////////////////////////////////////////
class Identify: ExileAbstractAction
{
title = "Identify Body";
condition = "!(alive ExileClientInteractionObject)";
action = "_this call ExileClient_object_player_identifyBody";
};
//////////////////////////////////////////////////////////////////////////////////////////////////////
Replace that whole section with this:
//////////////////////////////////////////////////////////////////////////////////////////////////////
class Identify: ExileAbstractAction
{
title = "Identify Body";
condition = "!(alive ExileClientInteractionObject)";
action = "_this call ExileClient_object_player_identifyBody";
};
//////////////Added by [_ZEN_]happydayz/////////////////
class Revive: ExileAbstractAction
{
title = "Perform CPR";
condition = "(!(alive ExileClientInteractionObject) && (ExileClientInteractionObject getVariable ['EnigmaRevivePermitted', true]) && (magazines player find 'Exile_Item_Defibrillator' >= 0))";
action = "_this spawn Enigma_RevivePlyr";
};
//////////////////////////////////////////////////////////////////////////////////////////////////////
Next go to:
//////////////////////////////////////////////////////////////////////////////////////////////////////
class CfgExileCustomCode {};
//////////////////////////////////////////////////////////////////////////////////////////////////////
and modify it to read:
//////////////////////////////////////////////////////////////////////////////////////////////////////
class CfgExileCustomCode {
ExileClient_object_player_death_startBleedingOut = "custom\EnigmaRevive\ExileClient_object_player_death_startBleedingOut.sqf"; //Happys Revive
ExileClient_object_player_event_onInventoryOpened = "custom\EnigmaRevive\ExileClient_object_player_event_onInventoryOpened.sqf"; //Happys Revive AntiDupe ---NEW with v0.65
};
//////////////////////////////////////////////////////////////////////////////////////////////////////
Next you will either want to enable the Defibrilator to be purchased at the trader or add it to loot! I did both but just show how to add to trader here.
Go to:
//////////////////////////////////////////////////////////////////////////////////////////////////////
class FirstAid
{
name = "FirstAid";
icon = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\itemacc_ca.paa";
items[] =
{
"Exile_Item_InstaDoc",
"Exile_Item_Bandage",
"Exile_Item_Vishpirin"
// Not available in 0.9.4!
//"Exile_Item_Defibrillator"
};
};
//////////////////////////////////////////////////////////////////////////////////////////////////////
change it to:
//////////////////////////////////////////////////////////////////////////////////////////////////////
class FirstAid
{
name = "FirstAid";
icon = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\itemacc_ca.paa";
items[] =
{
"Exile_Item_InstaDoc",
"Exile_Item_Bandage",
"Exile_Item_Vishpirin",
// Used in Enigma Revive!
"Exile_Item_Defibrillator"
};
};
//////////////////////////////////////////////////////////////////////////////////////////////////////
Next:
//////////////////////////////////////////////////////////////////////////////////////////////////////
//class Exile_Item_Defibrillator { quality = 1; price = 7500; };
//////////////////////////////////////////////////////////////////////////////////////////////////////
change to:
//////////////////////////////////////////////////////////////////////////////////////////////////////
class Exile_Item_Defibrillator { quality = 1; price = 7500; };
//////////////////////////////////////////////////////////////////////////////////////////////////////
Players will only get the scroll option to defib the dead player whilst they are bleeding out, and if they are holding a defib! It will show up with the identify body scroll option!
There are a few settings you can modify inside the custom\EnigmaRevive\init.sqf
Note: this includes my add respect/poptabs server function for those who are running it already!