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

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


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

Gun12

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

Добавлю тебе сомневалок/добавлялок относительно именно игрового LUA для Сталкера.

На практике, при обращении к файлу есть еще некий промежуточный (а может просто дополнительный) этап, который приводит к появлению копии таблицы считанного файла в таблице 'db'. Вот как и для чего туда попадает копии таблиц скрипт-файлов - не ясно.

Но, не имея информации как удалять занесенный в глобальный массив модуль, например после 'prefetch("my_script_name")', можно воспользоваться по сути некоей копией '_G', находящейся в 'db', и уже в ней 'ручками' удалять (приравнивая к nil'ам) и/или проверять наличие.

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Artos

Пусть и углубились. Для людей будет повод задуматься и начать понимать (изучать) то, о чём мы говорим :)

Дальше по сути.

Как? добавить копии - не проблема. А вот для чего? Если очень нужно, то можно ПОвыяснять.

Единственное что мне не понятно - для чего тебе нужно удалять занесенный в глобальный массив модуль?

Но в любом случае интересно и об этом подумать.

 

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

Gun12

'как и для чего' - это скорее имеет познавательский интерес, чем практический (хотя кто знает ...)

 

Больше интересует не 'как добавить копию' (это эмпирически у всех получается), а как отключать корректно модули.

Причин для применения возможности отключения требуемого модуля (скрипта) можно назвать немало.

Например, при использовании опциональных настроек для модов.

В простых случаях, когда можно использовать внутренние переменные, которыми и управлять опционально - понятно. Но если на данный модуль ссылаются и другие модули, используя из него информацию - уже требуется или новые глобальные опциональные переменные или - просто отключать/включать модуль.

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

 

Дозагрузка или отключение схем поведения, которые и ресурсы съедают и влияют - уже более актуально. В подземельях, к примеру, не разумно иметь включенным, например, присутствующую и в оригинальной игре схему 'xr_heli_hunter.script', о динамических кострах иль иных 'поверхностных' модулях - можно и не упоминать.

И т.д.

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

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

кто подскажет где находится файл отвечающий за башню бтр в народной солянке, тоесть ее скорострельность, партиклы, скорость поворотаи тд?

S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1

Vkontakte

Добавление нового транспорта в сталкер

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

saruman_ten

config\models\vehicles\ Там посмотри файлы про БТР, его параметры, в том числе и башня, будут там. Углы поворота башни - зашиты в модели. По поводу оружия - его секция прописана там же, посмотри какая, и ее поищи в папке weapons

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

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

Kirag, нашел сам, я сейчас на основе бтр хочу сделать стреляющим, танк из сборки 22ff,

насчет угла поворота не уверен, в модели нет не какого джоинта у башни

Изменено пользователем saruman_ten

S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1

Vkontakte

Добавление нового транспорта в сталкер

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

saruman_ten, не могу понять с чего ты решил что в модели нет джойнта башни. Их аж 3.

mashine_gun_tower - сама башня.

mashine_gun - дуло

mashine_gun_fire_point - точка откуда воспроизводится партикл.

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

Вопрос на засыпку: почему, несмотря на то, что у НПС стоит появление только после выдачи инфопоршня, он спавнится сразу после начала игры?

Вот созданная секция в алл.спавн:

[9971]

; cse_abstract properties

section_name = stalker

name = morda_26

position = -132.15274047852,-0.20062898099422,-223.84744262695

direction = 0,0,0

 

; cse_alife_trader_abstract properties

money = 100000

character_profile = morda_26

 

; cse_alife_object properties

game_vertex_id = 553

distance = 3.5

level_vertex_id = 106939

object_flags = 0xffffffbf

custom_data = <<END

[smart_terrains]

agr_kidala_lager = true

 

[spawner]

cond = {+bar_deactivate_radar_done}

END

 

story_id = 351

 

; cse_visual properties

visual_name = actors\new_npc\army_1

 

; cse_alife_creature_abstract properties

g_team = 0

g_squad = 0

g_group = 0

health = 1

dynamic_out_restrictions =

dynamic_in_restrictions =

 

upd:health = 1

upd:timestamp = 0

upd:creature_flags = 0

upd:position = -132.15274047852,-0.20062898099422,-223.84744262695

upd:o_model = 0

upd:o_torso = 0,0,0

upd:g_team = 0

upd:g_squad = 0

upd:g_group = 0

 

; cse_alife_monster_abstract properties

 

upd:next_game_vertex_id = 65535

upd:prev_game_vertex_id = 65535

upd:distance_from_point = 0

upd:distance_to_point = 0

 

; cse_alife_human_abstract properties

predicate5 = 1,0,0,2,0

predicate4 = 2,2,1,2

 

; cse_ph_skeleton properties

 

upd:start_dialog =

 

; se_stalker properties

 

 

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

Карусель-карусель - это радость для нас, прокатись на нашей ка-ру-се-ли!
-=Krovosos Mod=- 4.0 Final для S.T.A.L.K.E.R. SHoC 1.0004 (336 Мб): Мод

Финальный патч для -=Krovosos Mod=- (1 Мб): Патч

Адаптация -=Krovosos Mod=- под S.T.A.L.K.E.R. SHoC 1.0006 (1 Мб): Адаптация

Ссылка на комментарий
ЙоЖеГ, я не это имел в виду, там просто нет лимитов, но они вроде для шейпа, я сейчас вместо бтр поставил танк, башня нормально поворачивается, но шейп остается на месте

S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1

Vkontakte

Добавление нового транспорта в сталкер

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

Что то никак не найду в какой папке находится звук жужжания прибора ночного видения, может кто знает, перерыл вроде все, а может что пропустил. :russian_ru:

 

Сообщение от модератора Cyclone
Файлы nv_loop.ogg (работа); nv_off.ogg; nv_start.ogg в папке sounds\weapons

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

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

Люди, подскажите пожалуйста, как исправить вылет такого вида и вообще на что именно он ругается?

Expression : !phrase_dialog->m_PhraseVector.empty()

Function : CPhraseDialog::SayPhrase

File : E:\stalker\patch_1_0004\xr_3da\xrGame\PhraseDialog.cpp

Line : 140

Description : No available phrase to say, dialog[bar_bar_barmen_start]

 

Ссылка на комментарий
Ulman, отсутствие фразы актора\НПС'а в диалоге bar_bar_barmen_start. Покопайся в нем, либо пропиши другой диалог НПС'у. Изменено пользователем ЙоЖеГ
Ссылка на комментарий

Ulman

Скорее даже не отсутствие фразы как таковой, а "нет ни одной фразы, которую можно сказать в данных условиях" Проверяй не только сами фразы, но и условия, в которых они могут произноситься - причина наверняка в них.

Как-то проломился телепортами, ни с кем квестовым не взаимодействуя, до дикой территории, где этот ученый (не помню как его, спасать надо) - вот там наймов пострелял, обратился к ученому с разговором и такое поймал...

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

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

Подскажите пожалуйста об увеличении спавна монстров на локациях.

Мое предположение: открываю config/scripts/назв. локации.ltx и там поднимаю max_count и max_spawn? Если да, то в каких пределах? (и еще могу подкрутить время спавна, чтобы чаще и больше?) И! не вызовет ли это каких нибудь глобальных расстройств в игре?

 

И скажите, какой файл отвечает за количество спавнящихся врагов-людей на локациях? А то скучно с 4мя наемниками на стройке в ДТ

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

reboot, Количество находящихся на той, или иной локации монстров и(или) нпс, напрямую зависит от емкостей смарт_террейнов, находящихся на требуемой локации. В свою очередь, ёмкости смарт_террейнов всегда меньше, или равны количеству заданных работ, назначенного гулага, в тот, или иной момент времени (зависит от временных настроек гулагов).

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

Опаа-а!!! Ливер вылез!

Ссылка на комментарий
singapur22, хорошо, буду изучать, но взять хотя бы монстров в АМК: во всех файлах логики прописана их НЕ принадлежность к гулагам (smart_terrains none=true), из чего я сделал вывод что возможно увеличение численности... ладно, буду экспериментировать.
Ссылка на комментарий

reboot,

но взять хотя бы монстров в АМК: во всех файлах логики прописана их НЕ принадлежность к гулагам (smart_terrains none=true
Это уникальные нпс. После их смерти, они не перевосполняются. И в итоге, после их смерти, общее количество нпс вернётся к установленым ёмкостям смартов.

Чтобы увеличить объём Зоны в плане количества нпс, нужно манипултровать именно смарт_террейнами и их гулагами.

Изменено пользователем singapur22

Опаа-а!!! Ливер вылез!

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

singapur22, нет нет, пардон, в сообщ. 7196 я говорил именно про монстров, а не про нпс. Например открываем config/scripts/amk/rostok.ltx, там видим

[ros_zomb1]
xyzlg = -254.38,-5.89,88.77,8335,1382
respawn_section = zombie_normal,33,zombie_trup,33,zombie_trup2,33,zombie_blow,30
max_count = 1
min_spawn = 1
max_spawn = 1
creature_binded_logic = logic\ros_zomb1
idle_spawn = 259200

Из данного кода я понимаю, что через каждые 259200 секунд в точке x y z будет заспавнен максимум 1 зомби.

Неверное обобщение, 'idle_spawn' задает минимальное время (паузу) между спавнами, но ни как не делает спавн обязательным.

Правильнее будет: не ранее чем через XXX секунд в точке (x,y,z) может быть заспавнен монстр (не менее 1 и не более 1).

--/ Artos

 

видим ссылку на логику ros_zomb1

[smart_terrains]
none = true

[logic]
active = mob_home

[mob_home]
path_home = ros_zomb1
home_min_radius = 1
home_max_radius = 10
on_signal = sig_attacked | mob_combat

[mob_combat]
on_timer = 30000 | mob_home

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

 

И я думал, что можно увеличить значения max_count и max_spawn, чтобы спавнилось хотя бы 2 зомби, а не 1. Верно я говорю?

Или мои понятия о гулагах хромают сильно.

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

 

Пиши грамотнее, не забывая о заглавных буквах! --/ Artos

Изменено пользователем Artos
Ссылка на комментарий

reboot, в его логике написано, что у него есть моб_хоум, называеться ros_zomb1, и гулять он будет в радиусе 10 метров в данном хоуме, а не по всей локации.В свою очередь ros_zomb1 прописываеться в all.spawn.

Параметр max_count это параметр максимального количества заспавненых монстров за один цикл спавна.

параметр min_spawn и max_spawn являються счетчиками для минимального и максимальног спавна.

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

Изменено пользователем panzyuza
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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