[ВОПРОС] Реально ли сделать New Spells Framework? - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Модостроительство В этом разделе можно обсуждать все что касается создания модов для Heroes of Might and Magic V.

Ответ
 
Опции темы
#1
Старый 30.12.2024, 13:56
  #1
^
Waterfall_13
 
Аватар для Waterfall_13
📖
Регистрация: 31.03.2020
Адрес: Крым
Сообщения: 975
Waterfall#7225
Регистрация: 31.03.2020
Адрес: Крым
Сообщения: 975
Waterfall#7225
По умолчанию
[ВОПРОС] Реально ли сделать New Spells Framework?

У нас есть New Creature Framework - NCF
У нас есть New Artifact Framework - NAF
У нас есть New Hero Classes Framework - NHCF

Реально ли сделать New Spells Framework - NSF?
Я нашёл такие же упоминания в types как для существ и артефактов.

Количество заклинаний:

Списко заклинаний

Назначенные номера для заклинаний:


Кто-нибудь знает кто делал NCF, NAF? Может к нему обратится...
Waterfall_13 вне форума
Ответить с цитированием
#2
Старый 31.12.2024, 00:18
  #2
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 863
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 863
pegn0ly#9113
Выставка наград
По умолчанию
Re: [ВОПРОС] Реально ли сделать New Spells Framework?

Ну чисто технически добавить новые слоты под спеллы можно, но проблема в том, что в отличие от артефактов и существ, каждый новый спелл будет требовать какую-то уникальную механику в экзешнике. По крайней мере, единственное, что у меня получалось сделать на основе новых спеллов пустышек - это их каст и вывод инфы в комбат лог, никакие базовые настройки и даже визуал к ним по дефолту не прикручиваются.
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#3
Старый 31.12.2024, 11:22
  #3
^
Waterfall_13
 
Аватар для Waterfall_13
📖
Регистрация: 31.03.2020
Адрес: Крым
Сообщения: 975
Waterfall#7225
Регистрация: 31.03.2020
Адрес: Крым
Сообщения: 975
Waterfall#7225
По умолчанию
Re: [ВОПРОС] Реально ли сделать New Spells Framework?

Короче я вчера узнал следующее:
Некто Deflaktor создал патчер, который вносит изменения в экзешник.



Потом Deflaktor и Magnomagus создавали какие-то вариации файлов yml которые вносят правки в определённые строчки с помощью патчера.
И по итогу Dredknight взял их наработки и дошлифовал их до того что мы имеем сегодня, YML файл для расширения существ, YML файл для расширения артефактов, YML файл для расширения классов героев.


YML файл для артефактов к примеру выглядит внутри вот так:

"Начало"
# ----------------------------------------------------
# --------------- Max Artifacts Count ----------------
# ----------------------------------------------------
#
# Changes the amount of available artifacts from 97 to &max_artifact_count
# Credit: Deflaktor
# ----------------------------------------------------
# -------------- Things you may want to modify -----------------
definitions: 
- &max_artifact_count            196
--- # --------------- ORIGINAL PATCH DATA ---------------
group: Original
checkAddress:   44BE7A
checkBytes:     E8 A1 50 BB FF
patchAddress:   44BE7F
originalBytes:  6A 61 8D 44 24 24     # push 61 & lea eax,[esp+24]
patchBytes:     E9 C0 38 BB FF 90     # jmp 00400344 & nop
---
group: Original
patchAddress:   344
originalBytes:  00
patchBytes:     68                             # push
---
group: Original
patchAddress:   345
originalBytes:  00*
valueType:      Integer
patchValue:     *max_artifact_count
---
group: Original
patchAddress:   349
originalBytes:  00*
patchBytes:     8D 44 24 24 E9 33 C7 44 00     # lea eax,[esp+24] & jmp 0093EDD5
---
group: Original
checkAddress:   446C95
checkBytes:     C3 CC CC CC CC CC CC CC CC CC CC B8
patchAddress:   446CA1
valueType:      Integer
originalValue:  97
patchValue:     *max_artifact_count
--- # --------------- QUANTOMAS 3.1j PATCH DATA ---------------
group: Quantomas3.1j
checkAddress:   0053E1CA
checkBytes:     E8 51 22 AC FF
patchAddress:   0053E1CF
originalBytes:  6A 61 8D 44 24 24     # push 61 & lea eax,[esp+24]
patchBytes:     E9 70 15 AC FF 90     # jmp 00400344 & nop
---
group: Quantomas3.1j
patchAddress:   344
originalBytes:  00
patchBytes:     68                             # push
---
group: Quantomas3.1j
patchAddress:   345
originalBytes:  00*
valueType:      Integer
patchValue:     *max_artifact_count
---
group: Quantomas3.1j
patchAddress:   349
originalBytes:  00*
patchBytes:     8D 44 24 24 E9 83 EA 53 00     # lea eax,[esp+24] & jmp 0093EDD5
---
group: Quantomas3.1j
checkAddress:   005393D5
checkBytes:     C3 CC CC CC CC CC CC CC CC CC CC B8
patchAddress:   005393E1
valueType:      Integer
originalValue:  97
patchValue:     *max_artifact_count
--- # --------------- MAP EDITOR EXE 3.1 PATCH DATA ---------------
group: MapEditorOriginal
checkAddress:   8C537A
checkBytes:     E8 E1 CF 73 FF
patchAddress:   8C537F
originalBytes:  6A 61 8D 44 24 24     # push 61 & lea eax,[esp+24]
patchBytes:     E9 C0 A3 73 FF 90     # jmp 00400344 & nop
---
group: MapEditorOriginal
patchAddress:   344
originalBytes:  00
patchBytes:     68                             # push
---
group: MapEditorOriginal
patchAddress:   345
originalBytes:  00*
valueType:      Integer
patchValue:     *max_artifact_count
---
group: MapEditorOriginal
patchAddress:   349
originalBytes:  00*
patchBytes:     8D 44 24 24 E9 33 5C 8C 00     # lea eax,[esp+24] & jmp 00CC5F85
---
group: MapEditorOriginal
checkAddress:   8C05C5
checkBytes:     C3 CC CC CC CC CC CC CC CC CC CC B8
patchAddress:   8C05D1
valueType:      Integer
originalValue:  97
patchValue:     *max_artifact_count


#
#
#
#QAI test patch changing int to double
#patchAddress:   0053E1CF  ## changing int to double
#originalBytes:  6A 7F 8D 44 24 24 50 8D 4C 24 1C 51 68 EC B5 FE 00 8B CE BB 03 00 00 00 E8 A4 EF FF FF EB 02 33 C0 8B C8 E8 69 A1 28 00 F6 C3 02 74 10 8B 54 24 14 52 83 E3 FD E8 27 DA AC FF 83 C4 04 F6 C3 01 74 0D 8B 44 24 20 50 E8 15 DA AC FF 83 C4 04 5F 5E 8B C5 5D 5B 83 C4 1C C3 CC CC CC CC CC CC CC CC
#patchBytes:     68 f4 01 00 00 8D 44 24 24 50 8D 4C 24 1C 51 68 EC B5 FE 00 8B CE BB 03 00 00 00 E8 A1 EF FF FF EB 02 33 C0 8B C8 E8 66 A1 28 00 F6 C3 02 74 10 8B 54 24 14 52 83 E3 FD E8 24 DA AC FF 83 C4 04 F6 C3 01 74 0D 8B 44 24 20 50 E8 12 DA AC FF 83 C4 04 5F 5E 8B C5 5D 5B 83 C4 1C C3 CC CC CC CC CC

## second change is required here at address 005393E1

## h5 ToE offsets are 44BE7F and 446CA1

## editor offsets are 8C537F and 8C05D1
"Конец"

Дредкнайт тоже сказал что заклы мало расширить нужно ещё им логику вписать. Я ему написал что можно же хотя бы ссылаться на готовый закл магии хаоса где логика уже есть, а внутри заклинание переписать на другую формулу урона и другой эффект и другое описание/название. Он написал что возможно сработает.
Будем надеяться у него что-нибудь получится 😇
 
Waterfall_13 вне форума
Ответить с цитированием
#4
Старый 31.12.2024, 13:03
  #4
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 863
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 863
pegn0ly#9113
Выставка наград
По умолчанию
Re: [ВОПРОС] Реально ли сделать New Spells Framework?

Было бы прекрасно, на самом деле даже просто нормального фреймворка с расширением слотов и хотя бы работающим визуалом было бы в целом достаточно. 
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
Ответ


Опции темы



Часовой пояс GMT +4, время: 14:03.


vBulletin v3.5.0, Copyright ©2000-2026, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru