Перейти к содержанию

Помогите обездвижить людей в городах


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

Играя в Fallout 2, я заметил, что в некоторых городах часть NPC постоянно ходит и бегает туда-сюда. Понятно, что сделано так было с целью реалистичности, но по факту многие люди забредают в самые дальние места локаций или попросту утыкаются носом в угол.

 

Поискал модификации на эту тему, но ничего не нашёл. Понял, что проще будет самому влезть в файлы игры, дабы поубирать скрипты на случайное передвижение у нескольких десятков NPC, но... Тут-то я и понял, что понятия не имею какие файлы отвечают за подобное и чем их редактировать. Поэтому хотелось бы попросить кого-нибудь привести пример редактирования для одного такого "бродячего" NPC, чтобы я понял суть процесса. Ну а дальше буду сам всё делать, естественно.

Skype: Avatar-Lion E-Mail: Avatar-Lion@Mail.Ru Telegram: +7 (916) 691-69-58
Ссылка на комментарий

 Дик

Навскидку:

1) В Клэмате я в своё время заманался искать собаку с ключом. Уже не помню почему я не смог ключ у того перца в Траппер Тауне взять, но сам факт мне запомнился надолго.

 

2) В Дэне надо искать "жителя" по имени Фрэд, а не "наркомана", который выглядит как наркоман. Посмотреть описание у движущегося NPC либо нельзя, либо проблематично.

 

3) В том же Дэне я получил просто мега-баг: товарищ Дерек (это тот, которому Бекки дала почитать книжку, а он ее потерял) встал аккурат в дверном проёме забегаловки Мамаши. Подвинуть его нельзя (просто нет такой опции, в отличие от остальных жителей). Если вдруг не в курсе: Вик автоматом оказывается у Мамаши, если вручную не открыть ему дверь после убийства работорговцев. Я не уверен, что Дерек бегает по локации сам по себе, возможно, он туда метнулся из-за того, что с работорговцами была у меня перестрелка или во время драки у церкви с бандой Тайлера... Но сам факт мне тоже запомнился надолго. Как именно это решил - увы, не помню. Кажется, через Save \ Load или перезаход в локацию.

 

4) Раньше имел привычку тырить всё подряд. И вот только ты пристроишься сзади NPC, как он... срывается с места и уходит. Сейчас это уже не так актуально (играть более или менее научился и недостатка особого не испытываю в предметах и деньгах), но всё равно...

 

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

 

6) Как уже писал выше, подобное постоянное "шевеление" различных персонажей ну никак не вызывает у меня ощущения реализма. Особенно когда кучка NPC стоят в разных зданиях, уткнувшись носом в стенку или топчутся в дверях.

 

В общем, это я всё к тому, что мне случайные перемещения NPC не нравятся ни под каким соусом. Хотелось бы их отключить.

Skype: Avatar-Lion E-Mail: Avatar-Lion@Mail.Ru Telegram: +7 (916) 691-69-58
Ссылка на комментарий

 Master

Да ладно, ну какие 9000. :) В Клэмате несколько человек. Десяток в Дэне. Ещё десяток в Гекко. Сан-Франциско - да, там много всякого народу. Человек двадцать. В Нью-Рено больше всего, конечно, там человек тридцать наберётся. Итого - в районе сотни NPC. Даже если придётся вручную открывать через какой-нибудь редактор файл со скриптами, удалять 1 процедуру и сохранять, то за часик-другой вполне можно достичь цели. В конце концов, я же не предлагаю никому этим заниматься. Мне просто надо, чтобы меня ткнули носом в нужные кнопки и написали последовательность действий. Всё. Дальше я сам. Мне казалось, что форумы для того и существуют, чтобы находить ответы на такие вот редкие вопросы.

Skype: Avatar-Lion E-Mail: Avatar-Lion@Mail.Ru Telegram: +7 (916) 691-69-58
Ссылка на комментарий

Исходники 1.02d, редактор скриптов вроде F-GECK, компилятор с препроцессором, пара батников.
Потом результаты компиляции положить в папку data/scripts, радоваться.
Ни название процедуры, ни список скриптов, ни "как сделать чтобы работало" я не дам (уже просто не вспомню, да и велик шанс, что работать что-либо из программ у меня не будет), но в общих чертах - название процедуры угадывается интуитивно, писали скрипты вполне себе люди, сами скрипты, которые нужны - используется один и тот же для рандомных и безликих неписяев, угадать можно по наименованию + комментарии в доках из комплекта.
Искать на teamx.ru

 

Да ладно, ну какие 9000

Да возни больше, а эффект не ахти. Какая-то неправильная лень  :D

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

Master

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

 

Да, и ещё: в памяти нельзя просто заблокировать движения NPC? Я помню свой опыт с ArtMoney, которая позволяла отслеживать параметры здоровья и патронов в играх. Вероятно, шевеления людей в городах тоже приводят к изменению каких-то цифр в памяти. Следовательно, их можно обнулять каждый раз. Или нет?

Skype: Avatar-Lion E-Mail: Avatar-Lion@Mail.Ru Telegram: +7 (916) 691-69-58
Ссылка на комментарий

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

 

Вот тебе инструкция:

1. Устанавливаешь офф.редактор Mapper2, загружаешь требуемую карту, далее нажимаешь на клаве букву "i", и что мы видим, а видим мы над головами интересующих нас НПС текст зеленым шрифтом - это название скрипта, который нам потребуется извлечь из master.dat (или из patch000.dat если таковой есть), скрипты расположены там в папке scripts с расширением .int (как и чем извлекать разберетесь сами)

 

2. Итак извлекли наш скрипт *.int - далее скачиваем Sfall модерскую версию, там в архиве в папке Script editor/resources есть декомпилятор скриптов int2ssl.exe - просто перетаскиваем извлеченный скрипт на его екзешник и получаем на выходе файл *.ssl - который требуется открыть в редакторе скриптов, есть там-же (или можно открыть в блокноте на худой конец)

 

3. Открыли наш скрипт и в процедуре procedure critter_p_proc ищем строчки кода подобно такой animate_move_obj_to_tile(self_obj, newtile, 0) - после, найденные строчки кода нужно просто закоментить символами "//". Все сохраняем скрипт. Добавлю все же, что надо хоть как-то понимать скрипты фола, иначе можно закоментить не то что нужно  :)

 

4. Далее нам надо скомпилить скрипты, в той же папке где декомпилятор есть и компилятор compile.exe создаем там же батник *.bat и пишем в нем такую строку compile.exe *.ssl

 

5. Запускаем наш батник и на выходе получаем готовые для игры скрипты *.int, которые мы копируем в папку Fallout\Data\Scripts\...

 

Наглядные примеры с картинками

Скрин маппера

Скрин в F-Geck декомпилированного скрипта

А так выглядит этот-же скрипт в исходнике 

 

Все дерзайте!  :)

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

Mr.Сталин

Благодарю. Потестировал на детях в Клэмате. Вроде работает. Только вот не понял, как массово распаковывать скрипты. Их же там больше тысячи.

 

Я хотел распаковать их все, затем найти через Windows-поиск все файлы с содержимым "animate_move_obj_to_tile" и отредактировать их в Блокноте (заменить "animate_move_obj_to_tile" на "//animate_move_obj_to_tile") и затем конвертировать их обратно в int-формат.

Skype: Avatar-Lion E-Mail: Avatar-Lion@Mail.Ru Telegram: +7 (916) 691-69-58
Ссылка на комментарий

Я хотел распаковать их все, затем найти через Windows-поиск все файлы с содержимым "animate_move_obj_to_tile" 

На Teamx.ru что дал мастер есть DatExplorer с интерфейсом по типу проводника виндовс, выбираешь все файлы и распаковываешь.

 

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

 

Еще забыл добавить что и в процедуре timed_event_p_proc надо смотреть эти строчки, так как часто случайное "шастанье по карте" реализовано в этой процедуре.

 

Да и декомпилированные скрипты читать сложнее новичку чем их исходники, которые ты уже видел на Teamx

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

Mr.Сталин

Чёрт подери, как-то печально звучит это всё... Вот угораздило же разработчиков сделать такую дрянь! Мне в последнее время всё чаще кажется, что проще накопить денег и заплатить за создание игры, которая будет нравится именно мне и только мне. Ибо такие вот спорные моменты (когда разработчики решают, что так будет лучше, не подумав как это впишется в игру) встречается в куче игр, а исправить их либо невозможно, либо очень сложно.

Skype: Avatar-Lion E-Mail: Avatar-Lion@Mail.Ru Telegram: +7 (916) 691-69-58
Ссылка на комментарий

а исправить их либо невозможно, либо очень сложно.

да это не сложно! просто требуется потратить некоторое количество дней роясь в куче скриптах.

так что процитирую: Да возни больше, а эффект не ахти. © Master

 

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

Я бы хотел за этим понаблюдать, интересное наверное зрелище))))
Ссылка на комментарий

Mr.Сталин

Так в том-то и дело, что Fallout 2 в этом плане ещё более или менее адекватный. Ну, в том смысле, что в принципе ситуация поддаётся исправлению. Количество геморроя - это уже другой вопрос. Но есть ведь и масса других моментов, которые в принципе неисправимы. Например, отсутствие механизма масштабирования, т.е. либо ты играешь на 640х480, либо ставишь привычное 1920х1080, но при этом играешь, утирая слёзы от дикого напряжения глаз, которые стремятся разглядеть микроскопические буковки и кнопки.

 

P.S. Зрелище было забавное и интересное только по началу. Вырезать весь Нью-Рено - занятие крайне утомительное. Вернее, по началу я даже значения не придал тому, что случайно пристрелил парочку шлюх в баре Сальваторе. Всё просто: стрельба очередью + открытые двери на улицу. А вот когда ко мне потянулся весь остальной народ, то стало уже не так весело...

Skype: Avatar-Lion E-Mail: Avatar-Lion@Mail.Ru Telegram: +7 (916) 691-69-58
Ссылка на комментарий

 

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

 

 

Стесняюсь спросить - вы когда нибудь использовали проституток при зачистке казино в Нью-Рено ?

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

Зато весело. Особенно удачно может получиться, если телохранителей у входа замочить и чтоб проститутки вошли в казино, пока ребята от туда не выбежали. Ребята не экономят патроны и стреляют очередями по проституткам, задевая клиентов казино и т.д. В нью Рено в казино Десперадо и Клубе акул, обычно всегда такой замес устраиваю, обычно вся улица в трупах около входа в казино. :)

Ссылка на комментарий
Тоже не раз такое было. Вот только напарникам я не даю оружия, стреляющего очередью, не люблю когда они зацепляют кого не надо, либо вообще своих. И что характерно, я никогда не вступал ни в одну семью, кроме Райтов. Надо будет при следующем прохождении присоединиться к Сальваторе :)
Ссылка на комментарий

Тоже не раз такое было. Вот только напарникам я не даю оружия, стреляющего очередью, не люблю когда они зацепляют кого не надо, либо вообще своих. И что характерно, я никогда не вступал ни в одну семью, кроме Райтов. Надо будет при следующем прохождении присоединиться к Сальваторе :)

 

Тогда ты узнаешь, что означают слова: "Пепельная пятница" :)

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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

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

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

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

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

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