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

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

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

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

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

Новый HUD как в Origins для DayZ Epoch

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

 

Худ перестает работать после нескольких минут игры  после кровотечения (не обновляются счетчики убийств, еды и тд), так же нет показателя потери крови, ошибка в логе клиента:  

 

player_updateGui.sqf

private ["_array","_bloodText","_bloodpersec","_tempImg","_uiNumber","_blood","_foodLvl","_thirstLvl","_audible","_visual"];
disableSerialization;

_foodVal = 1 - (dayz_hunger / SleepFood);
_thirstVal = 1 - (dayz_thirst / SleepWater);
_tempVal = 1 - ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin));    // Normalise to [0,1]

if (uiNamespace getVariable ['DZ_displayUI', 0] == 1) exitWith {
    _array = [_foodVal,_thirstVal];
    _array
};

_display = uiNamespace getVariable 'DAYZ_GUI_display';

_ctrlBloodOuter = _display displayCtrl 1200;
_ctrlFoodBorder = _display displayCtrl 1201;
_ctrlThirstBorder = _display displayCtrl 1202;
_ctrlTempBorder = _display displayCtrl 1208;
//Border white
_ctrlBloodOuter ctrlSetTextColor [1,1,1,1];
_ctrlFoodBorder ctrlSetTextColor [1,1,1,1];
_ctrlThirstBorder ctrlSetTextColor [1,1,1,1];
_ctrlTempBorder ctrlSetTextColor [1,1,1,1];

_ctrlBlood = _display displayCtrl 1300;
_ctrlBleed = _display displayCtrl 1303;
_bloodVal = r_player_blood / r_player_bloodTotal;
_bloodpersec = player getVariable['USEC_BloodQty', r_player_blood];
_ctrlFood = _display displayCtrl 1301;
_ctrlThirst = _display displayCtrl 1302;
_ctrlTemp = _display displayCtrl 1306;
_ctrlEar = _display displayCtrl 1304;
_ctrlEye = _display displayCtrl 1305;
_ctrlFracture = _display displayCtrl 1203;


_ctrlhumanKills = _display displayCtrl 1400;
_ctrlhHeadshots = _display displayCtrl 1401;
_ctrlbanditKills= _display displayCtrl 1402;
_ctrlzombieKills= _display displayCtrl 1403;

_ctrlhumanKills  ctrlSetText str(player getVariable["humanKills", 0]);
_ctrlbanditKills ctrlSetText str(player getVariable["banditKills", 0]);
_ctrlzombieKills ctrlSetText str(player getVariable["zombieKills", 0]);
_ctrlhHeadshots  ctrlSetText str(player getVariable["headShots", 0]);


/*-------------------------------------humanity-----------------------------*/
_humanity = player getVariable["humanity", 0];
_typeHumanity = "";
switch true do
{
    case (_humanity >= 5000)://hero 1
    {
        _typeHumanity = "gui\status_humanity_inside_hero_1.paa";
    };
    case (_humanity <= -5000)://bandit 1
    {
        _typeHumanity = "gui\status_humanity_inside_bandit_1.paa";
    };       
    default
    {
        _typeHumanity = "gui\st_humanity_survivor.paa";
    };
};
_ctrlHumanity = _display displayCtrl 1311;
_ctrlHumanity ctrlSetText _typeHumanity;
//Food/Water/Blood
/*
NEW SYSTEM SHOULD BE: (EXAMPLE)
if (_bloodVal > 0.5) then { GREEN TO YELLOW } else { YELLOW TO RED};
Same with Food and Thirst
*/
_ctrlTemp ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_tempVal))), (Dayz_GUI_G * _tempVal), _tempVal, 1];    // Color ranges from iceblue (cold) to red (hot) // << Already Done :)


// OLD SYSTEM
_ctrlBlood ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_bloodVal))),(Dayz_GUI_G * _bloodVal),(Dayz_GUI_B * _bloodVal), 1];
_ctrlFood ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_foodVal))),(Dayz_GUI_G * _foodVal),(Dayz_GUI_B * _foodVal), 1];
_ctrlThirst ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_thirstVal))),(Dayz_GUI_G * _thirstVal),(Dayz_GUI_B * _thirstVal), 1];


/* //Debugging Stuff would be usefull
diag_log format["DEBUG: bloodlvl: %1 r_player_blood: %2 bloodval: %3",_bloodLvl, r_player_blood, _bloodVal];
diag_log format["DEBUG: thirstlvl: %1 dayz_thirst: %2 thirstval: %3",_thirstLvl, dayz_thirst, _thirstVal];
diag_log format["DEBUG: foodlvl: %1 dayz_hunger: %2 foodval: %3",_foodLvl, dayz_hunger, _foodVal];
diag_log format["DEBUG: templvl: %1 dayz_temperatur: %2 tempval: %3",_tempLvl, dayz_temperatur, _tempVal];
*/

_blood = "";
_thirst = "";
_food = "";
_temp = "";
_tempImg = 0;
player setVariable["USEC_BloodQty", r_player_blood, true];

_bloodLvl = round((r_player_blood / 2) / 1000);
_thirstLvl = round(_thirstVal / 0.25);
_foodLvl = round(_foodVal / 0.25);
_tempLvl = round(dayz_temperatur);

//    Blood Regen & BloodLoss:
switch true do {
    case (_bloodpersec <= -50): { _uiNumber = -3 };                                        // -3
    case ((_bloodpersec <= -25) and (_bloodpersec > -50)): { _uiNumber = -2 };    // -2
    case ((_bloodpersec < 0) and (_bloodpersec > -25)): { _uiNumber = -1 };        // -1
    case (_bloodpersec == 0): { _uiNumber = 0 };                                        //  0
    case ((_bloodpersec > 0) and (_bloodpersec < 25)): { _uiNumber = 1 };        //  1
    case ((_bloodpersec >= 25) and (_bloodpersec < 50)): { _uiNumber = 2 };        //  2
    case (_bloodpersec >= 50): { _uiNumber = 3 };                                        //  3
    default { _uiNumber = 0 };
};

_bloodText = "gui\status_blood_border";

if (r_player_infected) then {
    switch true do {
        case (_uiNumber < 0): { _bloodText = _bloodText + "_down" + str(_uiNumber * -1) + "_sick_ca.paa" };
        case (_uiNumber > 0): { _bloodText = _bloodText + "_up" + str(_uiNumber) + "_sick_ca.paa" };
        default { _bloodText = _bloodText + "_sick_ca.paa" };
    };
} else {
    //if (r_player_Sepsis select 0) then {
    //    _bloodText = "\z\addons\dayz_code\gui\status\status_blood_border_sick_ca.paa"
    //} else {
        switch true do {
            case (_uiNumber < 0): { _bloodText = _bloodText + "_down" + str(_uiNumber * -1) + "_ca.paa" };
            case (_uiNumber > 0): { _bloodText = _bloodText + "_up" + str(_uiNumber) + "_ca.paa" };
            default { _bloodText = _bloodText + "_ca.paa" };
        };
    //};
};

_ctrlBloodOuter ctrlSetText _bloodText;

if (_bloodLvl <= 0) then {
    _blood = "gui\status_blood_inside_1_ca.paa";
} else {
    _blood = "gui\status_blood_inside_" + str(_bloodLvl) + "_ca.paa";
};

if (_thirstLvl < 0) then { _thirstLvl = 0 };
_thirst = "gui\status_thirst_inside_" + str(_thirstLvl) + "_ca.paa";

if (_foodLvl < 0) then { _foodLvl = 0 };
_food = "gui\status_food_inside_" + str(_foodLvl) + "_ca.paa";

switch true do {
    case (_tempLvl >= 36): { _tempImg = 4 };
    case (_tempLvl > 33 and _tempLvl < 36): { _tempImg = 3 };
    case (_tempLvl >= 30 and _tempLvl <= 33): { _tempImg = 2 };
    case (_tempLvl > 28 and _tempLvl < 30): { _tempImg = 1 };
    default { _tempImg = 0 };
};

_temp = "gui\status_temp_" + str(_tempImg) + "_ca.paa";

_ctrlBlood ctrlSetText _blood;
_ctrlThirst ctrlSetText _thirst;
_ctrlFood ctrlSetText _food;
_ctrlTemp ctrlSetText _temp;

// Visual:
_visual = (dayz_disVisual / 185) min 1;
if (_visual < 0.2) then {_visual = 0.2;};
_ctrlEye  ctrlSetTextColor [1, 1, 1, _visual];

// Audible
_audible = (dayz_disAudial / 40) min 1;
if (_audible < 0.2) then {_audible = 0.2;};
_ctrlEar ctrlSetTextColor [1, 1, 1, _audible];

// Fracture/Broken Legs
if (!(canStand player) and !(ctrlShown _ctrlFracture)) then {
    r_fracture_legs = true;
    _ctrlFracture ctrlShow true;
};

//    Flashing
if (_bloodVal < 0.2) then { _ctrlBlood call player_guiControlFlash; };
if (_thirstVal < 0.2) then { _ctrlThirst call player_guiControlFlash; };
if (_foodVal < 0.2) then { _ctrlFood call player_guiControlFlash; };
if (_tempVal > 0.8) then { _ctrlTemp call player_guiControlFlash; } else { _ctrlTemp ctrlShow true; };
if (r_player_injured) then { _ctrlBleed call player_guiControlFlash; };

/*
Opt-in tag system with friend tagging
*/
_targetControl = _display displayCtrl 1199;
_string = "";
_humanityTarget = cursorTarget;
if (!isNull _humanityTarget and isPlayer _humanityTarget and alive _humanityTarget) then {

 _distance = (player distance _humanityTarget);

 if (_distance < DZE_HumanityTargetDistance) then {
  
  _size = (1-(floor(_distance/5)*0.1)) max 0.1;

  // Display name if player opt-in or if friend
  _friendlies = player getVariable ["friendlies", []];
  _charID = player getVariable ["CharacterID", "0"];

  _rcharID = _humanityTarget getVariable ["CharacterID", "0"];
  _rfriendlies = _humanityTarget getVariable ["friendlies", []];
  _rfriendlyTo = _humanityTarget getVariable ["friendlyTo", []];
   
  if ((_rcharID in _friendlies) and (_charID in _rfriendlies)) then {

   if (!(_charID in _rfriendlyTo)) then {

    // diag_log format["IS FRIENDLY: %1", _player];
    _rfriendlyTo set [count _rfriendlyTo, _charID];
    _humanityTarget setVariable ["friendlyTo", _rfriendlyTo, true];
    
    // titleText [format[(localize "STR_EPOCH_ACTIONS_17"), (name _humanityTarget)], "PLAIN DOWN"];

   };

   // <br /><t %2 align='center' size='0.7'>Humanity: %3</t>

   _color = "color='#339933'";
   _string = format["<t %2 align='center' size='%3'>%1</t>",(name _humanityTarget),_color,_size];
  
  } else {

   // Humanity checks
   _humanity = _humanityTarget getVariable ["humanity",0];

   _color = "color='#ffffff'";
   if(_humanity < -5000) then {
    _color = "color='#ff0000'";
   } else {
    if(_humanity > 5000) then {
     _color = "color='#3333ff'";
    };
   };
   if(_humanityTarget getVariable ["DZE_display_name", false]) then {
    _string = format["<t %2 align='center' size='%3'>%1</t>",(name _humanityTarget),_color,_size];
   };
  };
 };
};

// update gui if changed
if (dayz_humanitytarget != _string) then {
 _targetControl ctrlSetStructuredText (parseText _string);
 dayz_humanitytarget = _string;
};

_array = [_foodVal,_thirstVal];
_array
 

 

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


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





 

player_updateGui.sqf

private ["_array","_bloodText","_bloodpersec","_tempImg","_uiNumber","_blood","_foodLvl","_thirstLvl","_audible","_visual"];
disableSerialization;

_foodVal = 1 - (dayz_hunger / SleepFood);
_thirstVal = 1 - (dayz_thirst / SleepWater);
_tempVal = 1 - ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin));    // Normalise to [0,1]

if (uiNamespace getVariable ['DZ_displayUI', 0] == 1) exitWith {
    _array = [_foodVal,_thirstVal];
    _array
};

_display = uiNamespace getVariable 'DAYZ_GUI_display';

_ctrlBloodOuter = _display displayCtrl 1200;
_ctrlFoodBorder = _display displayCtrl 1201;
_ctrlThirstBorder = _display displayCtrl 1202;
_ctrlTempBorder = _display displayCtrl 1208;
//Border white
_ctrlBloodOuter ctrlSetTextColor [1,1,1,1];
_ctrlFoodBorder ctrlSetTextColor [1,1,1,1];
_ctrlThirstBorder ctrlSetTextColor [1,1,1,1];
_ctrlTempBorder ctrlSetTextColor [1,1,1,1];

_ctrlBlood = _display displayCtrl 1300;
_ctrlBleed = _display displayCtrl 1303;
_bloodVal = r_player_blood / r_player_bloodTotal;
_bloodpersec = player getVariable['USEC_BloodQty', r_player_blood];
_ctrlFood = _display displayCtrl 1301;
_ctrlThirst = _display displayCtrl 1302;
_ctrlTemp = _display displayCtrl 1306;
_ctrlEar = _display displayCtrl 1304;
_ctrlEye = _display displayCtrl 1305;
_ctrlFracture = _display displayCtrl 1203;


_ctrlhumanKills = _display displayCtrl 1400;
_ctrlhHeadshots = _display displayCtrl 1401;
_ctrlbanditKills= _display displayCtrl 1402;
_ctrlzombieKills= _display displayCtrl 1403;

_ctrlhumanKills  ctrlSetText str(player getVariable["humanKills", 0]);
_ctrlbanditKills ctrlSetText str(player getVariable["banditKills", 0]);
_ctrlzombieKills ctrlSetText str(player getVariable["zombieKills", 0]);
_ctrlhHeadshots  ctrlSetText str(player getVariable["headShots", 0]);


/*-------------------------------------humanity-----------------------------*/
_humanity = player getVariable["humanity", 0];
_typeHumanity = "";
switch true do
{
    case (_humanity >= 5000)://hero 1
    {
        _typeHumanity = "gui\status_humanity_inside_hero_1.paa";
    };
    case (_humanity <= -5000)://bandit 1
    {
        _typeHumanity = "gui\status_humanity_inside_bandit_1.paa";
    };       
    default
    {
        _typeHumanity = "gui\st_humanity_survivor.paa";
    };
};
_ctrlHumanity = _display displayCtrl 1311;
_ctrlHumanity ctrlSetText _typeHumanity;
//Food/Water/Blood
/*
NEW SYSTEM SHOULD BE: (EXAMPLE)
if (_bloodVal > 0.5) then { GREEN TO YELLOW } else { YELLOW TO RED};
Same with Food and Thirst
*/
_ctrlTemp ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_tempVal))), (Dayz_GUI_G * _tempVal), _tempVal, 1];    // Color ranges from iceblue (cold) to red (hot) // << Already Done :)


// OLD SYSTEM
_ctrlBlood ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_bloodVal))),(Dayz_GUI_G * _bloodVal),(Dayz_GUI_B * _bloodVal), 1];
_ctrlFood ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_foodVal))),(Dayz_GUI_G * _foodVal),(Dayz_GUI_B * _foodVal), 1];
_ctrlThirst ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_thirstVal))),(Dayz_GUI_G * _thirstVal),(Dayz_GUI_B * _thirstVal), 1];


/* //Debugging Stuff would be usefull
diag_log format["DEBUG: bloodlvl: %1 r_player_blood: %2 bloodval: %3",_bloodLvl, r_player_blood, _bloodVal];
diag_log format["DEBUG: thirstlvl: %1 dayz_thirst: %2 thirstval: %3",_thirstLvl, dayz_thirst, _thirstVal];
diag_log format["DEBUG: foodlvl: %1 dayz_hunger: %2 foodval: %3",_foodLvl, dayz_hunger, _foodVal];
diag_log format["DEBUG: templvl: %1 dayz_temperatur: %2 tempval: %3",_tempLvl, dayz_temperatur, _tempVal];
*/

_blood = "";
_thirst = "";
_food = "";
_temp = "";
_tempImg = 0;
player setVariable["USEC_BloodQty", r_player_blood, true];

_bloodLvl = round((r_player_blood / 2) / 1000);
_thirstLvl = round(_thirstVal / 0.25);
_foodLvl = round(_foodVal / 0.25);
_tempLvl = round(dayz_temperatur);

//    Blood Regen & BloodLoss:
switch true do {
    case (_bloodpersec <= -50): { _uiNumber = -3 };                                        // -3
    case ((_bloodpersec <= -25) and (_bloodpersec > -50)): { _uiNumber = -2 };    // -2
    case ((_bloodpersec < 0) and (_bloodpersec > -25)): { _uiNumber = -1 };        // -1
    case (_bloodpersec == 0): { _uiNumber = 0 };                                        //  0
    case ((_bloodpersec > 0) and (_bloodpersec < 25)): { _uiNumber = 1 };        //  1
    case ((_bloodpersec >= 25) and (_bloodpersec < 50)): { _uiNumber = 2 };        //  2
    case (_bloodpersec >= 50): { _uiNumber = 3 };                                        //  3
    default { _uiNumber = 0 };
};

_bloodText = "gui\status_blood_border";

if (r_player_infected) then {
    switch true do {
        case (_uiNumber < 0): { _bloodText = _bloodText + "_down" + str(_uiNumber * -1) + "_sick_ca.paa" };
        case (_uiNumber > 0): { _bloodText = _bloodText + "_up" + str(_uiNumber) + "_sick_ca.paa" };
        default { _bloodText = _bloodText + "_sick_ca.paa" };
    };
} else {
    //if (r_player_Sepsis select 0) then {
    //    _bloodText = "\z\addons\dayz_code\gui\status\status_blood_border_sick_ca.paa"
    //} else {
        switch true do {
            case (_uiNumber < 0): { _bloodText = _bloodText + "_down" + str(_uiNumber * -1) + "_ca.paa" };
            case (_uiNumber > 0): { _bloodText = _bloodText + "_up" + str(_uiNumber) + "_ca.paa" };
            default { _bloodText = _bloodText + "_ca.paa" };
        };
    //};
};

_ctrlBloodOuter ctrlSetText _bloodText;

if (_bloodLvl <= 0) then {
    _blood = "gui\status_blood_inside_1_ca.paa";
} else {
    _blood = "gui\status_blood_inside_" + str(_bloodLvl) + "_ca.paa";
};

if (_thirstLvl < 0) then { _thirstLvl = 0 };
_thirst = "gui\status_thirst_inside_" + str(_thirstLvl) + "_ca.paa";

if (_foodLvl < 0) then { _foodLvl = 0 };
_food = "gui\status_food_inside_" + str(_foodLvl) + "_ca.paa";

switch true do {
    case (_tempLvl >= 36): { _tempImg = 4 };
    case (_tempLvl > 33 and _tempLvl < 36): { _tempImg = 3 };
    case (_tempLvl >= 30 and _tempLvl <= 33): { _tempImg = 2 };
    case (_tempLvl > 28 and _tempLvl < 30): { _tempImg = 1 };
    default { _tempImg = 0 };
};

_temp = "gui\status_temp_" + str(_tempImg) + "_ca.paa";

_ctrlBlood ctrlSetText _blood;
_ctrlThirst ctrlSetText _thirst;
_ctrlFood ctrlSetText _food;
_ctrlTemp ctrlSetText _temp;

// Visual:
_visual = (dayz_disVisual / 185) min 1;
if (_visual < 0.2) then {_visual = 0.2;};
_ctrlEye  ctrlSetTextColor [1, 1, 1, _visual];

// Audible
_audible = (dayz_disAudial / 40) min 1;
if (_audible < 0.2) then {_audible = 0.2;};
_ctrlEar ctrlSetTextColor [1, 1, 1, _audible];

// Fracture/Broken Legs
if (!(canStand player) and !(ctrlShown _ctrlFracture)) then {
    r_fracture_legs = true;
    _ctrlFracture ctrlShow true;
};

//    Flashing
if (_bloodVal < 0.2) then { _ctrlBlood call player_guiControlFlash; };
if (_thirstVal < 0.2) then { _ctrlThirst call player_guiControlFlash; };
if (_foodVal < 0.2) then { _ctrlFood call player_guiControlFlash; };
if (_tempVal > 0.8) then { _ctrlTemp call player_guiControlFlash; } else { _ctrlTemp ctrlShow true; };
if (r_player_injured) then { _ctrlBleed call player_guiControlFlash; };

/*
Opt-in tag system with friend tagging
*/
_targetControl = _display displayCtrl 1199;
_string = "";
_humanityTarget = cursorTarget;
if (!isNull _humanityTarget and isPlayer _humanityTarget and alive _humanityTarget) then {

 _distance = (player distance _humanityTarget);

 if (_distance < DZE_HumanityTargetDistance) then {
  
  _size = (1-(floor(_distance/5)*0.1)) max 0.1;

  // Display name if player opt-in or if friend
  _friendlies = player getVariable ["friendlies", []];
  _charID = player getVariable ["CharacterID", "0"];

  _rcharID = _humanityTarget getVariable ["CharacterID", "0"];
  _rfriendlies = _humanityTarget getVariable ["friendlies", []];
  _rfriendlyTo = _humanityTarget getVariable ["friendlyTo", []];
   
  if ((_rcharID in _friendlies) and (_charID in _rfriendlies)) then {

   if (!(_charID in _rfriendlyTo)) then {

    // diag_log format["IS FRIENDLY: %1", _player];
    _rfriendlyTo set [count _rfriendlyTo, _charID];
    _humanityTarget setVariable ["friendlyTo", _rfriendlyTo, true];
    
    // titleText [format[(localize "STR_EPOCH_ACTIONS_17"), (name _humanityTarget)], "PLAIN DOWN"];

   };

   // <br /><t %2 align='center' size='0.7'>Humanity: %3</t>

   _color = "color='#339933'";
   _string = format["<t %2 align='center' size='%3'>%1</t>",(name _humanityTarget),_color,_size];
  
  } else {

   // Humanity checks
   _humanity = _humanityTarget getVariable ["humanity",0];

   _color = "color='#ffffff'";
   if(_humanity < -5000) then {
    _color = "color='#ff0000'";
   } else {
    if(_humanity > 5000) then {
     _color = "color='#3333ff'";
    };
   };
   if(_humanityTarget getVariable ["DZE_display_name", false]) then {
    _string = format["<t %2 align='center' size='%3'>%1</t>",(name _humanityTarget),_color,_size];
   };
  };
 };
};

// update gui if changed
if (dayz_humanitytarget != _string) then {
 _targetControl ctrlSetStructuredText (parseText _string);
 dayz_humanitytarget = _string;
};

_array = [_foodVal,_thirstVal];
_array
 

 

 

Теперь ошибок нет, но иконка крови все время показывает "восстановление" (3 полоски вверх), и по прежнему после получения кровотечения худ перестает работать((

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


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

Разобрался, нужно добавить этот код в конец вашего кастомного compiles.sqf. Спасибо Ramond что пытался помочь :good:

 

 

player_guiControlFlash = {
private["_control"];
_control = _this;
if (ctrlShown _control) then {


_control ctrlShow false;
} else {


_control ctrlShow true;
};
};
 

 

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

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


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

Почему у меня заменились только стандартные иконки эпоча. Нету тех что на скрине.

 

P.S: Исправил. В дескрипшине запихивал подключение икона в класс RscTitles. Не надо было этого делать.

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

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


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

А будьте так добры, разъясните пожалуйста как подключить пистолет который отвечает за то что вы находитесь в бою? Я в файлах смотрел, сама картинка там есть! Но как её подключить я так и не понял! Спасибо!

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


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

Да, всем худ хорош, о нет комбата. :(

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


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

Беда, не пашет!

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


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

ОказалосЬ, что комбат таймер не сложно сделать для этого худа. ))))

Либо в Icon.h, либо там где у Вас задан class RscTitles необходимо добавить:

            /*--------------------------------------------*/
            class RscPicture_12101: RscPictureGUI
            {
                idc = 12101;
                text = "gui\status_combat_inside_ca.paa";
                x = 0.955313 * safezoneW + safezoneX;
                y = 0.60 * safezoneH + safezoneY;
                w = 0.027 * safezoneW;
                h = 0.037 * safezoneH;
                colorText[] = {1,1,1,1};
            };
			class RscPicture_12102: RscPictureGUI
            {
                idc = 12102;
                text = "gui\status_combat_border_CA.paa";
                x = 0.955313 * safezoneW + safezoneX;
                y = 0.60 * safezoneH + safezoneY;
                w = 0.027 * safezoneW;
                h = 0.037 * safezoneH;
                colorText[] = {1,1,1,1};
            }; 

 

Позиция y = у меня уже изменена под мои хотелки, так что сами определите куда Вам её надо воткнуть.

 

Теперь правим файлик player_updateGui.sqf

private ["_array","_bloodText","_tempImg","_uiNumber","_blood","_foodLvl","_thirstLvl","_audible","_visual","_combatVal","_ctrlCombat"];

Это этап инициализации переменных, по сути я добавил две переменные - "_combatVal" и "_ctrlCombat"

 

Ищем код: 

_ctrlBloodOuter = _display displayCtrl 1200;
_ctrlFoodBorder = _display displayCtrl 1201;
_ctrlThirstBorder = _display displayCtrl 1202;
_ctrlTempBorder = _display displayCtrl 1208;

И после него вставляем:

_ctrlCombat = _display displayCtrl 12101;

 

 

Ищем код: 

_ctrlBloodOuter ctrlSetTextColor [1,1,1,1];
_ctrlFoodBorder ctrlSetTextColor [1,1,1,1];
_ctrlThirstBorder ctrlSetTextColor [1,1,1,1];
_ctrlTempBorder ctrlSetTextColor [1,1,1,1];

И после него вставляем:

_ctrlCombat ctrlSetTextColor		[(Dayz_GUI_R + (0.3 * (1-_combatVal))),(Dayz_GUI_G * _combatVal),(Dayz_GUI_B * _combatVal), 0.5];

Ищем код:

//	Flashing
if (_bloodVal < 0.2) then { _ctrlBlood call player_guiControlFlash; };
if (_thirstVal < 0.2) then { _ctrlThirst call player_guiControlFlash; };
if (_foodVal < 0.2) then { _ctrlFood call player_guiControlFlash; };
if (_tempVal > 0.8) then { _ctrlTemp call player_guiControlFlash; } else { _ctrlTemp ctrlShow true; };
if (r_player_injured) then { _ctrlBleed call player_guiControlFlash; };

И после него вставляем:

if (_combatVal == 0) then {	_ctrlCombat call player_guiControlFlash;};

 

Не забудьте сохранить Ваши изменений! ;)

 

Все, теперь у нас есть моргающий комбат-таймер.

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


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

Пистолет есть, флешинга нету( Убрал обратно - нет теперь его совсем опять))

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


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

Спасибо

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


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

Привет всем!Поставил этот HUD себе на сервер , но в логах постоянно ошибку выдает

switch true do {
case (r_player_bloodpersec <= -50): { _uiNumbe>
Error position: <r_player_bloodpersec <= -50): { _uiNumbe>
Error Undefined variable in expression: r_player_bloodpersec
File mpmissions\__CUR_MP.Chernarus\compile\player_updateGui.sqf, line 103
Error in expression <z_temperatur);

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


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

Привет всем!Поставил этот HUD себе на сервер , но в логах постоянно ошибку выдает

switch true do {

case (r_player_bloodpersec <= -50): { _uiNumbe>

Error position: <r_player_bloodpersec <= -50): { _uiNumbe>

Error Undefined variable in expression: r_player_bloodpersec

File mpmissions\__CUR_MP.Chernarus\compile\player_updateGui.sqf, line 103

Error in expression <z_temperatur);

В variables.sqf  после DZE_PROTOBOX = objNull;

вставь:  r_player_bloodpersec= -50;

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


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

Спасибо

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


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

Не работает!!!!

все работает

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


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

Все по гайду точка в точку, запятая в запятую

ошибка:

ErrorMessage: File mpmissions\DayZ_Epoch_11.Chernarus\guiconfig\Icon.h, line 420: .RscTitles: Member already defined.

в compiles.sqf в epoch 1.0.6.1 написано так:

    player_updateGui = switch (toLower DZE_UI) do {
        case "dark": {compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGuiDark.sqf";};
        case "epoch": {compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGuiEpoch.sqf";};
        case "vanilla": {compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf";};
    };

прописал так:

	player_updateGui = switch (toLower DZE_UI) do {
		case "dark": {compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGuiDark.sqf";};
		case "epoch": {compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGuiEpoch.sqf";};
		//case "vanilla": {compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf";};
		case "vanilla": {compile preprocessFileLineNumbers "guiconfig\player_updateGui.sqf";};	
	};

но все равно ошибка выходит, крашится сервер :(

description.ext:

Скрытый текст

respawn = "BASE";
respawnDelay = 0;
respawnDialog = 0;
onLoadMission = "ТЕСТ";
OnLoadIntro = "ТЕСТ";
OnLoadIntroTime = 0;
OnLoadMissionTime = 0;
disabledAI = 1;
disableChannels[] = {0,2,6};
enableItemsDropping = 0;
onPauseScript = "";
briefing = 0;
debriefing = 0;

titleParam1 = "AutoLogin:";
valuesParam1[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 31};
defValueParam1 = 10; 														// auto login time limit in seconds, set value to 31 to disable auto login
textsParam1[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, "Disabled"};

loadScreen = "logo.jpg";

class Header
{
	gameType = COOP;          												// DM, Team, Coop, ...
	minPlayers = 1;             											// min # of players the mission supports
	maxPlayers = 50;            											// Max # of players the mission supports
};

aiKills = 1;
diagRadio = 1;
diagHit = 1;

class CfgSounds
{
    sounds[] =
	{
		Radio_Message_Sound
	};
	class Radio_Message_Sound
	{
		name = "Radio_Message_Sound";
		sound[] = {custom\remote\radio.ogg,0.4,1};
		titles[] = {};
	};
	class geiger1
	{
		name = "geiger1_sound";
		sound[] = {custom\remote\geiger1.ogg, 1, 1};
		titles[] = {};
	};
};

class RscTitles {
    #include "dayz_code\configs\zschud.hpp"
	class wm_disp {
		idd = -1;
		onLoad = "uiNamespace setVariable ['wm_disp', _this select 0]";
		fadein = 0;
		fadeout = 0;
		duration = 10e10;
		controlsBackground[] = {};
		objects[] = {};
		class controls {
			class wm_text2 {
				idc = 1;
				x = safeZoneX+0.027;//safeZoneW*0.01;
				y = safeZoneY+safeZoneH-0.16;
				w = 0.151*safeZoneH;
				h = 0.057*safeZoneH;
				shadow = 2;
				class Attributes {
					font = "EtelkaNarrowMediumPro";
					color = "#24FFFFFF";
					align = "left"; // put "center" here if you want some background
					valign = "middle";
					shadow = 2;
				};
				colorBackground[] = { 1, 0.3, 0, 0 };  // uncomment and increase 4th number to have a background
				font = "EtelkaNarrowMediumPro";
				size = 0.06*safeZoneH;
				type = 13;
				style = 0;
				text = "";
			};
		};
	};	
};
#include "\z\addons\dayz_code\Configs\RscDisplay\ZSCdefines.hpp"
#include "\z\addons\dayz_code\Configs\CfgLoot\CfgLoot.hpp"
#include "dayz_code\Configs\CfgServerTrader.hpp"
#include "dayz_code\configs\zscATMdialogs.hpp"
#include "dayz_code\configs\zscdialogs.hpp"
#include "dayz_code\gui\description.hpp"
#include "custom\extra_rc.hpp"
#include "spawn\dialogs.hpp"
#include "guiconfig\Icon.h"

 

 

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

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


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

ErrorMessage: File mpmissions\DayZ_Epoch_11.Chernarus\guiconfig\Icon.h, line 420: .RscTitles: Member already defined.

 

во и она

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


Ссылка на сообщение
Поделиться на других сайтах
10 минут назад, Miduznya сказал:

lockdog ??? не очень понял извини

Класс RscTitles уже используется. В файле description.ext в подкласс у RscTitles сунь нужный блок, чтобы не дублить класс. Из-за повтора ошибка эта

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


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

DrTauren прописал так:

Скрытый текст

class RscTitles {
    #include "dayz_code\configs\zschud.hpp"
	class wm_disp {
		idd = -1;
		onLoad = "uiNamespace setVariable ['wm_disp', _this select 0]";
		fadein = 0;
		fadeout = 0;
		duration = 10e10;
		controlsBackground[] = {};
		objects[] = {};
		class controls {
			class wm_text2 {
				idc = 1;
				x = safeZoneX+0.027;//safeZoneW*0.01;
				y = safeZoneY+safeZoneH-0.16;
				w = 0.151*safeZoneH;
				h = 0.057*safeZoneH;
				shadow = 2;
				class Attributes {
					font = "EtelkaNarrowMediumPro";
					color = "#24FFFFFF";
					align = "left"; // put "center" here if you want some background
					valign = "middle";
					shadow = 2;
				};
				colorBackground[] = { 1, 0.3, 0, 0 };  // uncomment and increase 4th number to have a background
				font = "EtelkaNarrowMediumPro";
				size = 0.06*safeZoneH;
				type = 13;
				style = 0;
				text = "";
			};
		};
	};
};
class RscPictureGUI
{
    access = 0;
    type = 0;
    idc = -1;
    colorBackground[] = {0,0,0,0};
    colorText[] = {0.38,0.63,0.26,0.75};
    font = "TahomaB";
    sizeEx = 0;
    lineSpacing = 0;
    text = "";
    style = "0x30 + 0x100";
    x = 0;
    y = 0;
    w = 0.2;
    h = 0.15;
};
class RscTextGUIK {
    type = 0;
    idc = -1;
    style = 0x02;
    colorBackground[] = {0,0,0,0};
    colorText[] = {1, 1, 1, 0.5};
    //color[] = {1, 1, 1, 0.5};
    font = "TahomaB";
    size = 0.03;
    sizeEx = 0.03;
    x = 0;
    y = 0;
    w = 0.1;
    h = 0.2;
};
#include "\z\addons\dayz_code\Configs\RscDisplay\ZSCdefines.hpp"
#include "\z\addons\dayz_code\Configs\CfgLoot\CfgLoot.hpp"
#include "dayz_code\Configs\CfgServerTrader.hpp"
#include "dayz_code\configs\zscATMdialogs.hpp"
#include "dayz_code\configs\zscdialogs.hpp"
#include "dayz_code\gui\description.hpp"
#include "custom\extra_rc.hpp"
#include "spawn\dialogs.hpp"
#include "guiconfig\Icon.h"

 

все равно крашит с той же ошибкой

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


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

еще есть файл description.hpp в нем код:

Скрытый текст

class RscText
{
	type = 0;
	idc = -1;
	x = 0;
	y = 0;
	h = 0.037;
	w = 0.3;
	style = 0x100; 
	font = Zeppelin32;
	SizeEx = 0.03921;
	colorText[] = {1,1,1,1};
	colorBackground[] = {0, 0, 0, 0};
	linespacing = 1;
};

class RscPicture
{
	access=0;
	type=0;
	idc=-1;
	style=48;
	colorBackground[]={0,0,0,0};
	colorText[]={1,1,1,1};
	font="TahomaB";
	sizeEx=0;
	lineSpacing=0;
	text="";
};

class RscLoadingText : RscText
{
	style = 2;
	x = 0.323532;
	y = 0.666672;
	w = 0.352944;
	h = 0.039216;
	sizeEx = 0.03921;
	colorText[] = {0.543,0.5742,0.4102,1.0};
};

class RscProgress
{
	x = 0.344;
	y = 0.619;
	w = 0.313726;
	h = 0.0261438;
	texture = "\ca\ui\data\loadscreen_progressbar_ca.paa";
	colorFrame[] = {0,0,0,0};
	colorBar[] = {1,1,1,1};
};

class RscProgressNotFreeze
{
	idc = -1;
	type = 45;
	style = 0;
	x = 0.022059;
	y = 0.911772;
	w = 0.029412;
	h = 0.039216;
	texture = "#(argb,8,8,3)color(0,0,0,0)";
};

//
// the loading screen itself
//
class DayZ_loadingScreen
{ 
	idd = -1;
	duration = 10e10;
	fadein = 0;
	fadeout = 0;
	name = "loading screen";
	class controlsBackground
	{
		class blackBG : RscText
		{
			x = safezoneX;
			y = safezoneY;
			w = safezoneW;
			h = safezoneH;
			text = "";
			colorText[] = {0,0,0,0};
			colorBackground[] = {0,0,0,1};
		};
	};
	class controls
	{
		class Title1 : RscLoadingText
		{
			text = "$STR_LOADING"; // "Loading" text in the middle of the screen
		};
		class CA_Progress : RscProgress // progress bar, has to have idc 104
		{
			idc = 104;
			type = 8; // CT_PROGRESS
			style = 0; // ST_SINGLE
			texture = "\ca\ui\data\loadscreen_progressbar_ca.paa";
		};
		class CA_Progress2 : RscProgressNotFreeze // progress bar that will go reverse
		{
			idc = 103;
		};
		class Name2: RscText // the text on the top-left
		{
			idc = 101;
			x = 0.05;
			y = 0.029412;
			w = 0.9;
			h = 0.04902;
			text = "";
			sizeEx = 0.05;
			colorText[] = {0.543,0.5742,0.4102,1.0};
		};
	};
};

 

Может тут проблема?

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

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


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

Miduznya у тебя в файле guiconfig\Icon.h уже есть класс class RscTitles. Подклассы что там сунь в RscTitles что у тебя в description.ext

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


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

Апну тему. Как в Ори подсчитывается количество киллов именно героев? Никто не в теме?

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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