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


Фотография

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


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

#21 Fakeman

Fakeman

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

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

Отправлено 20 Февраль 2015 - 00:52

QUOTE
Поглядел подробнее и понял, что возможности сопартийцев определяются не какой-то хитрой таблицей с заданными параметрами для разрешённого оружия, а простым наличием анимации: есть анимация — умеет пользоваться оружием, нет — значит нет.

Ну так это давно известно, еще со времен "NPC Armor" мода ;)
Твой вариант реализации намного лучше чем громоздкий скриптовый, так что как альтернатива нужная вещь.

QUOTE
Шутки ради можешь вместо компиляции просто патчить уже готовую dll'ку на предмет отключения проверки размера exe-файла или просто менять проверяемый размер exe-файла (то что ExpectedSize=0x00122800).

так после каждой новой версии сфала меняются же смещения, или нет.
и НЕХедитором константу(00122800) в dllке чет не находит, но есть там пять адресов со значением 00281200, попробую потом похимичить.

----------
Еще вопрос возможно ли через sfall переопределить PIDы итемов для заправки автомобиля, т.е. не патронами заряжать а чем-то другим к примеру, это можно конечно и без сфала замутить но тогда к описанию итемов будет приписаны характеристики патронов, что не айс....

Это сообщение отредактировано Fakeman - 20 февраля 2015 | 01:42


#22 Crafty

Crafty

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

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

Отправлено 20 Февраль 2015 - 02:13

QUOTE
так после каждой новой версии сфала меняются же смещения, или нет.
Да всяко быстрее будет пропатчить новую версию, чем её же самому пересобирать :-p

QUOTE
НЕХедитором константу(00122800) в dllке чет не находит, но есть там пять адресов со значением 00281200, попробую потом похимичить.
Угу, расположение байт меняется, и искать нужно 00281200, и хорошо если hex-редактор видит код и понимает библиотечные функции (я hiew по-старинке люблю), тогда сразу понятно что перед первой проверкой нужной константы был вызов функции получения размера файла и это то место.

QUOTE
Для sfall версии 3.5.7, размер файла 407.040 байт:
Отключение проверки на размер файла:
459BC:  74  заменить на  EB
Отключение проверки crc:
45A15:  74  заменить на  EB

Или можно сразу убить двух зайцев, отключив вызов функции проверки размера файла и crc:
369DF: E8 9C  заменить на  EB 03


Отправлено: 20 фев 15 02:50
QUOTE
Еще вопрос возможно ли через sfall переопределить PIDы итемов для заправки автомобиля, т.е. не патронами заряжать а чем-то другим к примеру, это можно конечно и без сфала замутить но тогда к описанию итемов будет приписаны характеристики патронов, что не айс....
В движке "зашито" использование PID_SMALL_ENERGY_CELL и PID_MICRO_FUSION_CELL (в obj_use_power_on_car_) для зарядки машины, поэтому нужно хакать.

Через скрипты (car_give_gas()???), а тем более скриптовые возможности sfall, лучше Phobos расскажет.


#23 Phobos

Phobos

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

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

Отправлено 20 Февраль 2015 - 10:34

Движковый Armor MOD полезная штука. Ты сделал в виде отдельного модуля?
Все таки, будь человеком, выложи исходники своего форка на github или sourceforge. Каждый раз качать архив чтобы посмотреть что ты там добавил — жутко неудобно.

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

QUOTE
Еще вопрос возможно ли через sfall переопределить PIDы итемов для заправки автомобиля, т.е. не патронами заряжать а чем-то другим к примеру, это можно конечно и без сфала замутить но тогда к описанию итемов будет приписаны характеристики патронов, что не айс....

Посмотри скрипт машины. Там щас на use_obj_p_proc висит починка и апгрейд, можешь попробовать добавить если используется нужный предмет, делать script_overrides и заправлять вручную — в скриптах есть команда car_give_gas.
Если не получится, тогда юзай хук скрипт useobjon из последней версии sfall (смотри hookscripts.txt в modderspack — какие там параметры и что возвращать), возможно он на более высоком уровне работает.

PS: если нужно изменить CRC проверку, это можно сделать в debug версии sfall, смотри настройку ExtraCRC в секции Debugging.

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

Это сообщение отредактировано Phobos - 20 февраля 2015 | 10:52


#24 Fakeman

Fakeman

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

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

Отправлено 20 Февраль 2015 - 13:11

QUOTE
в скриптах есть команда car_give_gas.
Если не получится, тогда юзай хук скрипт useobjon

вай, вай моя склероз совсем забыла про give gas :)
а в паре с хуком вообще и проблема решается.

QUOTE
если нужно изменить CRC проверку, это можно сделать в debug версии sfall, смотри настройку ExtraCRC в секции Debugging.

Почему бы в debug версии официально не добавить и отключение проверки на размер? вот ты же там делаешь какие-то правки кода. вот такой небольшой намек :)

Это сообщение отредактировано Fakeman - 20 февраля 2015 | 13:12


#25 Phobos

Phobos

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

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

Отправлено 20 Февраль 2015 - 17:39

Правки кода по идее должны делаться в исходниках sfall, после чего тот компилится. А ЕХЕшник остается всегда оригинальным, только так можно гарантировать хоть какую-то стабильность работы.


#26 Crafty

Crafty

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

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

Отправлено 20 Февраль 2015 - 23:37

QUOTE
Думаю стоит создать тему на nma, там многим будет интересно (заодно узнаете от других насколько полезны ваши дополнения).
Если бы мой английский был лучше чем "читаю и перевожу со словарём, с людьми пока стесняюсь" ©, то я бы сразу туда и пошёл :-p

Началось всё с того, что вышла Olympus 2207, в которой добавили особенность "Механическая память", но поскольку реализовали это через скрипты, то и вышло это криво — создавая нового персонажа с взятой "памятью" нельзя было в игре получить нужные значения основных характеристик (S.P.E.C.I.A.L.).
Настраивая ddraw.ini под себя я видел Perks.ini, а потому скачал modderspack и убедился что "память" лучше сделать через новую версию sfall, о чём и поделился в комментариях.

Изучая остальные ini-файлы из modderspack, в частности Books.ini, мне пришла в голову идея: "При чтении книги в игре увеличивается только один скилл и на мой взгляд это не всегда справедливо. Почему, к примеру, в журнале Guns & Bullets не может быть статьи о пулемётах, описание взрывчатки или курса рукопашного боя? :)" ©.
Я обрадовался когда узнал что смогу изложить свою идею, потому что phobos2077 — наш человек ;) Зарегистрировался на nuclear-city.com, но письмо с активацией аккаунта не получил (прошли сутки), поменял почту и всё равно не получил письмо (+сутки). Ещё раз сменил почту и ожидая письмо начал воплощать в жизнь идею с расширением функциональности Books.ini. Понятно, что и третье письмо с активацией не пришло, но я догадался написать личное письмо через Sourceforge уже даже с готовым вариантом. Идея не прошла.

Позже я сделал перезарядку оружия после окончания боя и решил что это может быть интересно ещё кому-то, поэтому тут появилась эта тема.

Отправлено: 20 фев 15 23:45
PS. Fakeman просит добавить в официальный sfall возможность переопределения размера exe-файла при проверке, аналогично как с ExtraCRC.


#27 Legend

Legend

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

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

Отправлено 21 Февраль 2015 - 07:33

QUOTE
Зарегистрировался на nuclear-city.com, но письмо с активацией аккаунта не получил (прошли сутки), поменял почту и всё равно не получил письмо (+сутки). Ещё раз сменил почту и ожидая письмо начал воплощать в жизнь идею с расширением функциональности Books.ini. Понятно, что и третье письмо с активацией не пришло, но я догадался написать личное письмо через Sourceforge уже даже с готовым вариантом. Идея не прошла.

Подтвердила активацию в админке. Должно прийти письмо.
P.S. Если будут какие-то вопросы по форуму, а до Vault_13 не достучаться, то смело пишите мне. Разберёмся. ;)


Это сообщение отредактировано Legend - 21 февраля 2015 | 07:37


#28 Phobos

Phobos

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

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

Отправлено 21 Февраль 2015 - 09:42

На мой взгляд хороший повод изучить как работают системы контроля версий и open-source разработка ;-)

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


#29 Fakeman

Fakeman

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

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

Отправлено 22 Февраль 2015 - 01:24

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

Так я тебе и предлагаю добавить кусок кода в исходники Sfall'a, чтобы была возможность в модерской версии обойти проверку на размер ехе файла.
или на sourceforge.net с ником Phobos2077 это не ты)


#30 Phobos

Phobos

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

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

Отправлено 22 Февраль 2015 - 06:21

Я не вижу смысла в этом изменении. В Sfall все завязано на смещениях в определенной версии ЕХЕшники. Подсовывать другой ЕХЕшник или править прямо в нем это напрашиваться на неприятности.

Если ты хочешь хаков без перекомпиляции sfall, для этого есть скриптовые команды write_byte, write_short, write_int...

Изучайте, товарищи, скрипты.

Это сообщение отредактировано Phobos - 22 февраля 2015 | 06:22


#31 Fakeman

Fakeman

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

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

Отправлено 22 Февраль 2015 - 23:43

QUOTE
Я не вижу смысла в этом изменении.

Ну нет так нет, что-ж будет пользоваться патченным сфалом. :)


#32 Phobos

Phobos

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

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

Отправлено 23 Февраль 2015 - 12:57

Использовать скрипты религия не позволяет? Я могу дать ссылку на удобный редактор со встроенным компилятором, там все в один клик делается, сложного ВООБЩЕ ничего нет.
Могу даже подсказать что да как.

В принципе можно добавить вариант чтобы sfall проверял только размер файла, но только в дебаг-режиме.

@Crafty: а можешь вынести клавишу перезарядки в ddraw.ini (dx scancode)?
Думаю тоже кандидат на добавление в основную версию. Правда все юзают Party Orders addon и он уже почти всю клавиатуру занял ))


Это сообщение отредактировано Phobos - 23 февраля 2015 | 19:07


#33 Fakeman

Fakeman

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

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

Отправлено 23 Февраль 2015 - 22:44

QUOTE
Использовать скрипты религия не позволяет? Я могу дать ссылку на удобный редактор со встроенным компилятором, там все в один клик делается, сложного ВООБЩЕ ничего нет.

Да какие еще скрипты, я говорю о том что если размер exe'шника(fallout2) отличный от оригинала то Sfall(игра) не запускается и выскакивает ошибка...
*уже начинаю биться головой об стол* :)

Пользуюсь F-Geck'ом от Технократа, хватает за глаза.
Но ссылку давай посмотрим, что там.

QUOTE
В принципе можно добавить вариант чтобы sfall проверял только размер файла, но только в дебаг-режиме.

так надо наоборот чтобы не проверял!
Т.е. добавить в sfall возможность переопределения размера exe-файла при проверке, аналогично как реализовано с ExtraCRC в модерской(дебаг) версии.
Посмотри код который я выкладывал на 2й странице там пару строчек кода добавлено в исходный код Sfall и ты поймешь о чем я тебе толкую.

Это сообщение отредактировано Fakeman - 24 февраля 2015 | 13:49


#34 Crafty

Crafty

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

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

Отправлено 23 Февраль 2015 - 22:55

QUOTE
@Crafty: а можешь вынести клавишу перезарядки в ddraw.ini (dx scancode)?
Если честно хз как это совместить ;(
Изначально так и задумывалось — в ReloadWeaponHotKey указывать сканкод для клавиши перезарядки, но из-за того что хук в game_handle_input_ (который получает готовую клавишу), пришлось в коде делать проверку на клавишу, а ReloadWeaponHotKey стал переключателем.


#35 Phobos

Phobos

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

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

Отправлено 24 Февраль 2015 - 16:42

QUOTE
Если честно хз как это совместить ;(

Просто посмотри как аналогичные функции реализованы в sfall (подсветка предметов на земле).

@Fakeman: лови https://yadi.sk/d/KN5yiEFbeo6cW
Ты можешь по человечески объяснить что за ЕХЕшник у тебя который другого размера и зачем тебе тогда нужен sfall если в нем смещения все заточены только под 1.02d US. Максимум может быть если твой ЕХЕшник уже пропачтен например какими-то патчами старыми то есть смысл только на размер проверку оставить, но опять же все патчи о которых я знаю уже внедрены в sfall. Вся суть проекта в том чтобы не трогать ЕХЕшник на диске...



Это сообщение отредактировано Phobos - 24 февраля 2015 | 16:47


#36 Fakeman

Fakeman

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

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

Отправлено 24 Февраль 2015 - 19:36

QUOTE
Ты можешь по человечески объяснить что за ЕХЕшник у тебя который другого размера

скачай олимп/неваду и посмотри какие там exe'шники.
ладно не парься, как сказал Crafty быстрее будет нех-редактором sfall'овскую dll'ку крякнуть, чем дождаться пока появится возможность в sfall'е отключать эту проверку через ini файл. :)

QUOTE
Вся суть проекта в том чтобы не трогать ЕХЕшник на диске...

Я это прекрасно понимаю, но я то тут причем, если авторы своих модов изменяют оригинальные екзешники.

----------
Все же имхо редактор F-Geck технократа на порядок удобнее чем Sfall'овский, благодаря древовидной левой панели куда можно вносить все команды включая сфаловские или же свои макросы, так же parser легко настраивается.

Это сообщение отредактировано Fakeman - 24 февраля 2015 | 19:49


#37 Phobos

Phobos

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

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

Отправлено 24 Февраль 2015 - 19:57

Да уж.. таких мододелов к стенке ставить нужно :) Хардкодят какуюто магию в ЕХЕшник, поди и исходников никаких нет. Авторские права, самолюбие, все дела...

Вопрос в том в каком месте у них отличается ЕХЕшник. Если чтот дописано в конец то по идее теоретически можно юзать sfall но без каких-либо гарантий от непонятных вылетов.


https://yadi.sk/d/nnid4MPOesDxZ — билд без проверки размера ехешника, на основе последних исходников с репы. (юзай ExtraCRC)

По поводу редактора — ну в sfall-овском зато есть автозавершение кода, он уже знает все скриптовые команды и все макросы. И парсер тоже есть с переходам к местам использования/определения и т.п.

Это сообщение отредактировано Phobos - 24 февраля 2015 | 20:00


#38 Fakeman

Fakeman

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

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

Отправлено 24 Февраль 2015 - 20:19

QUOTE
Да уж.. таких мододелов к стенке ставить нужно :) Хардкодят какуюто магию в ЕХЕшник, поди и исходников никаких нет.

)))

QUOTE
ну в sfall-овском зато есть автозавершение кода. И парсер тоже есть с переходам к местам использования/определения и т.п.

вот сделают такую-же панельку, тогда будет супер. :)




#39 Crafty

Crafty

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

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

Отправлено 24 Февраль 2015 - 21:18

QUOTE
Просто посмотри как аналогичные функции реализованы в sfall (подсветка предметов на земле).
Твоя правда ;) Перенёс ещё ReloadWeaponHotKey из блока Misc в блок Input в ini-файле.

QUOTE
Вопрос в том в каком месте у них отличается ЕХЕшник. Если чтот дописано в конец то по идее теоретически можно юзать sfall но без каких-либо гарантий от непонятных вылетов.
Неваду ещё не глядел (жду релиз), а экзешник Олимпа — это 1.02d US с добавленными (чем-то вроде Resource Hacker) в конце ресурсами и последний sfall (с отключённой проверкой размера) отлично с ним работает.


#40 The Master

The Master

    Чистосердечный зевака

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

Отправлено 25 Февраль 2015 - 07:00

QUOTE
Да уж.. таких мододелов к стенке ставить нужно :) Хардкодят какуюто магию в ЕХЕшник, поди и исходников никаких нет. Авторские права, самолюбие, все дела...

Хэй хэй! Нет исходников, люди занимались реверсом, да затихло это всё. Через sfall можно не всё, а даже если бы и можно было — не так много среди моддеров кодеров на плюсах.
На тот момент (да и сейчас) редактировать псевдокод лично мне гораздо проще, чем костылить через sfall. Данные для необходимых изменений у меня есть, остальное вообще по боку — авторские права у авторов, самолюбие не позволяет пилить гвозди топором.





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

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


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

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

Рейтинг@Mail.ru