Skip to content

MissionScriptsDynamicEvents (rus)

kromster80 edited this page Jan 4, 2017 · 2 revisions

События

События имеют такой вид: "procedure Имя_События(Параметры_События);" Например вот такой код будет для события "Когда дом построен":

    procedure OnHouseBuilt(aHouseID: Integer);
    begin
      // код
    end;
Версия Описания события Параметры и типы
6570 OnBeacon
Происходит когда игрок помещает маячок на карту
aPlayer: Integer;// индекса игрока который поместил маяк
aX: Word; // переменная x маяка
aY: Word;// переменная y маяка
6220 OnGroupHungry
Происходит когда игрок получает сообщении о голодной армии.
aGroup: Integer;// ИД армии которые голодны
6114 OnHouseAfterDestroyed
Происходит когда дом не только разрушен но и полностью удален. То есть место которое занимал этот дом теперь свободно и может быть использована. Если вам не нужна дополнительная информация то рекомендую использовать событие OnHouseDestroyed
aHouseType: THouseType;// тип разрушенного дома
aOwner: Integer;// Владелец дома
aX: Word;// X разрушенного дома
aY: Word;// Y разрушенного дома
5057 OnHouseBuilt
Происходит когда игрок построил дом.
aHouse: Integer;// ИД построенного дома
5882 OnHouseDamaged
Происходит при повреждении дома. Если aHouse = -1 то дом поврежден от другой причины например действием HouseAddDamage.
aHouse: Integer; // ИД поврежденного дома
aAttacker: Integer;// Индекс игрока повредившего дом
5407 OnHouseDestroyed
Происходит когда дом разрушен но его все еще можно восстановить. Если aDestroyerIndex = -1 то дом был разрушен не игроком а другим действием. Например HouseDestroy. Площадь занимаемая домом все еще не пригодна для строительства.
aHouse: Integer; // ИД Разрушенного дома.
aDestroyerIndex: Integer; // индекс игрока который его разрушил.
5871 OnHousePlanPlaced
Происходит когда игрок поставил план дома для строительства.
aPlayer: Integer; // Индекс игрока который поставил план дома.
aX: Word; // X координата куда его поставили.
aY: Word; // Y координата куда его поставили
aType: THouseType; // Тип дома.
6298 OnHousePlanRemoved
Происходит когда игрок удалил план дома с карты.
aPlayer: Integer;
aX: Word;
aY: Word;
aType: THouseType;
6216 OnMarketTrade
Occurs when a trade happens in a market (at the moment when resources are exchanged by serfs).
aMarket: Integer;
aFrom: TWareType;
aTo: TWareType;
5057 OnMissionStart
Происходит сразу после загрузки миссии.
5964 OnPlanFieldPlaced
Происходит когда игрок поставил план поля.
aPlayer: Integer;
aX: Word;
aY: Word;
6301 OnPlanFieldRemoved
Происходит когда игрок удалил план поля.
aPlayer: Integer;
aX: Word;
aY: Word;
5964 OnPlanRoadPlaced
Происходит когда игрок поставил план дорожного поля.
aPlayer: Integer;
aX: Word;
aY: Word;
6301 OnPlanRoadRemoved
Происходит когда игрок удалил план дорожного поля.
aPlayer: Integer;
aX: Word;
aY: Word;
5964 OnPlanWinefieldPlaced
Происходит когда игрок поставил план виноградного поля.
aPlayer: Integer;
aX: Word;
aY: Word;
6301 OnPlanWinefieldRemoved
Происходит когда игрок удалил план виноградного поля.
aPlayer: Integer;
aX: Word;
aY: Word;
5057 OnPlayerDefeated
Происходит когда определенный игрок потерпел поражение.
aPlayer: Integer;
5057 OnPlayerVictory
Происходит когда определенный игрок победил.
aPlayer: Integer;
5057 OnTick
Происходит каждый тик миссии. Примерно 10 тиков = 1 секунде
6114 OnUnitAfterDied
Происходит после того как определенный юнит умер и был полностью удален из миссии. Если вам не нужна подробная информация об юните то используйте событие OnUnitDied. Примечание: Поскольку юниты имеют анимацию смерти есть задержка в несколько тиков между OnUnitDied и OnUnitAfterDied.
aUnitType: TUnitType;// Тип умершего юнита
aOwner: Integer;// Владелец юнита
aX: Word;// X координата где юнит умер
aY: Word;// Y координата где юнит умер
6587 OnUnitAttacked
Происходит когда юнит подвергся атаки со стороны армии.
aUnit: Integer;// Юнит который подвергся атаки
aAttacker: Integer; // Воин который напал на юнита
5407 OnUnitDied
Происходит когда юнит умирает но анимация смерти еще не прозошла. Если aKillerOwner = -1 то Юнит умер от голода или действия UnitKill
aUnit: Integer; // ИД убитого Юнита
aKillerOwner: Integer; // Индекс игрока который убил Юнита
5057 OnUnitTrained
Происходит когда игрок обучил юнита.
aUnit: Integer; // ИД Юнита
5884 OnUnitWounded
Happens when unit is wounded. Attacker can be a warrior, recruit in tower or unknown (-1).
aUnit: Integer;
aAttacker: Integer; // Unit who attacked the unit
5057 OnWarriorEquipped
Происходит когда игрок вооружает Рекрута.
aUnit: Integer; // ИД Юнита
aGroup: Integer; // ИД армии