Перейти к контенту
Halford

[SoC] Ковыряемся в файлах

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

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

  • Согласен 1

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий
1 час назад, dPlayer сказал:

А в реестре следов не оставит

Если их не было, то не оставит. xrGame.dll импортирует только RegOpenKeyExA, а RegCreateKeyExA не импортирует. То есть она может открыть существующий ключ реестра, а новый создать не может.

В реестр пишутся cd-key и имя игрока.

 

eax.dll импортирует RegCreateKeyExA. Что она с ним делает, не знаю.

 

  • Нравится 1
  • Полезно 2
Ссылка на комментарий

Первый параметр - рекурсия включена/выключена (для операций с массивом файлов, например, чтением их списка в папке), второй - уведомление (движка) об изменениях включено/выключено.

Где и в каких сценариях используется второй параметр, сказать не могу, не изучал.

  • Полезно 1
Ссылка на комментарий
13 минут назад, Kirgudu сказал:

рекурсия включена/выключена (для операций с массивом файлов, например, чтением их списка в папке)

Как применить понятие рекурсия к списку файлов непонятно, ну да ладно))))

К файлу юзер.лтх нельзя выходит применить сохранение в какую-то отдельную папку?

19 часов назад, Kirgudu сказал:

но он вроде как и не требуется особо

Ну так то не хватает))

Изменено пользователем dPlayer
Ссылка на комментарий
28 минут назад, dPlayer сказал:

Как применить понятие рекурсия к списку файлов непонятно, ну да ладно))))

Эммм... "с учётом вложенных папок" пойдёт? )

30 минут назад, dPlayer сказал:

К файлу юзер.лтх нельзя выходит применить сохранение в какую-то отдельную папку?

Если не ошибаюсь, user.ltx сохраняется в "$app_data_root$".

  • Нравится 1
  • Согласен 1
  • Полезно 1
Ссылка на комментарий
2 часа назад, Kirgudu сказал:

"с учётом вложенных папок" пойдёт? )

Более чем:biggrin:

Пока ковырялся аж захотелось какой нибудь мод опять начать делать:616:

  • Нравится 1
  • Смешно 2
Ссылка на комментарий

кто-нибудь знает как на время запретить игроку переходить на другую локацию, например пока идёт выброс и т.п. ,в момент когда появляется окно перехода (перейти на локацию и например, чтоб активна была только кнопка НЕТ или окно само закрывалось до наступления определённого момента)

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

В OGSR есть callback.level_changer_action.

 

В ТЧ надо поймать активное окно через level.main_input_receiver() и проверить наличие одного из уникальных методов класса CUIMessageBoxEx – вот тут недавно было объяснение. Это в теории; на практике имеем следующее:

• у такого окна всего два уникальных метода, GetHost() или GetPassword(), и они есть только у окна с конфигом "ввод пароля для сети" – окно "приглашение к переходу" можно поймать только через общие методы класса CUIDialogWnd, например, if wnd:GetHolder() …;

• общие методы определяются для любого диалогового окна – надо будет отсечь инфо-поршни всех обычных окон и КПК;

• в оригинальном движке нет инфо "ГГ наступил в область перехода" – придется ловить окно через апдейт, и тут тоже сложность: апдейт ГГ ставится на паузу в диалоге перехода – надо запускать проверку "выброс + окно + метод" отдельным потоком через level.add_call(проверка, действие).

 

Еще вариант: при запуске выброса удалить все переходы на активной локации, а после проспавнить их заново и расставить метки. Потребуется список story_id и spawn_id переходов; если первое значение или ссылку на сам объект можно получить перебором obj:clsid() == clsid.level_changer, то второе (номер секции в all.spawn) в оригинале читать нечем – только выписывать вручную.

  • Нравится 1
  • Полезно 2

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий
1 час назад, Norman Eisenherz сказал:

при запуске выброса удалить все переходы на активной локации

И игрок благополучно уйдёт за карту))

А левел_ченжер это же рестриктор фактически? Мб изменить его так, чтобы разворачивал гг мордой обратно при выбросе и давал какое нибудь сообщение? Ну или поставить на переходе другой рестриктор с такой логикой 

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

@dPlayer в OGSR есть подобный прикол, мол ГГ не может пройти в переход (перемещает в обратную сторону) пока он отыгрывает анимацию использования предмета. На основе этого думаю можно чего-то придумать.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@dPlayer , нет.

В данном контексте OGSR - кастомный движок, в котором добавлен соответствующий коллбек: callback.level_changer_action.

  • Нравится 1
Ссылка на комментарий
9 часов назад, imcrazyhoudini сказал:

в OGSR есть подобный прикол, мол ГГ не может пройти в переход (перемещает в обратную сторону)

а есть пример этого прикола? потому что в Вики по ОГСР есть только метод который меняет текст названия в окошке типа "переход с уровня... на такой...."

Ссылка на комментарий
4 часа назад, CiberZold сказал:

а есть пример этого прикола?

Режим g_block_all_except_movement, что-то такое.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

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

Комментарии могут оставлять только зарегистрированные пользователи

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

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

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

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

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...