Current time: 23.03.2024, 18:48 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Ваши вопросы по ERM-скриптам
Author Message
Bes Offline

Posts: 5422
Post: #406

нет,сэн-сэй,ты был как всегда прав!
Я когда проверял вызывал получение координат битвы из под CM4.. и мне давался тип героя с номером. Из под BA0 всё как ты и сказал.. спасибо
(я в очредной раз убедился в своей глупости,не проверю все варианты а начинаю ныть,видя спасение только в UN:C.. и так постоянно)
ЗЫ:Berserker,в твоём предложенном варианте есть маленький изъян - когда битва будет идти на клетку правее от правого края гарнизона.
12.09.2009 18:38
Visit this user's website Find all posts by this user Quote this message in a reply
DracoLich Offline

Posts: 251
Post: #407

Кто-нибудь знает, как определяется, кто будет возрожден некромантией? В памяти нащупал только диалог (т.е. можно менять картинку и колво существ в диалоге), но не саму структуру с добавляемыми монстрами. Получается, что изменить возрождаемых монстров стандартно никак? (
15.09.2009 13:47
Visit this user's website Find all posts by this user Quote this message in a reply
Efrit Offline
Administrators

Posts: 6183
Post: #408

DracoLich, а неужели нельзя просто сравнить войска до и после битвы? (ну и не забывать про демонов, которых могут воскресить питы) А затем и сменить их...


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...
15.09.2009 13:54
Find all posts by this user Quote this message in a reply
MOP Offline
Moderators

Posts: 1467
Post: #409

(05.08.2009 01:17)MOP Wrote:  Ввели бы, ей-богу, тип объекта, поддерживающий флаг, но совершенно пустой, без бонусов, чтобы его подтипы можно было закодить по-своему. А то даже теряешься, не зная, что можно для этого приспособить. Герой, город, двеллинг - отбрасываем сразу. Шахта? У подтипов >7 вообще не работает пост-триггер, некорректно работает MN. Гарнизон? Он предлагает оставить войска. Маяк? Приносит бонус мореплаванию. Что ещё можно предложить?
(05.08.2009 01:45)Berserker Wrote:  Тяжело найти реальное работающее решение.
В общем, сделал так: обнулил бонус Маяка к мореплаванию в movement.txt, эмулировал эти свойства для подтипа 0, а другие подтипы юзаю на своё усмотрение. Всё решаемо.)

P.S. SCVS оптимистична. Она не ругается на :-) в комментах к скрипту, но ни в какую не хочет его компилировать с :-(
P.P.S. Судя по предупреждению в exe, скрипт не может весить более чем 25 мб. Забавно. Ab


Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery
15.09.2009 17:22
Find all posts by this user Quote this message in a reply
DracoLich Offline

Posts: 251
Post: #410
Баг 
Quote:а неужели нельзя просто сравнить войска до и после битвы? (ну и не забывать про демонов, которых могут воскресить питы) А затем и сменить их...
угу. удачи отлавливать, где добавились, какой слот, экспу и т.п.
И к чему это собсно? ) эмуляцию то я сделал, я интересуюсь, мб кто-нибудь работал с подобными адресами, которые не высвечиваются в памяти (армани не находит других таких значений)
15.09.2009 18:33
Visit this user's website Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #411

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


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
15.09.2009 18:58
Find all posts by this user Quote this message in a reply
Дьякон Offline

Posts: 392
Post: #412

Code:
ZVSE
!?BG1;
!!VRv1:S6919200;
!!UN:Cv1/4/?v2;
!!VRv2:+81228;
!!UN:Cv2/4/?v1; - кол-во монстров
!!VRv2:+4;
!!UN:Cv2/4/?v3; - тип моннстров

Вот, Драко, - попробуй. Использовал BG1, потому что BA1 вызывает скрипт уже после окна с сообщением о полученных монстрах. А так последний BG вызывает скрипт после алгоритма подсчета полученных монстров и можно спокойно их менять.

P.S. Писец, разучился скрипты писать ))) Без темы "скрипты для чайников" и хелпа фиг бы написал )))


Страус труп (с) Бьерн
(This post was last modified: 16.09.2009 11:38 by Дьякон.)
16.09.2009 11:32
Find all posts by this user Quote this message in a reply
DracoLich Offline

Posts: 251
Post: #413

Quote:а не легче по тем значениям, что ты нашел, восстановить общие воскрешенные хп и перевести их в тех существ, в которых надо, а в конце забрать скелетов из армии героя и дать ему существ
В сравнении с тем, чтобы прямо в памяти заменить номер Скелетов на номер допустим Личей и не извращаться с удалением и подсчетами?
Quote:Вот, Драко, - попробуй. Использовал BG1, потому что BA1 вызывает скрипт уже после окна с сообщением о полученных монстрах. А так последний BG вызывает скрипт после алгоритма подсчета полученных монстров и можно спокойно их менять.
Если честно, то тут только одно вызывает усложение - кто победил в битве? Как определить это в BG1, я не догадываюсь ( Я использовал BA1)
И еще разок, у меня есть эмуляция замены воскрешаемых. Это все определяется лишь из диалогового окна с сообщением вы воскресили ляляля. Но ОТКУДА идет генерация окна, где-то ведь должно прописываться количество и тип монстра? Но артмани видит только диалоговые адреса. Потому и спрашивал, мб есть какие-нибудь фишки с внутренностями
16.09.2009 17:34
Visit this user's website Find all posts by this user Quote this message in a reply
Дьякон Offline

Posts: 392
Post: #414

В тех адресах, что я написал и прописывается. Ты можешь использовать и BA1. Просто я думал тебе нужно менять окно воскрешаемых монстров


Страус труп (с) Бьерн
(This post was last modified: 16.09.2009 17:40 by Дьякон.)
16.09.2009 17:38
Find all posts by this user Quote this message in a reply
major Offline

Posts: 129
Post: #415

DracoLich, все просто. По найденным адресам в !?BG1 смотришь, что герою добавили 15 воинов-скелетов, к примеру. Затем в !?BA1 забираешь у героя столько же воинов-скелетов в первом же попавшемся слоте, потому что именно туда их добавят, а затем добавляешь новое количество нужных монстров. Собственно, если у героя все слоты заняты, то и добавлять никого не будут, и по этим адресам будут 0 (где количество монстров - точно) и в этом случае тоже легко проверить, забирать у героя существ или нет. К тому же, если хочешь чтоб окно сообщения некромантии вообще не вылазило просто в !?BG1 ставишь в количество существ 0. Вот вроде бы и все.
У меня правда время от времени появляется сообщение после битвы о поднятом 1 скелете, хотя сама некромантия работает нормально.
16.09.2009 22:18
Find all posts by this user Quote this message in a reply
Дьякон Offline

Posts: 392
Post: #416

Зачем отслеживать, когда можно записать по адресу нужного монстра сразу?
Добавлено:
И вообще у меня есть подозрение, что в BG можно найти и номер героя победителя. А чтоб BG не вызывался много раз, можно проверять в нем окончание боя в данном ходу, и если есть, то делать соответствующие манипуляции.


Страус труп (с) Бьерн
(This post was last modified: 16.09.2009 22:40 by Дьякон.)
16.09.2009 22:32
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #417

(16.09.2009 22:18)major Wrote:  DracoLich, все просто...
ему этот вариант не подходит. я предлагал


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
17.09.2009 01:19
Find all posts by this user Quote this message in a reply
DracoLich Offline

Posts: 251
Post: #418

Quote:DracoLich, все просто.
Собсно, именно так у меня сейчас и сделано. НО ведь где-то должны храниться данные о добавлении существ. А видно ТОЛЬКО то, что будет в диалоге, т.е. изменением этих значений не добьешься изменений добавляемых существ. И я интересовался, где могут записываться значения (которые передаются в диалог), если они не видимы для артмани? Бо эмуляцией то все готово, но ГДЕ прячутся добавляемые в памяти? (
(This post was last modified: 17.09.2009 22:31 by DracoLich.)
17.09.2009 22:30
Visit this user's website Find all posts by this user Quote this message in a reply
Дьякон Offline

Posts: 392
Post: #419

Драко - не навади панику. Я проверял адреса в отладчике - все правильно. Данные адреса отвечают за добавление типа и кол-ва монстров герою. Данные адреса - это адреса локальных переменных. Алгоритм подсчета и добавления существ происходит между последними !?BG0 и !?BG1. Т.е. в BG0 еще рано менять так как потом алгоритм подсчета забъет эти переменные своими значениями, а в BG1 - уже поздно, т.к. монстры уже добавлены. Поэтому выход один в последнем BG1 зная значение кол-ва монстров добавлять их ручками в пустой слот герою, либо к существующим монстрам (либо не добалять, если все занято).
Добавлено:
Единственный выход это поставить тип монстра поменяв код проги, это не сложно через UN:C. А потом поменять назад в BG1.


Страус труп (с) Бьерн
(This post was last modified: 18.09.2009 00:22 by Дьякон.)
18.09.2009 00:15
Find all posts by this user Quote this message in a reply
Дьякон Offline

Posts: 392
Post: #420

Вот например воскрешаем грифонов неулучшенных.

Code:
ZVSE
!?BG0;
!!VRv1:S4627227;
!!VRy1:S1208; тип монстров (состоит из двух 16ричных цифр 04B8, где 04 тип монстра B8-постоянная)
!!UN:Cv1/4/y1;
!!VRv2:Sv1+4;
!!VRy2:S36864;
!!UN:Cv2/2/y2;
!?BG1; (восстановление кода)
!!BU:C?y1;
!!if&y1=1:;
    !!VRy1:S1028687499;
    !!VRy2:S1;
    !!UN:Cv1/4/y1;
    !!UN:Cv2/4/y2;
!!en;
Только этот код нужно применять для определенного героя, иначе у всех некромантов будут воскрешаться грифоны. Еще озможная проблема, если деруться два некроманта, одинкоторый восстанавливает скелетов, второй, который восстанавливает других существ. Если победит тот что восстанавливает скелетов, то восстановит грифонов. Так что этот код нужно использовать аккуратно и только тогда когда нужный герой побеждает в битве.
Добавлено:
Хотя можно проверить и на то, какому герою даются монстры - но это геморойно, легче длл-ку написать для данного св-ва или патч


Страус труп (с) Бьерн
(This post was last modified: 18.09.2009 02:05 by Дьякон.)
18.09.2009 01:28
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