Перейти к содержимому

Сообщений в теме: 9
Фотография

Скриптинг: скрытые проверки в квестах.


#1 Einheit

Einheit

    Только что из пустыни

  • Desert Rangers
  • Pip
  • 22 сообщений

Отправлено 06 Ноябрь 2019 - 12:04

Доброго времени суток. 
 
Все в курсе, что ролевая система Фоллаута, как и большинства добропорядочных РПГ старой школы, имитирует механику настольных ролёвок с бросками кубика - это краеугольный камень цивилизации Олдскула. Но в фоллаутах сама эта ролевая система куда более комплексная, чем у прочих классических РПГ, и включает в себя вагон разных переменных, проверок и пенальти. И при том, что она гораздо более сложная, в довесок к этому она ещё и в разы менее прозрачная, чем в большинстве других классических РПГ. 

 

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

Spoiler

 

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

В контексте понимания механики проверок ролевой системы Фоллаута, большинство людей делятся на две категории:

 
Те, кто не вдаются в подробности

Spoiler
 
Те, кто попытались вдаться
Spoiler

 

Сабж треда, вопрос и цель поиска - полные формулы всех ключевых проверок навыков/статов/репутации при взаимодействии с персонажами/объектами для успешного выполнения тех или иных условий или для получения событий. 
 
Насколько я понимаю, все небоевые проверки содержаться в файлах формата .int в папке scripts.
 
Сразу хотелось бы уточнить - возможно кто-то уже проделал эту работу и существует какой-нибудь информер/гайд/тред, в котором собраны формулы всех ключевых проверок навыков/статов/репутации? 
 
Если такового не существует, то расскажите плес последовательно и детально (гуманитарий, да) как и чем распаковывать .int файлы, какие строчки искать и как их правильно интерпретировать?
 
Вот есть прямые проверки - например для появления реплики в диалоге нужен интеллект >6 и красноречие 80+. Но. Насколько я помню в игре есть и "двухслойные" проверки, в которых например сперва чекается стат харизмы, и в случае провала чекается красноречие. Как в таком случае исходя из текста скрипта узнать порядок/приоритет, что в какой последовательности проверяется?

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




#2 Pyran

Pyran

    Если ты мужик, уважай себя и других, а тролль - значит 0.

  • R.S.M.
  • 7 473 сообщений
  • Город (city):Люблю как умею - живу так же.

Отправлено 06 Ноябрь 2019 - 12:27

*Кратко и по теме:

Ролевая система Fallout - интересная и комплексная штука, похожа на системы из "настолок" где кидаются кубики. Большинство проверок скрыто от глаз игрока. 

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

 

 

Берете sFall Script Editor от Mr.Stalin и читаете нужные вам скрипты. Так же, можете перевести их в ssl и читать используя notepad++

Путеводитель вам в помощь


Будьте благодарны, нажимайте НРАВИТСЯ; создавая темы, добавляйте ТЕГИ; пишите и Вам ОТВЕТЯТ.

Путеводитель по Fallout 1 и 2 (Моды, Патчи, Утилиты)

FAQ, Советы, Рекомендации

Перевод Модов Fallout 1 и 2

Азы по Форуму

  • Einheit это нравится


#3 Mr.Сталин

Mr.Сталин

    Всех на Расстрел!

  • Desert Rangers
  • PipPipPip
  • 2 775 сообщений

Отправлено 06 Ноябрь 2019 - 14:56

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

sFall 4 - Extended version

Fallout Proto Manager v1.1.6 - Редактор для создания и редактирования файлов прототипов.
sFall Script Editor v4.1.5 - Программа для написания скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный вариант маппера c некоторыми новыми возможностями.
Другие утилиты для модинга Fallout.



#4 Di-Crash

Di-Crash

    Только что из пустыни

  • Desert Rangers
  • Pip
  • 14 сообщений

Отправлено 06 Ноябрь 2019 - 17:50

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




#5 Mr.Сталин

Mr.Сталин

    Всех на Расстрел!

  • Desert Rangers
  • PipPipPip
  • 2 775 сообщений

Отправлено 06 Ноябрь 2019 - 19:32

У машины все в движке)
Менять можно тут

HOOK_CARTRAVEL (hs_cartravel.int)
Runs continuously during worldmap travel on car.

int     arg1 - vanilla car speed (between 3 and 8 "steps")
int     arg2 - vanilla fuel consumption (100 and below)

int     ret1 - car speed override (pass -1 if you just want to override fuel consumption)
int     ret2 - fuel consumption override

sFall 4 - Extended version

Fallout Proto Manager v1.1.6 - Редактор для создания и редактирования файлов прототипов.
sFall Script Editor v4.1.5 - Программа для написания скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный вариант маппера c некоторыми новыми возможностями.
Другие утилиты для модинга Fallout.

  • Di-Crash это нравится


#6 Einheit

Einheit

    Только что из пустыни

  • автор темы
  • Desert Rangers
  • Pip
  • 22 сообщений

Отправлено 06 Ноябрь 2019 - 21:37

*Кратко и по теме:

Божественная сводка
 

Берете sFall Script Editor от Mr.Stalin и читаете нужные вам скрипты. Так же, можете перевести их в ssl и читать используя notepad++
Путеводитель вам в помощь

Спасибо.

Только вот переименование темы несколько дерейлит суть. Проверки вне квестов тоже относятся к данному треду, и вопрос про машину как раз в эту кассу.
И проверки - они все скрытые, поэтому это уточнение несколько нерациональное.
 

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

Если не затруднит, то опишите более развёрнуто. И желательно предметно - какие именно файлы нужно брать, где они находятся, какие именно строчки искать и как их соотносить со скриптами?

_______________________
Попробую распедалить свою последовательность действий, если делаю что-то неправильно, то расскажите как правильно.

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

I disagree with you. I think that a peaceful solution to any problem is possible.

появится только если красноречие было выбрано основным навыком.

В папке со скриптами отыскиваем файл Кэмерона - actemvil.int
Запускаю sFall Script Editor, закидываю туда означенный файл, утилита его декомпилирует приводя в божеский вид, позволяя с ним работать.
Перехожу в поиск, снимаю галку учёта регистра, вбиваю в поисковую строку "tagged". Пусто. Вбиваю искать "tag" - аналогично.
Листаю скрипт, выискивая глазами слова/аббревиатуры отдалённо схожие с "tag" и "speech". Безрезультатно.

Ооокей.

Точно помню, что для получения скидки у Ренеско в ходе выполнения поручения Сальваторе, нужен интеллект >7.
Закидываю его файл NcRenesc.int в редактор, выполняю поиск на предмет наличия в скрипте строчек со словами "intelligence" и "int". Опять ничего.

 

Что я делаю не так?RzTxj5z.jpg




#7 Mr.Сталин

Mr.Сталин

    Всех на Расстрел!

  • Desert Rangers
  • PipPipPip
  • 2 775 сообщений

Отправлено 06 Ноябрь 2019 - 22:36

Если вы не знаете, а вы не знаете скриптинг фола, то в скриптах вы не чего не увидите.

Почитайте про функции от которых и происходит проверка, кидаются кубики. в левой или в правой панели в sFall Script Editor можно найти короткие описание для функций, вставляете их в скрипт, наводите на них мышкой и читаете более подробно (на русский только переключись в настройках).

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

 

Закидываю его файл NcRenesc.int в редактор, выполняю поиск на предмет наличия в скрипте строчек со словами "intelligence" и "int". Опять ничего.

giq_option({int iq_test}, {int msg_list}, {int msg_num}, {procedure target}, {int reaction});

или

NOption({int msg_num}, {procedure target}, {int iq_test});

 

Поэтому искать надо ключевое слово option :)


sFall 4 - Extended version

Fallout Proto Manager v1.1.6 - Редактор для создания и редактирования файлов прототипов.
sFall Script Editor v4.1.5 - Программа для написания скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный вариант маппера c некоторыми новыми возможностями.
Другие утилиты для модинга Fallout.



#8 Di-Crash

Di-Crash

    Только что из пустыни

  • Desert Rangers
  • Pip
  • 14 сообщений

Отправлено 07 Ноябрь 2019 - 16:51

Проверка на интеллект в декомпилированом коде будет выглядеть как-то так:
 
if get_critter_stat(dude_obj, 4) >= 5 then begin
   действие которое произойдет, если интеллект главного персонажа (dude_obj) больше или равен 5.
end
 
Статы прописаны в закладке Standart Difinitions > Stats, пока все что я юзал былы нумерованы по порядку начиная с нуля. То-есть получить силу можно так get_critter_stat(dude_obj, 0) Восприятие 1 соответственно.

 

У машины все в движке)
Менять можно тут

HOOK_CARTRAVEL (hs_cartravel.int)
Runs continuously during worldmap travel on car.

int     arg1 - vanilla car speed (between 3 and 8 "steps")
int     arg2 - vanilla fuel consumption (100 and below)

int     ret1 - car speed override (pass -1 if you just want to override fuel consumption)
int     ret2 - fuel consumption override


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

Пока сделал так, но не уверен за работоспособность в долговременной перспективе. К тому же, он не работает при движении по карте мира.

UfLFXsA.png

Там есть еще процедура timed_event_p_proc, но я не понял как ее запустить на скрипте который не привязан к объекту, я так понял что self_obj возвращает именно объект к которому привязан скрипт.


#9 Mr.Сталин

Mr.Сталин

    Всех на Расстрел!

  • Desert Rangers
  • PipPipPip
  • 2 775 сообщений

Отправлено 07 Ноябрь 2019 - 20:34

gas_sub_amount = 100

if GVAR_NEW_RENO_SUPER_CAR then gas_sub_amount = (gas_sub_amount * 5) * 2 / 100

if GVAR_NEW_RENO_CAR_UPGRADE then gas_sub_amount = (gas_sub_amount * 3) * 2 * 15 / 100

if GVAR_CAR_UPGRADE_FUEL_CELL_REGULATOR then gas_sub_amount /= 2

car_gas -= gas_sub_amount 


sFall 4 - Extended version

Fallout Proto Manager v1.1.6 - Редактор для создания и редактирования файлов прототипов.
sFall Script Editor v4.1.5 - Программа для написания скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный вариант маппера c некоторыми новыми возможностями.
Другие утилиты для модинга Fallout.



#10 Mr.Сталин

Mr.Сталин

    Всех на Расстрел!

  • Desert Rangers
  • PipPipPip
  • 2 775 сообщений

Отправлено 07 Ноябрь 2019 - 20:42

Там есть еще процедура timed_event_p_proc, но я не понял как ее запустить на скрипте который не привязан к объекту, я так понял что self_obj возвращает именно объект к которому привязан скрипт. 

 

В глобальных это не работает, сделал пару дней назад, но в релиз пока не вошло.


sFall 4 - Extended version

Fallout Proto Manager v1.1.6 - Редактор для создания и редактирования файлов прототипов.
sFall Script Editor v4.1.5 - Программа для написания скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный вариант маппера c некоторыми новыми возможностями.
Другие утилиты для модинга Fallout.


Стр. 1 из 1
Авторизуйтесь для ответа в теме
Новых тем нет



Количество пользователей, читающих эту тему: 1

0 members, 0 guests, 0 anonymous users


    Ahrefs (1)