Current time: 20.09.2020, 19:24 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 6173
Post: #391

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

Вот именно Sm (красным выделено мною). А "окончание действия при передаче хода" - это вообще-то и есть начало нового хода. И !!BG:N?y-1 для этих триггеров будет вызывать разные значения - а это показывает, что эти триггеры уже относятся к разным монстрам. Значит, !?BG0 вызывается именно что позже !?BG1.

Quote:А вот это действительно была бы нужная вещь.
Угу... Если идёт атака - то это ещё куда ни шло (есть !?MF1, так что повреждения можно отменить и потом "выдать" отдельно), а вот если действие иное - то действительно, проблема...


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...
04.09.2009 19:27
Find all posts by this user Quote this message in a reply
gamecreator Offline
Administrators

Posts: 7146
Post: #392

блин. я помню что писал скрипт существа, забирающего свойства других. и использовал там !?BG1, потому что по !?BG0 действие было нулевым. может это вы чето нахимичили в 3.59?


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
04.09.2009 20:31
Find all posts by this user Quote this message in a reply
Efrit Offline
Administrators

Posts: 6173
Post: #393

gamecreator, ничего мы не химичили. Я вообще под 3.59 ещё скрипты не пишу - пока и возможностей 3.58 хватает, !!UN:C и в 3.58 есть. Вот как LUA просмотрю как следует - так и пересяду на 3.59-платформу 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...
04.09.2009 20:36
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 4126
Post: #394

Подскажите,пожалуйста!!!
"Как можно узнать, что битва происходит в магическом гарнизоне?"

Желательно не громозский способ.. например через UN:C



Image: 237506073ac7.gif
05.09.2009 03:37
Visit this user's website Find all posts by this user Quote this message in a reply
Efrit Offline
Administrators

Posts: 6173
Post: #395

Bes, а как насчёт такого варианта - попробовать скастануть в пустую позицию поля битвы (предварительно проверим её с помощью !!BU:O) один зыбучий песок с помощью !!BH:Q или !!BM:Q, и после этого - тут же проверить эту клетку на наличие песка с помощью всё того же !!BU:O ? (и удалить песок, если он там ещё есть, естес-но 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...
05.09.2009 16:19
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 4126
Post: #396

идея мне понравилась.. необычная,интересная.. Sm
но не подходит:
1. а если будет не гарнизон запретом,а антимагический арт? лишние условия нужно прописывать...

спасибо за идею
Добавлено:
sergroj предложил способ найти адрес для UN:C..
Quote:с АртМани точно можно найти
GrayFace (02:54:26 5/09/2009)
это должно быть внутри менеджера битвы - его адрес лежит в 6919200
GrayFace (02:54:51 5/09/2009)
найди простое значение
GrayFace (02:55:59 5/09/2009)
потом просто добавь любое 4-байтовое значение в таблицу и замени его адрес на 699420 (это уже в шестнадцатиричной)
GrayFace (02:56:57 5/09/2009)
потом из адреса простого значения, которое ты нашел, вычти значение по второму адресу
я не сообразил как это.. может кто поможет по такому алгоритму?
Bad (я бездарь)



Image: 237506073ac7.gif
(This post was last modified: 05.09.2009 22:13 by Bes.)
05.09.2009 22:08
Visit this user's website Find all posts by this user Quote this message in a reply
MOP Offline

Posts: 1369
Post: #397

(31.08.2009 18:25)Bes Wrote:  !!BA-10:H0/?y3; получит к примеру 56
Э-э-э... А есть команда BA-10? Может, НЕ-10?
Quote:Мой совет: не использовать триггеры вообще, сразу вызывать функции.
Проще всегда использовать лишь глобальные переменные.

Вчера натолкнулся на глюк: в !?BR не получилось задать значение z-переменной. Высер произошёл на таком коде:
Quote:!?BR|15/16; обнуление информации каждый раунд битвы
!!VRz1:S^^;
!!VRv2:S$ID DEF`S & DWELLINGS$+462; инфо о стеках
!!SN:E$CopyMemory$/0/42/$AdressZ1$/v2; скопировать нулевую информацию
Посмотрел через АртМани - произошло копирование не нулевой информации, а последнего значения z1, которое она фиг знает где и когда получила. Пришлось заменить код на такой:
Quote:!?BR|15/16; обнуление информации каждый раунд битвы
!!VRv3:S$ID ArtifactsMerchants$+224; - нулевая память после артефактов Торговцев
!!VRv2:S$ID DEF`S & DWELLINGS$+462; инфо о стеках
!!SN:E$CopyMemory$/0/42/v3/v2; скопировать нулевую информацию
Так вот вопрос: глюк в !?BR или в ЭРЕ?


Я на Лит-Нете
(This post was last modified: 09.09.2009 14:54 by MOP.)
09.09.2009 14:50
Find all posts by this user Quote this message in a reply
Efrit Offline
Administrators

Posts: 6173
Post: #398
Восклицание 
Офигеть, вот это баг так баг. Оказывается, ERM совсем не умеет проверять строгие неравенства между дробными числами (то есть < или >). Спасают только нестрогие неравенства (<= или >=) - их ERM проверять умеет...


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...
09.09.2009 22:18
Find all posts by this user Quote this message in a reply
Дьякон Offline

Posts: 379
Post: #399

Я думал все баги уже известны


Страус труп (с) Бьерн
09.09.2009 23:15
Find all posts by this user Quote this message in a reply
DracoLich Offline

Posts: 251
Post: #400

(05.09.2009 03:37)Bes Wrote:  Подскажите,пожалуйста!!!
"Как можно узнать, что битва происходит в магическом гарнизоне?"

Желательно не громозский способ.. например через UN:C

эм... а такой метод чем не нра?
!?BA;
!!HE-10:P?y1/?y2/?y3;
!!OBy1/y2/y3:T?y4 U?y5;
!!IF&y4=33/y5=1:M^гарнизон антимагии^;
11.09.2009 08:49
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 4126
Post: #401

сэн-сэй,такой метод даёт тип и подтип ГЕРОЯ,а не гарнизона..
(насчёт BA-10 эт я перепутал,конечно же просто !!BA:H0/?y3)



Image: 237506073ac7.gif
11.09.2009 14:47
Visit this user's website Find all posts by this user Quote this message in a reply
DracoLich Offline

Posts: 251
Post: #402

(11.09.2009 14:47)Bes Wrote:  сэн-сэй,такой метод даёт тип и подтип ГЕРОЯ,а не гарнизона..
(насчёт BA-10 эт я перепутал,конечно же просто !!BA:H0/?y3)

ты хоть пробовал? у меня все работает, и как положено возвращает гарнизон 33 антимагический 1
11.09.2009 17:17
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 4126
Post: #403

хм.. в том то и дело что ДА. Bad
мне давал именно Героя Bad
ладно,спасибо,я всётаки вынужден был писать цикл поиска нужного мне гарнизона,сверяя координаты
(как говорится,глумная голова и не такое сделает)
Добавлено:
правда я координаты брал через BA:P,а не через HE:P
Добавлено:
может есть разница? %)



Image: 237506073ac7.gif
(This post was last modified: 11.09.2009 19:48 by Bes.)
11.09.2009 19:46
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 13031
Post: #404

Не так, Бес. Всё намного проще. Для проверки объекта идёт следующий псевдокод:

Quote:выключить ошибки
получить координаты героя
получить значение Х объекта У по этим координатам
включить ошибки
если была ошибка, то объета нет, иначе есть

Альтернатива: установка v2,v3,v4 координат героя, при этом v2 = x - 1; Затем одна команда поиска. Если координаты не равны геройским, значит гарнизон не здесь. Всё экранировать запретом ошибок.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
11.09.2009 21:12
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 4126
Post: #405

дело в том,что на карте практически,очень редки такие гарнизоны,потому не вижу особой разнице в твоём варианте и в том,что я вынужден был реализовывать.. всё равно цикл проскочит очень быстро (UN:U33/1/-1/#)..
(если будет желание,я конечно пропишу твоим способом,а пока пусть как есть,прости)



Image: 237506073ac7.gif
11.09.2009 22:23
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-2020 MyBB Group