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
OXIDE

Худ | Дебаг монитор

http://itmages.ru/image/view/5219992/be3f0914
http://itmages.ru/image/view/5219997/f33c7d57
1. Есть у кого такой худ, как на скрине? 
2. Вопрос к Ультиме. Взял с RN портала себе такой дебаг монитор. Не работает строчка "онлайн" и "до рестарта осталось". Как это реализовать? 
Код дебаг монитора:
 

if ((isServer) || (isDedicated)) exitWith {diag_log "custom_debug:: Script tried to launch serverside where it should not be!";};
waitUntil {!isNil "dayz_animalCheck"};

[2] spawn // Specify the default state. 0=OFF 1=SMALL 2=LARGE
{
    private ["_displayActive","_fps","_lastFpsUpdate","_logo"];
	displayState = (_this select 0);
	_displayActive = if (displayState == 0) then { false } else { true };
	_fps = round(diag_fps);
	_lastFpsUpdate = diag_tickTime;
	_logo = "custom_debug\logo_red.paa";                             /*DIK*/
    (findDisplay 46) displayAddEventHandler ['keyDown','if ((_this select 1) == 0xCF) then { if (displayState > 0) then { displayState = displayState - 1; } else { displayState = 2;}; };'];
	                                                                           /*DIK*/
	while {true} do {
    	if ((diag_tickTime - _lastFpsUpdate) > 0.9) then {
		    _fps = round(diag_fps);
			_lastFpsUpdate = diag_tickTime;
		};
		sleep 0.1;
        switch (displayState) do {
            case 0: { // Display off.
                if (_displayActive) then {_displayActive = false; hintSilent "";}; 
			};
            case 1: { // Display small.
			    _displayActive = true;
				hintSilent parseText format
				["
				 <img size='1.4' align='left' image='%1'/><br/>
				 <t size='1'   color='#EE8888' font='Zeppelin33' align='left'>Кровь: %2</t><br/>
				 <t size='1'   color='#6EF191' font='Zeppelin33' align='left'>ФПС: %3</t>
				 ",
				 _logo,
				 (player getVariable ['USEC_BloodQty',r_player_blood]),
				 _fps
				];
			};
            case 2: { // Display large.
			    _displayActive = true;
				hintSilent parseText format
				["
				 <img size='3.2' align='center' image='%1'/><br/>
				 <br/>
				  <t size='1'   color='#6ECCF1' font='Bitstream' align='left'>Выживание: %11 Дней</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито бандитов: %2</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито зомби: %3</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито героев: %4</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Выстрел в голову: %12</t><br/>
				 <t size='1'   color='#00CC00' font='Bitstream' align='center'>Онлайн: %14</t><br/>
				 <t size='1'   color='#6EF191' font='Bitstream' align='left'>Репутация: %5</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Кровь: %6</t><br/>
				 <t size='1'   color='#6ECCF1' font='Zeppelin33' align='left'>ФПС: %7</t><br/>
				 <t size='1'   color='#6EF191' font='Bitstream' align='left'>Осталось до рестарта: %13 Минут</t><br/>
				 <t size='0.9' color='#EE8888' font='Zeppelin33' align='left'>[END] Свернуть</t>
				 ",
				 _logo,
				 (player getVariable ['banditKills',0]),
				 (player getVariable ['zombieKills',0]),
				 (player getVariable ['humanKills',0]),
				 (player getVariable ['humanity',0]),
				 (player getVariable ['USEC_BloodQTY',r_player_blood]),
				 _fps,
				 (dayz_Survived),
				 (player getVariable['headShots',0]),
				 (240-(round(serverTime/60))),
				 (count playableUnits)
				];
			};
		};
    };
};
Edited by OXIDE (see edit history)

Share this post


Link to post
Share on other sites

23 answers to this question

Recommended Posts

  • 0

Опять же, можно просто внести в код изменения? А то по кускам  как-то не айс вообще.

Не мой скрипт.

Изменения там зависят от того, что ты используешь.

По игрокам, если у тебя эпоха - замени в том, что тебе скинули, -

(count playableUnits)

на это

(playersNumber west)

 

По времени до рестарта -

В скрипте выше - 240 сек минус время от старта сервера.

Однако время может быть не правильным, если делал руками рестарт. и т.п.

 

На форуме есть примеры получения реального времени с хоста и вывода в дебаг.

Share this post


Link to post
Share on other sites



  • 0

 

 

				["
				 <img size='3.2' align='center' image='%1'/><br/>
				 <br/>
				  <t size='1'   color='#6ECCF1' font='Bitstream' align='left'>Выживание: %11 Дней</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито бандитов: %2</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито зомби: %3</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито героев: %4</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Выстрел в голову: %12</t><br/>
				 <t size='1'   color='#00CC00' font='Bitstream' align='center'>Онлайн: %14</t><br/>
				 <t size='1'   color='#6EF191' font='Bitstream' align='left'>Репутация: %5</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Кровь: %6</t><br/>
				 <t size='1'   color='#6ECCF1' font='Zeppelin33' align='left'>ФПС: %7</t><br/>
				 <t size='1'   color='#6EF191' font='Bitstream' align='left'>Осталось до рестарта: %13 Минут</t><br/>
				 <t size='0.9' color='#EE8888' font='Zeppelin33' align='left'>[END] Свернуть</t>
				 ",
				 _logo,
				 (player getVariable ['banditKills',0]),
				 (player getVariable ['zombieKills',0]),
				 (player getVariable ['humanKills',0]),
				 (player getVariable ['humanity',0]),
				 (player getVariable ['USEC_BloodQTY',r_player_blood]),
				 _fps,
				 (dayz_Survived),
				 (player getVariable['headShots',0]),
				 (240-(round(serverTime/60))),
				 (count playableUnits)
				];

 

 

 

 

Переменных всего 11, а в дебаге указано 13.

должно быть так:

 

 

				["
				 <img size='3.2' align='center' image='%1'/><br/>
				 <br/>
				  <t size='1'   color='#6ECCF1' font='Bitstream' align='left'>Выживание: %8 Дней</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито бандитов: %2</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито зомби: %3</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито героев: %4</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Выстрел в голову: %9</t><br/>
				 <t size='1'   color='#00CC00' font='Bitstream' align='center'>Онлайн: %11</t><br/>
				 <t size='1'   color='#6EF191' font='Bitstream' align='left'>Репутация: %5</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Кровь: %6</t><br/>
				 <t size='1'   color='#6ECCF1' font='Zeppelin33' align='left'>ФПС: %7</t><br/>
				 <t size='1'   color='#6EF191' font='Bitstream' align='left'>Осталось до рестарта: %10 Минут</t><br/>
				 <t size='0.9' color='#EE8888' font='Zeppelin33' align='left'>[END] Свернуть</t>
				 ",
				 _logo,
				 (player getVariable ['banditKills',0]),
				 (player getVariable ['zombieKills',0]),
				 (player getVariable ['humanKills',0]),
				 (player getVariable ['humanity',0]),
				 (player getVariable ['USEC_BloodQTY',r_player_blood]),
				 _fps,
				 (dayz_Survived),
				 (player getVariable['headShots',0]),
				 (240-(round(serverTime/60))),
				 (count playableUnits)
				];

 

 

Edited by RedLink (see edit history)

Share this post


Link to post
Share on other sites
  • 0

 

 

				["
				 <img size='3.2' align='center' image='%1'/><br/>
				 <br/>
				  <t size='1'   color='#6ECCF1' font='Bitstream' align='left'>Выживание: %11 Дней</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито бандитов: %2</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито зомби: %3</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито героев: %4</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Выстрел в голову: %12</t><br/>
				 <t size='1'   color='#00CC00' font='Bitstream' align='center'>Онлайн: %14</t><br/>
				 <t size='1'   color='#6EF191' font='Bitstream' align='left'>Репутация: %5</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Кровь: %6</t><br/>
				 <t size='1'   color='#6ECCF1' font='Zeppelin33' align='left'>ФПС: %7</t><br/>
				 <t size='1'   color='#6EF191' font='Bitstream' align='left'>Осталось до рестарта: %13 Минут</t><br/>
				 <t size='0.9' color='#EE8888' font='Zeppelin33' align='left'>[END] Свернуть</t>
				 ",
				 _logo,
				 (player getVariable ['banditKills',0]),
				 (player getVariable ['zombieKills',0]),
				 (player getVariable ['humanKills',0]),
				 (player getVariable ['humanity',0]),
				 (player getVariable ['USEC_BloodQTY',r_player_blood]),
				 _fps,
				 (dayz_Survived),
				 (player getVariable['headShots',0]),
				 (240-(round(serverTime/60))),
				 (count playableUnits)
				];

 

 

 

 

Переменных всего 11, а в дебаге указано 13.

должно быть так:

 

 

				["
				 <img size='3.2' align='center' image='%1'/><br/>
				 <br/>
				  <t size='1'   color='#6ECCF1' font='Bitstream' align='left'>Выживание: %8 Дней</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито бандитов: %2</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито зомби: %3</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито героев: %4</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Выстрел в голову: %9</t><br/>
				 <t size='1'   color='#00CC00' font='Bitstream' align='center'>Онлайн: %11</t><br/>
				 <t size='1'   color='#6EF191' font='Bitstream' align='left'>Репутация: %5</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Кровь: %6</t><br/>
				 <t size='1'   color='#6ECCF1' font='Zeppelin33' align='left'>ФПС: %7</t><br/>
				 <t size='1'   color='#6EF191' font='Bitstream' align='left'>Осталось до рестарта: %10 Минут</t><br/>
				 <t size='0.9' color='#EE8888' font='Zeppelin33' align='left'>[END] Свернуть</t>
				 ",
				 _logo,
				 (player getVariable ['banditKills',0]),
				 (player getVariable ['zombieKills',0]),
				 (player getVariable ['humanKills',0]),
				 (player getVariable ['humanity',0]),
				 (player getVariable ['USEC_BloodQTY',r_player_blood]),
				 _fps,
				 (dayz_Survived),
				 (player getVariable['headShots',0]),
				 (240-(round(serverTime/60))),
				 (count playableUnits)
				];

 

 

Спасибо большое! Репутацию поднял)

А с первым вопросом что? После того, как форум протрахал мозг с "неверным расширением файла", решил просто ссылку оставить на фото.

Share this post


Link to post
Share on other sites
  • 0

(count playableUnits)

Это не правильно.

т.к. вернет игроков+НПЦ.

 

Надо так(для эпохи, где все игроки на стороне WEST) -

 

playersNumber west
 

 

или кодом(для любого мода)

В самый верх в секцию Private, добавить "_players"

Далее после строк:

 

case 2: {
               _displayActive = true;
 

 

Добавить:

 

_players = 0;
{
 if (isPlayer _x) then
{_players = _players + 1;};
} forEach playableUnits;
 

 

и потом в дебаг просто вывести

 

_players
 
Edited by NoNameUltima (see edit history)

Share this post


Link to post
Share on other sites
  • 0

 

Это не правильно.

т.к. вернет игроков+НПЦ.

 

Надо так(для эпохи, где все игроки на стороне WEST) -

 

playersNumber west
 

 

или кодом(для любого мода)

В самый верх в секцию Private, добавить "_players"

Далее после строк:

 

case 2: {
               _displayActive = true;
 

 

Добавить:

 

_players = 0;
{
 if (isPlayer _x) then
{_players = _players + 1;};
} forEach playableUnits;
 

 

и потом в дебаг просто вывести

 

_players
 

Опять же, можно просто внести в код изменения? А то по кускам  как-то не айс вообще.

Share this post


Link to post
Share on other sites
  • 0

По поводу первого вопроса тоже интересно. 

Share this post


Link to post
Share on other sites
  • 0

Такой чтоль?

 

HUD.jpg

Поделишься? И интересует как вывести проценты голода/жажды на экран?

Edited by Ramhha (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Поделишься? И интересует как вывести проценты голода/жажды на экран?

Тема по созданию была на форуме.

Проценты голода и жажды?

 

значение голода

        _foodVal    =    1 - (dayz_hunger / SleepFood);

жажды...

        _thirstVal    =    1 - (dayz_thirst / SleepWater);

 

Для получения именно процентов - умноижить на 100.

Как то так -

 

floor ((1 - dayz_thirst / SleepWater) * 100);

Share this post


Link to post
Share on other sites
  • 0

Такой чтоль?

 

HUD.jpg

нет, не такой. Там же скрины есть)

Share this post


Link to post
Share on other sites
  • 0

нет, не такой. Там же скрины есть)

Что значит не такой? Тебе на основе этого просто иконки заменить на какие хош и положение в UI editor пофиксить. Геморойно, но если надо заморочишься. Про проценты ультима выше отписал. В данном GUI как на скрине ультимы все положения классов и прочего заданы, только под себя пофиксить. Ну а взять можешь с миссии ультимы(если тот конечно не против).

Share this post


Link to post
Share on other sites
  • 0

Что значит не такой? Тебе на основе этого просто иконки заменить на какие хош и положение в UI editor пофиксить. Геморойно, но если надо заморочишься. Про проценты ультима выше отписал. В данном GUI как на скрине ультимы все положения классов и прочего заданы, только под себя пофиксить. Ну а взять можешь с миссии ультимы(если тот конечно не против).

Вот именно, что геморройно))) 

Может где готовые есть, часто видел. А секаса с армой, Text Viev 2, фотожопом как-то хочется избежать)) 

Не стоит овчинка выделки.

Share this post


Link to post
Share on other sites
  • 0

Вот именно, что геморройно))) 

Может где готовые есть, часто видел. А секаса с армой, Text Viev 2, фотожопом как-то хочется избежать)) 

Не стоит овчинка выделки.

Ну раз не стоит, то и не парься. 

Share this post


Link to post
Share on other sites
  • 0

Ну раз не стоит, то и не парься. 

Не стоит в плане самому делать. Было бы желание - давно сделал бы. А так... Я искал готовый вариант, похожий. Вариант "сделай сам" мне радикально не подходит.

Share this post


Link to post
Share on other sites
  • 0

Не стоит в плане самому делать. Было бы желание - давно сделал бы. А так... Я искал готовый вариант, похожий. Вариант "сделай сам" мне радикально не подходит.

Никто за тебя делать ничего не станет(по крайне мере бесплатно), у тебя есть все наводки и понимание того как что делать(на крайняк перечитай ещё раз посты выше). Так что либо дерзай, либо забей. Размусоливание по воде ни к чему не приведёт. Ну или дальше сиди жди, что твоё благополучие будут обеспечивать другие тратя на тебя золотого своё время.

Share this post


Link to post
Share on other sites
  • 0

Не стоит в плане самому делать. Было бы желание - давно сделал бы. А так... Я искал готовый вариант, похожий. Вариант "сделай сам" мне радикально не подходит.

Арма сама по себе - конструктор "Сделай сам". Тут 3 варианта:

1. Реально делай сам

2. Готовь деньги и потрать на скриптера, который тебе всё сделает

3. Прошарь буржуйские форумы, выдели что-то стоящее, если это сборка, то вырежи не нужные для себя функции и перенеси свои со старой.

Вроде всё

Share this post


Link to post
Share on other sites
  • 0

Арма сама по себе - конструктор "Сделай сам". Тут 3 варианта:

1. Реально делай сам

2. Готовь деньги и потрать на скриптера, который тебе всё сделает

3. Прошарь буржуйские форумы, выдели что-то стоящее, если это сборка, то вырежи не нужные для себя функции и перенеси свои со старой.

Вроде всё

Тру choice 1-ый вариант. Если вникнуть никак или руки не те, или вообще "хочу всё готовое" то зачем вообще браться?

Share this post


Link to post
Share on other sites
  • 0

Тру choice 1-ый вариант. Если вникнуть никак или руки не те, или вообще "хочу всё готовое" то зачем вообще браться?

А вдруг парнишка решил сделать всё готовенькое, не тратя много времени и денег, чтобы выезжать на донате, ну или с друзьями чисто покатать. Кто знает?

Я сам делаю уже на готовой сборке, прости меня Ultima. Даже когда берёшь готовую сборку, всё равно приходится допиливать напильником до желаемого результата. И всё равно - самое лучшее материальное средство это мозги на голове.

Edited by Ph0enixxx (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Спасибо большое! Репутацию поднял)

А с первым вопросом что? После того, как форум протрахал мозг с "неверным расширением файла", решил просто ссылку оставить на фото.

ответил одно и тоже по-моему. Оба варианты одинаковы. Скинь ещё раз, пожалуйста?

 

Тру choice 1-ый вариант. Если вникнуть никак или руки не те, или вообще "хочу всё готовое" то зачем вообще браться?

Мне нужен был только худ. Это не тот скрипт, за который нужно платить, либо тратить время. Ну не стоит он этого. Нет, так нет, со стандартным побегаем. Какие проблемы? Что за бред вы пишете?

Share this post


Link to post
Share on other sites
  • 0

Пункт 2.4

бессмысленные ответы (флуд), нелепые шутки (оскорбляющие), троллинг (давление на пользователя).

ответил одно и тоже по-моему. Оба варианты одинаковы. Скинь ещё раз, пожалуйста?

 

Мне нужен был только худ. Это не тот скрипт, за который нужно платить, либо тратить время. Ну не стоит он этого. Нет, так нет, со стандартным побегаем. Какие проблемы? Что за бред вы пишете?

Бред ты тут изливаешь в своих потоках скинуть тебе бутерброд на халяву. Жуй масло без хлеба или уже напряги чутка голову, иногда полезно. 

 

Только не отвечай на этот коммент, как бы тебе не хотелось обратного. Оффтоп тут развивать нет смысла. 

Edited by OXIDE (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Бред ты тут изливаешь в своих потоках скинуть тебе бутерброд на халяву. Жуй масло без хлеба или уже напряги чутка голову, иногда полезно. 

 

Только не отвечай на этот коммент, как бы тебе не хотелось обратного. Оффтоп тут развивать нет смысла. 

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

Закрой хлебало и сиди тихо, раз ничего дельного сказать не можешь, дабы не спамить в теме.

Share this post


Link to post
Share on other sites
  • 0

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

Закрой хлебало и сиди тихо, раз ничего дельного сказать не можешь, дабы не спамить в теме.

Помогать должны, само собой, но никто не говорил что помощь должна быть безвозмездной. Человек тратит своё время, в замен он хочет получить что-то кроме словесной благодарности и это абсолютно нормально. Лучше не словоблудием тут заниматься - а сесть и разобраться. Там всё не так уж сложно.

Edited by Windows (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Помогать должны, само собой, но никто не говорил что помощь должна быть безвозмездной. Человек тратит своё время, в замен он хочет получить что-то кроме словесной благодарности и это абсолютно нормально. Лучше не словоблудием тут заниматься - а сесть и разобраться. Там всё не так уж сложно.

Какое время? Худ не приватный, я его не заставляю никого его насильно искать. Может кто-то видел и решит ссылочкой на гайд поделиться. Будто я прошу написать вместо меня.

Если бы мне человек написал: "Да, у меня есть этот худ, но продам его за 300 руб" (к примеру), я бы согласился. Да и если бы хотел за деньги сделать, написал бы одному из скриптописцев, типа того же Ультимы, или тебя. Либо в раздел рынок. Но никак не тут.

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

Edited by OXIDE (see edit history)

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 Ford
      Создание скрипта можно разделить на 2 этапа: написание кода и его тестирование. Второй у меня занимает около 80% всего времени, т.к. каждый раз нужно загружать сервер и миссию.
      Есть ли более быстрый способ отлаживать код?
    • By JolyMonk
      Здравствуйте, как можно создать свой, прозрачный, hint для дебаг монитора? 
    • By mafan9
      Тема взята с сайта: EpochMod.com
       

       
      1. Скачиваем архив и распаковываем его
      2. Открываем кастомный файл compiles.sqf и находим строку:
      DZ_KeyDown_EH = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\keyboard.sqf"; И меняем ее на:
      DZ_KeyDown_EH = compile preprocessFileLineNumbers "PATHTOYOUR\keyboard.sqf"; 3. Открываем файл init.sqf и находим строку:
      waitUntil {scriptDone progress_monitor}; И под ней вставляем
      if (isNil 'debugMonitor') then {debugMonitor = true; _nill = execvm "dayz_code\compile\player_debug.sqf"; }; *Файл init.sqf который находится в архиве ни в коем случае не заменяйте его! В этом файле прописано то, что выше написано.
       
      На это все, всем спасибо за внимание!
       
      Keyboard.sqf
      // (c) facoptere@gmail.com, licensed to DayZMod for the community #include "\ca\editor\Data\Scripts\dikCodes.h" _dikCode = _this select 1; _shiftState = _this select 2; _ctrlState = _this select 3; _altState = _this select 4; _handled = false; if (isNil "keyboard_keys") then { _cancelBuild = { DZE_cancelBuilding = true; call dayz_EjectPlayer; _handled = false; if (r_player_dead) then {_handled = true;}; // Disable ESC after death }; _dze_f = { if (!_ctrlState && !_altState) then {DZE_F = true;}; }; _dze_q = { if (!_ctrlState && !_altState) then {DZE_Q = true;}; if (!_ctrlState && _altState) then {DZE_Q_alt = true;}; if (_ctrlState && !_altState) then {DZE_Q_ctrl = true;}; }; _dze_z = { if (!_ctrlState && !_altState) then {DZE_Z = true;}; if (!_ctrlState && _altState) then {DZE_Z_alt = true;}; if (_ctrlState && !_altState) then {DZE_Z_ctrl = true;}; }; _autoRun = { if (!dayz_autoRun) then { dayz_autoRun = true; dayz_autoRunThread = [] spawn { _weapon = currentWeapon player; while {dayz_autoRun} do { // SurfaceIsWater does not work for ponds // Check weapon to detect Arma action (dayz action is handled in dz_fn_switchWeapon) if (player != vehicle player or (surfaceIsWater getPosASL player) or ((call fn_nearWaterHole) select 0) or (currentWeapon player != _weapon) or r_fracture_legs) exitWith { call dayz_autoRunOff; }; player playAction "FastF"; uiSleep 0.5; }; }; } else { call dayz_autoRunOff; }; _handled = true; }; _filterCheat = { //Overriding default engine handling does not stop cheat input, need manual disableUserInput too _handled = [displayNull,_dikCode,_shiftState] call dze_filterCheats; }; _openGroups = { if (dayz_requireRadio && !("ItemRadio" in items player)) then { localize "STR_EPOCH_NEED_RADIO" call dayz_rollingMessages; } else { if (isNull findDisplay 80000) then { if (!isNil "dayz_groupInit") then {[] spawn dayz_openGroupDialog;}; } else { findDisplay 80000 closeDisplay 2; }; }; _handled = true; }; _muteSound = { call player_toggleSoundMute; _handled = true; }; _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; }; }; }; _surrender = { call player_surrender; _handled = true; }; _gear = { if ((vehicle player != player) and !_shiftState and !_ctrlState and !_altState && !dialog) then { createGearDialog [player, "RscDisplayGear"]; _handled = true; } else { if ((vehicle player == player) and (speed vehicle player > 0)) then { //[objNull, player, rSwitchMove,""] call RE; _handled = true; };}; }; _forcesave = { dayz_lastCheckBit = diag_ticktime; call player_forceSave; call dayz_EjectPlayer; }; _forcesave2 = { if ((!isNull (findDisplay 106)) OR dialog) then { call player_forceSave; }; }; _drop = { if (r_drag_sqf) then { _doors = nearestObjects [player, DayZ_DropDrageeObjects, 3]; //Prevent dropping dragged player through objects if (count _doors > 0) then {_handled = true;}; force_dropBody = true; } else { _doors = nearestObjects [player, DZE_DoorsLocked, 3]; if (count _doors > 0 && {speed player > 0}) then {_handled = true;}; //Prevent sprint and prone through doors glitch }; }; _interrupt = { if (vehicle player == player) then { //allow med actions in moving vehicles r_interrupt = true; }; if (DZE_Surrender) then {call dze_surrender_off}; if (dayz_autoRun) then {call dayz_autoRunOff;}; }; // TODO: left/right, when gear open: onKeyDown = "[_this,'onKeyDown',0,107,0,107] execVM '\z\addons\dayz_code\system\handleGear.sqf'"; _noise = { //Overriding default engine handling does not stop combination binds, need manual disableUserInput too _handled = [displayNull,_dikCode,_shiftState] call dze_filterCheats; if (diag_ticktime - dayz_lastCheckBit > 10 && !(_dikCode in channel_keys)) then { dayz_lastCheckBit = diag_ticktime; [player,20,true,(getPosATL player)] call player_alertZombies; }; }; _journal = { if (!dayz_isSwimming and !dialog) then { [player,4,true,(getPosATL player)] call player_alertZombies; createDialog 'horde_journal_front_cover'; }; _handled = true; }; _build_left = { DZE_4 = true; // fence construction if (0 != count Dayz_constructionContext) then { _angleRef = Dayz_constructionContext select 1; _dir = _angleRef - (getDir player) -5; if (_dir > 180) then {_dir = _dir - 360}; if (_dir < -180) then {_dir = _dir + 360}; if ( _dir > -75) then { _new = floor((_angleRef - 5)/5)*5; Dayz_constructionContext set [ 1, _new]; // favorite angle r_interrupt = true; }; _handled = true; }; // tents and stash construction _object = player getVariable ["constructionObject", objNull]; if (!isNull _object) then { _dir = getDir _object - 3; _object setDir _dir; _handled = true; }; dayz_dodge = true; }; _build_right = { DZE_6 = true; if (0 != count Dayz_constructionContext) then { _angleRef = Dayz_constructionContext select 1; _dir = _angleRef - (getDir player) +5; if (_dir > 180) then { _dir = _dir - 360; }; if (_dir < -180) then { _dir = _dir + 360; }; if (_dir < 75) then { _new = ceil((_angleRef + 5)/5)*5; Dayz_constructionContext set [ 1, _new]; // favorite angle r_interrupt = true; }; _handled = true; }; // tents and stash construction _object = player getVariable ["constructionObject", objNull]; if (!isNull _object) then { _dir = getDir _object + 3; _object setDir _dir; _handled = true; }; dayz_dodge = true; }; _build_camOnOff = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_buildCamera.sqf"; _build_str8OnOff = { if (0 != count Dayz_constructionContext) then { Dayz_constructionContext set [ 5, !(Dayz_constructionContext select 5) ]; _handled = true; r_interrupt = true; }; if (animationState player in ["bunnyhopunarmed","bunnyhoprifle"]) then { //Fixes invisible weapon switch glitch if double tapping vault with no weapon in hands _handled = true; }; if (player isKindOf "PZombie_VB") then { _handled = true; // do not allow player zombies to vault or jump } else { _nearbyObjects = nearestObjects[getPosATL player, dayz_disallowedVault, 8]; if (count _nearbyObjects > 0) then { if ((diag_tickTime - dayz_lastCheckBit > 4)) then { [objNull, player, rSwitchMove,"GetOver"] call RE; player playActionNow "GetOver"; dayz_lastCheckBit = diag_tickTime; } else { _handled = true; }; }; }; }; _block = { _handled = true; }; _addArray = { { keyboard_keys set [_x, _this select 1]; } forEach (_this select 0); }; keyboard_keys = []; channel_keys = []; voice_keys = []; {voice_keys = voice_keys + (actionKeys _x)} count voice_actions; {channel_keys = channel_keys + (actionKeys _x)} count ["NextChannel","PrevChannel"]; keyboard_keys resize 256; [[DIK_ESCAPE], _cancelBuild] call _addArray; [[DIK_INSERT], {DZE_Q_alt = true;}] call _addArray; [[DIK_A,DIK_D,DIK_LEFT,DIK_RIGHT], _interrupt] call _addArray; [[DIK_F], _dze_f] call _addArray; [[DIK_PRIOR], _dze_q] call _addArray; [[DIK_NEXT], _dze_z] call _addArray; [[DIK_Q], {DZE_4 = true;}] call _addArray; [[DIK_E], {DZE_6 = true;}] call _addArray; [[DIK_0], _autoRun] call _addArray; [[DIK_NUMPADMINUS,DIK_LSHIFT], _filterCheat] call _addArray; [[DIK_SPACE], {DZE_5 = true;}] call _addArray; [actionKeys "User6", {DZE_F = true;}] call _addArray; [actionKeys "User7", {DZE_Q_ctrl = true;}] call _addArray; [actionKeys "User8", {DZE_Z_ctrl = true;}] call _addArray; [actionKeys "User13", {DZE_Q_alt = true;}] call _addArray; [actionKeys "User14", {DZE_Z_alt = true;}] call _addArray; [actionKeys "User15", {DZE_Q = true;}] call _addArray; [actionKeys "User16", {DZE_Z = true;}] call _addArray; [actionKeys "User17", {DZE_4 = true;}] call _addArray; [actionKeys "User18", {DZE_6 = true;}] call _addArray; [actionKeys "User19", {DZE_5 = true;}] call _addArray; [actionKeys "Surrender", _surrender] call _addArray; [[DIK_1], _rifle] call _addArray; [[DIK_2], _pistol] call _addArray; [[DIK_3], _melee] call _addArray; //[[DIK_4], _throwable] call _addArray; [actionKeys "Gear", _gear] call _addArray; [actionKeys "Prone", _drop] call _addArray; [actionKeys "Crouch", _drop] call _addArray; [actionKeys "MoveLeft", _interrupt] call _addArray; [actionKeys "MoveRight", _interrupt] call _addArray; [actionKeys "MoveForward", _interrupt] call _addArray; [actionKeys "MoveBack", _interrupt] call _addArray; [actionKeys "TurnLeft", _interrupt] call _addArray; [actionKeys "TurnRight", _interrupt] call _addArray; [actionKeys "PushToTalk", _noise] call _addArray; [actionKeys "PushToTalkAll", _noise] call _addArray; [actionKeys "PushToTalkCommand", _noise] call _addArray; [actionKeys "PushToTalkDirect", _noise] call _addArray; [actionKeys "PushToTalkGroup", _noise] call _addArray; [actionKeys "PushToTalkSide", _noise] call _addArray; [actionKeys "PushToTalkVehicle", _noise] call _addArray; [actionKeys "VoiceOverNet", _noise] call _addArray; [actionKeys "NextChannel", _noise] call _addArray; [actionKeys "PrevChannel", _noise] call _addArray; [actionKeys "Chat", _noise] call _addArray; [actionKeys "User20", _journal] call _addArray; [actionKeys "Diary", _journal] call _addArray; [actionKeys "NetworkStats", _journal] call _addArray; [[DIK_F1], _muteSound] call _addArray; //[[DIK_F4, DIK_TAB, DIK_DELETE], _forcesave] call _addArray; //[[DIK_F4, DIK_RMENU, DIK_LMENU,DIK_LSHIFT,DIK_RSHIFT,DIK_ESCAPE], _forcesave2] call _addArray; [actionKeys "LeanLeft", _build_left ] call _addArray; [actionKeys "LeanRight", _build_right ] call _addArray; [actionKeys "PersonView", _build_camOnOff ] call _addArray; // Camera Mode [actionKeys "GetOver", _build_str8OnOff ] call _addArray; // V // [[DIK_NUMPAD7], _rotate_left] call _addArray; // [[DIK_NUMPAD9], _rotate_right] call _addArray; [actionKeys "ForceCommandingMode", {DZE_5 = true;_handled = true;}] call _addArray; [[ DIK_F9,DIK_F10,DIK_F11,DIK_F12, DIK_F8,DIK_F7,DIK_F6,DIK_F5,DIK_F4, DIK_F3,DIK_F2,DIK_9, DIK_8,DIK_7,DIK_6,DIK_5,DIK_4], _block] call _addArray; if (dayz_groupSystem) then { [[DIK_F5], _openGroups] call _addArray; [[DIK_LWIN,DIK_RWIN], {dayz_groupNameTags = !dayz_groupNameTags;_handled = true;}] call _addArray; [actionKeys "TacticalView", _block] call _addArray; }; diag_log "keyboard_keys reset"; 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 }; if (r_player_unconsciousInputDisabled) exitWith {true}; _code = keyboard_keys select _dikCode; if (!isNil "_code") then { call _code; }; //------------------DEBUG-----------------// if (_dikCode == 210) then { // _dikCode 210 = InsertKey if (isNil 'debugMonitor') then { debugMonitor = true; _nill = execvm "PATHTOYOUR\player_debug.sqf"; } else { debugMonitor = !debugMonitor; hintSilent ''; _nill = execvm "PATHTOYOUR\player_debug.sqf"; }; }; //-----------------DEBUGEND---------------// _handled  
      Понравилась статья? Поставь +
    • By Alex39
      Дебаг монитор
      Идем в корень сервера в папку SE1\serverDZ.cfg  и открываем блокнотом, и вставляем код, ну к примеру после строки BattlEye = 1;
      loginQueueMaxPlayers = 10; storageAutoFix = 1; disablePublisherBanKick = 1; updateStrategyVersion = 1; showPlayerStatus = 1; И получаем

       
      Сам дебаг вкл/выкл  showPlayerStatus = 1;
  • 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.