Current time: 27.09.2020, 05:46 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 13085
Post: #376

Иначе нужно ребилдить архив, как делает SndVid, например.


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

Posts: 379
Post: #377

SimpleLod для этого


Страус труп (с) Бьерн
30.08.2009 20:59
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 4197
Post: #378

хм.. имейте ввиду,граждане скриптописцы (если не знали)
Команда BH#:C$spell$/0/0/0; имеет такую особенность,что может сбивать вас с толку..
К примеру,есть код
Code:
...
!?MR2;
...
!!MR:F?y3; здесь получим y3=100
...

!?BG0;
...
!!BA-10:H0/?y3; получит к примеру 56
...
!!HE0:C45/0/0/0;
!!HEy3:N?y5;
...
Ну,я привёл тока те строки в коде вашем,которые могут пересечься.
Так вот,после команды !!HE0:C45/0/0/0; переменная y3,содержащая до этого номер героя левой стороны,примет значение =100 (от триггера MR2)..
в итоге вы будете непонимать почему вдруг меняется номер героя в битве в триггере вашем.
Я вот потратил немало нервов,пока не понял что к чему.. Bad



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

Posts: 6174
Post: #379

Бес, огромное спасибо за инфу! Не знал...


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...
31.08.2009 18:29
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 13085
Post: #380

Это частный случай. Мы с Сержем уже сталкивались. При генерации триггера переменные функций не сохраняются, при вызове функции не сохраняются переменные триггеров.

Так что:

Триггер1
Переменна А = А
Вызов Триггера 2
Показать значение А

Триггер2
А = "муть"

Результат: муть.

y-... - триггерные
y... - для функций

Отсюда очень много багов. Мой совет: не использовать триггеры вообще, сразу вызывать функции.

!?...
!!FU...

!?...
!!FU


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

Posts: 6174
Post: #381

Я тут намедни заметил, что если вызывать !!BG:N?y-1 внутри триггера !?BG1 (а не !?BG0), то он возвращает номер не того монстра, который только что сходил - а номер монстра, который будет ходить следующим...

Кто-нибудь может подтвердить это? Если да - то хелп надо будет поправить...


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...
02.09.2009 20:55
Find all posts by this user Quote this message in a reply
major Offline

Posts: 94
Post: #382

Efrit, да, так и есть. Использую для свойств монстров при передаче хода (типа регенерации троллей).
03.09.2009 22:28
Find all posts by this user Quote this message in a reply
Efrit Offline
Administrators

Posts: 6174
Post: #383

major, тогда вообще получается, что триггер !?BG1 не имеет никакого отношения к действию монстра - он срабатывает ровно в тот момент, когда монстру передаётся ход (то бишь раньше !?BG0, кстати говоря). И !!BG:A поэтому всегда (?) возвращает 0...

А триггера, который бы срабатывал после действия монстра, в природе не существует Sm

P.S. Хелп точно надо править.


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 08:50
Find all posts by this user Quote this message in a reply
gamecreator Offline
Administrators

Posts: 7146
Post: #384

не, это в !?BG0 !!BG:A возвращает 0. а в !?BG1 все нормально.


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

Posts: 6174
Post: #385

Quote:не, это в !?BG0 !!BG:A возвращает 0. а в !?BG1 все нормально.

gamecreator, ты уверен? Sm Ну-ка проверь ещё раз Sm Как она может внутри !?BG1 возвращать не 0, если монстр к тому времени ещё ничего не сделал - и ему даже ещё ничего не приказали сделать? Он даже ещё жёлтым цветом мерцануть как следует не успел 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 09:47
Find all posts by this user Quote this message in a reply
gamecreator Offline
Administrators

Posts: 7146
Post: #386

ты меня не путай. !?BG0 - до действия. !?BG1 - после. после действия тип действия известен.


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

Posts: 6174
Post: #387

gamecreator Wrote:ты меня не путай. !?BG0 - до действия. !?BG1 - после. после действия тип действия известен.

Ё-моё. Игродел, ты вообще саму тему читаешь, или только последний пост в ней? Sm

Прочти сообщения 381, 382 и 383. Ещё раз специально повторю - триггер !?BG1 не имеет никакого отношения к действию монстра, а то что написано в хелпе - ошибка. Этот триггер срабатывает в тот момент, когда монстру передаётся ход. Причём срабатывает он раньше, чем !?BG0 (с ним в хелпе всё нормально)...

Не веришь - напиши скрипт 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 14:55
Find all posts by this user Quote this message in a reply
Deo Offline

Posts: 494
Post: #388

Делается так: всё необходимое получаем в !?BG0, а !?BG1 срабатывает после удара, в нем мы и используем то что получили в !?BG0.
04.09.2009 15:54
Find all posts by this user Quote this message in a reply
Efrit Offline
Administrators

Posts: 6174
Post: #389

Кажись, меня все игнорируют, и Део тоже Bad

Део, триггер !?BG1 не срабатывает после удара. После удара может быть ещё много чего интересного - например, ответный удар, каст магии. Но тем не менее, все эти действия идут до триггера !?BG1 - который, в свою очередь, срабатывает только тогда, когда СЛЕДУЮЩЕМУ монстру передаётся ход... (то бишь это уже другой !?BG1, вызванный для другого стека).

Чтобы было понятнее... Игрок нападает, начинается битва. Как только стартует 1 раунд битвы, и стек с самой высокой скоростью (пусть это стек №23) начинает мигать жёлтым цветом (он ещё ничего не сделал, и игрок ещё ничего не приказал делать - просто к этому стеку перешёл ход) - то тут же активируется триггер !?BG1 (именно он, а не !?BG0 !) Команда !!BG:А в этом случае всегда возвращает 0, т.к. монстр ещё ничего не сделал.

Затем игрок приказывает этому монстру что-то делать (например, стрелять) - и тут же срабатывает уже триггер !?BG0, вот тут-то команда !!BG:А уже что-то возвращает (в данном случае 7).

Как только стек 23 выстрелил, право хода передаётся вражескому стеку с самой высокой скоростью - пусть это стек №0. И как только это самое право хода перешло к нему, то для него тут же срабатывает триггер !?BG1, и так далее...

Может, ещё подробнее описать? 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 16:43
Find all posts by this user Quote this message in a reply
major Offline

Posts: 94
Post: #390

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

Efrit Wrote:А триггера, который бы срабатывал после действия монстра, в природе не существует
А вот это действительно была бы нужная вещь.
04.09.2009 18:50
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