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


Фотография

(sfall) дополнения


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 1246

#241 Ethereal

Ethereal

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 212 сообщений

Отправлено 17 июля 2015 - 21:59

Может кто нибудь выложить Books.ini (можно урезанный для примера) ввиде поста? Скачивать не получается с дропбокса, да и виснет он у меня почему то...

Кроме того в mechanics_overhaul_mod долго изучал новоизменённые перки, но как перенастроить их так и не понял. С "trait" получилось, а именно с "perks" — полный облом. Можно ли с помощью Сфала редактировать перки так, что бы это было можно использовать независимо от установленных модов?


#242 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 17 июля 2015 - 23:07

Держи Books.ini

Crafty, может сменишь дропбох на что-то другое, у меня от тоже подвисает да и забадал он уже со своей навязчивой регистрацией!

Это сообщение отредактировано Fakeman - 17 июля 2015 | 23:16


#243 Ethereal

Ethereal

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 212 сообщений

Отправлено 18 июля 2015 - 08:01

Спасибо Fakeman за помощь.)

Что же на счет перков... Меня и родной баланс в большенстве случаев устраивал. Единственное, что поднял бы немного + к навыкам, но даже этого зделать пока не получается.


#244 Phobos

Phobos

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 49 сообщений

Отправлено 18 июля 2015 - 12:49

Изучаю фикс для Too Many items bug. Кто-нибудь знает способ стабильного повторения бага? Хотя бы так чтобы утилита tmib.exe стабильно выдавала что файл забагован.
ЗЫ: вроде разобрался.

@Crafty,
QUOTE
Так я же понимаю C[++] на простейшем уровне, а ASM уже достаточно вспомнил. Мне так проще ;)

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

Я считаю больших кусков кода на ASM в принципе не должно быть в sfall, в идеале его нужно весь заменить на С++ с использованием структур/переменных/процедур движка.

QUOTE
CONFIRMED NPCs hooked on jet becomes utterly useless — stuck with 1 AP. Jet antidote doesn't work on them. Engine issue. --FIXED

Не подскажешь, где в коде эти фиксы?

Нашел вот это, но сходу не понять, что именно они фиксят:

QUOTE
// Исправление проверки наркотической зависимости
MakeCall(0x47A644, &item_d_check_addict_hook, true);

// Исправления снятия зависимости к винту у нпс
MakeCall(0x479FC5, &item_d_take_drug_hook, true);
MakeCall(0x47A3A4, &item_wd_process_hook, false);


По поводу

QUOTE
// Мерзкий баг! Если в инвентаре сопартийца есть броня такая же как на нём одета, то при
// получении уровня он теряет КБ равный значению получаемому от этой брони
HookCall(0x495F3B, &partyMemberCopyLevelInfo_hook);

Твой фикс не лечит баг. Тут на самом деле не в уровне дело. Повторяется легче:
1) даем любому напарнику 2 одинаковых брони
2) просим надеть один из комплектов
3) просим снять броню через диалог, но внезапно(!) броня не снимается
4) просим второй раз, со второго раза снимется, но статы снизятся 2 раза. Не только класс брони, но и все остальные (DT/DR и проч.)
Проверял через f2se редактор сейвов.

QUOTE
! Исправлен баг из-за которого невозможно использовать 9 строку в диалоговом варианте выбора ответов.

Почему это расценено как баг? Просто окно диалогов вмещало лишь 8 строк с ответами. Больше похоже на фичу.

QUOTE
// Ширина текста 64, а не 80
SafeWrite8(0x475541, 64);
SafeWrite8(0x475789, 64);

Что делает этот "фикс" и почему он в Bugs.cpp ?

Это сообщение отредактировано Phobos - 18 июля 2015 | 21:52


#245 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 19 июля 2015 - 15:47

Ethereal
QUOTE
Может кто нибудь выложить Books.ini (можно урезанный для примера) ввиде поста? Скачивать не получается с дропбокса, да и виснет он у меня почему то...
У Drobovik'а же в Fallout Database можно скачать. Добавлю ссылку в первый пост...

Отправлено: 19 июл 15 15:59
Fakeman
QUOTE
Crafty, может сменишь дропбох на что-то другое, у меня от тоже подвисает да и забадал он уже со своей навязчивой регистрацией!
Как-то так ;):
QUOTE
I need something:
1. Free.
2. That will work for years with zero efforts from me.
3. Has high bandwidth limit.


Отправлено: 19 июл 15 16:57
Phobos
QUOTE
Не подскажешь, где в коде эти фиксы?
item_d_check_addict_hook меняет оригинальную процедуру, которая всегда использует данные игрока, на использование данных настоящих персонажей при проверки зависимостей.
item_d_take_drug_hook снимает зависимость после использования противоядия, ну а item_wd_process_hook делает зависимость к винту вечной (до принятия противоядия).
QUOTE
Твой фикс не лечит баг. Тут на самом деле не в уровне дело. Повторяется легче:
Это описание бага "множественного снятия брони сопартийца через диалог, если у него в сумке есть такая же броня". Фикс для него в correctFidForRemovedItem_hook из Inventory.cpp.
QUOTE
Почему это расценено как баг? Просто окно диалогов вмещало лишь 8 строк с ответами. Больше похоже на фичу.
Потому что движок при расчёте поместится ли строка в окне диалога считает сразу с отступом между строками, но для самой последней строки отступ не нужен (ведь больше строк не будет). Пусть $ — отступ:
CODE
╔══════╗
║1.    ║
║$     ║
║2.    ║
║$     ║
║...   ║
║8.    ║
║$     ║
║9.    ║
╚══════╝
 $

QUOTE
Что делает этот "фикс" и почему он в Bugs.cpp ?
Перерисовываемый участок обмена равен 64 пикселя, для выводимой строки с весом вместо 64 используют 80, что в определённых ситуациях (измени в INVENTRY.MSG строку #30 на что-то вроде "Вес вещей") может привести к мусору на участке обмена.

Отправлено: 19 июл 15 19:20
Исправил вывод в окне монитора количества полученных очков опыта с учётом бонуса от взятого перка 'Прилежный ученик' после убийства врагов, кражи или случайных встреч на карте.
Исправил баг превращения сопартийцев в тыкву контейнер, ну и добавил переменную CanSellUsedGeiger для контроля возможности продажи "Счетчика Гейгера"/"Невидимки" после использования.

Для F2-версии из ddraw.ini удалил переменную WieldObjCritterFix, причина аналогична удалению BlackSkilldexFix и ко.


#246 Phobos

Phobos

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 49 сообщений

Отправлено 19 июля 2015 - 20:10

QUOTE
item_d_check_addict_hook меняет оригинальную процедуру, которая всегда использует данные игрока, на использование данных настоящих персонажей при проверки зависимостей.

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

И кстати, в чем отличие от JetAntidoteFix?

QUOTE
item_wd_process_hook делает зависимость к винту вечной (до принятия противоядия).

А зачем? В оригинале она не вечная?

QUOTE
Это описание бага "множественного снятия брони сопартийца через диалог, если у него в сумке есть такая же броня". Фикс для него в correctFidForRemovedItem_hook из Inventory.cpp.

Может стоит перенести в Bugs.cpp?

Зачем был выпилен весь предыдущий код из PartyControl.cpp? До этого хотя бы было очевидно как все это работает и человек со стороны мог что-то поменять. Теперь остались только стены ASM кода с комментариями на русском... Понятно что могло быть хуже (запутанный ASM код, 0 комментариев), но зачем удалять то что работает?

К слову о коде, в чем отличие между
QUOTE

  xor  eax, eax
  inc  eax

И простым
QUOTE

  mov eax, 1

?

Это сообщение отредактировано Phobos - 19 июля 2015 | 21:09


#247 Drobovik

Drobovik

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 211 сообщений

Отправлено 20 июля 2015 - 03:50

На половину закончил перевод ченжлога на английский.

EDIT: Все, ченжлог теперь и на инглише есть.

Crafty, качай отсюда.

Это сообщение отредактировано Drobovik - 20 июля 2015 | 11:08


#248 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 20 июля 2015 - 19:23

Отключил фикс тыквы, надо допиливать ;(

Отправлено: 20 июл 15 19:37
Phobos
QUOTE
...Но они по прежнему используются?
На все вопросы ответ — да ;)
QUOTE
И кстати, в чем отличие от JetAntidoteFix?
Фикс для возврата true из процедуры если использовалось противоядие, чтобы оно было удалено из инвентаря.
QUOTE
А зачем? В оригинале она не вечная?
Нет, там через GVAR создавалась видимость вечности.
QUOTE
Может стоит перенести в Bugs.cpp?
Там общая процедура с армор модом, лень разбивать.
QUOTE
Зачем был выпилен весь предыдущий код из PartyControl.cpp?
Беспредельщик же ;-p
QUOTE
К слову о коде, в чем отличие между
3 байта против 5 :-p

Отправлено: 20 июл 15 19:42
Drobovik
QUOTE
Все, ченжлог теперь и на инглише есть.
Спасибо большое :)
Добавь ещё в начало файлика благодарность себе, что-то вроде "Большое спасибо Drobovik'у за перевод на английский :)"


#249 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 21 июля 2015 - 15:04

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


#250 Drobovik

Drobovik

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 211 сообщений

Отправлено 21 июля 2015 - 18:08

Привел ченжлоги к более профессиональному виду.
В русской версии добавил "Список изменений:" в самое начало файла.

В английской — добавил свой ник как переводичика — Made by Crafty, English translation by Drobovik и слил вместе слово Сhangelog

Crafty, перекачай архив и обнови файлики. Сегодня сделаю перевод ченжлога для sfall1.

EDIT: Закончил и с ченжлогом для sfall1. Здесь.

Это сообщение отредактировано Drobovik - 22 июля 2015 | 00:50


#251 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 22 июля 2015 - 14:23

'delete'  — Тупанул :)

Это сообщение отредактировано Fakeman - 22 июля 2015 | 14:32


#252 Phobos

Phobos

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 49 сообщений

Отправлено 23 июля 2015 - 16:25

QUOTE
Done (though I didn't test) ;)

QUOTE
Беспредельщик же ;-p

QUOTE
3 байта против 5 :-p


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


#253 Crafty

Crafty

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 423 сообщений

Отправлено 24 июля 2015 - 03:04

QUOTE
Вот после таких фраз и закрадывается недоверие к твоему коду.
Так это, я же его не продаю и не заставляю использовать :-p


#254 Ethereal

Ethereal

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 212 сообщений

Отправлено 24 июля 2015 - 15:33

Раз уж тема про Сфалл, то опишу тут.
Дело в том, что я играю в гремучаю смесь RP, MM и собственных наработок. Сфал и HiRes начал использовать недавно, поскольку ранее не знал как отключить блокировку сав-лоада в бою. (Спасибо Crafty).

Речь пойдёт о дополнении RandomLoot. Это дополнение регенит случайным образом в пустых контейнерах различные предметы. Это конечно здорово, найти в Кламате диск с данными модернизации энергооружия и броню братства, но есть и большой недостаток. Предметы регенятся по классам, а в классе предметов "Misc" есть масса вещей, которые ни при каких условиях не должны попадать внутрь контейнеров. Причём регенит их крайне успешно, но после этого начинаются страшные глюки. Так в Брокен Хиле в доме одного мутанта в шкафу обнаружился разлагающийся труп, что вообще на мысли наводит... Труп я не взял, а потом на карту зайти больше не мог. Висло всё напрочь (и в маппере карта из сохранения так же висла). Кроме того, этот труп запорол весь сейв. На остальных картах начало происходить то же самое.

Что бы избежать подобных вещей надо в RandomLoot.ini установить RandomMiscPercent=0 . А лучше найти способ прописать конкретно — какие вещи будут регенится. И не в скрипте, а в том же ini-файле.

Разобрался с High Resolution. Всё в нём было хорошо (Особенно туман войны), но бесила блокировка опций мыши за границами исконной активной зоны карты. Я там накопал секретных подвалов в разных городах, а попав в них ничего зделать и взять там невозможно было. Выяснив, что f2_res использует какие-то свои границы для карт — распоковал f2_res.dat в одноимённую папку в корне игры и уничтожил там папку "maps", а оригинальный файл здал в архив для бэкапа. Теперь всё работает отлично — все опции f2_res, включая туман войны, работают, при этом мод более не видит никаких границ карт и ничего не блокирует. Впоследствии некоторым картам всё-же вернул "ограничители", но... Границы границами, а блокировку нафига надо было делать?

Это сообщение отредактировано Ethereal - 30 июля 2015 | 17:08


#255 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 03 августа 2015 - 20:19

Так меня посетила идея для фишки, сделать возможность переключаться между со партийцами во время обмена с контейнером, как сделано с трупами.
Реализуемо?


#256 Foxx

Foxx

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 120 сообщений

Отправлено 29 августа 2015 - 10:42

Использую sfall от crafty с Olympus 2207. Все вроде работает, но есть один глюк.
Когда доктор в Метро лечит меня от радиации происходит вот это:
http://i67.fastpic.r...fcb5d54f2b8.jpg


#257 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 29 августа 2015 - 11:59

Эта рамка появляется только от сфалла крафти? А на оригинале сфала 3,6 пробовал?

Лучше запостит этот баг на форуме олимпа, т.к скритпы олимпа писались под старую версию 2.12 сфалла, и поэтому глюко-баги возможны.

Да и куды крафти пропал? :(

Это сообщение отредактировано Fakeman - 29 августа 2015 | 12:07


#258 Foxx

Foxx

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 120 сообщений

Отправлено 29 августа 2015 - 12:12

Попробывал sfall 3.4 из базы Дробовика, такая же фигня с рамкой.

На оригинальном sfall 2.12a, который с Олимпом устанавливается бага нет.


Это сообщение отредактировано Foxx - 29 августа 2015 | 12:19


#259 Fakeman

Fakeman

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 557 сообщений

Отправлено 29 августа 2015 - 13:27

QUOTE
Попробывал sfall 3.4 из базы Дробовика, такая же фигня с рамкой.

Хм, так и при чем тут версия от Crafty... иди Артема пинай :)
Кстати может они версию 1.1 под последнию версию сфалла замутят, так что пока они тестируют 1.1 иди баг-репортани, может фиксанут глюк.

Upd.
Кстати у тебя судя по скрину стоит мой интерфейсный мод, хз может я там в скрипте чего перешаманил, :-p попробуй без мода, т.е. с оригинальными скриптами олимпа.

Это сообщение отредактировано Fakeman - 29 августа 2015 | 17:14


#260 Foxx

Foxx

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 120 сообщений

Отправлено 29 августа 2015 - 17:35

[цитата]
Кстати у тебя судя по скрину стоит мой интерфейсный мод, хз может я там в скрипте чего перешаманил, :-p попробуй без мода, т.е. с оригинальными скриптами олимпа.

Мод скачал с базы Дробовика "Hi-Res Patch 4.1.8 & InterfaceMod for Olympus_v1.05". Пробовал без него, тоже самое.
Эта рамка отдельно лепится к диалоговому окну, вырезать бы ее из "master.dat", но какое у нее название файла FRM не знаю.

Это сообщение отредактировано Foxx - 29 августа 2015 | 17:36




Похожие темы Свернуть

  Название темы Форум Автор Статистика Последнее сообщение


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

0 пользователей, 1 гостей, 0 анонимных

Рейтинг@Mail.ru