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
DimitriPokki

[Select distance] - Выбор дальности прорисовки

Recommended Posts

Данный скрипт позволяет выбирать дальность прорисовки через специальное окно который вызывается по умолчанию клавишей F1 или можете настроить под себя.
Нам понадобится:
1)Наше миссия (любая карта)
2)Редактирование
init.sqf description.ext dayz_spaceInterrupt.sqf

 

УСТАНОВКА

1)В корень миссий создаем папку с название  spawn
2)Создаем 2 файла внутри этой папки: 
distance.hpp

distance.sqf

Содержимое distance.hpp:

 

class DistanceDialog
{
	idd = -1;
	movingenable = true;
	enableSimulation = true;
	class controlsBackground 
	{
		class ClassBackground: RscText
		{
			text = "";
			moving = true;
			x = .31 * safezoneW + safezoneX;
			y = .3 * safezoneH + safezoneY;
			w = .138504 * safezoneW;
			h = .325 * safezoneH;
			colorBackground[] = {.3,.3,.3,1};
			fixedWidth = 0;
		};
	};
	class Controls
	{
		class ClassSelect: RscText
		{
			text = "ВЫБЕРИТЕ ДАЛЬНОСТЬ";
			x = .31 * safezoneW + safezoneX;
			y = .26 * safezoneH + safezoneY;
			w = .138504 * safezoneW;
			h = .04025 * safezoneH;
			colorText[] = {1,1,1,1};
			colorBackground[] = {.384,.702,.886,.8};
			fixedWidth = 0;
			shadow = 1;
			sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * .6)";
		};
		class ClassList
		{
			idc = 8888;
			x = .31 * safezoneW + safezoneX;
			y = .303 * safezoneH + safezoneY;
			w = .138504 * safezoneW;
			h = .25 * safezoneH;
			autoScrollDelay = 5;
			autoScrollRewind = 0;
			autoScrollSpeed = -1;
			colorSelect[] = {};
			colorSelectBackground[] = {.5,.5,.5,1};
			colorText[] = {.88,.88,.88,1};
			font = "Zeppelin32";
			maxHistoryDelay = 1;
			rowHeight = 0;
			class ScrollBar
			{
				arrowEmpty = "\ca\ui\data\arrow_up_ca.paa";
				arrowFull = "\ca\ui\data\arrow_up_ca.paa";
				border = "\ca\ui\data\ui_border_scroll_ca.paa";
				color[] = {.5,.5,.5,.5};
				colorActive[] = {.5,.5,.5,.3};
				colorDisabled[] = {.5,.5,.5,.1};
				shadow = 0;
				thumb = "";
			};
			sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
			soundSelect[] = {"",.1,1};
			style = 16;
			type = 5;
		};
		class ClassButton
		{
			idc = 8889;
			text = "ПРИМЕНИТЬ";
			x = .324 * safezoneW + safezoneX;
			y = .567 * safezoneH + safezoneY;
			w = .109 * safezoneW;
			h = .044 * safezoneH;
			action = "call DistanceSelected;";
			borderSize = 0;
			colorBackground[] = {.4,.4,.4,1};
			colorBackgroundActive[] = {.5,.5,.5,1};
			colorBackgroundDisabled[] = {.2,.2,.2,1};
			colorBorder[] = {.88,.88,.88,1};		
			colorDisabled[] = {.2,.2,.2,1};
			colorFocused[] = {.4,.4,.4,1};
			colorShadow[] = {0,0,0,0};
			colorText[] = {1,1,1,1};
			font = "Zeppelin32";
			offsetPressedX = .002;
			offsetPressedY = .002;
			offsetX = .003;
			offsetY = .003;
			sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * .6)";
			soundClick[] = {"\ca\ui\data\sound\onclick",.07,1};
			soundEnter[] = {"\ca\ui\data\sound\onover",.09,1};
			soundEscape[] = {"\ca\ui\data\sound\onescape",.09,1};
			soundPush[] = {"\ca\ui\data\sound\new1",0,0};			
			style = 2;
			type = 1;
		};
	};
};
 

 

 

Содержимое distance.sqf:

 

 



DistanceFill = {
	private ["_index"];
	disableSerialization;
	_distance = [
		["200 m",200],
		["400 m",400],
		["600 m",600],
		["800 m",800],
		["1000 m",1000],
		["1250 m",1250],
		["1500 m",1500],
		["1750 m",1750],
		["2000 m",2000],
		["2500 m",2500],
		["3000 m",3000]
	];
	lbClear 8888;
	{
		_index = lbAdd [8888,_x select 0];
		lbSetPicture [8888,_index,"\ca\ui\data\objective_complete_ca.paa"];
	} forEach _distance;
};

DistanceSelected = {
	private ["_text","_selected","_setdistancetext","_setdistance"];
	disableSerialization;
	_distance = [
		["200 m",200],
		["400 m",400],
		["600 m",600],
		["800 m",800],
		["1000 m",1000],
		["1250 m",1250],
		["1500 m",1500],
		["1750 m",1750],
		["2000 m",2000],
		["2500 m",2500],
		["3000 m",3000]
	];
	_text=lbText[8888,(lbCurSel 8888)];
	{if(_text==(_x select 0))then{_selected=_x;};}forEach _distance;
	_setdistancetext = _selected select 0;
	_setdistance = _selected select 1;
	
	setViewDistance _setdistance; 
	systemChat format ["ViewDistance: %1",_setdistancetext];
	closeDialog 0;	
}; 

 

 

3)В самый конец description.ext добавляем:

#include "spawn\distance.hpp"

4)В Самый конец init.sqf добавляем:

[] execVM "spawn\distance.sqf";

5)В самый конец dayz_spaceInterrupt.sqf добавляем:

if (_dikCode == 0x3B) then {
	createDialog "DistanceDialog";
	call DistanceFill;
}; 

Как изменить на другую клавишу меню выбор дальности?

-Меняем под себя код клавиши 0x3B на другой код
Коды клавиш 
https://community.bistudio.com/wiki/DIK_KeyCodes

P.S Не забываем тыкать +


 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Share this post


Link to post
Share on other sites



Я не знаю как ты делал этот гайд, но знаю точно что код в 1 строчку абсолютно весь!!!
Укажи где найти эти файлы, не каждый знает где и что, это хорошо что я знаю что и где.
Вообщем ты не ошибся только в коде, все остальное херня, переделай!!!

Share this post


Link to post
Share on other sites

А ничего что это вина сайта из-за последних изменений, а не автора. Вы прежде чем писать что-то подумайте для начала.

Share this post


Link to post
Share on other sites

Дополню...
На счёт файла dayz_spaceInterrupt.sqf
Если у вас его нет, вы должны его вытащить по пути "\z\addons\dayz_code\actions\dayz_spaceInterrupt.sqf"; и закинуть в папку spawn.
Далее зайдите в compiles.sqf и найдите строчку

 

 

 

dayz_spaceInterrupt = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\dayz_spaceInterrupt.sqf";

 

 

и замените её на 

dayz_spaceInterrupt = compile preprocessFileLineNumbers "spawn\dayz_spaceInterrupt.sqf";

 

Edited by Seksoman (see edit history)

Share this post


Link to post
Share on other sites

Что то не работает..Сделал все по инструкции и толку ноль.

Share this post


Link to post
Share on other sites

Что то не работает..Сделал все по инструкции и толку ноль.

Установите прорисовку через бинокль

Edited by Linux (see edit history)

Share this post


Link to post
Share on other sites

Хм..может я ошибаюсь.

Если через Maca_RC не проще сделать?

Share this post


Link to post
Share on other sites

Хм..может я ошибаюсь.

Если через Maca_RC не проще сделать?

Через бинокль и дальномер - это и есть maca_rc

Share this post


Link to post
Share on other sites

Да я не к твоему посту Linux.

 

Тем более Maca используется практически у всех.

Share this post


Link to post
Share on other sites

Да я не к твоему посту Linux.

 

Тем более Maca используется практически у всех.

Да и удобнее в установке и модернизации maca_rc

Share this post


Link to post
Share on other sites

Cделал по инструкции, F1 нажимаю, ничего не происходит. 

Share this post


Link to post
Share on other sites

Cделал по инструкции, F1 нажимаю, ничего не происходит. 

Установите через maca_rc

Share this post


Link to post
Share on other sites

http://s-platoon.ru/index.php?/topic/1795-regulirovanie-prorisovki-cherez-dalnomer/

Вот тема по Maca_rc дальномер и бинокль.

 

Может быть кому-то удобнее через "клавишу".

У себя это не реализую вообще.

С клавишами гемор лишний, да и к тому же это не тот параметр, который нужно заменять "по быстрому"

Share this post


Link to post
Share on other sites

С клавишами гемор лишний, да и к тому же это не тот параметр, который нужно заменять "по быстрому"

Гемора я не увидел,на самом деле намного удобнее чем постоянно таскать с собой какой либо предмет,что бы сменить эту дальность и постоянно открывать инвентарь,а что бы эта табличка не закрывала обзор я сделал так:

1254e7616226.png

Share this post


Link to post
Share on other sites

Гемора я не увидел,на самом деле намного удобнее чем постоянно таскать с собой какой либо предмет,что бы сменить эту дальность и постоянно открывать инвентарь,а что бы эта табличка не закрывала обзор я сделал так:

1254e7616226.png

ViewDistance замените на "Дальность прорисовки" в системном чате, а то немного режет глаз)

Edited by Windows (see edit history)

Share this post


Link to post
Share on other sites

ViewDistance замените на "Дальность прорисовки" в системном чате, а то немного режет глаз)

Действительно,как это я упустил это :) сейчас поправлю :)

Share this post


Link to post
Share on other sites

Скрипт очень хороший, простой и информативный. Подскажите почему же на клавишу F1 не открывается меню установки видимости?

Share this post


Link to post
Share on other sites

Гемора я не увидел,на самом деле намного удобнее чем постоянно таскать с собой какой либо предмет,что бы сменить эту дальность и постоянно открывать инвентарь,а что бы эта табличка не закрывала обзор я сделал так:

1254e7616226.png

Подскажите как затереть текстурку, буду благодарен

Share this post


Link to post
Share on other sites

Данный скрипт позволяет выбирать дальность прорисовки через специальное окно который вызывается по умолчанию клавишей F1 или можете настроить под себя.

Нам понадобится:

1)Наше миссия (любая карта)

2)Редактирование init.sqf description.ext dayz_spaceInterrupt.sqf

 

УСТАНОВКА

1)В корень миссий создаем папку с название  spawn

2)Создаем 2 файла внутри этой папки: 

distance.hpp

distance.sqf

Содержимое distance.hpp:

 

 

class DistanceDialog
{
	idd = -1;
	movingenable = true;
	enableSimulation = true;
	class controlsBackground 
	{
		class ClassBackground: RscText
		{
			text = "";
			moving = true;
			x = .31 * safezoneW + safezoneX;
			y = .3 * safezoneH + safezoneY;
			w = .138504 * safezoneW;
			h = .325 * safezoneH;
			colorBackground[] = {.3,.3,.3,1};
			fixedWidth = 0;
		};
	};
	class Controls
	{
		class ClassSelect: RscText
		{
			text = "ВЫБЕРИТЕ ДАЛЬНОСТЬ";
			x = .31 * safezoneW + safezoneX;
			y = .26 * safezoneH + safezoneY;
			w = .138504 * safezoneW;
			h = .04025 * safezoneH;
			colorText[] = {1,1,1,1};
			colorBackground[] = {.384,.702,.886,.8};
			fixedWidth = 0;
			shadow = 1;
			sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * .6)";
		};
		class ClassList
		{
			idc = 8888;
			x = .31 * safezoneW + safezoneX;
			y = .303 * safezoneH + safezoneY;
			w = .138504 * safezoneW;
			h = .25 * safezoneH;
			autoScrollDelay = 5;
			autoScrollRewind = 0;
			autoScrollSpeed = -1;
			colorSelect[] = {};
			colorSelectBackground[] = {.5,.5,.5,1};
			colorText[] = {.88,.88,.88,1};
			font = "Zeppelin32";
			maxHistoryDelay = 1;
			rowHeight = 0;
			class ScrollBar
			{
				arrowEmpty = "\ca\ui\data\arrow_up_ca.paa";
				arrowFull = "\ca\ui\data\arrow_up_ca.paa";
				border = "\ca\ui\data\ui_border_scroll_ca.paa";
				color[] = {.5,.5,.5,.5};
				colorActive[] = {.5,.5,.5,.3};
				colorDisabled[] = {.5,.5,.5,.1};
				shadow = 0;
				thumb = "";
			};
			sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
			soundSelect[] = {"",.1,1};
			style = 16;
			type = 5;
		};
		class ClassButton
		{
			idc = 8889;
			text = "ПРИМЕНИТЬ";
			x = .324 * safezoneW + safezoneX;
			y = .567 * safezoneH + safezoneY;
			w = .109 * safezoneW;
			h = .044 * safezoneH;
			action = "call DistanceSelected;";
			borderSize = 0;
			colorBackground[] = {.4,.4,.4,1};
			colorBackgroundActive[] = {.5,.5,.5,1};
			colorBackgroundDisabled[] = {.2,.2,.2,1};
			colorBorder[] = {.88,.88,.88,1};		
			colorDisabled[] = {.2,.2,.2,1};
			colorFocused[] = {.4,.4,.4,1};
			colorShadow[] = {0,0,0,0};
			colorText[] = {1,1,1,1};
			font = "Zeppelin32";
			offsetPressedX = .002;
			offsetPressedY = .002;
			offsetX = .003;
			offsetY = .003;
			sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * .6)";
			soundClick[] = {"\ca\ui\data\sound\onclick",.07,1};
			soundEnter[] = {"\ca\ui\data\sound\onover",.09,1};
			soundEscape[] = {"\ca\ui\data\sound\onescape",.09,1};
			soundPush[] = {"\ca\ui\data\sound\new1",0,0};			
			style = 2;
			type = 1;
		};
	};
};
 

 

 

Содержимое distance.sqf:

 

 



DistanceFill = {
	private ["_index"];
	disableSerialization;
	_distance = [
		["200 m",200],
		["400 m",400],
		["600 m",600],
		["800 m",800],
		["1000 m",1000],
		["1250 m",1250],
		["1500 m",1500],
		["1750 m",1750],
		["2000 m",2000],
		["2500 m",2500],
		["3000 m",3000]
	];
	lbClear 8888;
	{
		_index = lbAdd [8888,_x select 0];
		lbSetPicture [8888,_index,"\ca\ui\data\objective_complete_ca.paa"];
	} forEach _distance;
};

DistanceSelected = {
	private ["_text","_selected","_setdistancetext","_setdistance"];
	disableSerialization;
	_distance = [
		["200 m",200],
		["400 m",400],
		["600 m",600],
		["800 m",800],
		["1000 m",1000],
		["1250 m",1250],
		["1500 m",1500],
		["1750 m",1750],
		["2000 m",2000],
		["2500 m",2500],
		["3000 m",3000]
	];
	_text=lbText[8888,(lbCurSel 8888)];
	{if(_text==(_x select 0))then{_selected=_x;};}forEach _distance;
	_setdistancetext = _selected select 0;
	_setdistance = _selected select 1;
	
	setViewDistance _setdistance; 
	systemChat format ["ViewDistance: %1",_setdistancetext];
	closeDialog 0;	
}; 

 

 

3)В самый конец description.ext добавляем:

#include "spawn\distance.hpp"

4)В Самый конец init.sqf добавляем:

[] execVM "spawn\distance.sqf";

5)В самый конец dayz_spaceInterrupt.sqf добавляем:

if (_dikCode == 0x3B) then {
	createDialog "DistanceDialog";
	call DistanceFill;
}; 

Как изменить на другую клавишу меню выбор дальности?

-Меняем под себя код клавиши 0x3B на другой код

Коды клавиш https://community.bistudio.com/wiki/DIK_KeyCodes

P.S Не забываем тыкать +

 

 

\ca\ui\data\objective_complete_ca.paa Мне пишить что нету этого этого файла 

подскажи что делать плисс

Share this post


Link to post
Share on other sites
В 11.04.2015 в 17:24, Seksoman сказал:

Дополню...
На счёт файла dayz_spaceInterrupt.sqf
Если у вас его нет, вы должны его вытащить по пути "\z\addons\dayz_code\actions\dayz_spaceInterrupt.sqf"; и закинуть в папку spawn.
Далее зайдите в compiles.sqf и найдите строчку

 

 

 

  Показать содержимое

dayz_spaceInterrupt = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\dayz_spaceInterrupt.sqf";

 

 

и замените её на 
 

  Показать содержимое

dayz_spaceInterrupt = compile preprocessFileLineNumbers "spawn\dayz_spaceInterrupt.sqf";

 

 

У меня нет такого файла НИГДЕ! Во всех указанных папках. Может потому что это под старый мод запилено? Есть актуальный скрипт диалогового окна с дальностью прорисовки? (сейчас стоит версия 1.0.6.2)

Share this post


Link to post
Share on other sites
15 минут назад, virus160381 сказал:

 

У меня нет такого файла НИГДЕ! Во всех указанных папках. Может потому что это под старый мод запилено? Есть актуальный скрипт диалогового окна с дальностью прорисовки? (сейчас стоит версия 1.0.6.2)

Название раздела в котором лежит гайд посмотри.... "Гайды DayZ EPOCH 1.0.5.1" :relieved:

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 DrTauren
      Собственно из названия темы всё понятно, да и сам скрипт всем давно известен. Он позволяет изменить дальность прорисовки при нажатии ПКМ по биноклю или дальномеру.

      Что вам понадобится:

      Инструкция по установке:
      1) Качаем архив: 
      2) Открываем наш extra_rc.hpp и добавляем туда код:
      class Binocular { class distanceb500m { text = "500 meters"; script = "execVM 'custom\setview\500.sqf'"; }; class distanceb1000m { text = "1000 meters"; script = "execVM 'custom\setview\1000.sqf'"; }; class distanceb1500m { text = "1500 meters"; script = "execVM 'custom\setview\1500.sqf'"; }; class distanceb2000m { text = "2000 meters"; script = "execVM 'custom\setview\2000.sqf'"; }; class distanceb2500m { text = "2500 meters"; script = "execVM 'custom\setview\2500.sqf'"; }; class distanceb3000m { text = "3000 meters"; script = "execVM 'custom\setview\3000.sqf'"; }; class distanceb3500m { text = "3500 meters"; script = "execVM 'custom\setview\3500.sqf'"; }; class distanceb4000m { text = "4000 meters"; script = "execVM 'custom\setview\4000.sqf'"; }; class distanceb4500m { text = "4500 meters"; script = "execVM 'custom\setview\4500.sqf'"; }; class distanceb5000m { text = "5000 meters"; script = "execVM 'custom\setview\5000.sqf'"; }; }; class Binocular_Vector { class distanceb500m { text = "500 meters"; script = "execVM 'custom\setview\500.sqf'"; }; class distanceb1000m { text = "1000 meters"; script = "execVM 'custom\setview\1000.sqf'"; }; class distanceb1500m { text = "1500 meters"; script = "execVM 'custom\setview\1500.sqf'"; }; class distanceb2000m { text = "2000 meters"; script = "execVM 'custom\setview\2000.sqf'"; }; class distanceb2500m { text = "2500 meters"; script = "execVM 'custom\setview\2500.sqf'"; }; class distanceb3000m { text = "3000 meters"; script = "execVM 'custom\setview\3000.sqf'"; }; class distanceb3500m { text = "3500 meters"; script = "execVM 'custom\setview\3500.sqf'"; }; class distanceb4000m { text = "4000 meters"; script = "execVM 'custom\setview\4000.sqf'"; }; class distanceb4500m { text = "4500 meters"; script = "execVM 'custom\setview\4500.sqf'"; }; class distanceb5000m { text = "5000 meters"; script = "execVM 'custom\setview\5000.sqf'"; }; }; }; 3) Копируем папку setview из архива в нашу папку custom, находящуюся в папке миссии

      Вот и всё. Надеюсь кому-то помог 

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • By yuraok3
      Добрый день ставлю дальность прорисовки на 5к прорисовка макс на 1500-2000к как пофиксить? Буду очень балагодарен
    • By Alexandr116ru
      В последнее время, часто всплывают темы, про дальность прорисовки. Всё равно спистят, пардон, так что, выкладываю. В общем, пользуйтесь, никаких extra_rc.hpp создавать/использовать не надо. Сделано на основе регулировки звука, выложенного здесь же, автором сего поста: http://s-platoon.ru/index.php?/topic/4014-gromkost/ Автору спасибо за идею!   В файле compiles.sqf, в самом низу, ПЕРЕД строкой:    
          //Server Only    
        Добавить код:    
          changeViewDistance = {         private["_val","_str","_titleText"];         if (isNil "view_distance") then { view_distance = 1500 };         view_distance = (((view_distance + _this) min 4000) max 500);         setViewDistance view_distance;         _val = round(view_distance/100);         _str = "";         for "_x" from 6 to _val do {             _str = _str + "-";         };         _str = _str + "|";         for "_x" from _val to 39 do {             _str = _str + "-";         };         _titleText = format[("<t font='TahomaB' size='0.9' color='#f56722' align='center'>%1%2 м.</t><br/>"),"Видимость: ",str(_val*100)];         _titleText = _titleText + format[("<t font='TahomaB' size='0.7' color='#FFFFFF' align='center'>%1</t>"),_str];         [ _titleText, [safezoneX + safezoneW - 0.8,0.50],  [safezoneY + safezoneH - 0.8,0.7],  3, 0] spawn BIS_fnc_dynamicText;         profileNamespace setVariable ['view_distance',view_distance];     };    
        В dayz_spaceInterrupt.sqf, в самом низу, ПЕРЕД строкой:    
      _handled    
        Добавить код:    
      if (_dikCode == 0x0D) then {     100 call changeViewDistance;     _handled = true; };      if (_dikCode == 0x0C) then {     -100 call changeViewDistance;     _handled = true; };    
        Используемые клавиши для изменения дальности прорисовки, в моём случае: + (0x0D) и - (0x0C) Цвета высвечиваемого текста (color='#f56722' и color='#ffffff') меняете на свои, по надобности. Надпись ("Видимость: ") - тоже и радуетесь простоте решения этого вопроса)))  
    • By exploadead
      Говорят для этой проблемы есть решение... И на некоторых проектах такого не наблюдается... Кто может подсказать как это исправить?
      На большом расстоянии рельеф местности начинает прорисовываться как бы не до конца... Например прорисовка объектов стоит на 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.