Malandrinus
Жители-
Число публикаций
1 930 -
Регистрация
-
Последнее посещение
-
Дней в топе
13 -
AMKoin
160 [Подарить AMKoin]
Весь контент пользователя Malandrinus
-
Редактирование движка X-Ray
Malandrinus ответил на тему форума автора Rolan в Скрипты / конфиги / движок
AK74, ну как они могут подходить? Ведь файлы PDB содержат привязки строк кода к бинарным файлам. Изменились бинарные файлы - всё, соответствие порушено. Даже если скомпилировать тот-же исходник с другими настройками, уже не подойдёт. А здесь мы говорим о новой версии движка. Т.е. НЕ подходят никаким боком. Информацию косвенно можно использовать, поскольку архитектура движка в целом не изменилась. Но только косвенно использовать: смотреть на старый (его легче изучать), затем сопоставлять с новыми версиями, которые уже без отладочной информации. -
Справочник по функциям и классам
Malandrinus ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Слегка обновил информацию в одной из старых статей, а именно про управление задачами (они же квесты). В описание класса SGameTaskObjective добавил информацию по заданию предусловий на провал и успех а также действий по провалу и успеху. Указаны соответствущие теги в XML описании. -
[SoC] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
strelok200, ты уже несколько раз задаёшь фактически один и тот-же вопрос: как сделать определённый порядок квестов, диалогов... Всё это делается с помощью инфопорций, предусловий и скриптовых действий. К этому собственно и сводится построение сюжета - к последовательной выдаче инфопорций, а по их наличию открывания сюжетных ходов - диалогов и квестов, а по их результатам выдаче следующих инфопорций и т.д. Технические подробности можно почитать в темах "уроки" и "справочник", а также на вики. -
Редактирование движка X-Ray
Malandrinus ответил на тему форума автора Rolan в Скрипты / конфиги / движок
SkyLoader, ида даёт такой прототип этой функции: void __thiscall CActor__IR_OnKeyboardPress(CActor *this, int cmd); что означает на самом деле такой: void CActor::IR_OnKeyboardPress(int cmd); тип аргумента - неопределённый int, но можно предположить, что это одна из констант-действий из key_bindings. Функции большие, действительно. Это на самом деле хорошо. Думается мне, что там как раз и происходит обработка действий нажатия на клавиши. Скорее всего там в коде стояло что-то вроде такого: switch (cmd){ case <команда стрелять>: // делаем выстрел break; case <команда прыгать>: // выполняем прыжок break; // и т.д. } Это довольно нудно расшифровывать, поскольку оператор switch компилируется по-разному в зависимости от режима оптимизации и внутри превращается в весьма запутанную и неоднозначную конструкцию. Но что и где делается можно иногда понять и так по именам вызываемых функций. К примеру, стоят вызовы CInventory::Action(int,uint). Это явно какие-то действия с предметами в слотах. А вот это CActor::cam_Set(ACTOR_DEFS::EActorCameras) похоже на действия с камерой актора. Вероятно как раз и есть переключение режимов. Где-то там есть и изменение расстояния от актора до камеры. Если нужно найти параметры камеры, то отсюда надо начинать копать. Лезть в эти функции и пытаться понять, откуда они берут данные или куда пишут, какие ещё функции вызывают и т.д. -
Vault Boy, Может ему воевать надоело =)
-
[SoC] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
Real Wolf, obj:set_nonscript_usable(false) -
Редактирование движка X-Ray
Malandrinus ответил на тему форума автора Rolan в Скрипты / конфиги / движок
SkyLoader, надо искать в xrGame.dll из билда mp 2947. Там в комплекте имеются файлы с расширением *.pdb для каждого экзешника или библиотеки. При открытии файла идой в первый раз она спросит, загружать ли отладочную информацию. Надо ответить, что загружать. В этом случае ида уже не будет искать функции, типы и прочее, а просто возмёт это из этих файлов. Там безымянных или нераспознанных функций не будет вообще, и каждая функция будет иметь точную информацию о типе возвращаемого значения, типах и даже именах аргументов. Вот теперь уже и можете искать функции по имени. Можно сделать "jump to function" и там с помощью "search" найти функцию по тем иенам, что я давал. А можно просто отсортировать функции по именам в окошке слева и тогда найти её в списке тоже будет несложно. -
[SoC] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
ЙоЖеГ, ось Y идёт на экранах сверху вниз ещё с мохнатых времён телетайпов и аналоговых экранов. Где ты здесь видел его снизу вверх, скажи на милость? -
[SoC] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
ЙоЖеГ, похоже на то, что вышли за пределы родительского окна. Вероятно, лучше сдвигать не кнопки, а TabControl на котором они расположены. И он тоже должен остаться в пределах своего родительского окна. Кстати, как сделать их вертикально, понятия не имею. Такой настройки в табконтрол-е не нашёл. -
Справочник по функциям и классам
Malandrinus ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Kolmogor, я понимаю. Скриптовое окно в этом случае надо завести "рядом" и присоединять кнопки на движковй диалог, а колбеки перенаправить в это отдельное окно. Потом не забыть отсоединить кнопки от движкового окна и просединить к скриптовому для корректного удаления. Проблемы начнуться если "забыть" кнопку на движковом окне, поскольку она там останется вплоть до выхода из программы. Real Wolf, таки прочитай тот старый пост, что я привёл. Там именно твоя проблема и решалась. -
[SoC] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
ЙоЖеГ, <!-- TAB CONTROL --> это сам блок кнопок <tab x="129" y="573" width="550" height="30"> <!-- BUTTONS --> а это первая кнопка, по которой выравнены все остальные <button x="50" y="7" width="50" height="20" hint="pda_btn_quests_hint"> ... </button> когда я смещаю первую кнопку, то смещается весь ряд (и именно кнопки, не текстуры), когда я пытаюсь сместить не первую кнопку, то это просто игнорируется. -
Справочник по функциям и классам
Malandrinus ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
DimOriN, у reader есть некий указатель внутри, который смещается при каждом чтении. Всякий раз читает новое значение и смещается. При следующем чтении читается уже другое значение. Всё-таки почитай про net_packet. Там очень похоже. Real Wolf, Хлопотное это дело. Потом, не уверен, что стоит пытаться присоединять к одному диалогу другой. Лучше отдельные контролы. Безвылетную технологию для этого я описывал здесь. -
[SoC] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
ЙоЖеГ, опять же в столбик. Скорее всего допустимо выравнивание по первой кнопке по горизонтали или вертикали, но не независимое расположение кнопок. -
Редактирование движка X-Ray
Malandrinus ответил на тему форума автора Rolan в Скрипты / конфиги / движок
SkyLoader, так это тебе нужно смотреть туда, где эти команды используются. Могу предположить, что это одна из таких функций: CActor::IR_OnKeyboardHold CActor::IR_OnKeyboardPress CActor::IR_OnKeyboardRelease Берёшь билд с отладочными дампами (mp 2947), находишь там эти функции (а может и не эти) и грызёшь их с помощью иды, пока не поймёшь, как это всё работает =) В релизных билдах разумеется код изменён, но не существенно, а найти там нужную функцию сходу почти нереально. -
[SoC] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
ЙоЖеГ, n6260, Окно хоть и движковое, но инициализируется из XML файла "config\ui\pda.xml". Но переместить отдельную кнопку не выйдет. Дело в том, что они не независимы, а входят в состав специального контрола для управления страницами. Все кнопки выравниваются по первой в ряду. -
Справочник по функциям и классам
Malandrinus ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
DimOriN, reader похож на net_packet только без функций записи. net_packet я расписывал здесь. Но на самом-то деле класс ведь примитивный. По именам методов и так ясно, что они делают. А что за задача стоит? -
Олег К., читерить не обязательно, там фильтры валяются на каждом шагу. И интересно, а сколько тогда стоит? Вы уже посчитали?
-
Редактирование движка X-Ray
Malandrinus ответил на тему форума автора Rolan в Скрипты / конфиги / движок
SkyLoader, признаться, не понимаю о каких настройках ты говоришь. Камера следует за актором. Что тут настраивать? -
Редактирование движка X-Ray
Malandrinus ответил на тему форума автора Rolan в Скрипты / конфиги / движок
SkyLoader, Это фрагмент функции добавления констант к классу-перечислению key_bindings. Там сериями вызовов добавляются пары ключ/значение. То, что ты конкретно привёл - это фрагмент добавления константы key_bindings.kCAM_2 со значением 17. -
[CoP] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
qq11q, Что такое партиклы можно почитать здесь. Как их создавать с нуля можно почитать на wiki в разделе про SDK. Но скорее всего существует до кучи готовых модов на эту тему. Для переноса готовых партиклов есть утилиты. Поищи их здесь, на сталкерине или просто погугли. При наличии готового партикла вписать его в конфиг ствола будет несложно. -
Справочник по функциям и классам
Malandrinus ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
В ТЧ и ЧН были глобальные функции GetTextureInfo, GetTextureName и GetTextureRect. Это значит по имени текстуры получить ее файл (вроде как это еще полотном называют) и координаты прямоугольника. Напоминаю, что в таком понимании текстура это то, что обычно указывается в XML описаниях разных окошек. Там как правило прописывается имя, которое ссылается на отдельное описание (в другом XML файле), где уже и задается имя файла и координаты прямоугольника. Эти функции как раз и позволяют получить эту информацию. Особой пользы от этих функций не было, поскольку не было ни одной функции, которая возвращала бы имя текстуры. И вот в ЧН такая функция появилась! Для онлайновых объектов сталкеров стало возможно получить иконку персонажа с помощью функции character_icon. Это очень нужная функция, поскольку дает информацию о реальном профиле сталкера. Так и что вы думаете! В ЗП разрабы взяли и убрали функции получения информации о текстурах. И какой теперь толк от той функции получения иконки? XML прочитать нельзя, а иначе логическое имя ни о чем не говорит. Нет слов, одни междометья. -
Редактирование движка X-Ray
Malandrinus ответил на тему форума автора Rolan в Скрипты / конфиги / движок
SkyLoader, =) Можно взять хвост от одной собаки и кинуть к другой, да чтоб она потом им махала? "Кинуть" - неподходящее слово. А вообще можно, вот же в шапке лежит проект "пришивания второго хвоста". -
Редактирование движка X-Ray
Malandrinus ответил на тему форума автора Rolan в Скрипты / конфиги / движок
SkyLoader, то, что ты нашёл, - это не функция, а строка с завершающим нулём (очевидно, имя консольной команды). IDA даёт им имя, комбинируя его из собственно строки и добавляя в начале "a" от ASCII. Чтобы найти остальные, надо реверсить функцию регистрации консольных команд. Ну или на wiki посмотреть =) align = выравнивание. Всякие данные обычно начинаются как минимум на границе двойного слова (4 байта). Ида распознаёт (чаще всего верно) все такие микропустоты перед началом переменных и пытается изобразить при этом корректный ассемблерный текст. -
[CoP] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
Серый Волк, вроде как нельзя. Можно нарисовать текст на текстуре, и тогда уж располагай его как душе угодно. -
and_modern, Вот пример проигрывания партикла по такому пути pp = particles_object("ghoul\\anomal-04-blue-field") pp:load_path("particle_test.anm") pp:start_path(true) pp:play() сходи на Кордон, встань рядом с остановкой с тушканами и гляди на АТП. Запусти этот скрипт и полюбуйся на НЛО, которое летает чуть правее тропинки от остановки. Вопрос относительный. Для меня ставить SDK на мою винду 7 x64 - это мучение, уровни я никогда не декомпилировал, да и SDK не люблю. До сих пор не могу научиться управлять там камерой. stunder, Не уверен насчёт аномалий. Партикл можно по пути пустить, а вот аномалию (чтобы повреждение наносила при этом) - вроде нельзя. Однако, использование хотя бы эффекторов камеры может быть довольно обширным: банальные пролёты, эффекты землятресения и выброса, удары в морду и эффекты от хитов, скриптовые сценки типа "выглянул в окошко" или "упал, посмотрел с земли". Уже немало. Те же анимированные партиклы, пусть и без полноценных аномальных эффектов, нашлось бы куда прикрутить.
- [ЧН] OGSM CS 1.8 CE Fixes
- [ЧН] HARDWARMOD 3.2
- [ЗП] The Long Road
- [ЧН] New vision of War
- [ЧН] Old Good Stalker Mod - Clear Sky
- [ЗП] Unofficial Patch
- [ЗП] Смерти вопреки
- [ЗП] Контракт на хорошую жизнь
- [ЗП] Shoker Weapon Mod 2.1
- [ЗП] Hardcore pack for SGM 2.2
- [ЗП] Контракт Синдиката
- [ЗП] Клондайк 2.0
- ...и другие моды