Current time: 05.10.2022, 16:49 Hello There, Guest! (LoginRegister)
Language: english | russian  

Thread Closed 
Threaded Mode | Linear Mode
New Era Of Heroes
» WoG 3.58f + Era 1.81
Author Message
MOP Offline
Moderators

Posts: 1388
Post: #106

Что ж, большое спасибо. Sm Правда, понял описание крайне туманно (профиль не тот), но попробую разобраться.
Quote:Первая выделяет блок памяти указанного размера и возвращает адрес
Куда? В v1?


Я на Лит-Нете
06.11.2009 22:47
Find all posts by this user
Berserker Offline
Administrators

Posts: 16057
Post: #107

Да, все вызываемые функции возвращают результат в v1.

Попробую объяснить работу функций. Плагин при загрузке создаёт список выделенных адресов памяти. В начале он пустой. Допустим, тебе понадобился кусок памяти в 200 байт. Ты вызываешь MemAlloc(200). Выделяется блок памяти, адрес добавляется в список и возвращается тебе. Ты этот адрес можешь юзать в любых функциях вроде CopyMemory, UN:C. Через какое-то время буфер становится не нужен. Тогда ты вызываешь MemFree(адрес). Память освобождается, адрес удаляется из списка. При загрузке или старте карты тебе нужно очистить всю память, выделенную под предыдущую игру. Вызываешь MemClear, что проходится по списку и освобождает все буфера.

Для чего это нужно? Можешь реализовать бесконечное кол-во новых объектов, под каждый из которых нужно Х байт, например. Простейший способ - список. Выделяешь верхушку (например 40 байт). В первых 4-х байтах сохраняешь указатель на следующий элемент списка (тоже буфер на 40), в остальных - собственно поля объекта и т.д. Последний элемент цепочки будет содержать 0, что означает конец.

Или в твоём случае нужно юзать большой объём статических данных. Выделить буфер, прочитать в него данные из файла. Варианта два: 1) использовать winapi 2) я допишу ещё пару функций для сохранения и загрузки данных с файлов.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
06.11.2009 23:05
Find all posts by this user
MOP Offline
Moderators

Posts: 1388
Post: #108

ОК. Понял значение каждой команды. Представил себе эту внутреннюю кухню. Image: smile.gif
Интересно, а как с сетью будут дела? Что-то озаботился в последнее время этим аспектом...


Я на Лит-Нете
(This post was last modified: 07.11.2009 03:53 by MOP.)
07.11.2009 00:57
Find all posts by this user
Berserker Offline
Administrators

Posts: 16057
Post: #109

Для сети юзай удалённые функции ЕРМ с целью синхронизации. Тут всё по старинке.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
07.11.2009 11:56
Find all posts by this user
Berserker Offline
Administrators

Posts: 16057
Post: #110

http://www.multiupload.com/WSD24BE8L3

FUNCTION FileToMem (Path: PCHAR): POINTER; PASCAL;
PROCEDURE MemToFile (Path: PCHAR; Buf: POINTER; Num: INTEGER); PASCAL;

PCHAR - строка, путь к файлу. Подойдёт любая z.

Первая функция загружает указанный файл в память и возвращает адрес буфера. Вторая сохраняет данные кол-вом Num байт из указанного буфера в указанным файл. То есть разную информацию можно подгружать и сохранять динамически и забыть про тормознутые и неудобные ini в текущей версии.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
07.11.2009 13:23
Find all posts by this user
MOP Offline
Moderators

Posts: 1388
Post: #111

Тоже вещь. ini в самом деле дело тормозное. Спасибо. Sm
Если указанный файл отсутствует, как поступят, каждая в своём случае, обе функции?


Я на Лит-Нете
07.11.2009 15:15
Find all posts by this user
Berserker Offline
Administrators

Posts: 16057
Post: #112

FileToMem возвратит NIL (0, нулевой адрес, v1 = 0)
MemToFile сперва удаляет файл, потом пытается создать новый и записать в него. Если не выходит, тихо возвращает управление.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
07.11.2009 15:26
Find all posts by this user
Bes Offline

Posts: 5405
Post: #113

Помогите, пожалуйста, с патчингом для скина ФМ..

ZloadGAM.pcx
ZnewGAM.pcx

Эти картинки в экране требуется сместить,а для этого нужны адреса координат.
Поможете с этим?
08.11.2009 13:43
Visit this user's website Find all posts by this user
MOP Offline
Moderators

Posts: 1388
Post: #114

0D57F0h - X (1 байт)
0D57EBh - Y (4 байта)

Координаты едины для обоих картинок.


Я на Лит-Нете
19.11.2009 20:00
Find all posts by this user
Berserker Offline
Administrators

Posts: 16057
Post: #115

Bes: Спасибо...


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
19.11.2009 22:47
Find all posts by this user
farmer Offline

Posts: 3
Post: #116

Это только у меня глюки: ПКМ по слотам для артефактов (где щебенка всякая складывается - сферы, сумки с золотом...) вызывает сообщение скриптовой ошибки? причем даже по пустым слотам. И еще кнопка переключения героев на системной панельке не функциклирует Sorry

И вопрос на несколько отвлеченную тему... больше всего в героях мне хочется изменить систему заклинаний, но я прекрасно понимаю, что никто за меня для меня это делать не будет 148, поэтому вопросик: если надо изменить, например, "экспертное замедление", так чтобы оно срабатывало на 20% существ или его действие зависело бы от первоначальной скорости существ, то это надо копать в сторону скриптов или модинга?
19.11.2009 23:30
Find all posts by this user
Efrit Offline
Administrators

Posts: 6199
Post: #117

Quote:вопросик: если надо изменить, например, "экспертное замедление", так чтобы оно срабатывало на 20% существ или его действие зависело бы от первоначальной скорости существ, то это надо копать в сторону скриптов или модинга?

В сторону скриптов. Да и сам моддинг-то во многом на скриптах и держится Sm


Welcome to the soldier side,
Where there is no one here but me.
People all grow up to die,
There is no one here but me...
19.11.2009 23:33
Find all posts by this user
Berserker Offline
Administrators

Posts: 16057
Post: #118

farmer, глюки не только у тебя, отключи скрипт улучшенных артов I. Кнопка "следующий герой" выключена в ТЕ по соображениям античитерства.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
19.11.2009 23:51
Find all posts by this user
gamecreator Offline

Posts: 7145
Post: #119

а что с ней не так?


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
20.11.2009 18:05
Find all posts by this user
Efrit Offline
Administrators

Posts: 6199
Post: #120

Просто в оригинальной игре (СоД или ВоГ) с помощью этой кнопки можно просматривать героев противника при сетевой игре...


Welcome to the soldier side,
Where there is no one here but me.
People all grow up to die,
There is no one here but me...
20.11.2009 18:13
Find all posts by this user
« Next Oldest | Next Newest »
Thread Closed 


Forum Jump:

Powered by MyBB Copyright © 2002-2022 MyBB Group