Pellaeon

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

100 сообщений в этой теме

Всего пару простых действий и мы получаем интерфейс, похожий на тот, что есть в ориджинсе  :laugh:

 

Для этого понадобятся: 

Файлы самих иконок:

https://yadi.sk/d/E2mz7RUjbxKj5

 

Поехали:

 

1) Распаковаваем архив в корень нашей миссии.

2) Прописываем в конец файла "description.ext" строку:
 

#include "guiconfig\Icon.h"

3) В этот-же файл после:
 

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 nicePic : RscPicture
		{
			style = 48 + 0x800; // ST_PICTURE + ST_KEEP_ASPECT_RATIO
			x = safezoneX + safezoneW/2 - 0.25;
			y = safezoneY + safezoneH/2 - 0.2;
			w = 0.5;
			h = 0.4;
			text = "img\nicePic.paa";
		};
		*/
	};
	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};
		};
	};
};

добавляем это:
 

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;
};

4) В файле "compiles.sqfизменяем:

player_updateGui =		compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf"; 

на это:

//player_updateGui =		compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf";
player_updateGui =		compile preprocessFileLineNumbers "guiconfig\player_updateGui.sqf"; 

 

5) В файле "init.sqf" вместо строки:

call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; 

ставим:

call compile preprocessFileLineNumbers "custom\compiles.sqf"; 

 

6) Запускаем сервер и радуемся новому интерфейсу)

 

Небольшой скриншот самого интерфейса:
hTxl8me.jpg

 

Небольшое пояснение:

1) Желтая рука - показывает статус персонажа в зависимости от его человечности (Рука - выживший; Орел - герой; Череп - бандит)

 Далее пойдут белые иконки:

2) Рука - убито выживших

3) Орел - хэдшоты

4) Череп - убито бандитов

5) Толпа зомби - убито зомби


На этом все - спасибо за внимание  :happy:

 

P.S. 

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

if (isNil "custom_monitor") then {custom_monitor = true;} else {custom_monitor = !custom_monitor;};
 
while {custom_monitor} do
{
    _humanity =        player getVariable["humanity",0];
    hintSilent parseText format ["
    <t size='1'font='Bitstream'align='center'color='#FFBF00'>Дней выжил: %3</t><br/>
    <t size='1'font='Bitstream'align='center'color='#dc143c'>Кровь: %1</t><br/>
    <t size='1'font='Bitstream'align='center'color='#0080FF'>Человечность: %2</t>
    ",r_player_blood,round _humanity,dayz_Survived];
sleep 1;
}; 

 

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

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


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


 

Естественно будет крашить, автор забыл упомянуть что в compiles  надо сделать так

//player_updateGui =			compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf";
	player_updateGui =			compile preprocessFileLineNumbers "guiconfig\player_updateGui.sqf";

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


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

 

 

Естественно будет крашить, автор забыл упомянуть что в compiles  надо сделать так

//player_updateGui =			compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf";
	player_updateGui =			compile preprocessFileLineNumbers "guiconfig\player_updateGui.sqf";

Спасибо за тычок, поправил.

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


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

 

 

Естественно будет крашить, автор забыл упомянуть что в compiles  надо сделать так

//player_updateGui =			compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf";
	player_updateGui =			compile preprocessFileLineNumbers "guiconfig\player_updateGui.sqf";

у тебя работает?

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


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

 

 

 

Естественно будет крашить, автор забыл упомянуть что в compiles  надо сделать так

//player_updateGui =			compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf";
	player_updateGui =			compile preprocessFileLineNumbers "guiconfig\player_updateGui.sqf";

у тебя работает?

Всё работает)

С этим пунктом реально накосячил  :down:

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


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

Странно, всё сделал как надо и всё равно крашит с той же ошибкой.

А водный знак на сервер не ставил часом?

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


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

Всего пару простых действий и мы получаем интерфейс, похожий на тот, что есть в ориджинсе  :laugh:

 

Для этого понадобятся: 

Файлы самих иконок:

http://yadi.sk/d/ytogU5gpMP3iw

 

Поехали:

 

1) Распаковаваем архив в корень нашей миссии.

2) Прописываем в конец файла "description.ext" строку:

 

#include "guiconfig\Icon.h"

3) В этот-же файл после:

 

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 nicePic : RscPicture
		{
			style = 48 + 0x800; // ST_PICTURE + ST_KEEP_ASPECT_RATIO
			x = safezoneX + safezoneW/2 - 0.25;
			y = safezoneY + safezoneH/2 - 0.2;
			w = 0.5;
			h = 0.4;
			text = "img\nicePic.paa";
		};
		*/
	};
	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};
		};
	};
};

добавляем это:

 

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;
};

4) В файле "compiles.sqfизменяем:

 

player_updateGui =		compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf"; 

на это:

 

//player_updateGui =		compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf";
player_updateGui =		compile preprocessFileLineNumbers "guiconfig\player_updateGui.sqf"; 

 

5) Запускаем сервер и радуемся новому интерфейсу)

 

Небольшой скриншот самого интерфейса:

hTxl8me.jpg

 

Небольшое пояснение:

1) Желтая рука - показывает статус персонажа в зависимости от его человечности (Рука - выживший; Орел - герой; Череп - бандит)

 Далее пойдут белые иконки:

2) Рука - убито выживших

3) Орел - хэдшоты

4) Череп - убито бандитов

5) Толпа зомби - убито зомби

 

На этом все - спасибо за внимание  :happy:

 

P.S. 

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

if (isNil "custom_monitor") then {custom_monitor = true;} else {custom_monitor = !custom_monitor;};
 
while {custom_monitor} do
{
    _humanity =        player getVariable["humanity",0];
    hintSilent parseText format ["
    <t size='1'font='Bitstream'align='center'color='#FFBF00'>Дней выжил: %3</t><br/>
    <t size='1'font='Bitstream'align='center'color='#dc143c'>Кровь: %1</t><br/>
    <t size='1'font='Bitstream'align='center'color='#0080FF'>Человечность: %2</t>
    ",r_player_blood,round _humanity,dayz_Survived];
sleep 1;
}; 

 

2) Рука - убито выживших

3) Орел - хэдшоты

4) Череп - убито бандитов

5) Толпа зомби - убито зомби

Всё показывает по 1000 где косяк зарыт?

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


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

как подгрузить это со стороны сервера?

и соеденить с вотермаркой))

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

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


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

 

2) Рука - убито выживших

3) Орел - хэдшоты

4) Череп - убито бандитов

5) Толпа зомби - убито зомби

Всё показывает по 1000 где косяк зарыт?

В файле "init.sqf" миссии найти строку:

call compile preprocessFileLineNumbers         "\z\addons\dayz_code\init\compiles.sqf";	

И заменить на

//call compile preprocessFileLineNumbers          "\z\addons\dayz_code\init\compiles.sqf";
call compile preprocessFileLineNumbers          "custom\compiles.sqf";

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


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

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

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

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

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


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

Войти

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


Войти сейчас