Перейти к контенту

Исправление респавна


Kolmogor

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

Исправляет респавн людей и монстров оригинальной игры.

В ней при каждой загрузке и смене уровня респавнеры инициализировались заново и соответственно происходил спавн

 

В этой версии сохраняется время следующего респавна, поэтому при загрузке и смене уровней новых монстров не появляется

 

Меняется всего лишь один файл se_respawn.script

 

Ссылка на ifolder исправленный спавн

 

исправленный спавн на webfile.ru

 

Проверил на NLC+НС3 и на народной солянке, но думаю можно ставить и на чистые AMK, NLC и другие солянки

 

 

на всякий случай по поводу времени респавна:

если у вас стоит idle_time:setHMSms( math.random(36, 48), 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)

в игре это будет в среднем 3.5 суток для людей(стандартные респавны) и 2.5 суток для амкашных респавнов(тушканчики и прочая нечисть)

 

Вот эта часть math.random(self.idle_spawn_min, self.idle_spawn_max)*1000

на самом деле для стандартных респавнов составляет 2 суток

Время задается в начале se_respawn.script в массиве local idle_spawn_preset. Большинство респавнеров использует medium - а он равен 2 суткам

 

У амкашных начать с файла amk_respawns.ltx - в основном сутки

 

Это я все к чему: я еще в первые сутки как правило зачищаю кордон и ухожу на свалку - то есть Кордон будет пустой еще 2 суток

Надо или так:

idle_time:setHMSms( math.random(36, 48), 0, 0, 0)

или выправив параметры респавнеров оставить как было в оригинале

idle_time:setHMSms( 0, 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)

 

---------------------------------------------------------------------------------------------------------

 

Также исправлен страшный и ужасный конец месяца

Выбросы через месяц не заканчиваются.

Теперь тем кто любит неторопливую игру никуда не надо торопиться :)

 

меняется файл amk.script

 

исправленный конец месяца для народной солянки на webfile

исправленный конец месяца для народной солянки на ifolder

 

исправленный конец месяца для чистого АМК 1.4.1

исправленный конец месяца для NLC 5.08

  • Полезно 2

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


Ссылка на сообщение
Всего 1 вопрос. Спавн Свалка - Ангар исправит?!

Честно говоря хз

у меня там никогда не было много народу

Но я честно вырезал всю свалку - 2 суток никого не было

 

Если будет сейв где бешеный спавн - то могу проверить точно

 

Заметней всего это на тушканчиках :)

Теперь они не появятся при загрузке игры, а честно дождутся пока пройдут сутки

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


Ссылка на сообщение
На Webfile пожалуйста.

добавил в шапку

 

вопрос

исправляет ли этот мод то что я убью кровососа сейвонусь потом сдохну в аномалии(к примеру) потом загружаю сейв тут лежит убитый сосыч и рядом бегает ешо 1?

думаю да

на кровососах не проверял - проверял на тушканчиках :))))

тушканчики не появляются

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


Ссылка на сообщение
Можно ли отключить этим файлом весь респаун полностью?

в смысле?

чтобы были в зоне только ты и торговцы с квестодателями?

квесты с запчастями монстров тогда не сдашь :)

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


Ссылка на сообщение
Так, судя по шапке, проблема 5 июня решена?! :o

ну я дожил до середины июня выбросы и сообщения приходили

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

 

если хочешь можешь проверить: забэкапь сейв и amk.script и попробуй

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


Ссылка на сообщение
Два вопроса - на АМК 1.4 не пробовал ? А то я живу на 1.4 (1.4.1 тодже есть, но и 1.4 не хочу бросать - почти все арты уже варить умею... B) ) Или подскажи, что ты конкретно добавлял/исправлял в файле. Если хочешь, в личку. И второй вопрос - ну выбросы-то - корнеплод жгучий с ними, меня в проблеме 1 июня жутко бесило отсутствие сна неделями... :angry: Сон возвращается ? :lazy3:

сон тоже возращается

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


Ссылка на сообщение
Два вопроса - на АМК 1.4 не пробовал ? А то я живу на 1.4 (1.4.1 тодже есть, но и 1.4 не хочу бросать - почти все арты уже варить умею... B) ) Или подскажи, что ты конкретно добавлял/исправлял в файле. Если хочешь, в личку. И второй вопрос - ну выбросы-то - корнеплод жгучий с ними, меня в проблеме 1 июня жутко бесило отсутствие сна неделями... :angry: Сон возвращается ? :lazy3:

 

добавил в шапку для чистого АМК, но не проверял(даже не запускал)

забекапь сейвы на всякий случай

 

у тебя сейчас какое число в игре?

отпишись тогда как все прошло

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


Ссылка на сообщение
Гррр... :angry: АМК 1.4.1 + 2 патча ты имеешь в виду под чистым АМК ? Бэкап я, понятно, сделаю, и амк-скрипта, и сейвов. Вот только как это дело под 1.4 заточить... :(

 

Точно не помню, недавно отмечал 22 июня... ;)

Я почему-то про 1.4 не подумал :unsure: написал в личку

 

2Kolmogor

Неплохо бы название темы сменить по такому поводу, разрешение этой проблемы с течением времени - замечательнейшая вещь!

хотел, но не умею название темы менять :(

 

Щас OGSM231 заканчиваю, вышел во фриплей. Хотелось бы по завершении всех новых заданий добавленных во фриплее, на прощание произвести зачистку всех обитателей зоны.

в файле se respawn.script

в функции function se_respawn:create(prob) в самом начале поставь return

должно выглядеть так:

function se_respawn:create(prob)

return

 

Тогда у тебя респавнеры будут работать - но никто не заспавнится

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


Ссылка на сообщение
Странно поставил исправления спавна и таймера на АМК 1.4.1 + 2 патча + НЛЦ + НС3 + Арсенал, при загрузке сейва вылет без лога. Новую не пробовал так как все равно заново не буду начинать уже оч много прошел. Кто-то питался поставить это поверх тех модов что у меня?

исправление спавна можно ставить поверх любых модов. Исправление затрагивает файл se_respawn.script, в котором моды изменяют только время и все.

А вот исправление времени лучше добавлять сравнивая файлы, так как в amk.script многие моды добавляют что-то свое

Если откатиться назад вылет исчезает?

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


Ссылка на сообщение
Действительно,хотелось бы узнать конкретные строки в файле "amk.script" исправляющие конец месяца

...файл большой - сличать лень :)

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

главная проблема: функция level.get_time_days() возвращает день месяца, то есть в следующем месяце по-любому начнется с 1. Плюс вроде были еще какие-то малопонятные глюки после 24 числа.

 

Я в файле amk.script заменил выражения с level.get_time_days() на выражения с diffSec(возвращает разницу в секундах)

 

Что изменено/добавлено:

- в начале файле добавлена переменная local StartTime

- в функции g_start_timer(name,delay_d,delay_h,delay_m,action)

строчка

local time = level.get_time_days()*60*24+level.get_time_hours()*60+level.get_time_minutes() --time in game minutes

заменена на

local t = game.get_game_time()

local time = math.floor(t:diffSec(StartTime) / 60) --time in game minutes

 

- в функции __g_timer_found(idx)

строчка

local gtime = level.get_time_days()*60*24+level.get_time_hours()*60+level.get_time_minutes() --time in game minutes

заменена на

local t = game.get_game_time()

local gtime = math.floor(t:diffSec(StartTime) / 60) --time in game minutes

 

- и в конец функции function on_game_start()

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

local strTime = system_ini():r_string("alife", "start_time")

local t = str_explode(":", strTime, true)

local d = str_explode(".", system_ini():r_string("alife", "start_date"), true)

StartTime = game.CTime()

StartTime:set(d[3], d[2], 1, 0, 0, 0, 0)

local temp = game.CTime()

temp:setHMS(24,0,0)

StartTime = StartTime - temp

 

Позже обнаружил что надо править еще другие файлы: эта функция(level.get_time_days()) используется в amk_offline_alife.script и вроде в расчете алкоголизма.

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


Ссылка на сообщение
народ выложите ссылку если кто подгонит что бы работало НЛЦ+НС3

потому что нече оно не работает

сделал для НЛЦ + НС3

не проверял, так как места хватает только на ЧН

отпишитесь, пожалуйста, кто поставит - работает или нет

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


Ссылка на сообщение
работает, а подгони плиз под НЛЦ+НС3 и респ :)

он точно подо все подойдет :)))) по крайней мере вылетов не будет

а время респавна сам можешь подправить, на какое нравится

И вроде он должен идеально к НЛЦ+НС3 подходить - у меня когда я его делал - вроде как раз НЛЦ+НС3 стояло :)))

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


Ссылка на сообщение
о все путем, работает, а какой параметр отвечает за время спавна?

для начала замени строчку idle_time:setHMSms( math.random(36, 48), 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)

на idle_time:setHMSms( math.random(36, 48), 0, 0, 0)

 

math.random(36, 48) - означает что следующий респавн будет через время от 36 до 48 часов.

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


Ссылка на сообщение
у меня такой строки нету есть вот такие:

 

-- idle_time:setHMSms( 0, 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)

idle_time:setHMSms( math.random(12, 24), 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)

self.respawn_time = now + idle_time

строку idle_time:setHMSms( math.random(12, 24), 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)

замени на idle_time:setHMSms( math.random(12, 24), 0, 0, 0)

тогда у тебя респавн будет через 12-24 часа

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


Ссылка на сообщение
Kolmogor, правка респавна будет работать на ЧН?

В ЧН не прокатит, там респавнеры вообще не используются. Спавнятся сквадами под задачу захвата/защиты точек

Файл можешь тот что в шапке положить в ЧН - ни вылета, ни результата не будет

 

Для начала попробуй изменить/добавить в файлы gamedata\configs\misc\faction_*.ltx параметр respawn_idle_time

Он отвечает вроде за доспавн сквадов - но может и на спавн повлияет.

 

Сейча он у многих группировок не задан, то есть берется по умолчанию = 30 игровым минутам.

задан например для чистого неба в файле faction_csky.ltx тем же самым 30 минутам

Можешь начать с него и увеличить время. Если поможет, то и другим сделай

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


Ссылка на сообщение
к примеру в файле faction_bandit.ltx нет параметра respawn_idle_time, но есть секции [spawn_by_resource] и [spawn_by_level] и эти секции есть во всех faction_***.ltx, возможно они влияют на респаун групировок? И есче, откуда все же задается параметр по умолчанию = 30 игровым минутам? ведь в принципе достаточно для спокойного прохождения установить этот параметр на 1-2 игровых суток для всех. Посмотри если не трудно bind_respawn.script, может этот скрипт влияет?

параметр по умолчанию задается вроде в sim_faction.script - там происходит считывание конфига группировки

поищи в папке scripts в файлах строку respawn_idle_time

 

[spawn_by_resource] и [spawn_by_level] в этих сециях задается каких НПЦ спавнить в зависимости от наличия ресурсов и уровня группировки

это не нужно :)

 

еще можешь посмотреть squad_number - это по-моему наиболее реальный параметр - как я понимаю это количество отрядов - вот его и надо уменьшить :)

 

вообще разъяснение всех параметров есть в скрипте, который считывает их из конфига - выше уже писал как найти этот скрипт(и вроде это sim_faction.script)

 

Сейчас ЧН не стоит, поэтому только советом могу помочь :)

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


Ссылка на сообщение
2Kolmogor

 

Распиши пожалуйста значение параметров в faction.ltx

Сейчас пытаюсь настроить войну талкеров с бандюками. меняю параметры, но пока в слепую. Не понятно, что откуда вытекает.

посмотри файл faction_csky.ltx, в нем есть комментарии

да и названия параметров говорящие

Лучше напиши, что тебе непонятно

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

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