Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
Anty

Как увеличить день и уменьшить ночь!

Всем привет, подскажите как на сервере можно увеличить день и уменьшить ночь. Есть две подобные темы, там вопрос решен, но ответа никто не выложил.

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


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

Рекомендованные сообщения

  • 0

Всем привет, подскажите как на сервере можно увеличить день и уменьшить ночь. Есть две подобные темы, там вопрос решен, но ответа никто не выложил.

Тебе сюда Arma3server\@epochhive\epochconfig.строчка №8,StaticDateTime[] = {2035,6,10,7,0}; // {0,0,0,8,0} would forces the server to start at 8am each time it is started while allowing the year, month and day to stay real time. Any values left at 0 will result in no change. если зделаеш так то будет у тебя 3 ч день 1 час ноч,если нужно менше ноч то меняеш 7ку на 6 ку или 5ку.както так

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

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


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





  • 0

Не совсем так. В данном случае это стартовая дата и время: 2035 - год, 6 и 10 - месяц и день, 7 и 0 - часы и минуты. Изменять необходимо параметр - timeMultiplier. По умолчанию он выставлен на 4, т.е. за 4 игровых часа на сервере проходят сутки. Если у Вас рестарты каждые 4 часа, то измените 4 на 5 или 6 (изменять можно в пределах от 0.1 до 120) и тогда вечер просто не успеет наступить.

Если параметр timeDifference выставить на 1, то на сервере будет время как на компьютере, на котором сервер запущен.

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

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


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

Господа, элементарные вещи. Если перевести дословно конфиг serverDZ.cfg, то становится ясно, что:

serverTime="SystemTime"; // Начальное внутриигровое время сервера. Под "SystemTime" понимается локальное время машины. Другой возможностью является установка времени в виде некоторого значения в формате "YYYY/MM/DD/HH/MM", например, "2015/4/8/17/23" .
serverTimeAcceleration=12; // Ускоренное время (значение 0-24)// Это множитель внутриигрового времени. В данном случае время будет идти в 24 раза быстрее, чем обычно, поэтому целый день пройдет за один час.
serverTimePersistent=0; // Постоянное время (значение 0-1)// Актуальное время сервера сохраняется в памяти, поэтому при активном состоянии при следующем запуске сервера будет использоваться сохраненное значение времени.
 
Изменено пользователем Komarza_174 (история изменений)

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


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

@Komarza_174 Ты пишешь для dayz, а тема про Arma 3. Там система работает по другому.

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


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

@АлиМирный Нужно создать файл с названием time.sqf , туда кидаешь такой скрипт

if (!isServer) exitWith {};

while {true} do
{
	if (daytime >= 17 || daytime < 6) then   // после 19:00 и до 5:00 меняется множитель времени
	{
		setTimeMultiplier 40      // отрегулируйте это значение для более медленного или более быстрого ночного цикла (24 часа займут 1 час)
	}
	else
	{
		setTimeMultiplier 5      // отрегулируйте это значение для более медленного или более быстрого дневного цикла (12 часов займет 1 час)
	};
	uiSleep 60;
};

Потом в init.sqf прописать:

 

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

//Ускорения времени
[] execVM "time.sqf";

 

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

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
20.08.2023 в 11:47, Irkutsk86 сказал:

@АлиМирный Нужно создать файл с названием time.sqf , туда кидаешь такой скрипт

if (!isServer) exitWith {}; while {true} do { if (daytime >= 17 || daytime < 6) then // после 19:00 и до 5:00 меняется множитель времени { setTimeMultiplier 40 // отрегулируйте это значение для более медленного или более быстрого ночного цикла (24 часа займут 1 час) } else { setTimeMultiplier 5 // отрегулируйте это значение для более медленного или более быстрого дневного цикла (12 часов займет 1 час) }; uiSleep 60; };


if (!isServer) exitWith {};

while {true} do
{
	if (daytime >= 17 || daytime < 6) then   // после 19:00 и до 5:00 меняется множитель времени
	{
		setTimeMultiplier 40      // отрегулируйте это значение для более медленного или более быстрого ночного цикла (24 часа займут 1 час)
	}
	else
	{
		setTimeMultiplier 5      // отрегулируйте это значение для более медленного или более быстрого дневного цикла (12 часов займет 1 час)
	};
	uiSleep 60;
};

Потом в init.sqf прописать:

 

  Скрыть содержимое

//Ускорения времени
[] execVM "time.sqf";

 

а в какой директории сохранить этот файл?

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


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

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

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

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

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

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

Войти

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

Войти сейчас

  • Похожие публикации

    • Автор: Denis1979
      Здравствуйте уважаемые форумчане. Столкнулся с такой проблемой, расчет соотношений дня и ночи, перечитал много статей, скачивал много калькуляторов, но все это не работало. Решил разобраться сам во всем. В итоге, со всеми проверками у меня ушел целый день!
      Начнем ломать устоявшиеся стереотипы!?
      Наверное самое ошибочное что было практически во всех статьях это то, что "serverTimeAcceleration" это общее продолжительность игровых суток, может я многих разочарую, но это не так, это функция на ускорение дня и не более, ночи и игровых суток там нет, (да он является триггером для ночи, но отвечает только за дневное ускорение). Теперь все по порядку.
      В DeyZ  все просто, игровые сутки разделены на 2 части, 12 часов дня и 12 часов ночи (ночь с закатами и рассветами) функция serverTimeAcceleration отвечает за ускорение 12 часов игрового дня, а функция serverNightTimeAcceleration отвечает за ускорение вторых 12 часов ночного игрового времени, только с той разницей, что по умолчанию значение serverNightTimeAcceleration (ускорение ночи) умножается на значение serverTimeAcceleration (это очевидно, т.к. в реальности продолжительность ночи грубо говоря 8 часов, т.е. 1/3 от суток и уножение ночного ускорения на дневное выполняет это условие). По факту, ночное ускорение времени начинается в 18-00 игрового времени и заканчивается в 6-00 игрового времени (может там дает какое то значение время года, не проверял, но даже если оно и есть по сути оно не важно и будет максимум выражаться в минутах). Получается вы можете настроить продолжительность дня и ночи так, как вам удобно. 
      Теперь к расчетам, начнем со всеми любимыми 4 часами, допустим мы хотим что бы день был 3 часа, а ночь 1 час. Считаем:
      Всегда начинаем считать день, т.к  serverNightTimeAcceleration по дефолту умножается уже на известное число, итак.
      Так как у нас игровые сутки разделены на 2 части 12 часов дня и 12 часов ночи (с закатами и рассветами) то берем наши 12 часов от дневных игровых суток и делим их на 3 часа реального времени ( это то время, за которое у нас пройдет полный игровой день (без ночи) ) 12/3=4 вот мы и получили serverTimeAcceleration и он равен 4 (serverTimeAcceleration = 4), идем дальше и считаем множитель ночи, она у нас должна быть 1 (реальный час), делим вторые (ночные)  12 часов  на 1 час того времени (ночного) которое мы хотим получить, получаем 12 (что бы ночь прошла за час, она должна идти в 12 раз быстрее) соответственно 12/1=12 но тут вспоминаем то, что у нас ночной множитель, который  умножается на дневной,  т.к. мы идем расчетом от обратного, на нужно ночное ускорение 12 поделить на дневное ускорение 4 и мы получим 3 итого serverNightTimeAcceleration = 3.
      Пройдемся просто по цифрам 12/3=4 (день); 12/1=12/4=3 (ночь)
      Теперь посчитаем соотношение 2 часа дневного времени и 2 часа ночного времени: 12/2=6 (serverTimeAcceleration = 6) 12/2=6/6=1 (serverNightTimeAcceleration = 1). Надеюсь что вы поняли мои расчеты, если не так, то прикрепляю таблицу ехель в ней нужно вставить только нужные вам значение, остальное она сама все посчитает, надеюсь что она вам поможет.
      PS1:На всякий случай, все тесты делались с "serverTime="1979/10/22/06/00";"
       
      PS2: В serverDZ.cfg на оф сайте богемии, разделитель множителя с десятичным значением показана запятая, это не так, ставьте точку. Если вы этого не учтете, то движок возьмет целое число, т.е. если вы поставите serverTimeAcceleration = 4,8 (вместо точки запятую) то движок будет считать не 4.8 и не будет округлять до 5 а возьмёт целое число 4 и по факту дневное ускорение у вас будет 4 а не 4.8. С точкой все отлично, движок видит и понимает десятичное значение. Правильно serverTimeAcceleration = 4.8
       
      09.01.2023 г.
      Решил добить до конца вопрос и развенчиваю последний миф, времена года никак не влияют на продолжительность дней и ночей, оно всегда равно 12 часов день и 12 часов ночь.
    • Автор: Serdce
      Данный скрипт, меняет процесс ремонта вашей техники, делая её более логичней, как было в А2.
      Для замены колеса, на нужно собственно само колесо, и тд. и тп. 
      Подробный список чего и для чего вы найдёте в файлах.
       
      Итак, преступим!
      Я не автор, я всего лишь перевожу.
      Первоисточник - https://github.com/aussie-battler/Exilemod-Super-Advanced-Repair-System-SARS
      По ссылке выше скачиваем архив, распаковываем в удобное место.
      Распаковываем ваше миссию "Exile.ваша карта"
      Из архива копируем папку "Custom" в папку вашей миссии "Exile.ваша карта"
      Открываем ваш description.ext  в нем мы ищем showHUD[] = 
      и полностью меняем на это - 
      Далее открываем ваш - initPLayerLocal.sqf
      В этом файле, сразу после строки - if (!hasInterface || isServer) exitWith {};
      Мы добавляем 
      //Bones Super Advanced Repair System (SARS)
      Bones_fnc_salvageAndRepairMenu = compileFinal preprocessFileLineNumbers "Custom\advancedRepair\Bones_fnc_salvageAndRepairMenu.sqf"; 
      Далее открываем ваш - config.cpp
      В нем мы ищем - class Car
      Внутри этого класса мы ищем
       
      И меняем на 
      Так же далее чуть ниже - class Air
      В нем мы также меняем это
      На это 
       
      Далее для если у вас есть Infistar!
      Распаковываем ваш инфистар и открываем его конфиг.
      В нём ищем     KCM = "true"; /* Just close ALL CommandingMenus */
      И меняем значение на false
      Чуть ниже в строке allowedCommandingMenus
      Мы добавляем  "#USER:ASL_Show_Repair_Options_Menu_Array"
      Ну вот и всё готово, всё сохранили и запаковали как было!
       
    • Автор: fedotovyasha
      Хочу немного изменить сообщения перед отправкой клиенту
    • Автор: fedotovyasha
      Пишу свой лаунчер на c#. Скачал клиент в котором был loader.exe. С ним работает норм, но я хочу без него запускать игру. Как это сделать? (Пиратка)
    • Автор: Miduznya
      Собственно как, как отключить battleye на сервере античит

      параметр BattlEye=0; не работает я так понял 
  • Наш выбор

×
×
  • Создать...

Важная информация

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