Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
Димас

Разрешение Экрана и GUI, HUD

Каким образом можно сделать выравнивание иконок на экране по примеру иконок банковской системы?
Сам пытался понять как работает команда align = "right"; и как её внедрить. Зашёл в тупик.

Экран 1366х768. Если настрою местоположение иконок точно под это разрешение, то на большем будет не красиво. Аналогично и с размером интерфейса.

gui_config_noRscTitles.sqf

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

class TmaxText {
	type = 0;
	text = "";
	x=0.92*safeZoneW + safeZoneX;
	w=0.07*safeZoneW;
	h=0.03;
	style = 0x100+0x01; 
	font = Zeppelin32;
	SizeEx = 0.04;
	colorText[] = {1,1,1,1};
	colorBackground[] = {0, 0, 0, 0};
	linespacing = 1;
};
class TmaxPic : TmaxText {
	style=48;
	w=0.09/safeZoneW;
	h=0.09/safeZoneH;
};
class TmaxPic_main : TmaxPic {
	x=0.925*safeZoneW + safeZoneX;
};
class TmaxText_main : TmaxText {
	x=0.905*safeZoneW + safeZoneX;
};
class TmaxPic_status : TmaxPic {
	x=0.975*safeZoneW + safeZoneX;
};
class TmaxPic_killed : TmaxPic {
	x=0.95*safeZoneW + safeZoneX;
};
class TmaxPic_misc : TmaxPic {
	x=0.92*safeZoneW + safeZoneX;
};
class playerStatusGUI {
	idd=7200;
	movingEnable=0;
	duration=100000;
	name="statusBorder";
	onLoad="uiNamespace setVariable ['DAYZ_GUI_display', _this select 0]; player_updateGui = compile preprocessFileLineNumbers ""addons\tmax_gui\updateGui.sqf"";";
	class Controls {
		class Main_AutoRun: TmaxPic_killed {         // иконка автобега
			idc=7218;
			y=0.68*safeZoneH + safeZoneY;				
			text="";
		};
		class Main_Sound_0: TmaxPic_main {           // иконка наушников пустая
			idc=7235;
			y=0.68*safeZoneH + safeZoneY;				
			text="";
		};
		class Main_Sound_1: TmaxPic_main {           // иконка наушников
			idc=7236;
			y=0.68*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\sound_mute.paa";
		};
		class Main_Blood_text: TmaxText_main {       // резус фактор крови
			idc=7209;
			y=0.72*safeZoneH + safeZoneY;				
			text="";
		};
		class Main_Health: TmaxPic_main {            // Здоровье
			idc=7201;
			y=0.84*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_main_health.paa";
		};
		class Main_Health_text: TmaxText_main {      // Значение здоровья
			idc=7202;
			y=0.84*safeZoneH + safeZoneY;
			text="100%";
		};
		class Main_Food: TmaxPic_main {              // Голод
			idc=7203;
			y=0.87*safeZoneH + safeZoneY;			
			text="addons\tmax_gui\tmax_hud_main_food.paa";
		};
		class Main_Food_text: TmaxText_main {        // Значение голод
			idc=7204;
			y=0.87*safeZoneH + safeZoneY;				
			text="100%";
		};
		class Main_Water: TmaxPic_main {             // Жажда
			idc=7205;
			y=0.9*safeZoneH + safeZoneY;			
			text="addons\tmax_gui\tmax_hud_main_water.paa";
		};
		class Main_Water_text: TmaxText_main {       // Значение жажда
			idc=7206;
			y=0.9*safeZoneH + safeZoneY;				
			text="100%";
		};
		class Main_Temperature: TmaxPic_main {       // Температура
			idc=7207;
			y=0.93*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_main_temperature.paa";
		};
		class Main_Temperature_text: TmaxText_main { // Значение температура
			idc=7208;
			y=0.93*safeZoneH + safeZoneY;			
			text="36.6%";
		};
		class Main_FPS: TmaxPic_main {               // ФПС
			idc=7209;
			y=0.96*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_main_fps.paa";
		};
		class Main_FPS_text: TmaxText_main {         // Значение ФПС
			idc=7210;
			y=0.96*safeZoneH + safeZoneY;			
			text="0";
		};
		class Status_combat: TmaxPic_status {        // Режим боя
			idc=7211;
			y=0.84*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_status_battle_d.paa";
		};
		class Status_Bleeding: TmaxPic_status {      // Кровотечение
			idc=7212;
			y=0.87*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_status_bleeding_d.paa";
		};
		class Status_Infected: TmaxPic_status {      // Инфекция
			idc=7213;
			y=0.9*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_status_infected_d.paa";
		};
		class Status_Pain: TmaxPic_status {          // Дрожь
			idc=7214;
			y=0.93*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_status_pain_d.paa";
		};
		class Status_Bone: TmaxPic_status {          // Перелом
			idc=7215;
			y=0.96*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_status_bone_d.paa";
		};
		class Killed_Zombies: TmaxPic_killed {       // Зомби
			idc=7216;
			y=0.78*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_zombie.paa";
		};
		class Killed_Zombies_text: TmaxText {        // Значение зомби
			idc=7217;
			y=0.78*safeZoneH + safeZoneY;				
			text="0";
		};
		class Killed_Bandits: TmaxPic_killed {       // Бандит
			idc=7218;
			y=0.75*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_bandit.paa";
		};
		class Killed_Bandits_text: TmaxText {        // Значение бандит
			idc=7219;
			y=0.75*safeZoneH + safeZoneY;				
			text="0";
		};
		class Killed_Neutrals: TmaxPic_killed {      // Кепка
			idc=7220;
			y=0.72*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_neutral.paa";
		};
		class Killed_Neutrals_text: TmaxText {       // Значение кепка
			idc=7221;
			y=0.72*safeZoneH + safeZoneY;				
			text="0";
		};
		class Killed_Headshots: TmaxPic_killed {     // ХедШот
			idc=7229;
			y=0.69*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_headshot.paa";
		};
		class Killed_Headshots_text: TmaxText {      // Значение ХедШот
			idc=7230;
			y=0.69*safeZoneH + safeZoneY;				
			text="0";
		};
		class Killed_All: TmaxPic_status {           // Череп
			idc=7222;
			y=0.66*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_killed.paa";
		};
		class Misc_Audible: TmaxPic_misc {           // Слышимость
			idc=7231;
			y=0.6*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_misc_audible.paa";
		};
		class Misc_Audible_text: TmaxText {          // Значение слышимость
			idc=7232;
			y=0.6*safeZoneH + safeZoneY;				
			text="0";
		};
		class Misc_Visible: TmaxPic_misc {           // Видимость
			idc=7233;
			y=0.57*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_misc_visibility.paa";
		};
		class Misc_Visible_text: TmaxText {          // Значение видимость
			idc=7234;
			y=0.57*safeZoneH + safeZoneY;				
			text="0";
		};
		class Misc_UpTime: TmaxPic_misc {            // Время
			idc=7225;
			x=0.10*safeZoneW + safeZoneX;
			y=0.955*safeZoneH + safeZoneY;
            w=0.1/safeZoneW;
	        h=0.1/safeZoneH;			
			text="addons\tmax_gui\tmax_hud_misc_uptime.paa";
		};
		class Misc_UpTime_text: TmaxText {           // Значение время
			idc=7226;
			x=0.15*safeZoneW + safeZoneX;
			y=0.94*safeZoneH + safeZoneY;				
			text="0:00";
		};
		class Misc_Humanity: TmaxPic_misc {          // Репутация
			idc=7227;
			y=0.51*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_neutral.paa";
		};
		class Misc_Humanity_text: TmaxText {         // Значение репутация
			idc=7228;
			y=0.51*safeZoneH + safeZoneY;				
			text="0";
		};
		class Misc_GPS: TmaxPic_misc {               // GPS
			idc=7223;
			y=0.48*safeZoneH + safeZoneY;				
			text="addons\tmax_gui\tmax_hud_misc_gps.paa";
		};
		class Misc_GPS_text: TmaxText {              // Значение GPS
			idc=7224;
			y=0.48*safeZoneH + safeZoneY;				
			text="------";
		};
	};
};

 

updateGui.sqf

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

disableSerialization;
private ["_display","_bloodval","_foodval","_waterVal","_temperatureVal","_bloodCtrl","_foodCtrl","_waterCtrl","_temperatureCtrl","_fpsCtrl","_combatCtrl","_painCtrl","_infectedCtrl","_bleedingCtrl","_boneCtrl","_killedZ", "_killedB","_killedN","_killedH","_GPSCtrl","_GPSTextCtrl","_upTimeCtrl","_hrs","_humanityCtrl","_humanityTextCtrl","_humanity","_humanityIcon","_visualCtrl","_audibleCtrl","_combatVal"];
_foodVal        = 1 - (dayz_hunger / SleepFood);
_thirstVal      = 1 - (dayz_thirst / SleepWater);
_array          = [_foodVal,_thirstVal];
_bloodVal 		= floor (r_player_blood / r_player_bloodTotal * 100);
_foodVal 		= floor ((1 - dayz_hunger / SleepFood) * 100);
_waterVal 		= floor ((1 - dayz_thirst / SleepWater) * 100);
_temperatureVal = ceil (37*dayz_temperatur/42);
_combatVal      = if (player getVariable["combattimeout",0] >= diag_tickTime) then {0} else {1};

if (_bloodVal  <  0) then {_bloodVal = 0};
if (_foodVal   <= 0) then {"Голодание" call dayz_rollingMessages;};
if (_waterVal  <= 0) then {"Обезвоживание" call dayz_rollingMessages;};
if (r_fracture_legs) then {"Перелом" call dayz_rollingMessages;};

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

_display            = uiNamespace getVariable 'DAYZ_GUI_display';
_bloodCtrl          = _display displayCtrl 7202; // Значение здоровья
_foodCtrl           = _display displayCtrl 7204; // Значение голода
_waterCtrl          = _display displayCtrl 7206; // Значение жажды
_temperatureCtrl    = _display displayCtrl 7208; // Значение температуры
_ctrlBloodType      = _display displayCtrl 7209; // Значение резус-фактор
_fpsCtrl            = _display displayCtrl 7210; // ФПС
_combatCtrl         = _display displayCtrl 7211; // Режим боя
_bleedingCtrl       = _display displayCtrl 7212; // Кровотечение
_infectedCtrl       = _display displayCtrl 7213; // Заражение
_painCtrl           = _display displayCtrl 7214; // Дрожание рук
_boneCtrl           = _display displayCtrl 7215; // Перелом
_killedZ            = _display displayCtrl 7217; // Зомби
_autoRunCtrl        = _display displayCtrl 7218; // Автобег
_killedB            = _display displayCtrl 7219; // Бандит
_killedN            = _display displayCtrl 7221; // Кепка
_killedH            = _display displayCtrl 7230; // ХедШот
_GPSCtrl            = _display displayCtrl 7223; // ГПС
_GPSTextCtrl        = _display displayCtrl 7224; // знач ГПС
_upTimeCtrl         = _display displayCtrl 7226; // Время
_humanityCtrl       = _display displayCtrl 7227; // Репутация
_humanityTextCtrl   = _display displayCtrl 7228; // знач Репутация
_audibleCtrl        = _display displayCtrl 7232; // Слышимость
_visualCtrl         = _display displayCtrl 7234; // Видимость
_ctrlMuteBackground = _display displayCtrl 7235; // Наушники пусто
_ctrlMuteIcon       = _display displayCtrl 7236; // Наушники
//==================================== ФОРМАТЫ ЗНАЧЕНИЙ =======================================================
_bloodCtrl   ctrlSetText    format  ["%1 %2", _bloodVal, "%"];        // формат отображения здоровья    (%)
_foodCtrl    ctrlSetText    format  ["%1 %2", _foodVal, "%"];         // формат отображения голода      (%)
_waterCtrl   ctrlSetText    format  ["%1 %2", _waterVal, "%"];        // формат отображения жажды       (%)
_temperatureCtrl ctrlSetText format ["%1 %2", _temperatureVal, "°C"]; // формат отображения температуры (°C)
_fpsCtrl     ctrlSetText    str     (floor diag_fps);                 // формат отображения ФПС         (1-100)
_audibleCtrl   ctrlSetText   format ["%1m", floor dayz_disAudial];    // Формат отображения слышимости  (метр)
_visualCtrl    ctrlSetText   format ["%1m", floor dayz_disVisual];    // Формат отображения видимости   (метр)
//===================================ТЕСТ КРОВИ=================================================================
_bloodTestdone = player getVariable ["blood_testdone", false];
if (_bloodTestdone) then {
    _bloodType = player getVariable ["blood_type", "O"];
    _rhFactor = if (player getVariable ["rh_factor", false]) then { "pos" } else { "neg" };
    _ctrlBloodType ctrlSetText format ["%1 %2", _bloodType, _rhFactor];
};
//==================================== СТАТУСЫ =================================================================
if (!dayz_soundMuted) then {  // Наушники
	_ctrlMuteBackground ctrlShow false;
	_ctrlMuteIcon ctrlShow false;
};
if (dayz_autoRun) then {      // Автобег
	_autoRunCtrl ctrlSetText  "addons\tmax_gui\auto_run.paa";
} else {
	_autoRunCtrl ctrlSetText  "addons\tmax_gui\empty.paa";
};
if (_combatVal == 0) then {   // Бой
	_combatCtrl ctrlSetText   "addons\tmax_gui\tmax_hud_status_battle.paa";
} else {
	_combatCtrl ctrlSetText   "addons\tmax_gui\tmax_hud_status_battle_d.paa";
};		
if (r_player_injured) then {  // Кровотечение
	_bleedingCtrl ctrlSetText "addons\tmax_gui\tmax_hud_status_bleeding.paa";
} else {
	_bleedingCtrl ctrlSetText "addons\tmax_gui\tmax_hud_status_bleeding_d.paa";
};
if (r_player_infected) then { // Инфекция
	_infectedCtrl ctrlSetText "addons\tmax_gui\tmax_hud_status_infected.paa";
} else {
	_infectedCtrl ctrlSetText "addons\tmax_gui\tmax_hud_status_infected_d.paa";
};	
if (r_player_inpain) then {   // Дрожь
	_painCtrl ctrlSetText     "addons\tmax_gui\tmax_hud_status_pain.paa";
} else {
	_painCtrl ctrlSetText     "addons\tmax_gui\tmax_hud_status_pain_d.paa";
};
if (r_fracture_legs) then {   // Перелом
	_boneCtrl ctrlSetText     "addons\tmax_gui\tmax_hud_status_bone.paa";
} else {
_boneCtrl ctrlSetText         "addons\tmax_gui\tmax_hud_status_bone_d.paa";
};
//==================================== УБИТЫЕ ==========================================
_killedZ ctrlSetText str(player getVariable["zombieKills", 0]);
_killedB ctrlSetText str(player getVariable["banditKills", 0]);
_killedN ctrlSetText str(player getVariable["humanKills", 0]);
_killedH ctrlSetText str(player getVariable["headshots", 0]);
//==================================== РАЗНОЕ ==========================================
if ("ItemGPS" in weapons player) then {
	_GPSCtrl ctrlShow true;
	_GPSTextCtrl ctrlShow true;
	_GPSTextCtrl ctrlSetText str(mapGridPosition position player);	
} else {
	_GPSCtrl ctrlShow false;
	_GPSTextCtrl ctrlShow false;
};
_hrs = floor (serverTime/60/60);
_upTimeCtrl ctrlSetText format ["%1h %2m", _hrs, floor (serverTime/60-60*_hrs)];

_humanity = player getVariable ["humanity", 0];
_humanityTextCtrl ctrlSetText str(_humanity);

_humanityIcon = "addons\tmax_gui\tmax_hud_neutral.paa";
if (_humanity > 5000) then {_humanityIcon = "addons\tmax_gui\tmax_hud_hero.paa"};
if (_humanity < -5000) then {_humanityIcon = "addons\tmax_gui\tmax_hud_bandit.paa"};
_humanityCtrl ctrlSetText _humanityIcon;

_array

 

Буду очень благодарен за помощь! С меня плюсик и 100р на шоколодку :relaxed:

Share this post


Link to post
Share on other sites

14 answers to this question

Recommended Posts

  • 0

Все настраивается в % соотношении.

Гугли safeZone на сайте богемии.

Share this post


Link to post
Share on other sites



  • 0
22 часа назад, NoNameUltima сказал:

Все настраивается в % соотношении.

Гугли safeZone на сайте богемии.

Я это понимаю, что в % соотношении. Но координаты иконок намертво стоят. Если я увеличиваю интерфейс в настройках, то иконки улетают за пределы экрана. А вот с иконками банковской системы всё нормально и они подстраиваются под экран. У них стоит в файле zschud.sqf стоит параметр:

class Attributes {
	align = "right";
};

и в playerHud.sqf

private ["_wpui","_vitals","_money","_bank"];
disableSerialization;

while {true} do {
	1000 cutRsc ["ZSC_Money_Display","PLAIN"];
	_wpui = uiNameSpace getVariable "ZSC_Money_Display";
	_vitals = _wpui displayCtrl 4900;
	_money = player getVariable [Z_moneyVariable,0];
	_bank = player getVariable [Z_bankVariable,0];
	_vitals ctrlSetStructuredText parseText format ["
	<t size='0.9'>%1 </t><img size='1.4' align='right' image='scripts\zsc\images\coins.paa'/><br/>
	<t size='0.9'>%2 </t><img size='1.4' align='right' image='scripts\zsc\images\bank.paa'/><br/>
	",[_money] call BIS_fnc_numberText,[_bank] call BIS_fnc_numberText];
	_vitals ctrlCommit 0;
	uisleep 1.5;
};

Я понимаю, что дело именно в этой строчке

<t size='0.9'>%2 </t><img size='1.4' align='right' image='scripts\zsc\images\bank.paa'/><br/>

Но не пойму как её запилить сюда, ибо мне мои скудные знания Языка не позволяют.

class Main_Food: TmaxPic_main {              // Голод
			idc=7203;
			y=0.87*safeZoneH + safeZoneY;			
			text="addons\tmax_gui\tmax_hud_main_food.paa";
		};

В любом случае победа будет за мной, просто времени много уйдёт. Вот если бы кто подсказал? )

Edited by Димас
орфография (see edit history)

Share this post


Link to post
Share on other sites
  • 0
13 минуты назад, NoNameUltima сказал:

Все настраивается в % соотношении.

Гугли safeZone на сайте богемии.

Единственное, что пишет об этом Богемия

 

Align

Parameter can be 'left', 'center', 'right'

<t align='center'>Centered Text</t>

:sad:

 

Share this post


Link to post
Share on other sites
  • 0
6 часов назад, Димас сказал:

y=0.87*safeZoneH + safeZoneY;

Рули этой строчкой и ещё добавь X-координату, например:

class Main_Food: TmaxPic_main {              // Голод
	idc=7203;
	x = safezoneX + (safezoneW - 0.35);
	y = safezoneY + 0.15 * safezoneW;
	text="addons\tmax_gui\tmax_hud_main_food.paa";
	};

0.35 и 0.15 подбираешь уже сам.

Share this post


Link to post
Share on other sites
  • 0
1 час назад, W0LF сказал:

Рули этой строчкой и ещё добавь X-координату, например:


class Main_Food: TmaxPic_main {              // Голод
	idc=7203;
	x = safezoneX + (safezoneW - 0.35);
	y = safezoneY + 0.15 * safezoneW;
	text="addons\tmax_gui\tmax_hud_main_food.paa";
	};

0.35 и 0.15 подбираешь уже сам.

Координату Х не надо сюда добавлять, они вверху файла расписаны:

class TmaxPic_main : TmaxPic {
	x=0.925*safeZoneW + safeZoneX; // (точно не уверен) иконки хуманити, часов
};
class TmaxText_main : TmaxText {
	x=0.905*safeZoneW + safeZoneX; // Текст, цифры здоровья, голода и тд
};
class TmaxPic_status : TmaxPic {
	x=0.975*safeZoneW + safeZoneX; // Иконки статусов: перелом, кровотечение и тд
};
class TmaxPic_killed : TmaxPic {
	x=0.95*safeZoneW + safeZoneX; // Иконки убийст кепок, бандитов, зомби
};
class TmaxPic_misc : TmaxPic {
	x=0.92*safeZoneW + safeZoneX; // Иконки здоровья, жажды, голода и тд
}

PS: я себе на основе этого худа делал, правда вырезал большую часть, оставил только самое необходимое. И на разных мониторах худ выглядит по-разному, чем больше монитор, тем он больше растягивается по оси Х.

На богемии есть вот это, но я так и не допёр как прикрутить:(

Creates a control that spans the horizontal and is centered on the vertical according to the control's aspect ratio (useful for fullscreen images that shouldn't be stretched but letterboxed). 2 is the aspect ratio.
Создает элемент управления, который охватывает по горизонтали и по центру по вертикали в соответствии с соотношением контроля сторон (полезно для изображений, которые не должны быть растянуты, но letterboxed). 2 это соотношение сторон.

x = safeZoneX;
y = safeZoneY+((safeZoneH-(safeZoneW/2*(4/3)))/2);
w = safeZoneW;
h = safeZoneH/2*(4/3);

 

Share this post


Link to post
Share on other sites
  • 0

В "dayz_code" в стандартном HUD тоже работает выравнивание. Прописано в файле RscPlayerUI.hpp. Отвечает за это "class Attributes". Но в кастоме этот class  не работает(((( Может его ещё где то объявить надо?

Share this post


Link to post
Share on other sites
  • 0
В 03.04.2017 в 20:26, Димас сказал:

Единственное, что пишет об этом Богемия

Врать не хорошо.

Share this post


Link to post
Share on other sites
  • 0

NoNameUltima Кстати, почему бы вам не сделать гайд по GUI, HUD и прочим диалогам/окошкам?

Я вот сейчас читаю про createDialog, findDisplay и пр. и нифига ничего не могу понять. Что за idd, idc, откуда они берутся?

В смысле, например в каком-либо скрипте написано "findDisplay 46", откуда это 46 взялось???

Share this post


Link to post
Share on other sites
  • 0
5 минут назад, W0LF сказал:

NoNameUltima Кстати, почему бы вам не сделать гайд по GUI, HUD и прочим диалогам/окошкам?

Я вот сейчас читаю про createDialog, findDisplay и пр. и нифига ничего не могу понять. Что за idd, idc, откуда они берутся?

В смысле, например в каком-либо скрипте написано "findDisplay 46", откуда это 46 взялось???

Похоже это планка по данному вопросу: 

 

16 часов назад, NoNameUltima сказал:

Врать не хорошо.

Лжец - это ничто иное, как оскорбление лично для меня! Я могу ошибаться, но не врать. Знаешь ответ - дай, направь или продай. Я предполагал, что форум не для таких постов. Модератору виднее.

Share this post


Link to post
Share on other sites
  • 0
В 03.04.2017 в 20:26, Димас сказал:

Единственное, что пишет об этом Богемия

 

Align

Parameter can be 'left', 'center', 'right'

<t align='center'>Centered Text</t>

:sad:

 

Нет, align это выравнивание внутри какой-то области, которая задается в классах.

В твоей цитате -

	1000 cutRsc ["ZSC_Money_Display","PLAIN"];
	_wpui = uiNameSpace getVariable "ZSC_Money_Display";
	_vitals = _wpui displayCtrl 4900;

используется контрол 4900 в диалоге (или "дисплее") - "ZSC_Money_Display". Поищи в скрипте валюты где они задаются и возьми оттуда координаты.

Share this post


Link to post
Share on other sites
  • 0

W0LF 

class ZSC_Money_Display {
	idd = -1;
    fadeout=0;
    fadein=0;
	duration = 20;
	name= "ZSC_Money_Display";
	onLoad = "uiNamespace setVariable ['ZSC_Money_Display', _this select 0]";
	class controlsBackground {
		class ZSC_Status {
			idc = 4900;
			type = 13;
			size = 0.040;
            x = safezoneX + (safezoneW -0.35);
        	y = safezoneY + 0.20 * safezoneW;
			w = 0.35; h = 0.20;
			colorText[] = {1,1,1,1};
			lineSpacing = 2;
			colorBackground[] = {0,0,0,0};
			text = "";
			style = 0x02;
			shadow = 2;
			font = "Zeppelin32";
			sizeEx = 0.023;
			class Attributes {
				align = "right";
			};
		};
	};
};

Пробовал вставить

x = safezoneX + (safezoneW -0.35);
y = safezoneY + 0.20 * safezoneW;

но этого либо мало, либо не туда(

У меня появилась одна идея пока на работе был, но теперь арма не запускается ни в какую(

Edited by Димас (see edit history)

Share this post


Link to post
Share on other sites
  • 0
1 час назад, Димас сказал:

Похоже это планка по данному вопросу: 

 

Лжец - это ничто иное, как оскорбление лично для меня! Я могу ошибаться, но не врать. Знаешь ответ - дай, направь или продай. Я предполагал, что форум не для таких постов. Модератору виднее.

ты именно врешь. т.к. на странице богемии, по сейфзонам,

нет ни слова об алигментах, и речь там про совсем другое

https://community.bistudio.com/wiki/SafeZone

 

В 03.04.2017 в 20:12, NoNameUltima сказал:

Все настраивается в % соотношении.

Гугли safeZone на сайте богемии.

 

В 03.04.2017 в 20:26, Димас сказал:

Единственное, что пишет об этом Богемия

 

Align

Parameter can be 'left', 'center', 'right'

<t align='center'>Centered Text</t>

 

Share this post


Link to post
Share on other sites
  • 0
8 минут назад, NoNameUltima сказал:

ты именно врешь. т.к. на странице богемии, по сейфзонам,

нет ни слова об алигментах, и речь там про совсем другое

https://community.bistudio.com/wiki/SafeZone

 

 

 

Ты читаешь или взглядом пробегаешь? 
 

 

В 04.04.2017 в 00:23, Димас сказал:

Я понимаю, что дело именно в этой строчке

 

В 04.04.2017 в 00:26, Димас сказал:

Единственное, что пишет об этом Богемия

 

Align

Parameter can be 'left', 'center', 'right'

<t align='center'>Centered Text</t>

:sad:

Вникай!
Я взрослый дядя и воспитываю своих детей! Воспитываю так, чтоб никогда никого не обманывали! Прекрати себя так вести. Если ты не видишь сути текста, не надо называть человека ЛЖЕЦОМ.
Если даже человек и врёт, то тихо похихикай и оставь своё мнение при себе! Эмоции оставь своим родителям, детям, жене, мужу или кто там у тебя! Объясняю что - ТЫ МЕНЯ ОСКОРБЛЯЕШЬ и ты всё равно остановиться не можешь!!!

Share this post


Link to post
Share on other sites
  • 0

Готов обсудить ценник в ЛС по данному вопросу. Ибо моё мнение о ресурсе было ошибочно.

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

  • Similar Content

    • By JustBullet
      Сейчас погружаюсь с головой в модинг и скриптинг DayZ SA и если есть у кого примеры как создавать свое GUI, любого рода панели взаимодействия в игре, использование базы данных, пожалуйста поделитесь знаниями или ссылками, буду премного благодарен.
    • By mafan9
      Описание:
      Данный скрипт добавляет HUD в левый нижний угол. В нем вы можете увидеть 5 или 4 предмета (в зависимости от конфигурации) с основным оружием, вашем вторичным оружием, обезболивающим и бинтом, так же используются горячих клавиш которые можно использовать чтобы активировать каждый предмет.
       
       
      Установка:
      На чистый сервер
      1. Скачать архив CUSTOMWEAPONHUD-MASTER.ZIP
      2. Разархивировать скаченный архив
      3. Папки dayz_code и rlnt, а так же файлы description.ext и init.sqf поместить в корень папки миссии
      4. Если у вас не стоит InfiStar, то шаг 4 и 5, если у вас стоит InfiStar, то в файле AHconfig.sqf добавить 7000,7001,7002,7003 в массиве "_ALLOWED_Dialogs"
      5. В файле AT.sqf найдите:
      if(_key == 0x05)then{call admin_fly_up;}; if(_key == 0x06)then{call admin_tpdirection;}; и замените их на:
      if(_key == 0x09)then{call admin_fly_up;}; if(_key == 0x0A)then{call admin_tpdirection;}; Найдите:
      adminadd = adminadd + [" 4 - Fly Up","","0","1","0","0",[]]; adminadd = adminadd + [" 5 - TP LookingDirection","","0","1","0","0",[]]; и замените на:
      adminadd = adminadd + [" 8 - Fly Up","","0","1","0","0",[]]; adminadd = adminadd + [" 9 - TP LookingDirection","","0","1","0","0",[]]; 6. Вот и все.
       
      На измененный сервер
      1. Скачать архив CUSTOMWEAPONHUD-MASTER.ZIP
      2. Разархивировать скаченный архив
      3. В корне миссии открыть файл init.sqf и найти:
      DZE_selfTransfuse_Values = [12000,15,120]; после этой строки добавить:
      DZE_TwoPrimaries = 2; //Copy this only if you don't have it yet DZE_weaponHUD = true; /* RLNT - WeaponHUD */ Далее найти:
      call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; После добавить:
      call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; call compile preprocessFileLineNumbers "rlnt\client\init\compiles.sqf"; /* RLNT - Relentless */ Далее найти:
      if (isServer) then { if (dayz_POIs && (toLower worldName == "chernarus")) then {call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\chernarus\poi\init.sqf";}; call compile preprocessFileLineNumbers "\z\addons\dayz_server\system\dynamic_vehicle.sqf"; call compile preprocessFileLineNumbers "\z\addons\dayz_server\system\server_monitor.sqf"; execVM "\z\addons\dayz_server\traders\chernarus11.sqf"; //Add trader agents //Get the server to setup what waterholes are going to be infected and then broadcast to everyone. if (dayz_infectiousWaterholes && (toLower worldName == "chernarus")) then {execVM "\z\addons\dayz_code\system\mission\chernarus\infectiousWaterholes\init.sqf";}; // Lootable objects from CfgTownGeneratorDefault.hpp if (dayz_townGenerator) then { execVM "\z\addons\dayz_code\system\mission\chernarus\MainLootableObjects.sqf"; }; }; после добавить:
      if (!isServer) then { //RLNT - Relentless execVM "rlnt\scripts\Weapon HUD\weaponhud_init.sqf"; /* RLNT - WeaponHUD */ }; 4. Открыть файл description.ext и найти:
      #include "\z\addons\dayz_code\gui\description.hpp" заменить ее на:
      #include "dayz_code\gui\description.hpp" #include "rlnt\dialogs\rlnt_defines.hpp" /* RLNT - WeaponHUD */ class RscTitles { #include "rlnt\dialogs\rlnt_weaponhud.hpp" /* RLNT - WeaponHUD */ 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; y = safeZoneY+safeZoneH-0.16; w = 0.151*safeZoneH; h = 0.057*safeZoneH; shadow = 2; class Attributes { font = "EtelkaNarrowMediumPro"; color = "#24FFFFFF"; align = "left"; valign = "middle"; shadow = 2; }; colorBackground[] = { 1, 0.3, 0, 0 }; font = "EtelkaNarrowMediumPro"; size = 0.06*safeZoneH; type = 13; style = 0; text=""; }; }; }; }; 5. Папки dayz_code и rlnt залить в корень миссии
      6. Если у вас уже используется кастомный файл keyboard.sqf то найдите в нем:
      _rifle = { 2 call dz_fn_switchWeapon; _handled = true; }; _pistol = { 3 call dz_fn_switchWeapon; _handled = true; }; _melee = { // Also works for rifle on back if DZE_TwoPrimaries = 2; 4 call dz_fn_switchWeapon; _handled = true; }; _throwable = { // select next non empty throwable weapon if (vehicle player == player) then { _ammo_throwable = []; _muzzles_throwable = []; _weapon_throwable = []; { _weapon = _x; _muzzles = getArray(configFile >> "cfgWeapons" >> _weapon >> "muzzles"); if (count _muzzles == 0) then { _muzzles = [_weapon ]; }; { _muzz = _x; { if (_x in magazines player) then { _ammo_throwable set [ count _ammo_throwable, getText(configFile >> "cfgMagazines" >> _x >> "ammo") ]; _muzzles_throwable set [ count _muzzles_throwable, _muzz ]; _weapon_throwable set [ count _weapon_throwable, _weapon ]; }; } forEach getArray(configFile >> "cfgWeapons" >> _weapon >> _muzz >> "magazines"); } forEach _muzzles; } forEach ["Throw"]; _magCount = count _ammo_throwable; if (_magCount > 0) then { if (isNil "KB_CurrentThrowable") then { KB_CurrentThrowable = -1; }; _currentAmmo = (weaponState player) select 3; _idx = _ammo_throwable find _currentAmmo; if (_idx >= 0) then { KB_CurrentThrowable = _idx; }; KB_CurrentThrowable = (KB_CurrentThrowable + 1) mod _magCount; player selectWeapon (_muzzles_throwable select KB_CurrentThrowable); _handled = true; }; }; }; и замените на:
      _rifle1 = { 2 call dz_fn_switchWeapon; _handled = true; }; _rifle2 = { 4 call dz_fn_switchWeapon; _handled = true; }; _pistol = { 3 call dz_fn_switchWeapon; _handled = true; }; _painkiller = { [0,0,0,[player]] execVM "rlnt\scripts\Weapon HUD\actions\rlnt_painkiller.sqf"; _handled = true; }; _bandage = { [0,0,0,[player]] execVM "rlnt\scripts\Weapon HUD\actions\rlnt_bandage.sqf"; _handled = true; }; найдите:
      DIK_8,DIK_7,DIK_6,DIK_5,DIK_4], _block] call _addArray; и замените на:
      DIK_8,DIK_7,DIK_6], _block] call _addArray; найдите строчку:
      if (!isNil "bis_fnc_halo_keydown_eh") then {bis_fnc_halo_keydown_eh = (finddisplay 46) displayaddeventhandler ["keydown","_this call bis_fnc_halo_keydown;"];}; // halo in progress и удалите ее.
      7. Если у вас не стоит InfiStar, то шаг 4 и 5, если у вас стоит InfiStar, то в файле AHconfig.sqf добавить 7000,7001,7002,7003 в массиве "_ALLOWED_Dialogs"
      8. В файле AT.sqf найдите:
      if(_key == 0x05)then{call admin_fly_up;}; if(_key == 0x06)then{call admin_tpdirection;}; и замените их на:
      if(_key == 0x09)then{call admin_fly_up;}; if(_key == 0x0A)then{call admin_tpdirection;}; Найдите:
      adminadd = adminadd + [" 4 - Fly Up","","0","1","0","0",[]]; adminadd = adminadd + [" 5 - TP LookingDirection","","0","1","0","0",[]]; и замените на:
      adminadd = adminadd + [" 8 - Fly Up","","0","1","0","0",[]]; adminadd = adminadd + [" 9 - TP LookingDirection","","0","1","0","0",[]]; 9. Вот и все.
       
      TODO:
      18.06.18 - Обновление ссылок
    • By MrMiBl
      Чёт не могу понять, как вписать температуру в этот дебаг?
       
      private ["_display","_symbol","_percent","_stats","_time", "_hours", "_minutes", "_pic", "_coins","_bloodlvl","_dir","_d","_txt","_nearestCity","_textCity","_thirst ","_thirststat ","_hunger ","_hungerstat ","_servername","_spacer","_img","_primary"]; disableSerialization; //--------------------------------------------------------------------------------------------// _display = uiNameSpace getVariable "DEBUGMONITOR"; _stats = _display displayCtrl 9000; //--------------------------------------------------------------------------------------------// _servername = "Название"; _spacer = "-------------------------------------"; _symbol = "°"; _percent = "%"; //--------------------------------------------------------------------------------------------// while {1 == 1} do { _nearestCity = nearestLocations [getPos player, ["NameCityCapital","NameCity","NameVillage","NameLocal"],800]; _textCity = "Wilderness"; if (count _nearestCity > 0) then {_textCity = text (_nearestCity select 0)}; _img = (getText (configFile >> 'CfgVehicles' >> (typeOf vehicle player) >> 'picture')); if(player == vehicle player)then{ _img = (getText (configFile >> 'CfgWeapons' >> (currentWeapon player) >> 'picture')); }else{ _img = (getText (configFile >> 'CfgVehicles' >> (typeOf vehicle player) >> 'picture')); }; _time = (round(180-(serverTime)/60)); _hours = (floor(_time/60)); _minutes = (_time - (_hours * 60)); switch(_minutes) do { case 9: {_minutes = "09"}; case 8: {_minutes = "08"}; case 7: {_minutes = "07"}; case 6: {_minutes = "06"}; case 5: {_minutes = "05"}; case 4: {_minutes = "04"}; case 3: {_minutes = "03"}; case 2: {_minutes = "02"}; case 1: {_minutes = "01"}; case 0: {_minutes = "00"}; }; _d = getdir player; if (_d >= 337.5 || _d < 22.5) then {_dir = "North";}; if (_d >= 292.5 && _d < 337.5) then {_dir = "NWest";}; if (_d >= 247.5 && _d < 292.5) then {_dir = "West";}; if (_d >= 202.5 && _d < 247.5) then {_dir ="SWest";}; if (_d >= 157.5 && _d < 202.5) then {_dir ="South";}; if (_d >= 112.5 && _d < 157.5) then {_dir ="SE";}; if (_d >= 67.5 && _d < 112.5) then {_dir ="East";}; if (_d >= 22.5 && _d < 67.5) then {_dir ="NEast";}; _hunger = round(100 - (dayz_hunger / SleepFood) * 100); _thirst = round(100 - (dayz_thirst / SleepWater) * 100); _bloodlvl = round((r_player_blood / r_player_bloodTotal) * 100); //---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------// _txt = format ["<br/><t size='1.5' font='Zeppelin32' align='center' color='#A81E13'>%1</t><br/><br/>", _servername]; _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='left' color='#E5E5E5'>Zombies Killed: </t><t size='1.2' font='Zeppelin32' align='right' color='#FFFFFF'>%1</t><br/>", player getVariable['zombieKills', 0]]; _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='left' color='#E5E5E5'>Survivors Killed: </t><t size='1.2' font='Zeppelin32' align='right' color='#FFFFFF'>%1</t><br/>", player getVariable['humanKills', 0]]; _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='left' color='#E5E5E5'>Bandits Killed: </t><t size='1.2' font='Zeppelin32' align='right' color='#FFFFFF'>%1</t><br/>", player getVariable['banditKills', 0]]; _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='left' color='#E5E5E5'>Humanity: </t><t size='1.2' font='Zeppelin32' align='right' color='#FFFFFF'>%1</t><br/>", round(player getVariable['humanity', 0])]; /*-----------*/ _txt = _txt + format ["<t size='1' font='Zeppelin32' align='left' color='#CCCCCC'>%1</t><br/>", _spacer]; _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='left' color='#E5E5E5'>Zombies: </t><t size='1.2' font='Zeppelin32' align='left' color='#FFFFFF'>%1</t>", count entities "zZombie_Base"]; _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='right' color='#E5E5E5'>Players: </t><t size='1.2' font='Zeppelin32' align='right' color='#FFFFFF'>%1</t><br/>", count playableUnits]; /*-----------*/ _txt = _txt + format ["<t size='1' font='Zeppelin32' align='left' color='#CCCCCC'>%1</t><br/>", _spacer]; _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='center' color='#E5E5E5'>Blood: </t><t size='1.2' font='Zeppelin32' align='center' color='#FFFFFF'>%1%2</t><br/>", _bloodlvl, _percent]; _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='left' color='#E5E5E5'>Hunger: </t><t size='1.1' font='Zeppelin32' align='left' color='#FFFFFF'>%1%2</t>", _hunger, _percent]; _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='right' color='#E5E5E5'>Thirst: </t><t size='1.1' font='Zeppelin32' align='right' color='#FFFFFF'>%1%2</t><br/>", _thirst, _percent]; /*-----------*/ _txt = _txt + format ["<t size='1' font='Zeppelin32' align='left' color='#CCCCCC'>%1</t><br/>", _spacer]; _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='left' color='#E5E5E5'>%1</t>", _textcity]; _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='right' color='#E5E5E5'>%1%2 %3</t><br/>", round (getDir vehicle player),_symbol, _dir]; _txt = _txt + format ["<img size='4.5' align='center' image='%1' /><br/>", _img]; _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='left' color='#E5E5E5'>GPS: </t><t size='1.2' font='Zeppelin32' align='left' color='#FFFFFF'>%1 </t>", (mapGridPosition getPos player)]; _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='right' color='#E5E5E5'>FPS: </t><t size='1.2' font='Zeppelin32' align='right' color='#FFFFFF'>%1</t><br/>", round diag_fps]; /*-----------*/ _txt = _txt + format ["<t size='1' font='Zeppelin32' align='left' color='#CCCCCC'>%1</t><br/>", _spacer]; _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='left' color='#E5E5E5'>Coins: </t><t size='1.2' font='Zeppelin32' align='right' color='#FFFFFF'>%1</t><br/>", player getVariable[Z_MoneyVariable,0]]; // _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='left' color='#D0F000'>Bank: </t><t size='1.2' font='Zeppelin32' align='right' color='#FFFFFF'>%1</t><br/>", player getVariable[Z_bankVariable,0]]; /*-----------*/ _txt = _txt + format ["<t size='1' font='Zeppelin32' align='left' color='#CCCCCC'>%1</t><br/>", _spacer]; _txt = _txt + format ["<t size='1.2' font='Zeppelin32' align='center' color='#E5E5E5'>Restart in: </t><t size='1.2' font='Zeppelin32' align='center' color='#FFFFFF'>%1:%2</t><br/>", _hours, _minutes]; //---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------// _stats ctrlSetStructuredText parseText _txt; uiSleep 2; }; Подскажите пж
  • Our picks

×
×
  • 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.