Wake of Gods Forum | Форум Во Имя Богов

Full Version: Era Erm Framework
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
Обновление: https://dropmefiles.com/ExWs8
Code:
[+] Added new constants to "Era Erm Framework" mod:
  - ARG_SYNTAX_GET, ARG_SYNTAX_SET, ARG_SYNTAX_ADD for FU:S argument syntax types.

[+] Added new events to "Era Erm Framework" mod:

  - "OnAfterBattleSetup", occuring right after "OnBeforeBattle" and "OnBeforeBattleUniversal" events.
  New event allows to to be sure, that basic battle parameters (heroes, quick battle, coordinates) are set up.

  - "OnBeforeBattle" and    "OnBeforeBattleUniversal" events were improved, storing most of prebattle parameters in global variables.
  i^battle_isQuick^:       (TRUE) if quick battle is enabled, (FALSE) otherwise
  i^battle_x^:             Battle x-coordinate
  i^battle_y^:             Battle y-coordinate
  i^battle_z^:             Battle z-coordinate
  i^battle_owner_0^:       Left side owner or (NO_OWNER)
  i^battle_owner_1^:       Right side owner or (NO_OWNER)
  i^battle_hero_0^:        Left side hero or (NO_HERO)
  i^battle_hero_1^:        Right side hero or (NO_HERO). Any negative value is normalized into (NO_HERO)
  i^battle_ai_0^:          (TRUE) if left side is controlled by AI, (FALSE) otherwise.
  i^battle_ai_1^:          (TRUE) if right side is controlled by AI, (FALSE) otherwise.
  i^battle_human_0^:       (TRUE) if left side is controlled by human, (FALSE) otherwise.
  i^battle_human_1^:       (TRUE) if right side is controlled by human, (FALSE) otherwise.
  i^battle_remote_0^:      (TRUE) if left side is controlled by remote human, (FALSE) otherwise.
  i^battle_remote_1^:      (TRUE) if right side is controlled by remote human, (FALSE) otherwise.
  i^battle_local_0^:       (TRUE) if left side is controlled by local human or AI, (FALSE) otherwise.
  i^battle_local_1^:       (TRUE) if right side is controlled by local human or AI, (FALSE) otherwise.
  i^battle_localHuman_0^:  (TRUE) if left side is controlled by local human, (FALSE) otherwise.
  i^battle_localHuman_1^:  (TRUE) if right side is controlled by local human, (FALSE) otherwise.
  i^battle_hasHuman^:      (TRUE) if least one side is controlled by human, (FALSE) otherwise.
  i^battle_humanOnly^:     (TRUE) if all sides are controlled by humans, (FALSE) otherwise.
  i^battle_aiOnly^:        (TRUE) if all sides are controlled by AI, (FALSE) otherwise.
  i^battle_isVisible^:     (TRUE) if at least one side is human and quick battle is off, (FALSE) otherwise.
  i^battle_isNetwork^:     (TRUE) if it's network human vs human battle, (FALSE) otherwise.
  i^battle_type^:          Battle type bit mask: a collection of BATTLE_TYPE_FLAG_XXX constants.

[+] The following improvements were introduced in "Era Erm Framework" mod:
  
  - i^battle_round^ keeps current valid round (same as in OnBattleRound event) and can be used throughout battle triggers
  and in OnBattleRound condition like !?FU(OnBattleRound)&i^battle_round^=0 instead of v997.

[+] Added the following functions to "Era Erm Framework" mod:

  !?FU(NewIntArray);
  ; Creates and returns trigger local array of integers.
  ; Alternative function arguments:
  ;  (?result)                     The result array will have 0 items.
  ;  (size)/(?result)              The result array will have (size) items with 0 value.
  ;  (size)/(fillValue)/(?result)  The result array will have (size) items will (fillValue) value
  ;  You may optionally specify (storageType) parameter after (?result) argument with value like M_STORED or M_TEMP.
  
  !?FU(NewStrArray);
  ; Creates and returns trigger local array of strings.
  ; Alternative function arguments:
  ;  (?result)                     The result array will have 0 items.
  ;  (size)/(?result)              The result array will have (size) items with ^^ value.
  ;  (size)/(fillValue)/(?result)  The result array will have (size) items will (fillValue) value
  ;  You may optionally specify (storageType) parameter after (?result) argument with value like M_STORED or M_TEMP.
Пост обновлён.
для форума, иногда без доступа к ПК, тож будет полезно иметь базу констант из 9999 era - consts.erm Yes
UNIVERSAL (Click to View)
ERM COMMANDS (Click to View)
MOUSE CLICKS (Click to View)
MOUSE CLICK SUBTYPES (Click to View)
PLAYER BITS (Click to View)
RESOURCES (Click to View)
MONSTER FLAGS (Click to View)
HERO SKILLS (Click to View)
SPELL SCHOOLS (Click to View)
HERO ARTIFACT SLOTS (Click to View)
ARTIFACTS (Click to View)
OBJECT TYPES (Click to View)
ERM FLAGS (Click to View)
WOG OPTIONS (Click to View)
BATTLE TYPE FLAGS (Click to View)
BATTLE ACTIONS (Click to View)
GAME LIMITS (Click to View)
CALLING CONVENTIONS (Click to View)
UN:C DATA TYPES (Click to View)
DATA TYPES (Click to View)
DEPRECATED (Click to View)
Bes, это ты ловко придумал, спасибо.
добавь в раздел ERM FLAGS две строки для 1000/-1000 (человек/ИИ)
!#DC(ERM_FLAG_IS_HUMAN) = 1000; уже есть, для ИИ будет "-(ERM_FLAG_IS_HUMAN)".
понял, с минусом не догадался, спасибо
Подскажите, пожалуйста, где можно узнать статус переменных: вакантные и занятые.
UPD: неактуально, ужё всё нашёл.
Era Erm Framework не использует воговских глобальных переменных. А именованные нужно префиксовать аббревиатурой мода.
9999 key codes:

А ещё игра не перехватывает LALT, а на RALT выдаёт сразу 17 и 18

Так ли оно должно быть? Вот я сомневаюсь, если честно.
daemon_n, левый ALT не ловится, подтверждаю. Он работает как модификатор только. Клавиша Alt Gr — это не просто правый альт, а CTRL + правый ALT
https://stackoverflow.com/questions/3575...ng-vk-menu
https://en.wikipedia.org/wiki/AltGr_key

Сам не зал, но разную реакцию давно приметил.

Синоним KEY_TILDE добавил, спасибо.
Сделаю глобальные переменные для состояния кнопок с возможностью различения.
9999 era - consts.erm
строка 1639;
Почему "COMBAT", а не "BATTLE"? - ориентируюсь по IDA
(09.02.2021 12:14)daemon_n Wrote: [ -> ]Почему "COMBAT", а не "BATTLE"? - ориентируюсь по IDA

В разных IDA-базах этот менеджер может назваться по-разному. Родное название (от NWC) - combatManager. В базе от WoG используются свои имена, свой жаргон.
XEPOMAHT, вот оно что... - спасибо за объяснения!
Pages: 1 2 3
Reference URL's