Current time: 25.11.2024, 23:15 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
ERA III. Новые версии
» Только объявления и ссылки
Author Message
Berserker Offline
Administrators

Posts: 16657
Post: #20

Обновление до версии 3.3.8
Скачать

[+] !!VR:F команда теперь может быть вызвана с 3 параметрами: !!VR(var):F(minValue)/(maxValue)/(showErrors);
Если третий параметр указан и не равен (FALSE), значения вне заданного диапазона выводятся в виде ошибки с помощью диалогового окна ERM ошибок.

[+] Реализована автоматическая статическая и динамическая проверка индексов для массивов ERM 2.0. Сообщается о недопустимых индексах и принудительно устанавливается допустимый диапазон.

Пример:


Давайте перепишем пример без ошибок:


[+] Событие DL/(OnCustomDialogEvent) теперь получает все параметры мыши/клавиатуры, доступные через !!CM и отслеживает щелчки вне основной области диалогов.
Проверьте значение CM:T или i^dlg_action^ на:
    (DLG_ACTION_INDLG_CLICK)
    (DLG_ACTION_OUTDLG_CLICK)
    (DLG_ACTION_MOUSE_WHEEL)
    (DLG_ACTION_KEY_PRESSED)

Пример:


Для (DLG_ACTION_MOUSE_WHEEL) действие CM:S или i^mouse_action^ может быть одним из:
    (MOUSE_WHEEL_UP)
    (MOUSE_WHEEL_DOWN)

Пример:


Нажатия клавиш в диалоге теперь можно обрабатывать с помощью Era Erm Framework:


Добавлены две глобальные переменные в Era Erm Framework:
- i^dlg_action^ со значением CM:T (тип действия). Особенно полезно для событий DL-dialog. См. константы DLG_ACTION_XXX.
- i^dlg_id^ с ID активного DL-диалога.

[-] Исправлена ошибка в Era Erm Framework: функции NewIntArray и NewStrArray игнорировали аргумент (storageType).
[-] Исправлена ошибка в Era Erm Framework: данные событий мыши/клавиатуры не восстанавливались в конце триггера.

[!] SN:Q устарел и не должен использоваться, потому что он может нарушить любую функциональность ERM-библиотеки/мода/скрипта.
В частности, использование SN:Q нарушает работу обработчиков событий Era Erm Framework, которые должны срабатывать после всех остальных.

Code:
[+] !!VR:F command can be called with 3 parameters now: !!VR(var):F(minValue)/(maxValue)/(showErrors);
    If the third parameter is specified and not (FALSE), values outside specified range are reported using regular ERM error reporting dialog.

[+] Implemented automatical static and dynamical index checking for ERM 2.0 arrays. Invalid indexes are reported and forced to valid range.

  Example:

  !#VA(msgType[7]:y) (msgColor[7]:y);

  !!re i/(PLAYER_FIRST)/(PLAYER_LAST);
    !!VR(msgType[i]):S(PIC_TYPE_FLAG); Here we get error. Array size is 7, while number of game players is 8. i = 7 is outside of valid 0..6 range
    !!VR(msgColor[i]):Si;              Here we get error. Array size is 7, while number of game players is 8. i = 7 is outside of valid 0..6 range
  !!en:;

  Let's rewrite the example without bugs:

  !#VA(msgType[NUM_PLAYERS]:y) (msgColor[NUM_PLAYERS]:y);

  !!re i/(PLAYER_FIRST)/(PLAYER_LAST);
    !!VR(msgType[i]):S(PIC_TYPE_FLAG);
    !!VR(msgColor[i]):Si;
  !!en:;

[+] Event DL/(OnCustomDialogEvent) now receive all mouse/keyboard parameters, accessible via !!CM and tracks clicks outside dialogs main area.
    Check CM:T or i^dlg_action^ value for:
      (DLG_ACTION_INDLG_CLICK)
      (DLG_ACTION_OUTDLG_CLICK)
      (DLG_ACTION_MOUSE_WHEEL)
      (DLG_ACTION_KEY_PRESSED)

    Example:

      !?DL&i^dlg_action^=(DLG_ACTION_OUTDLG_CLICK);
      !!IF:M^You clicked outside dialog!^;

    For (DLG_ACTION_MOUSE_WHEEL) action CM:S or i^mouse_action^ can be one of:
      (MOUSE_WHEEL_UP)
      (MOUSE_WHEEL_DOWN)

    Example:

      !?DL&i^dlg_action^=(DLG_ACTION_MOUSE_WHEEL);
      !!IF:M^Wheel: %i(mouse_action)^; display 1/-1 for wheel up/down

    Keyboard presses in dialog can be handled now using Era Erm Framework:

      !?DL&i^dlg_action^=(DLG_ACTION_KEY_PRESSED)/i^key^=(KEY_Q);
      !!IF:M^Good buy any dialog!^;
      !!DLi^dlg_id^:C(TRUE);

    Added two global variables to Era Erm Framework:
    - i^dlg_action^ with CM:T value (action type). Specially useful for DL-dialog events. See DLG_ACTION_XXX constants.
    - i^dlg_id^ with active DL-dialog ID.

[-] Fixed bug in Era Erm Framework: NewIntArray and NewStrArray function were ignoring (storageType) argument.
[-] Fixed bug in Era Erm Framework: mouse/keyboard event data was not restored on trigger end.

[!] SN:Q is deprecated and shoudn't be used because it may break any ERM library/mod/script functionality.
    In particular, SN:Q usage breaks Era Erm Framework work flow.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
31.03.2021 17:00
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Messages In This Thread
ERA III. Новые версии - Berserker - 01.06.2020, 04:53
RE: ERA III. Новые версии - Berserker - 09.11.2020, 19:48
RE: ERA III. Новые версии - Berserker - 24.01.2021, 04:46
RE: ERA III. Новые версии - Berserker - 24.01.2021, 17:19
RE: ERA III. Новые версии - Berserker - 29.01.2021, 04:42
RE: ERA III. Новые версии - Berserker - 29.01.2021, 21:49
RE: ERA III. Новые версии - Berserker - 30.01.2021, 06:06
RE: ERA III. Новые версии - Berserker - 30.01.2021, 19:52
RE: ERA III. Новые версии - Berserker - 04.02.2021, 01:11
RE: ERA III. Новые версии - Berserker - 24.02.2021, 19:24
RE: ERA III. Новые версии - Berserker - 07.03.2021, 23:19
RE: ERA III. Новые версии - Berserker - 11.03.2021, 18:44
RE: ERA III. Новые версии - Berserker - 31.03.2021 17:00
RE: ERA III. Новые версии - Berserker - 01.04.2021, 03:05
RE: ERA III. Новые версии - Berserker - 07.04.2021, 20:45
RE: ERA III. Новые версии - Berserker - 09.04.2021, 04:02
RE: ERA III. Новые версии - Berserker - 11.04.2021, 06:53
RE: ERA III. Новые версии - Berserker - 13.04.2021, 02:39
RE: ERA III. Новые версии - Berserker - 13.04.2021, 05:04
RE: ERA III. Новые версии - Berserker - 16.04.2021, 06:58
RE: ERA III. Новые версии - Berserker - 18.04.2021, 04:05
RE: ERA III. Новые версии - Berserker - 28.04.2021, 06:34
RE: ERA III. Новые версии - Berserker - 30.04.2021, 05:47
RE: ERA III. Новые версии - Berserker - 20.05.2021, 05:18
RE: ERA III. Новые версии - Berserker - 16.06.2021, 03:41
RE: ERA III. Новые версии - Berserker - 18.06.2021, 04:24
RE: ERA III. Новые версии - Berserker - 26.06.2021, 04:38
RE: ERA III. Новые версии - Berserker - 03.07.2021, 00:50
RE: ERA III. Новые версии - Berserker - 23.07.2021, 01:04
RE: ERA III. Новые версии - Berserker - 31.07.2021, 20:33
RE: ERA III. Новые версии - Berserker - 01.08.2021, 02:09
RE: ERA III. Новые версии - Berserker - 12.08.2021, 23:02
RE: ERA III. Новые версии - Berserker - 19.08.2021, 05:09
RE: ERA III. Новые версии - Berserker - 21.08.2021, 21:22
RE: ERA III. Новые версии - Berserker - 18.09.2021, 21:17
RE: ERA III. Новые версии - Berserker - 26.09.2021, 00:54
RE: ERA III. Новые версии - Berserker - 04.09.2022, 09:35
RE: ERA III. Новые версии - Berserker - 06.03.2023, 14:04
RE: ERA III. Новые версии - Berserker - 30.12.2023, 01:10
RE: ERA III. Новые версии - Berserker - 02.06.2024, 16:30
ERA III. Новые версии - Berserker - 03.06.2020, 05:33
RE: ERA III - Berserker - 24.06.2020, 03:53
RE: ERA III - Berserker - 30.07.2020, 04:09
RE: ERA III - Berserker - 05.09.2020, 04:54
RE: ERA III - Berserker - 21.09.2020, 03:44
RE: ERA III - Berserker - 20.10.2020, 04:55
RE: ERA III - Berserker - 22.10.2020, 04:36

Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group