Chernarus 2.0

This commit is contained in:
vbawol
2013-06-21 22:02:42 -05:00
parent 95c8bc5205
commit 0ebffc3c8f
22 changed files with 6948 additions and 0 deletions

View File

@@ -0,0 +1,130 @@
/****************************************************************************
Copyright (C) 2010 Team ~R3F~
This program is free software under the terms of the GNU General Public License version 3.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
@authors team-r3f.org
@version 1.02
@date 20101011
*****************************************************************************/
#include "R3F_TIRED_Configuration.cfg"
private ["_level", "_n", "_s"];
//_voil = [] call R3F_TIRED_FNCT_MkVoile;
//[_voil,1] call R3F_TIRED_FNCT_Voile_Noir;
_n = 0;
_posATL = 0;
#ifdef R3F_TIRED_CSV_EXPORT
_s = format["""Duree"",""Distance From"",""Distance To"",""Vitesse"",""Fatigue"",""Black Level"",""poids"",""Counter"""];
_s call FNC_PrintToRPT;
#endif
R3F_TIRED_Accumulator = 0;
sleep 1;
_level = 1;
while {true} do {
R3F_TIRED_POIDS_TOTAL_PLAYER= R3F_Weight + R3F_TIRED_WEIGHT_PLAYER_EMPTY;
if (R3F_weight < R3F_TIRED_WEIGHT_LEVEL3 )then {
if (r3f_weight < R3F_TIRED_WEIGHT_LEVEL2) then {
if (r3f_weight < R3F_TIRED_WEIGHT_LEVEL1 ) then {
R3F_TIRED_Ratio_Overweight = R3F_TIRED_WEIGHT_RATIO1;
} else {
R3F_TIRED_Ratio_Overweight = R3F_TIRED_WEIGHT_RATIO2;
};
} else {
R3F_TIRED_Ratio_Overweight = R3F_TIRED_WEIGHT_RATIO3;
};
} else {
R3F_TIRED_Ratio_Overweight = R3F_TIRED_WEIGHT_RATIO4;
};
if (alive player) then {
switch (toArray (animationState player) select 5) do {
case 112: {
R3F_TIRED_Ratio_Position = R3F_TIRED_DOWN_LEVEL;
};
case 107:{
R3F_TIRED_Ratio_Position=R3F_TIRED_KNEE_LEVEL;
};
case 101:{
R3F_TIRED_Ratio_Position = R3F_TIRED_UP_LEVEL;
};
};
R3F_TIRED_vitesse_de_mon_joueur = [0,0,0] distance velocity player;
R3F_TIRED_coeff_mon_elevation_en_z = 0 max ((velocity player select 2) / R3F_TIRED_WEIGHT_CLIMB_FACTOR);
_posATL = (getPosATL player) select 2;
if((vehicle player == player) && (_posATL < 100)) then {
R3F_TIRED_Accumulator = R3F_TIRED_Accumulator
+ (R3F_TIRED_POIDS_TOTAL_PLAYER * R3F_TIRED_vitesse_de_mon_joueur * R3F_TIRED_Ratio_Position * R3F_TIRED_WEIGHT_SPEED_RATIO*R3F_TIRED_Ratio_Overweight)
+ (R3F_TIRED_POIDS_TOTAL_PLAYER * R3F_TIRED_coeff_mon_elevation_en_z * R3F_TIRED_WEIGHT_LEVEL2);
};
R3F_TIRED_Accumulator = 0 max (R3F_TIRED_Accumulator - R3F_TIRED_Ratio_Recovery);
_level = ((R3F_TIRED_Accumulator / R3F_TIRED_BLACKOUT_LEVEL) * 100);
_level = 0 max (1 - (_level / 100));
#ifdef R3F_TIRED_DEBUG
hintsilent format["Fatique : %1/%2\nBlack level : %3\nPoids total : %4\n Poids armement : %5",
R3F_TIRED_Accumulator,
R3F_TIRED_BLACKOUT_LEVEL,
_level,
R3F_TIRED_POIDS_TOTAL_PLAYER,
R3F_Weight];
#endif
[_level] call R3F_TIRED_FNCT_Voile_Noir;
if (R3F_TIRED_Accumulator > R3F_TIRED_BLACKOUT_LEVEL and scriptDone R3F_TIRED_Handle_Blackout_Effect and scriptDone R3F_TIRED_Handle_Blur_Effect) then {
R3F_TIRED_Handle_Blackout_Effect = [] spawn R3F_TIRED_FNCT_DoBlackVanish;
};
} else {
R3F_TIRED_Accumulator = 0;
};
if (R3F_TIRED_GLOBAL_TIRING
&& R3F_TIRED_vitesse_de_mon_joueur > 4
&& R3F_TIRED_Ratio_Recovery > R3F_TIRED_RATIO_RECOVERING
) then {
R3F_TIRED_Counter_Time= R3F_TIRED_Counter_Time + 1;
};
#ifdef R3F_TIRED_CSV_EXPORT
_s = format["%1,%2,%3,%4,%5,%6,%7,%8",
_n,
(player distance flag_start),
(player distance flag_end),
R3F_TIRED_vitesse_de_mon_joueur,
R3F_TIRED_Accumulator,
_level,
R3F_Weight,
R3F_TIRED_Counter_Time];
_s call FNC_PrintToRPT;
#endif
if ((R3F_TIRED_Counter_Time > R3F_TIRED_TIME_RECOVERING)) then {
R3F_TIRED_Ratio_Recovery = R3F_TIRED_Ratio_Recovery - 1;
R3F_TIRED_Counter_Time = 0;
};
sleep 1;
_n = _n + 1;
};
//[_voil] call R3F_TIRED_FNCT_Effect_Off;

View File

@@ -0,0 +1,131 @@
/****************************************************************************
Copyright (C) 2010 Team ~R3F~
This program is free software under the terms of the GNU General Public License version 3.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
@authors team-r3f.org
@version 1.00
@date 20101006
*****************************************************************************/
//Uncomment to write in arma.rpt a csv file for excel to trace some graphics
// #define R3F_TIRED_CSV_EXPORT
//Uncomment to show some informations in game
// #define R3F_TIRED_DEBUG
//adjustment player weight with helmet jacket Rangers Light equipment (not weapons)
#define R3F_TIRED_WEIGHT_PLAYER_EMPTY 90
//Predefined models for an easy setting
// uncomment only one setting
// #define R3F_TIRED_SET_MODE_EASY
#define R3F_TIRED_SET_MODE_UBEREASY
//#define R3F_TIRED_SET_MODE_NORMAL
//#define R3F_TIRED_SET_MODE_HARD
//adjustment weight * speed player
#define R3F_TIRED_WEIGHT_SPEED_RATIO 1
#ifdef R3F_TIRED_SET_MODE_UBEREASY
// adjustment onset threshold blackout effect
#define R3F_TIRED_BLACKOUT_LEVEL 100000
// adjustment player attitude * weight (stand up, down, crouch)
#define R3F_TIRED_DOWN_LEVEL 0.9
#define R3F_TIRED_KNEE_LEVEL 0.6
#define R3F_TIRED_UP_LEVEL 0.5
#define R3F_TIRED_WEIGHT_CLIMB_FACTOR 20
//adjustment threshold weight agravante factor
#define R3F_TIRED_WEIGHT_LEVEL1 40
#define R3F_TIRED_WEIGHT_LEVEL2 50
#define R3F_TIRED_WEIGHT_LEVEL3 60
#define R3F_TIRED_SHORTNESS_THRESHOLD 0.8
#define R3F_TIRED_UNCONSCIOUSNESS_DURATION 1
#endif
#ifdef R3F_TIRED_SET_MODE_EASY
// adjustment onset threshold blackout effect
#define R3F_TIRED_BLACKOUT_LEVEL 70000
// adjustment player attitude * weight (stand up, down, crouch)
#define R3F_TIRED_DOWN_LEVEL 1.8
#define R3F_TIRED_KNEE_LEVEL 1.2
#define R3F_TIRED_UP_LEVEL 1
#define R3F_TIRED_WEIGHT_CLIMB_FACTOR 20
//adjustment threshold weight agravante factor
#define R3F_TIRED_WEIGHT_LEVEL1 25
#define R3F_TIRED_WEIGHT_LEVEL2 30
#define R3F_TIRED_WEIGHT_LEVEL3 40
#define R3F_TIRED_SHORTNESS_THRESHOLD 0.8
#define R3F_TIRED_UNCONSCIOUSNESS_DURATION 10
#endif
#ifdef R3F_TIRED_SET_MODE_NORMAL
// adjustment onset threshold blackout effect
#define R3F_TIRED_BLACKOUT_LEVEL 50000
//adjustment player attitude * weight (stand up, down, crouch)
#define R3F_TIRED_DOWN_LEVEL 3
#define R3F_TIRED_KNEE_LEVEL 1.5
#define R3F_TIRED_UP_LEVEL 1
#define R3F_TIRED_WEIGHT_CLIMB_FACTOR 10
//adjustment threshold weight agravante factor
#define R3F_TIRED_WEIGHT_LEVEL1 15
#define R3F_TIRED_WEIGHT_LEVEL2 20
#define R3F_TIRED_WEIGHT_LEVEL3 30
#define R3F_TIRED_SHORTNESS_THRESHOLD 0.6
#define R3F_TIRED_UNCONSCIOUSNESS_DURATION 30
#endif
#ifdef R3F_TIRED_SET_MODE_HARD
// adjustment onset threshold blackout effect
#define R3F_TIRED_BLACKOUT_LEVEL 40000
// adjustment player attitude * weight (stand up, down, crouch)
#define R3F_TIRED_DOWN_LEVEL 4
#define R3F_TIRED_KNEE_LEVEL 2
#define R3F_TIRED_UP_LEVEL 1
#define R3F_TIRED_WEIGHT_CLIMB_FACTOR 5
// adjustment threshold weight agravante factor
#define R3F_TIRED_WEIGHT_LEVEL1 10
#define R3F_TIRED_WEIGHT_LEVEL2 17
#define R3F_TIRED_WEIGHT_LEVEL3 25
#define R3F_TIRED_SHORTNESS_THRESHOLD 0.3
#define R3F_TIRED_UNCONSCIOUSNESS_DURATION 60
#endif
// ratio of threshold weight
#define R3F_TIRED_WEIGHT_RATIO1 0.3 /* for weight < 10 kg */
#define R3F_TIRED_WEIGHT_RATIO2 0.4 /* for weight 10 à 20 kg */
#define R3F_TIRED_WEIGHT_RATIO3 0.6 /* for weight 20 à 30 kg */
#define R3F_TIRED_WEIGHT_RATIO4 0.7 /* for weight > 30 kg */
// activation / deactivation unit recup loss over time (true / false)
#define R3F_TIRED_GLOBAL_TIRING true
// adjustment recovery rate
#define R3F_TIRED_TIME_RECOVERING 100
#define R3F_TIRED_RATIO_RECOVERING 360
#define R3F_TIRED_WITH_VANISH true

View File

@@ -0,0 +1,33 @@
/****************************************************************************
Copyright (C) 2010 Team ~R3F~
This program is free software under the terms of the GNU General Public License version 3.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
@authors team-r3f.org
@version 1.00
@date 20101006
*****************************************************************************/
#include "R3F_TIRED_Configuration.cfg"
FNC_PrintToRPT = {
diag_log text _this;
};
R3F_TIRED_FNCT_Voile_Noir = {
_level = _this select 0;
if(_level < R3F_TIRED_SHORTNESS_THRESHOLD ) then{
playSound "heartbeat_1";
addCamShake [2, 1, 25];
};
};
R3F_TIRED_FNCT_WarnBeforeBlackout = {
[player,0.1] call fnc_usec_damageUnconscious;
cutText ["You are over burdened.", "PLAIN DOWN"];
};
R3F_TIRED_FNCT_DoBlackVanish = {
[player,0.1] call fnc_usec_damageUnconscious;
cutText ["You are over burdened.", "PLAIN DOWN"];
};

View File

@@ -0,0 +1,25 @@
/****************************************************************************
Copyright (C) 2010 Team ~R3F~
This program is free software under the terms of the GNU General Public License version 3.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
@authors team-r3f.org
@version 1.00
@date 20101006
*****************************************************************************/
#include "R3F_TIRED_Configuration.cfg"
call compile preprocessFile "R3F_realism\R3F_Tired\R3F_Tired_Fnct.sqf";
R3F_Weight = 0;
R3F_TIRED_Ratio_Position = 0;
R3F_TIRED_Accumulator = 0;
R3F_TIRED_Handle_Blur_Effect = [] spawn {};
R3F_TIRED_Handle_Blackout_Effect = [] spawn {};
R3F_TIRED_Counter_Time = 0;
R3F_TIRED_Ratio_Recovery = R3F_TIRED_RATIO_RECOVERING;
R3F_TIRED_Ratio_Overweight = 1;
_void = [] execVM "R3F_Realism\R3F_Tired\R3F_DoTired.sqf";

View File

@@ -0,0 +1,3 @@

R3F_VERSION_TIRED, "1.02", "1.02"
1 R3F_VERSION_TIRED 1.02 1.02