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

FTSE (Fallout Tactics Scripting Engine)


hmt

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

FTSE (Fallout Tactics Scripting Engine)


Название: FTSE
Версия: 0.52a
Русская версия:  не требуется
Идея: Melindil
Год выхода: 2018-2021
Сайт: nma
Авторы/Правообладатели: Bethesda Softworks


Путеводитель

Ссылка на основную тему, посвященную FTSE (english)

Страница проекта на GitHub

Ссылка для скачивания

Документация (wiki, english)

 

Описание:

Этот проект позволяет расширить моддинг Fallout Tactics, добавляя новые возможности:

 

1. Производит изменения в запущенном процессе bos.exe (без физических исправлений). Включает большинство известных шестнадцатеричных правок для BOS. Каждая из них может быть выборочно включена или отключена из файла конфигурации. Также новые (найденные) изменения могут быть добавлены без необходимости шестнадцатеричного редактирования или перестройки.

 

2. Дает возможность использовать пользовательские сценарии взаимодействия с внутренними данными FT, написанных с применением интерпретатора языка Lua. Сценарий Lua может содержать код для выполнения в определенных точках (перехват данных при запуске игры) и изменять множество переменных и параметров в реальном времени.
 

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

 

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

 

 

Fallout-Tactics-TM-13-10-2021-12-19-12.p

 

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

Да, согласен, отдельная тема нужна.

У меня в оформлении висит общая тема по утилитам... к слову.

А если еще и гайд будет по нему, то еще лучше.

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

Мне интересно, как автор орентируется в коде тактикса (притом что нет отладочных символов), я как-то загрузил/открыл екзешник тактикса в IDA, кода там в два раза больше чем у F2.

Офигет думаю тут разбираться лет на 10 без отладочной информации.

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

Офигет думаю тут разбираться лет на 10 без отладочной информации.

Неx на старом форуме оставлял базу (думаю он привел все в читаемый вид). Ссылка устарела, но думаю кое-кто ее успел "спереть". У меня сейчас тактикс и импрувер висят в IDA - это темный лес ... я думал будет не очень сложно найти в импрувере фикс GOTO MISSION ... ошибался, знаний не хватает.  Ярослав исчез, как я понял, на связь не выходит, imp заброшен и SDK он так и не выпустил.

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

Ну сами виноваты в потере, нефиг держать важные данные у себя под подушкой, а потом в последний момент выкладывать, да и еще и на отстойный/не надежный обменник.

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

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

Поигрался со скриптом расчета времени, есть неприятные моменты. Если на карте установлен флаг 'Force Start Hour', то при переходе на такую карту через триггер 'Goto Mission' час сбрасывается в 0 (т.е всегда за полночь). Остальных значений мирового времени это не касается. При обычном посещении карты (заходом через WorldMap) также ничего не меняется. Установить месяц на старте тоже походу нельзя - по дефолту январь (еще исследую этот момент).

 

 

month_end_days = {31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365}

function MsecToDayHMS(ms,scale)
if scale > 0 then
ms = ms * 3
end
d = (ms // 86400000)
h = (ms // 3600000)%24
m = (ms // 60000)%60
s = (ms // 1000)%60
ms = ms % 1000
gametime = {
year = 0,
month = 0,
day = d,
hour = h,
minute = m,
second = s,
msec = ms
}
return gametime
end

function AddBaseToGameTime(gametime)

-- add base days, hours and minute
gametime["day"] = gametime["day"] + 2161*365
gametime["hour"] = gametime["hour"] + 7
gametime["minute"] = gametime["minute"] + 21

-- calculate year and day within year
gametime["year"] = gametime["day"]//365
gametime["day"] = gametime["day"] % 365 + 4

-- normalize hours and minutes
if gametime["minute"] > 59 then
    gametime["minute"] = gametime["minute"] - 60
    gametime["hour"] = gametime["hour"] + 1
end

if gametime["hour"] > 23 then
    gametime["hour"] = gametime["hour"] - 24
    gametime["day"] = gametime["day"] + 1
end

-- get month and day within month
mo = gametime["day"] // 30
if mo == 0 or gametime["day"] > month_end_days[mo] then
    mo = mo + 1
end
if mo > 1 then
    gametime["day"] = gametime["day"] - month_end_days[mo-1]
end
gametime["month"] = mo
return gametime
end

 

 

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

 

Условно ночь считается "< 8" и ">19", но можно ввести дополнительно утро и вечер. На картах с установленным флагом можно будет управлять освещением через скрипты.

 

Прибил перк 'Наблюдательность'- создал новый (пустой перк ofm) и подменил его через скрипт.

 

function OnStart()

  newperk = {name = "ofm", minlevel = 999, maxperktaken = 1}
  hookexecutor:ReplacePerk(newperk, 0)
end

 

 

Таблица всех перков (на nma в теме ftse выкладывали). Адреса в экзешнике с $4A4500 

 

Наблюдение:

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

Похоже Melindil тоже уже слился, полгода никаких приветов.

Надеюсь вернется.

Ссылка на комментарий
  • 3 недели спустя...
  • 1 месяц спустя...

Народ, поясните кто понял что же там меняется в последних правках FTSE: по поводу фикса критов в таблице - какое и куда значение забивается, чтобы в левую ногу не сверхприлетало? и где этот бонус в каких-то заявленных 15 процентов, якобы перешедший от перка бонуса рукопашной атаки обратно в перк бонуса рукопашного урона, если в последнем как была видна только прибавка в 2 очка до фикса так ей же и осталась.

Ссылка на комментарий
  • 4 недели спустя...

Насколько я понял работы около года не ведутся. Файлы на гитхабе не обновляются. Автор на связь не выходит, на вопросы не отвечает. Многие нужные и заявленные в 0.52а версии возможности не работают или работают неправильно. Исходники и документация есть, с этим можно работать.

Изменено пользователем hmt
Ссылка на комментарий
  • 8 месяцев спустя...

Доктора считай "победили". Появилась лазейка читать/менять через скрипты "hp", "ap" итд.

Опробовал - работает.

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

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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

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