Current time: 25.11.2024, 04:56 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
ERA / WOG - сетевая игра и проблемы с ней
» Очень актуальная тема на день её создания
Author Message
ZVS Offline

Posts: 500
Post: #166

Звучит отлично.
Какую сборку тогда лучше попробовать для игры MP с опытом монстров ну и последними MP совместимыми опциями ERA?
14.06.2022 16:34
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #167

ZVS, на данный момент ту, которую я должен обновить - именно там я удалил все лишние файлы и поместил нужные скрипты.
Скачать их можно отдельно на git

ZVS, лучше скажи, как мне пропатчить воговскую таблицу заклинаний Yes

а то тут плагин на новые заклинания сделали, но ERM его не видит


    _PI->WriteDword(0x687FA8, (int)&Spell); - патч содовской таблицы, но вод где и когда патчить erm?


Image: widget.png?style=banner2

Новейший Heroes Launcher
14.06.2022 16:37
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #168

(14.06.2022 16:37)daemon_n Wrote:  как мне пропатчить воговскую таблицу заклинаний Yes

а то тут плагин на новые заклинания сделали, но ERM его не видит

Лично я все новые заклинания пишу в оригинальную воговскую таблицу, т.к. в WoG TE (экзешник которой используется в ЭРЕ) эта таблица уже пропатчена и расширена авторами ВоГа. То, что автор плагина тупо скопировал код с аналогичного содовского плагина, забыв о нововведениях ВоГа - проблема автора плагина (у него опыта в написании плагинов уже почти 10 лет, но вот почему-то качество его dll по-прежнему хромает, хотя теоретически он уже вполне должен был работать на уровне Сава или Игрика, но... ему ещё нужно учится и учиться...).

(14.06.2022 16:37)daemon_n Wrote:      _PI->WriteDword(0x687FA8, (int)&Spell); - патч содовской таблицы, но вод где и когда патчить erm?

Здесь:

// Spells support
{0x59E467+3,DS(Spells),4},
{0x687FA8,DS(Spells),4},

Т.к. адрес базовый, то и патч крохотный. А ВоГ традиционно использует ПРЯМУЮ адресацию (базовая - только в ассемблерных вставках), поэтому там - уже колбаса.
(This post was last modified: 14.06.2022 17:03 by XEPOMAHT.)
14.06.2022 16:59
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #169

XEPOMAHT, проблема совместимости здесь в том, что воговская таблица подразумевает использование заклинаний существами, а не героями, а потому последующие изменения и расширения не очень легко устроить

P.S.: за адрес спасибо - попробую сделатьYes

P.P.S.: кажется, не сработало


Image: widget.png?style=banner2

Новейший Heroes Launcher
14.06.2022 17:08
Visit this user's website Find all posts by this user Quote this message in a reply
ZVS Offline

Posts: 500
Post: #170

daemon_n, "должен обновить" означает, что стоит подождать обновления?
Отдельно я бы не качал, т.к. хотел бы полную сборку.

По поводу правки таблицы заклинаний. Я исходники WoG не видел 18 лет...
Ну так, посмотрел, что с тех пор осталось.
ERM использует копию таблицы из SoD.
Сама таблица находится после строк "{"ZMGC03.def", "MGblock3",1}" (это конец таблицы анимаций магии).

Таблица SoD копируется в таблицу WoG так (первый - адрес таблицы SoD):
    {(Byte *)0x6854A0,(Byte *)Spells,sizeof(_Spell_)*SPELLNUM_0}, //
   
Адреса в памяти SoD таблицы подменяются на адрес WoG таблицы (адреса слева):
    {0x59E467+3,DS(Spells),4},
    {0x687FA8,DS(Spells),4},

Это по старым исходникам.
Или не эта инфа нужна?
14.06.2022 17:15
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #171

(14.06.2022 17:08)daemon_n Wrote:  проблема совместимости здесь в том, что воговская таблица подразумевает использование заклинаний существами, а не героями, а потому последующие изменения и расширения не очень легко устроить

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

Code:
extern _Spell_ Spells[SPELLNUM];

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

Лично у меня в Тифоне монстры колдуют из воговской таблицы, куда во время загрузки и пишутся все данные редактора заклинаний, включая новые бланковые заклинания (которые так же видит и редактор монстров для назначения их любым монстрам в игре).
14.06.2022 17:21
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #172

ZVS, да, в ближайшие дни будет обнова

адреса нужны, спасибо - шаманю потихоньку - видимо, надо оба патчить. всё так и сделано - игра вполне справляется с новыми параметрами, а вот ERM - нет102

Просто всё ещё сложно понимать всё это, даже освоив с++ базу148

XEPOMAHT, тогда придётся идти на радикальны меры и вручную вносить каждый параметр из плагина в новую таблицу через un:c 105


Image: widget.png?style=banner2

Новейший Heroes Launcher
14.06.2022 17:24
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #173

(14.06.2022 17:24)daemon_n Wrote:  тогда придётся идти на радикальны меры и вручную вносить каждый параметр из плагина в новую таблицу через un:c 105

Нет. Повторяю ещё раз для тех, кто не понимает: в плагине на новые заклинания используй ВОГОВСКОЕ АДРЕСНОЕ ПРОСТРАНСТВО. Там памяти выделено на 200 заклинаний - неужели тебе этого мало???
14.06.2022 17:29
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #174

XEPOMAHT, всё ещё не понимаю - в какой именно момент я должен переадресовать туда?
и "туда" это "куда"?

начнём с того, что в городах и у героя используется таблица по адресу 0x687FA8


Image: widget.png?style=banner2

Новейший Heroes Launcher
14.06.2022 17:35
Visit this user's website Find all posts by this user Quote this message in a reply
ZVS Offline

Posts: 500
Post: #175

Таблица SoD копируется в таблицу WoG при старте игры (запуск exe). После этого таблица SoD никак не используется - все внесенные в нее изменения после копирования будут проигнорированы. Изменения надо делать прямо в WoG таблице.

"Туда" (адрес WoG таблицы) найти можно, например, по адресу 0x59E46A или 0x687FA8. По этим адресам будет адрес таблицы заклинаний WoG сразу после ЗАПУСКА. В образе файла на диске (вне запуска) там будет адрес таблицы SoD.

Это если ЭТОТ код WoG не менялся с момента моего отхода от дел.
(This post was last modified: 14.06.2022 17:45 by ZVS.)
14.06.2022 17:40
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #176

ZVS, ааа, вот теперь дошло - то есть надо делать намного раньше?
или поместить плагин в "beforeWog"?


Image: widget.png?style=banner2

Новейший Heroes Launcher
14.06.2022 17:42
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2356
Post: #177

(14.06.2022 17:35)daemon_n Wrote:  всё ещё не понимаю - в какой именно момент я должен переадресовать туда?
и "туда" это "куда"?

У тебя сейчас в плагине такая запись:

Code:
_Spell_ Spell[SPELLS_MAX];

Для ВоГа её быть НЕ ДОЛЖНО. Просто избавься от неё (правда, плагин придётся переписать чуть ли не весь). Если не понятно, что это вообще такое и с чем это едят, то... придётся учится кодингу. Просто знания Си++ тебя не спасут.

(14.06.2022 17:35)daemon_n Wrote:  начнём с того, что в городах и у героя используется таблица по адресу 0x687FA8

Начни с учёбы по кодингу. Ты совершенно не понимаешь, что "по адресу 0x687FA8" нет никакой таблицы. Там обычный dword и ничего более.

Учиться, учиться, учиться и ещё раз учиться, а не пытаться что-то сделать в готовом си-шном коде методом научного тыка.
(This post was last modified: 14.06.2022 17:48 by XEPOMAHT.)
14.06.2022 17:44
Find all posts by this user Quote this message in a reply
ZVS Offline

Posts: 500
Post: #178

C и C++ достаточно низкоуревневы. Там не трудно написать любые преобразования адресов, не хуже чем на asm.
Я могу посоветовать что-то с настройкой кода, но где плагин посмотреть весь?
14.06.2022 17:50
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #179

XEPOMAHT, размер таблицы не так интересен, покуда плагин корректно добавляет новые заклинания для героя и замков, но вот WoG, как я понял, копирует таблицу до хука на изменение таблицы, а потому и эффекта на erm нет

ZVS, ссылка на плагин и ресурсы для игры

Или ссылка на оригинальный код от AlexSpl


Image: widget.png?style=banner2

Новейший Heroes Launcher
14.06.2022 17:51
Visit this user's website Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4343
Post: #180

XEPOMAHT, я понимаю, что по адресу 0x687FA8 указатель на таблицу, которая лежит по адресу 0x6854A0

И процесс обучения подразумевает ошибки и консультации с теми, кто понимает 118
Так что за незнание и непонимание я себя не корю, а лишь ищу возможность разобраться Yes


Image: widget.png?style=banner2

Новейший Heroes Launcher
14.06.2022 18:03
Visit this user's website Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group