Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Pellaeon

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

Recommended Posts

Всего пару простых действий и мы получаем интерфейс, похожий на тот, что есть в ориджинсе  :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;
}; 

 

Edited by Pellaeon (see edit history)

Share this post


Link to post
Share on other sites



 

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

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

Share this post


Link to post
Share on other sites

 

 

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

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

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

Share this post


Link to post
Share on other sites

 

 

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

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

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

Share this post


Link to post
Share on other sites

 

 

 

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Всего пару простых действий и мы получаем интерфейс, похожий на тот, что есть в ориджинсе  :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 где косяк зарыт?

Share this post


Link to post
Share on other sites

 

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

Share this post


Link to post
Share on other sites

а без - всё замечательно

Значит надо воспользоватся другим способом выводит ватермарк...

Share this post


Link to post
Share on other sites

а у меня и без ватермарка крашит

Пробовал ставить на чистый - все норм работает. Какой-то скрипт конфликтует.

Share this post


Link to post
Share on other sites

Всё работает, поставил давно, спс за дебаг))),а то стандартный бесячий...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.