gamecreator
Posts: 7107
|
|
04.09.2009 20:31 |
|
Efrit
Posts: 6184
|
gamecreator, ничего мы не химичили. Я вообще под 3.59 ещё скрипты не пишу - пока и возможностей 3.58 хватает, !!UN:C и в 3.58 есть. Вот как LUA просмотрю как следует - так и пересяду на 3.59-платформу
Welcome!
|
|
04.09.2009 20:36 |
|
Bes
Posts: 5441
|
Подскажите,пожалуйста!!!
"Как можно узнать, что битва происходит в магическом гарнизоне?"
Желательно не громозский способ.. например через UN:C
|
|
05.09.2009 03:37 |
|
Efrit
Posts: 6184
|
Bes, а как насчёт такого варианта - попробовать скастануть в пустую позицию поля битвы (предварительно проверим её с помощью !!BU:O) один зыбучий песок с помощью !!BH:Q или !!BM:Q, и после этого - тут же проверить эту клетку на наличие песка с помощью всё того же !!BU:O ? (и удалить песок, если он там ещё есть, естес-но )
Welcome!
|
|
05.09.2009 16:19 |
|
Bes
Posts: 5441
|
идея мне понравилась.. необычная,интересная..
но не подходит:
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)
потом из адреса простого значения, которое ты нашел, вычти значение по второму адресу
я не сообразил как это.. может кто поможет по такому алгоритму?
(я бездарь)
(This post was last modified: 05.09.2009 22:13 by Bes.)
|
|
05.09.2009 22:08 |
|
MOP
Posts: 1468
|
(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 или в ЭРЕ?
Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery
(This post was last modified: 09.09.2009 14:54 by MOP.)
|
|
09.09.2009 14:50 |
|
Дьякон
Posts: 395
|
Я думал все баги уже известны
Страус труп (с) Бьерн
|
|
09.09.2009 23:15 |
|
DracoLich
Posts: 251
|
(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 |
|
Bes
Posts: 5441
|
сэн-сэй,такой метод даёт тип и подтип ГЕРОЯ,а не гарнизона..
(насчёт BA-10 эт я перепутал,конечно же просто !!BA:H0/?y3)
|
|
11.09.2009 14:47 |
|
DracoLich
Posts: 251
|
(11.09.2009 14:47)Bes Wrote: сэн-сэй,такой метод даёт тип и подтип ГЕРОЯ,а не гарнизона..
(насчёт BA-10 эт я перепутал,конечно же просто !!BA:H0/?y3)
ты хоть пробовал? у меня все работает, и как положено возвращает гарнизон 33 антимагический 1
|
|
11.09.2009 17:17 |
|
Bes
Posts: 5441
|
хм.. в том то и дело что ДА.
мне давал именно Героя
ладно,спасибо,я всётаки вынужден был писать цикл поиска нужного мне гарнизона,сверяя координаты
(как говорится,глумная голова и не такое сделает) Добавлено:
правда я координаты брал через BA:P,а не через HE:P Добавлено:
может есть разница? %)
(This post was last modified: 11.09.2009 19:48 by Bes.)
|
|
11.09.2009 19:46 |
|
Berserker
Posts: 16694
|
Не так, Бес. Всё намного проще. Для проверки объекта идёт следующий псевдокод:
Quote:выключить ошибки
получить координаты героя
получить значение Х объекта У по этим координатам
включить ошибки
если была ошибка, то объета нет, иначе есть
Альтернатива: установка v2,v3,v4 координат героя, при этом v2 = x - 1; Затем одна команда поиска. Если координаты не равны геройским, значит гарнизон не здесь. Всё экранировать запретом ошибок.
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|
|
11.09.2009 21:12 |
|
Bes
Posts: 5441
|
дело в том,что на карте практически,очень редки такие гарнизоны,потому не вижу особой разнице в твоём варианте и в том,что я вынужден был реализовывать.. всё равно цикл проскочит очень быстро (UN:U33/1/-1/#)..
(если будет желание,я конечно пропишу твоим способом,а пока пусть как есть,прости)
|
|
11.09.2009 22:23 |
|
DracoLich
Posts: 251
|
ну можно вспомниить про скрипт "гарнизоны".. правда там тока обычные (
во всяком случае, я получал именно номер объхекта гарнизона, а не героя. 3.58ф без модулей и т.п.
|
|
12.09.2009 17:53 |
|