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

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


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

Господи, неужели свершилось? А ведь говорили, что ошибка таймера не лечится. Теперь хоть можн не париться про время, проведенное в Зоне и считать дни. Поставил всю эту радость на 1.4.1+НС3+Арсенал, сейвы грузятся. Надеюсь, вылетов не будет, забекапил на всякий скрипты оригинала.

P.S. ТЕМУ В ШАПКУ! Ибо таймеры - воистину эпический фикс.

Ссылка на комментарий

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

Ссылка на комментарий

Ты файлы тупо перезаписывал или объединял путём добавления нужных строчек? Если тупо перезаписывал, то это тупо. У меня стоит 1.4.1 + НС3 + Тирексовы стволы, ещё кое-какие мелочи, и таки всё работает.

Ставить надо с умом...

Знаю, люблю и уважаю олбанский езыг.

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

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

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

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

Ссылка на комментарий

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

Ссылка на комментарий
Извините если не в тему но все равно - никто не подскажет как усилить спавн монстров, что нибудь типо скриптового спавна как был у нейтрино или получше что нить, а то как то хоррора не хватает в 1.4.1 - в 1.4 порой было прикольно - может есть тема форума какая нибудь про это, я попробовал поискать и не получилось - заранее спасибо!

А ты в чистый НЛС без правленного спавна играй - там спавн - закачаешься...


256 символов
Ссылка на комментарий
Стоит 1.4.1 + NLC, нс3 под 5 патч - всё в порядке

 

Можешь скинуть amk.script? Либо скажи какие строки в код вставить (и куда), т.к. простая замена файлов ведет к вылетам.

 

Стоит Игра+патч 1,0005+AMK 1.4.1+Оба патча к нему+NLC, нс3 под 5 патч (тот что одним архивом)+wpn_fn2000_sniper для НС3 к NLC5 на 5 патче. Вроде все

 

Автору спасибо!

Ссылка на комментарий
Действительно,хотелось бы узнать конкретные строки в файле "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 подходить - у меня когда я его делал - вроде как раз НЛЦ+НС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( 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 часа

Ссылка на комментарий
строку 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 часа

 

угу спасиб теперь вкурил:)

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

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