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

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


Halford

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

Юра Семецкий,

где ты такой нашёл? У меня заканчиваются на dbb, вроде видел dbc в каком-то из патчей.

 

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

Юра Семецкий,

могу и ошибаться, но имя вроде как можно поменять в XML профиле. Только надо учесть, что это же имя тупо вписано в кучу диалогов. Там оно естественно останется как было.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

Куфзук,

Возможно, тебе поможет информация из этого поста

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

Куфзук,

 

если надо сделать полностью своего непися, то этой случайности можно избежать. Надо просто сделать профиль без вариантов.

 

Кроме того, я не уверен, что при спавне аллспавном профиль используется в полной мере. Я спавнил скриптом и предметы выбирались из профиля. С другой стороны для актора предметы из профиля игнорируются и всегда спавнятся те, что указаны в секции [spawn] в аллспавне. Для остальных неписей не знаю.

 

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

Kolmogor,

 

Насчёт логики работы save в биндере как-то подымался вопрос здесь. Да, актор на самом деле сохраняется всегда, но другие объекты ведут себя не так однозначно. Я проверял для аптечки. Биндер не вис, но логику работы я до сих пор не понимаю.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

Kirag,

 

вставить в текст "\n".

 

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение
В том то и дело, что это не работает для окна, где находятся фразы ГГ.

Не совсем понял, о чём идёт речь. Об окне диалога или о чём-то другом?

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

andrewrap,

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

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

andrewrap,

поищи про таймеры АМК. Ищи в этой ветке или в соседних ковырялках. Или просто посмотри примеры их использования в самом АМК.

 

P.S.:

А вообще вопрос "как сделать что-то каждые X единиц времени" задают здесь регулярно. Впору уже вносить его в список правил в раздел злостных нарушений =)

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

andrewrap,

может рестрикторы держат?

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение
Наносить скриптом хит, подобрав силу и тип. Вроде после chemical_burn появляется только кровотечение

Добавлю. Хит можно наносить и отрицательный и таким образом "лечить". В качестве альтернативы можно перехать на движок ЗП. Там вместо этой функции появилось нормальное свойство bleeding на чтение и запись.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

Kirag,

Можно ли как-то насильно перевести серверный объект свежесозданного оружия в онлайн (id известен) сразу же после создания и как это сделать?

1. Смутно уже помню, но переход в онлайн предваряется вызовом метода серверного объекта (вроде как can_switch_online), который позволяет/не позволяет объекту перейти в онлайн. Я это к тому, что эти вызовы идут периодически с частотой вроде как одна секунда (но точно уже не помню). Это значит, что количество апдейтов до перехода в онлайн в целом величина переменная. Это если объект своим ходом переходит (от попадания в зону вокруг актора). Если пытаешься форсировать с помощью set_switch_online/offline, то см. ниже (п.3).

2. Почему не переходит в онлайн вообще да ещё иногда - тут ничего сказать не могу без эксперимента. Может с нетпакетом накосячил. Оружие вообще не столь к этому чувствительно, как другие объекты.

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

 

vader92,

 

используй time_global()

Изменено пользователем malandrinus
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

Kirag,

В качестве предположения. Там есть флажки object_flags. Эти флажки, насколько я помню на запись работают, а вот при чтении почему-то не читались. Т.е. при записи их надо было явно выставлять независимо от того, что там прочиталось до этого. Среди прочих там имеются use_swiches (как-то так по памяти). Может быть невключённость этих флажков влияет?

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение
однако когда он переходит в онлайн - он оказывается не в сотне метров в воздухе, а гдето в полуметре от асфальта, как победить глюк?

Для неживых объектов помогает снять флажок used_ai_location в поле object_flags. Флажок имеет маску 64. Не уверен однако, что для тушки это поможет. Живые объекты передвигаются по сетке. Может так статься, что независимо от "живости" привязка будет в любом случае.

 

почему созданную мной аномалию все, без исключения, НПС не видят в упор, как будто для них ее нету?

Ещё один вопрос, аномалия после выбросов исчезать будет?

В АМК своя схема обхода аномалий, а встроенные движковые ограничения (вроде как) снимаются. Не разбирался подробно, но наверное надо как-то добавить свою аномалию в эту схему.

 

Аномалия исходно - статический объект. Появляться и исчезать её заставили хитрые модостроители =) Т.е. опять же смотри, как это сделано в АМК.

Изменено пользователем malandrinus
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

Gonarh,

Для формирования маски можно использовать функции побитовой арифметики:

bit_and

bit_not

bit_or

bit_xor

примерно тоже самое можно сделать с помощью класса flags32

 

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

Arhara,

А как может точка пути находиться вне сетки? Ведь один из параметров каждой точки - вертекс уровня. Или я чего не понял?

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

Ирбис,

1. Скриптами. Например, после использования аптечки отнять все аптечки, после 10 секунд отдать обратно. Может и ещё как-то можно.

2. Редактировать соответствующую текстуру.

3. Никакой. Скриптами

4. Смотри, как это сделано в огнемёте АМК

5. Смотри как это сделано в АМК

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

Обнаружил поистине странную вещь. Патч 1.0006. Апдейты идут не с периодом 40 мс, а существенно быстрее. Если точнее, идут синхронно с fastcall-ами, что соответствует сильно меняющемуся периоду 10-25 мс.

Запустил ЗП - там как и положено 40 мс.

Я без понятия, чем это может быть вызвано. Хотелось бы прояснить, это так только у меня или у всех.

Если не сложно, сделайте кто-нибудь простую проверку. Надо вставить в апдейт актора одну строчку и посмотреть в консоли, что идёт в вывод. Только обязательно скажите, какой патч. Мне бы собрать информацию по патчам 1.0004 - 1.0006

 

файл bind_stalker.script в функции actor_binder:update:

function actor_binder:update(delta)
    object_binder.update(self, delta)

    get_console():execute(""..delta) -- <<== вставить вот такую строку

 

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение
У меня выдаёт 9-12 на 6 патче. Это хорошо или плохо, что быстрее обычного?

Это странно. Я отчётливо помню, что экспериментировал именно с ТЧ на кордоне и тайминг апдейтов был железно стабильный: у актора 40 мс, у остальных больше, в зависимости от расстояния. Не приснилось же мне это!

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение

mikelik,

Может быть запросто мусор. Этого добра в ТЧ хватает с избытком. Сам по себе рестриктор объект очень простой: у него есть некий объём, заданный набором примитивных шейпов, и функция, которая позволяет узнать, находится какоё-либо объект в пределах этого объёма. Больше ничего, даже апдейты для рестриктора не вызываются.

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

Т.е. если рестриктор не содержит логики и сам нигде не упомянут ни в чужой логике ни в коде - значит это почти наверняка мусор.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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