IPB

Здравствуйте, гость ( Вход | Регистрация )

История благодарностей участнику Indianа. Спасибо сказали: 1
Дата поста: В теме: За сообщение: Спасибо сказали:
18 May 2008, 22:25 ERM Manual
На английском и не только
Код
[b]C#[/b]
Установить особое callback-действие[0], или изменить текущий вид курсора.
# - тип действия
1 - закрыть диалог и возратить данный код в качестве результата
1000+# - новый вид курсора (см. формат PM2)

Комментарии:
Вам не нужно указывать идентификатор диалога в событии DL для этой команды, так как она работает с активным диалогом и любым его элементом.

Пример:
 !!DL:C1; - закрыть диалог
 !!DL:C1000; - изменить курсор мыши на "стрела" (стандартный игровой курсор)
 !!DL:C1042; - изменить курсор мыши на 'Потопить корабль'


[0] - callback-действие (или функция в программировании) - это действие, кторое будет исполнено (вызвано, если речь идёт о функции) по выходу из текущего блока кода (обычно функции).

На примерах Славы (ZVS) видно, что при каждом событии диалога (таким, как движение мышью) вызывается определённая ЕРМ-функция, которая и управляет всей остальной логикой. В функции мы выбираем, на какие действия как реагировать, а что игнорировать. Команда DL:C1 была бы обычной функцией, если бы закрывала диалог и тут же выходила из текущего блока кода. Но выполнения кода идёт вплоть до конца события (криво именуемого триггером).

Вот вам пример.
Код
...
!!DL:P12345;

!?FU12345;
!!DL:C1; команда закрытия диалога
!!IF:M^Выполнение функции идёт до конца. Вы видите это сообщение. Диалог закроется в конце события^;
; здесь ерм наткнётся на конец события и вызовет нашу возратную (callback) C1, которая и закроет диалог.
totkotoriy

Текстовая версия Сейчас: 26 November 2025 - 15:18
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика