Wake of Gods Forum | Форум Во Имя Богов

Full Version: Вопросы по моддингу
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Описка, видно. Проверка орфографии на корректном слове не катит, вот и прошло.

Quote:Как там возможен возврат? Или это описка?
?z2 передаст в этом параметре адрес. Функция сама должна по нему что-то записать. В твоём случае ты можешь написать ?v50, а функция должна записать в Addr, Addr + 4, Addr + 8 - результат.
MOP, ты не мог бы поделиться своей коллекцией общих бинарных патчей? Тех, что могли бы заюзать другие?
(10.08.2010 00:23)Berserker Wrote: [ -> ]MOP, ты не мог бы поделиться своей коллекцией общих бинарных патчей? Тех, что могли бы заюзать другие?
Таких мало, ибо в основном всё делаю в новой секции или на расчищенном конце содовской .text. Но попробую на досуге отобрать.

Вот для начала:
MOP, спасибо!
А с вратами инферно нужна функция их активации?
В смысле?
Стандартно врата активировались по щелчку на строении в Инферно. Если патч убирает зависимость от строения и города, то как вызвать диалог выбора места телепортации?
Так же. Патч убирает зависимость от наличия строения не в пункте-отправителе, а в пункте назначения.
(13.08.2010 00:55)Berserker Wrote: [ -> ]как вызвать диалог выбора места телепортации?
Так:
!?CM1; //тест: любой клик в любом городе
!!CA-1:H1/<0; //есть ли герой-гость?
!!FU&1:E; //выход, если нет
!!UN:C6919500/4/?y1; //указатель на TownManager
!!SN:E6129792/2/y1; //выполнить функцию
Спасибо.
(14.08.2010 21:11)Sav Wrote: [ -> ]Только хотелось бы узнать - нельзя ли как-нибудь универсально узнать, нет ли у существа иммунитета.

В Эре можно стандартную геройскую функцию дернуть.

double __fastcall sub_44A1A0(int spell, int creature, char* hero_caster, char* hero_target).

Первый параметр - номер заклинания,
Второй - номер существа
Третий - адрес структуры героя, кастующего заклинание
Четвертый - адрес структуры героя, чье существо подвергается заклинанию (0 - если героя нет)
feanor, им нужна тогда уже ерм-функция, скрывая детали реализации работы с адресами структур.
Примерный код должен быть таким:

!!UN:C6919480/4/?y1; //базовый адрес
!!VRy10:S<caster_hero_number> *1170 +136736 +y1;
!!VRy20:S<target_hero_number> *1170 +136736 +y1;
!!SN:E4497824/3/<spell>/<creature>/y10/y20;

А вот возвращает оно нефиксированные результаты. 8 бит, плавающая запятая, чтоб её >_<
Quote:В случае иммуна вернет 10.
В v1. Это на всякий случай. Спасибо за функцию.
Черт, все-таки там какой-то странный формат идёт.
В случае иммуна функция возвращает, скажем так, небольшое положительное (16, 45, 34).
В случае уязвимости - большое отрицательное (порядка -60000)

Что будет в случае удвоенного урона или частичного иммуна - даже думать боюсь.
Проверил: то же, что и в случае уязвимости.
feanor, разрешите поинтересоваться, работаете ли Вы еще над внедрением книг заклинаний для монстров? Если нет, то не могли бы Вы предоставить свои наработки - с полным, разумеется, соблюдением авторских прав. Если все еще работаете, не могли бы Вы подсказать алгоритм создания такой книги для волшебного дракона? В частности, интересует то, можно ли считывать и менять заклинание волшебного дракона.
Reference URL's