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

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


Halford

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

Поиском вроде прошёлся, первый пост изучил, но конкретно моего вопроса не нашёл, увы.
Итак, меня которую игру подряд слегка утомляет такая фигня, что при встрече отрядов "Долга" и "Свободы" последние практически всегда дохнут полным составом, ибо 9*39 - это вам не шутки решил я уравнять слегка шансы, но так, чтобы не трогать конфиги пукалок и боеприпасов. А так как я достаточно давно добавил адаптацию Арсенал-мода для АМК 1.4.1, то решение пришло само - раздать новые стволы неписям. И разнообразия добавится, и кого-то из свободовцев в экзе можно вооружить всамделишными лупомётами: МГ-42, МГ-3, ПКМ. Глядишь и шансы какбэ уравняются.
Полез я значит в gameplay чтобы по локациям раздать стволы народу (я вообще решил заодно гопников усилить, ибо отстреливать их стало скучно). Ну ок, разобрался где там ружбайки выдаются - замечательно же, выдал почти везде, но вот незадача, в файле для припяти нет ни долга, ни свободы. Не, ну правда, а ведь они появятся там - и будут друг дружку истребялять. Ну ок, я рассудил так: раз есть достаточно крупный файл character_desc_simulation.xml и вроде ни за какую локацию он не отвечает, то, видимо, рандомные группы формируются из него. Попробовал сначала эксперимент поставить на кошках наёмниках - и проканало вроде. Но я пока что какбэ не уверен в назначении этого файла. Так что первый вопрос: а за что отвечает этот самый character_desc_simulation.xml?

Ну и скролля шаблоны в этом файле натолкнулся на такую строчку:

wpn_ak74u = 1, 0, 1, 0 \n

Ну с названием ружбайки всё понятно, а вот что за цифери стоят потом? За что они отвечают? Так как в аналогичных строках для другого оружия я встречал только 1 и 0, то предполагаю, что каждая цифра означает наличие/отсутствие чего-либо. Но нигде в каментах к файлу я не обнаружилописания этих переменных. Причём иногда эти цифры не ставятся. Так что подскажите, камрады.
И решусь задать ещё один вопрос - он ко мне пришёл прямо сейчас, так что по его поводу я ничего не искал.
Вот раздобыл я кучу ружбаек разных в процессе игры. Мне стало скучно и пошёл я на Кордон, ну чтобы пацанов из Лагеря Новичков норм вооружить значит. Затарился патронами нужными, чтобы неписи могли ружбайки юзать, броников набрал кучу. 300 кг между прочим в рюкзаке потащил в кустюме специальном. Приношу, раздаю броники так, чтобы новый пнджак был дороже, чем старый у чувака. Отбегаю, он применяется - и вот ужо у костра сидят: долговец, свободовец, вояка и монолитовец, ну и базарят - красота да и только. Один только чувак в белой куртке так и не сменил одёжку, при этом его ранг уже был "мастер" на момент раздачи. Чому так произошло? Но это не главный вопрос, ибо всё интереснее стало, когда я пукалки начал раздавать. Чуваки, вооружённые "калашами", новыми ружбайками, даже "грозой", отказываются пользоваться. Просто оставляют в инвентаре. Более того, через несколько дней количество юзеров АК-74 только увеличилось. Ситуация такая, что когда НПС получает "калаш", то он тут же ставит оную бабаху в слот, если есть нужные патроны, а предыдущую пукалку выбрасывает в инвентарь. Я предположил, что на каждой локации, или для каждого типа НПС есть свой приоритет по оружию, причём цена ствола роли не играет. Так вот, где прописаны эти параметры и насколько глобально они влияют на поведение НПС?

Ну вот как-то так. Если пропустил ответы в выдаче поиска, то ткните, пожалуйста носом, но больно не бейте :)

 

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


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

Я пока что отпишусь сюда, так как вряд ли это проблема чистого АМК.
Буквально вчера накатил АИ-пак, ссылка на который была дана выше. Одну проблему решил сам, но вот вылезшую фигню при первом проходе Припяти несу сюды:
 

FATAL ERROR
 
[error]Expression    : vertex || show_restrictions(m_object)
[error]Function      : CPatrolPathManager::select_point
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\patrol_path_manager.cpp
[error]Line          : 155
[error]Description   : any vertex in patrol path [pri_wave2_rsniper_2_walk] in inaccessible for object [pri_wave2_monolith3_rsniper2]
 

stack trace:

Была ещё парочка логов, подобных этому, но там менялись только номера снайперов. Дальность видимости в игре уменьшал, но проканывает только тогда, когда идёшь совсем уж позади основной группы прорывающихся, а в этом случае остаётся только "лут" собирать с убиенных. Стоит приблизиться к основной группе и при появлении очередного снайпера на крыше происходит вылет. Я так понял, что где-то для каких-то НПС заданы неверно координаты перемещения? Либо это попытки снайперов сорваться убежать/подлечить раненого/скосплеить камикадзе. Может кто пояснит какой файл править или как безболезненно отключить на время какое-то поведение? Может даже пошагово... :) Если вернуть старую геймдату, то сейвы не грузятся с матом на

FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : CInifile::r_section
[error]File          : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp
[error]Line          : 342
[error]Description   : <no expression>
[error]Arguments     : Can't open section 'rx_attach_bandage'
 

Но в действительности хочется решить траблу без отключения АИ-пака, ибо намного веселее с ним.

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

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

! Invalid ogg-comment version, file:  d:\spl\stlk_weapon\gamedata\sounds\weapons\sd\nato_sd.ogg
! Unknown command:  mil_stalker_respawn_223607
 
FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: d:\spl\stlk_weapon\gamedata\scripts\mon_trade.script:429: attempt to index field 'target' (a nil value)
 

stack trace:

Видимо кто-то кому-то чаго-то не могёт продать. Важно: строка в скрипте не 429 а 427! Просто я при поиске проблемы сделал так:
 

 

Также может быть причина в том, что в логике у какого-то АИ что-то неправильно указано. Для исправления рекомендую вставить строчку перед 116: get_console():execute(self.object:name()). То имя в логе, которое будет последним после вылета, указывает на персонажа с кривой логикой.

А перед вставляемой строкой сделал камент для себя - чтобы запомнить место и причину вставки. Так что в исходном скрипте строка 427.

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

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


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

@UnLoaded,

Оно конечно неплохо и в аллспавне поковыряццо, но это ж новую игру придёццо начинать после правок, не? Хотелось бы не так радикально, ибо если данная проблема проявилась после установки пака, то значит где-то что-то добавилось в точки маршрута и для этих юнитов. Может проблема подобная Выбросу на Припяти, ну когда неписи должны бежать в укрытие, а снайпера этого сделать не могут, увы?

 

@Карлан,

Подробнее можно по поводу решения? Я в скрипты стараюсь не лезть, так как их не особо понимаю. Конфиги как-то понятнее :)

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

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


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

@Карлан,

Давай про прекондишны и прочие заумные вещи подробнее, если не затруднит? Я пока вообще слабо представляю что, куда и зачем добавлять. Если это где-то уже описано, то можно ссылку? Ну или как в движке что-то отключить. Нехай себе непись не может куда-то пройти - её проблемы :)

  • Нравится 1

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


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

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