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

Внимание. На форуме проводятся технические работы с боковым меню.

_Val_ _Val_

[SoC] Ковыряемся в файлах


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

@DarkSnowder , сам бы хотел знать. Но там формула расчёта поди в движок запрятана. Разве что НПС всем поделить ранги на 10, но это костыль.

@Капрал Хикс то что формула заныкана в движок - это я и так знаю

вопрос в другом - где прописаны показатели повышения ранга НПС в момент их привязки к смарту?

08.10.2024 в 20:02, Капрал Хикс сказал:

[error]File          : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp
[error]Line          : 804 - тут скорее всего 815 должно быть, у меня движок правленый X-ray extensions.

После включения префетча звуков такой вылет был, пока не заменил скобки [[ на ", в sound_theme.script (во всех ph_snd_themes).

 

08.10.2024 в 16:25, Balavnik сказал:

Можно ли выносить секцию [spawn] в ltx-файл?

inc-primer.jpg

Можно выносить кастомдату любых объектов. Работает во частях трилогии.

 

10 часов назад, DarkSnowder сказал:

где прописаны показатели повышения ранга НПС в момент их привязки к смарту?

smart_terrain.script, se_smart_terrain:update_obj_rank и game_relations.ltx, [smart_terrain_rank_change]

 

10.10.2024 в 17:57, Sikorskyi сказал:

В чистом ТЧ 1.0006 есть такой баг, как "косые сталкеры", когда нпс целятся в бок, угрожая гг.

В state_mgr.script, function state_manager:set_state

Находишь ориг. блок кода:

		if state_lib.states[self.target_state].movement ~= move.stand and
		   state_lib.states[state_name].movement == move.stand
		then
			self.npc:movement_enabled(false)
		end

и меняешь его на:

		if state_lib.states[self.target_state].movement ~= move.stand and
			state_lib.states[self.target_state].animation ~= nil and --'исправление анимации нпс при наведении оружия на игрока
			state_lib.states[state_name].movement == move.stand
		then
			self.npc:movement_enabled(false)
		end 

 

  • Нравится 1
  • Полезно 3
2 часа назад, DarkSnowder сказал:

где

Да там же в движке, судя по всему. По слову rank искать в исходниках.

6 часов назад, h0N0r сказал:

Работает во частях трилогии.

Можно рабочий пример? Именно чтобы было

08.10.2024 в 16:25, Balavnik сказал:

выносить секцию [spawn] в ltx-файл

Все части не интересны. Интересно для ТЧ. Оригинального или модиф. И какая тогда модификация?

@topdog , 

11 часов назад, h0N0r сказал:

Можно выносить кастомдату любых объектов

Кастом-дата - это часть данных объекта, где и пишутся секции spawn, logic и прочие. Прописывая инклуд в кастом дате, ты создаёшь из неё ссылку на файл, в котором ты и можешь теперь написать всё, что тебе надо, то есть, spawn, logic, spawner, и т.д. Единственное, не знаю, этот инклуд читается игрой относительно папки spawns, или относительно папки config(s).

  • Спасибо 1
  • Нравится 1
  • Полезно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Привет, всем.

Использую таймеры из набора lua_helper+m_netpk+m_timers+se_stor_(Artos)

Кто соображает, как работать с циклическим таймером?

Вот из readme:

start_multi_timer(3*60, nil, {tip = {nil, "tip_MG"}, log = "tip_MG"},true) --/ 120 game-minutes + tip + log + cyclical

Как указывать игровое время? 3*60 = 120 минут игрового времени? Или тут ошибка/опечатка?


 

Вопрос о повторяющимся проигрыванием схемы снимается. Всему виной путаница с временем в описании.

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

Где хранится информация о загрузочных экранах локации? Как сделать меняющиеся intro?

Жить стало лучше, жить стало веселей. А когда веселей живётся, то работа скорится.

img.php?nick=Balavnik&sert=2&text=t6

20 часов назад, UriZzz сказал:

Как указывать игровое время? 3*60 = 120 минут игрового времени? Или тут ошибка/опечатка?

Опечатка. Первым параметром в данной функции идут игровые секунды, поэтому 3*60 - это 3 (три) игровые минуты.


 

10 часов назад, UriZzz сказал:

Но почему схема проигрывается дважды?

Таймер start_game_timer( XXX, "m_amk_weather.blowout_main" ) с разными значениями тайминга XXX запускается и в blowout_start() и в самой blowout_main() - тут не может быть пересечений? Больше ни за что взгляд не цепляется. Ну разве что сам выброс может длиться суммарно почти 30 минут, и тогда следующее срабатывание мультитаймера практически накладывается на конец выброса.

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

 

Update: Ну да, так и есть, если я правильно подсчитал. Все шаги выброса срабатывают у тебя последовательно и без пропусков, при этом сумма таймеров в шагах с 1 по 6 даёт ровно 30 игровых минут. Ровно столько, через сколько срабатывает мультитаймер запуска следующего выбора.

  • Спасибо 1
  • Нравится 2

Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD

Полезное: модули Артоса, XML парсер

1 час назад, Купер сказал:

Похоже, вычитывается непосредственно движком при загрузке уровня.

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

  • Согласен 1
12 часов назад, Kirgudu сказал:

Ну да, так и есть, если я правильно подсчитал. Все шаги выброса срабатывают у тебя последовательно и без пропусков, при этом сумма таймеров в шагах с 1 по 6 даёт ровно 30 игровых минут. Ровно столько, через сколько срабатывает мультитаймер запуска следующего выбора.

Именно так. Меня ввёл в заблуждение пример использования циклического таймера. Сейчас всё в норме, вроде.

  • Нравится 2

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

колееги, есть вопросец

 

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

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

if gulag_type == "gen_vnz_lager" then
        return npc_community == "monolith"
    end

есть ли возможность по одному поршню менять группировку, которая может заселять лагерь, а после возвращать прежнюю?

В какой момент Толик выводится в онлайн? В gulag_escape конкретного места не нашёл.

Жить стало лучше, жить стало веселей. А когда веселей живётся, то работа скорится.

img.php?nick=Balavnik&sert=2&text=t6

Цепочка вызовов: [xr_gulag.script] gulag:initialize –> gulag_tasks.loadStates –> load_states по каждой отдельной локации.

 

Как выполняется обновление состояния уже созданного лагеря, где Толик пребывает в оффлайне?

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

if type == "esc_corps" then
        return function(gulag)
            if has_alife_info("tutorial_wounded_start") then
                return 1
            else
                return 0
            end
        end
    end

 

След от кругов на воде - это тоже след (с)

Я нашел только один вызов, при создании лагеря. Где именно у лагеря выполняется апдейт?

В движке упоминаний load_states или loadstates нет – по крайней мере, в [xrGame].

  • Согласен 1

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

@Norman Eisenherz Предложение есть -  вставить туда отладочный вывод. И будет, как минимум, понятно, с какой частотой обновляется/не обновляется проверка состояния. Один раз оно вызывается, или все же нет.

След от кругов на воде - это тоже след (с)

Судя по логу, 1 раз вызывается.

Жить стало лучше, жить стало веселей. А когда веселей живётся, то работа скорится.

img.php?nick=Balavnik&sert=2&text=t6

lvid/gvid изменяются только при добавлении уровней/переделки геометрии уровня? Или существует другие случаи?

Жить стало лучше, жить стало веселей. А когда веселей живётся, то работа скорится.

img.php?nick=Balavnik&sert=2&text=t6

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

Комментарии могут оставлять только зарегистрированные пользователи

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

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

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

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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