• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стартовал новый литературный конкурс от "Ордена Хранителей" - "Пираты Миртанского моря".
    Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду. Дерзайте
  • Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных

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

Не стесняюсь спросить....

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Еще парочка вопросов:

  • Существует ли декомпилятор скриптов, который хавает скртпты с всякими ikarus и компанией?
  • Где можно прочитать о бинарной структуре скомпиленых скриптов? Может есть опенсорсные утилиты которые как то с ней работают?
1. К сожалению нет. Есть программы которые позволяют посмотреть тело функции если ты знаешь ее точное название. Хотя, вроде как немцы что то там мутили у себя. что способно вскрывать скрипты с икарусом. Но это не точно. По сути оно и не нужно. С появлением юнион большая часть обработок со скриптов ушла туда.
2. Вот это хз. Тут скорее только Мгаот подскажет - было ли вобще такое когда-нибудь. Может быть от Vama что нить осталось.

С другой стороны, икарусы рано списывать со счетов - судя по тому же моду Хроники Миртаны. По крайней мере, такого я еще ни в одном моде не видел на юне. Все эти квилуты, квикбары и прочее смотрятся по сравнению с той же кинематографией ХМ и работой с камерой скажем прямо бледновато.
 
Последнее редактирование:

crashtua

Участник форума
Регистрация
7 Янв 2020
Сообщения
95
Благодарности
27
Баллы
115
1. К сожалению нет. Есть программы которые позволяют посмотреть тело функции если ты знаешь ее точное название. Хотя, вроде как немцы что то там мутили у себя. что способно вскрывать скрипты с икарусом. Но это не точно. По сути оно и не нужно. С появлением юнион большая часть обработок со скриптов ушла туда.
2. Вот это хз. Тут скорее только Мгаот подскажет - было ли вобще такое когда-нибудь. Может быть от Vama что нить осталось.
Я там оригинальное сообщение подправил, спрашивал про дампер символов, спецом что бы хуками юниона знать что нужно подменять :)
Пост автоматически объединён:

Я так понимаю, хроники миртаны на икарусе? Я собственно эту тему начал изучать только потому что хочу подхачить торговцев архолоса, мне стрел не хватает(я еще тот любитель стрелять зомби с горочки на первом уровне). Эксперементальным сспособом для некоторых торговцев узнал название функции, которая им инвентарь заполняет, добавил под сотню веток, но хочется как то упростить процесс. Еще в планах сделать мод "переодических поставок", а то торговцы они такие крутые, а свои товары не восполняют ежедневно :)
 
Последнее редактирование:

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.086
Благодарности
1.909
Баллы
320
Где можно прочитать о бинарной структуре скомпиленых скриптов? Может есть опенсорсные утилиты которые как то с ней работают?
Если универсального декомпилятора нет, существует ли дампер символов, что бы посмотреть какие есть функции или константы, может что то типа "дизасемблера"?
decdat вроде показывает байткод
ещё у меня есть собственная тулза, которая распечатывает символы и байткод
Пост автоматически объединён:

Я так понимаю, хроники миртаны на икарусе?
Да
Эксперементальным сспособом для некоторых торговцев узнал название функции, которая им инвентарь заполняет, добавил под сотню веток, но хочется как то упростить процесс.
Можно декомпилить отдельные функции плагином MarvinHelper, менять их и внедрять с помощью плагина zParserExtender
 

crashtua

Участник форума
Регистрация
7 Янв 2020
Сообщения
95
Благодарности
27
Баллы
115

decdat вроде показывает байткод
ещё у меня есть собственная тулза, которая распечатывает символы и байткод
Было бы круто посмотреть вашу тулзу, если возможно. А вообще, реально байткодом писать, компиляторы байткода в дат существуют? Ну или запуск байткода с авторана, или что то подобное?
 

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.086
Благодарности
1.909
Баллы
320
Было бы круто посмотреть вашу тулзу, если возможно.
Можно, но она требует .Net core runtime 3 и Phyton 3.7
Кидаешь датник в Data\ и запускаешь run.py. Результат будет в папке Printed.

А вообще, реально байткодом писать, компиляторы байткода в дат существуют?
Не вижу смысла, ведь можно использовать Daedalus.
 

Вложения

  • GothicTranslatePortable.zip
    2,3 MB · Просмотры: 8

crashtua

Участник форума
Регистрация
7 Янв 2020
Сообщения
95
Благодарности
27
Баллы
115
Slavemaster, спасибо огромное, пойду поковыряю.
Пост автоматически объединён:

Slavemaster, Trazege, спасибо огромное, вашей помощи хватило что бы подхачить торговцев по программе минимум.
 
Последнее редактирование:

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995
в догонку, может будет полезно.. )

  • Существует ли декомпилятор скриптов, который хавает скртпты с всякими ikarus и компанией?
  • Где можно прочитать о бинарной структуре скомпиленых скриптов? Может есть опенсорсные утилиты которые как то с ней работают?
  • Если универсального декомпилятора нет, существует ли дампер символов, что бы посмотреть какие есть функции или константы, может что то типа "дизасемблера"?
для костылей лего и икарусов вменяемого декомпиллера не существует, только одна хрень, требующая другую хрень для его использования, а та в свою очередь другую, и так по кругу.. — круговорот говна в природе.. © как говорится.

по легам и троллейбусам тут почитать можно:
но будет ли что тебе полезно хз..

по бинарной структуре можно еще Регот глянуть: [WIP] REGoth-Engine

правда хз, писали ли они там что об этом, сам смотри..
 

crashtua

Участник форума
Регистрация
7 Янв 2020
Сообщения
95
Благодарности
27
Баллы
115
Добрый день. Я так понимаю, встроенных min max функций нет? В туторе Вама не нахожу, а форум по трем символам искать не хочет.
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.176
Благодарности
5.697
Баллы
910
Если собрался ломать мод используй их функции
Lego - Random
 

crashtua

Участник форума
Регистрация
7 Янв 2020
Сообщения
95
Благодарности
27
Баллы
115
Если собрался ломать мод используй их функции
Lego - Random
так это функции рандома,, верхнее и нижнее значение а мне надо просто подогнать готовое значение под минимум(ну или максимум, или под минимум и максимум одновременно). Но все равно спасибо за референс.

Я там нашел в ХМ maxof4, больше они себе не напилили. Ну не страшно, своих добавлю.
 

Lorddemonik

★★★★★
Редактор раздела
Регистрация
17 Дек 2011
Сообщения
1.119
Благодарности
584
Баллы
350
Каким образом можно получить данные о защите и характеристиках нпс не в находясь диалоге. Например для всяких формул.
Попытки victim.protection[PROT_BLUNT], other.protection[PROT_BLUNT] или other.attribute[atr_mana] результат всегда ноль. Что примечательно на себя hero и self работает нормально
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.576
Благодарности
4.171
Баллы
915
Тогда пробуй получить эти данные через прямое обращение к инстанции персонажа: PC_Psionic.protection[PROT_BLUNT] или через прописанную в Npc_Globals.d переменную типа C_NPC: Lester.attribute[ATR_MANA].
 

Lorddemonik

★★★★★
Редактор раздела
Регистрация
17 Дек 2011
Сообщения
1.119
Благодарности
584
Баллы
350
Тогда пробуй получить эти данные через прямое обращение к инстанции персонажа: PC_Psionic.protection[PROT_BLUNT] или через прописанную в Npc_Globals.d переменную типа C_NPC: Lester.attribute[ATR_MANA].
Вариант конечно интересный, но всё-таки хочется получать данные об нпс в фокусе, в крайнем случае в момент атаки. Твой вариант будет весьма затратен в плане перечисления всех нпс
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.410
Благодарности
3.241
Баллы
525
Попытки victim.protection[PROT_BLUNT], other.protection[PROT_BLUNT] или other.attribute[atr_mana] результат всегда ноль. Что примечательно на себя hero и self работает нормально
Ссылки self, other, victim - это глобальные ссылки. Они переопределяются многократно при выполнении функций ИИ неписями и при действиях игрока.

хочется получать данные об нпс в фокусе
Как-то проводил эксперимент. В циклическую функцию был добавлен следующий код:

Daedalus:
    // NPC в фокусе. За исключением мёртвых и бессознательных NPC.
    Npc_GetTarget(hero);
    if(Hlp_IsValidNpc(other))
    {
        PrintScreen(other.name[0],-1,5,"FONT_OLD_10_WHITE.TGA",2);
    }
    else
    {
        PrintScreen("no_other",-1,5,"FONT_OLD_10_WHITE.TGA",2);
    };
 

crashtua

Участник форума
Регистрация
7 Янв 2020
Сообщения
95
Благодарности
27
Баллы
115
Добрый день. А кто то случайно может подсказать как координаты мира соотносятся с текстурой карты?

пс: хочу сделать(или по крайней мере начать делать) интерактивную карту для "Хроники Миртаны".
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.176
Благодарности
5.697
Баллы
910
Разрабы спецом переписали отрисовку карт, чтобы не работали плагины itemmap, не думаю, что они будут рабы этому.
 

crashtua

Участник форума
Регистрация
7 Янв 2020
Сообщения
95
Благодарности
27
Баллы
115
Добрый день. А кто то случайно может подсказать как координаты мира соотносятся с текстурой карты?

пс: хочу сделать(или по крайней мере начать делать) интерактивную карту для "Хроники Миртаны".
Отвечаю на свой вопрос, конкретно для ХМ: у них есть функция spritemap_init, в которую передаются минимальные и максимальные координаты для карты(захардкоженные), с которых уже можно легко вычислить координаты на текстуру карты. По крайней мере на карту самого архолоса работает.
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Отвечаю на свой вопрос, конкретно для ХМ: у них есть функция spritemap_init, в которую передаются минимальные и максимальные координаты для карты(захардкоженные), с которых уже можно легко вычислить координаты на текстуру карты. По крайней мере на карту самого архолоса работает.
Карты всегда так и делались... Передавались координаты мира для которого делалась карта, в после делается проекция на саму текстуру карты. Как именно делается проекция то надо смотреть в сам движок игры
 

crashtua

Участник форума
Регистрация
7 Янв 2020
Сообщения
95
Благодарности
27
Баллы
115
Карты всегда так и делались... Передавались координаты мира для которого делалась карта, в после делается проекция на саму текстуру карты. Как именно делается проекция то надо смотреть в сам движок игры
Если что, мне надо не в игре, а просто в пикселях на текстуре. Получилось вычислить как x / ( xmax / texture_size ), предварительно нормализировав все координаты, избавившись от отрицательных значений. Проверил парочку сундуков и вещей по координатам с zen мира - совпало на ура. Если будет не лень, доделаю и выложу на githubpages интерактивную карту архолоса.
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Если что, мне надо не в игре, а просто в пикселях на текстуре. Получилось вычислить как x / ( xmax / texture_size ), предварительно нормализировав все координаты, избавившись от отрицательных значений. Проверил парочку сундуков и вещей по координатам с zen мира - совпало на ура. Если будет не лень, доделаю и выложу на githubpages интерактивную карту архолоса.
Отлично! Я как раз собираюсь допройти мод на зимних каникулах. Так что пригодится *ok!*
 
Сверху Снизу