SergOz, в написании !?FU(Loop_all_Heroes), "Loop_all_Heroes" это твое имя функции. Можешь задавать любым, например !?FU(SergOz1) и соответственно вызывать ее потом как DO(SergOz1)... или !!FU(SergOz1):P...
Algor, но ведь есть, я так понимаю, встроенные функции, которые вызываются просто как триггеры, без ссылки на них.
Например:
!?FU(OnGameEnter); или !?FU(OnOpenHeroScreen); которые срабатывают при загрузке / при открытии окна героя. Если это так, то я имел ввиду именно такие функции.
(26.01.2020 23:24)SergOz Wrote: [ -> ]Если это так, то я имел ввиду именно такие функции.
Вот вроде бы их список, но полная документация по ним отсутствует (когда и где они вызываются, можно пока что ориентироваться по хелпу для совпадающих с вогом, для новых эровских - читать список изменений эры, того чего там нет - только методом тыка):
Code:
OnErmFunction яяяя OnErmTimer яяяя OnHeroInteraction яяяя OnBeforeBattle яяяя
OnAfterBattle яяяя
OnBattleRound яяяя OnBeforeBattleAction яяяя OnAfterBattleAction яяяя OnWanderingMonsterReach яяяя OnWanderingMonsterDeath яяяя OnMagicBasicResistance яяяя OnMagicCorrectedResistance яяяя OnDwarfMagicResistance яяяя OnAdventureMapRightMouseClick яяяя OnTownMouseClick яяяя OnHeroScreenMouseClick яяяя OnHeroesMeetScreenMouseClick яяяя OnBattleScreenMouseClick яяяя OnAdventureMapLeftMouseClick яяяя
OnEquipArt яяяя OnUnequipArt яяяя OnBattleMouseHint яяяя OnTownMouseHint яяяя OnMp3MusicChange яяяя OnSoundPlay яяяя OnBeforeAdventureMagic яяяя OnAfterAdventureMagic яяяя OnEnterTownHall яяяя OnLeaveTownHall яяяя OnBeforeBattleBeforeDataSend яяяя OnBeforeBattleAfterDataReceived яяяя OnAfterBattleBeforeDataSend яяяя OnAfterBattleAfterDataReceived яяяя OnOpenCommanderWindow яяяя OnCloseCommanderWindow яяяя OnAfterCommanderBuy яяяя OnAfterCommanderResurrect яяяя OnBeforeBattleForThisPcDefender яяяя OnAfterBattleForThisPcDefender яяяя OnBeforeBattleUniversal яяяя OnAfterBattleUniversal яяяя OnAfterLoadGame яяяя OnBeforeSaveGame яяяя OnAfterErmInstructions яяяя OnCustomDialogEvent яяяя
OnHeroMove яяяя OnHeroMove яяяя OnHeroGainLevel яяяя OnHeroGainLevel яяяя OnSetupBattlefield яяяя OnMonsterPhysicalDamage яяяя
OnEverySecond яяяя OnEvery2Seconds яяяя OnEvery5Seconds яяяя OnEvery10Seconds яяяя
OnEveryMinute яяяя OnSavegameWrite яяяя OnSavegameRead яяяя OnKeyPressed яяяя OnOpenHeroScreen яяяя OnCloseHeroScreen яяяя OnBattleStackObtainsTurn яяяя OnBattleRegeneratePhase яяяя OnAfterSaveGame яяяя OnBeforeHeroInteraction яяяя OnAfterHeroInteraction яяяя OnStackToStackDamage яяяя OnAICalcStackAttackEffect яяяя OnChat яяяя OnGameEnter яяяя OnGameLeave яяяя
OnRemoteEvent яяяя
OnEveryDay яяяя OnBeforeBattlefieldVisible яяяя OnBattlefieldVisible яяяя OnAfterTacticsPhase яяяя
OnCombatRound яяяя OnOpenRecruitDlg яяяя OnCloseRecruitDlg яяяя OnRecruitDlgMouseClick яяяя OnTownHallMouseClick яяяя OnKingdomOverviewMouseClick яяяя OnRecruitDlgRecalc яяяя OnRecruitDlgAction яяяя OnLoadHeroScreen яяяя OnBuildTownBuilding яяяя OnOpenTownScreen яяяя OnCloseTownScreen яяяя OnSwitchTownScreen яяяя OnPreTownScreen яяяя OnPostTownScreen яяяя OnPreHeroScreen яяяя OnPostHeroScreen яяяя
OnLocalEvent яяяя OnAfterVisitObject яяяя OnBeforeVisitObject
XEPOMAHT, ого! Тут целая библиотека. Спасибо, потихоньку буду разбираться.
Algor, спасибо. Позвольте ещё вопрос вдогонку.
Допустим, я пишу скрипт под названием "Ку-Ку"

Я могу, при соблюдении разных условий, в теле скрипта ссылаться на функции:
!!FU(Ky-Ky1)&y1=1:P; !!FU(Ky-Ky2)&y1=2:P; !!FU(Ky-Ky3)&y1=3:P; ...
И потом их выполнять:
!?FU(Ky-Ky1); !?FU(Ky-Ky2); !?FU(Ky-Ky3); ...
Если да, то это просто невероятно удобно!!! Это
ж неограниченное их количество! И нет путаницы!
P.S. Ky-Ky набрано латинским шрифтом.
P.P.S. Я проверил. Всё так и есть! Можно даже кириллицей.
Era II\Tools\Erm_Editor_Sublime\Data\Packages\User\erm_events.txt
Berserker, большое спасибо. Теперь я на коне

Автоперевод:
OnAdventureMapLeftMouseClick = Событие происходит на карте приключений щелчком левой кнопки мыши.
OnAdventureMapRightMouseClick = Событие происходит на карте приключений щелчком правой кнопки мыши.
OnAfterAdventureMagic = Событие происходит после магии.
OnAfterBattle = Событие происходит на после боя.
OnAfterBattleAction = Событие происходит после окончания боевых действий.
OnAfterBattleAfterDataReceived = Событие происходит после боя после получения данных.
OnAfterBattleBeforeDataSend = Событие происходит после боя перед отправкой данных.
OnAfterBattleForThisPcDefender = Событие происходит после битвы за этот pc defender.
OnAfterBattleUniversal = Событие происходит после универсальному бою.
OnAfterCommanderBuy = Событие происходит после того, как командор купить.
OnAfterCommanderResurrect = Событие происходит после того, как командир воскреснет.
OnAfterErmInstructions = Событие происходит после инструкций erm.
OnAfterHeroInteraction = Событие происходит после взаимодействия героя.
OnAfterLoadGame = Событие происходит на после загрузки игры.
OnAfterSaveGame = Событие происходит на после сохранения игры.
OnAfterTacticsPhase = Событие происходит на фазе после тактики.
OnAICalcStackAttackEffect = Событие происходит на эффекте атаки стека I calc.
OnBattlefieldVisible = Событие происходит на поле боя видимым.
OnBattleMouseHint = Событие происходит по подсказке боевой мыши.
OnBattleRegeneratePhase = Событие происходит на фазе боевой регенерации.
OnBattleRound = Событие происходит на боевом раунде.
OnBattleScreenMouseClick = Событие происходит на экране боя щелчком мыши.
OnBattleStackObtainsTurn = Событие происходит на Битве стек получает ход.
OnBeforeAdventureMagic = Событие происходит на до приключенческой магии.
OnBeforeBattle = Событие происходит перед боем.
OnBeforeBattleAction = Событие происходит на перед боевым действием.
OnBeforeBattleAfterDataReceived = Событие происходит перед боем после получения данных.
OnBeforeBattleBeforeDataSend = Событие происходит на before battle перед отправкой данных.
OnBeforeBattlefieldVisible = Событие происходит на поле боя перед видимым.
OnBeforeBattleForThisPcDefender = Событие происходит на перед битвой за этот pc defender.
OnBeforeBattleUniversal = Событие происходит на перед битвой универсальной.
OnBeforeHeroInteraction = Событие происходит на до взаимодействия героя.
OnBeforeSaveGame = Событие происходит на перед сохранением игры.
OnBuildTownBuilding = Событие происходит на стройке городского здания.
OnChat = Событие происходит в чате.
OnCloseCommanderWindow = Событие происходит при закрытии окна командира.
OnCloseHeroScreen = Событие происходит на экране close hero.
OnCloseRecruitDlg = Событие происходит на близком рекрутском dlg.
OnCloseTownScreen = Событие происходит на экране close town.
OnCombatRound = Событие происходит на боевом раунде.
OnCustomDialogEvent = Событие происходит на пользовательском событии диалога.
OnDwarfMagicResistance = Событие происходит на сопротивлении магии гномов.
OnEnterTownHall = Событие происходит на входе в ратушу.
OnEquipArt = Событие происходит на оборудовании art.
OnEvery10Seconds = Событие происходит каждые 10 секунд.
OnEvery2Seconds = Событие происходит каждые 2 секунды.
OnEvery5Seconds = Событие происходит каждые 5 секунд.
OnEveryDay = Событие происходит каждый день.
OnEveryMinute = Событие происходит каждую минуту.
OnEverySecond = Событие происходит каждую секунду.
OnGameEnter = Событие происходит на входе в игру.
OnGameLeave = Событие происходит в игровом отпуске.
OnHeroesMeetScreenMouseClick = Событие происходит на экране heroes meet щелчком мыши.
OnHeroGainLevel = Событие происходит на уровне усиления героя.
OnHeroMove = Событие происходит на ходу героя.
OnHeroScreenMouseClick = Событие происходит на экране героя щелчком мыши.
OnKeyPressed = Событие происходит при нажатии клавиши.
OnKingdomOverviewMouseClick = Событие происходит на обзор королевства щелчком мыши.
OnLeaveTownHall = Событие происходит на выезде из ратуши.
OnLoadHeroScreen = Событие происходит на экране загрузки героя.
OnMagicBasicResistance = Событие происходит на магическом базовом сопротивлении.
OnMagicCorrectedResistance = Событие происходит на магическом скорректированном сопротивлении.
OnMonsterPhysicalDamage = Событие происходит на физическом уроне монстра.
OnMp3MusicChange = Событие происходит при смене музыки mp3.
OnOpenCommanderWindow = Событие происходит в открытом окне командира.
OnOpenHeroScreen = Событие происходит на открытом экране героя.
OnOpenRecruitDlg = Событие происходит на открытом рекрутском dlg.
OnOpenTownScreen = Событие происходит на экране open town.
OnPostHeroScreen = Событие происходит на экране post hero.
OnPostTownScreen = Событие происходит на экране post town.
OnPreHeroScreen = Событие происходит на экране pre hero.
OnPreTownScreen = Событие происходит на экране до города.
OnRecruitDlgAction = Событие происходит при рекрутском действии dlg.
OnRecruitDlgMouseClick = Событие происходит на рекруте dlg щелчком мыши.
OnRecruitDlgRecalc = Событие происходит на recruit dlg recalc.
OnRemoteEvent = Событие происходит на удаленном событии.
OnSavegameRead = Событие происходит при чтении savegame.
OnSavegameWrite = Событие происходит при записи savegame.
OnSetupBattlefield = Событие происходит на поле боя установки.
OnSoundPlay = Событие происходит при воспроизведении звука.
OnStackToStackDamage = Событие происходит от стека к стеку повреждения.
OnSwitchTownScreen = Событие происходит на экране switch town.
OnTownHallMouseClick = Событие происходит на ратуше щелчком мыши.
OnTownMouseClick = Событие происходит по щелчку мыши в городе.
OnTownMouseHint = Событие происходит по подсказке городской мыши.
OnUnequipArt = Событие возникает при снятии искусства.
OnWanderingMonsterDeath = Событие происходит на блуждающем монстре смерти.
OnWanderingMonsterReach = Событие происходит на бродячем монстре досягаемости.
Следующие события нуждаются в указанном через пробел числе или серии чисел, разделённых косой чертой.
Пример: OnBeforeVisitObject 94/-1 или OnHeroMove 3.
OnErmTimer
OnHeroInteraction
OnHeroMove
OnHeroGainLevel
OnLocalEvent
OnAfterVisitObject
OnBeforeVisitObject
OnAfterVisitObject
OnBeforeVisitObject
Berserker, ещё раз спасибо.
А, например, !?FU(OnGameEnter); аналог !?GM0; или есть важные отличия?

GM0 при загрузке игры срабатывает. OnGameEnter при старте игры или загрузке, когда отображается диалог карты приключений и начинает работать цикл обработки сообщений от мыши и клавиатуры.
Да, Яндекс art перевёл верно. Невдомёк ему про сокращения )
Hello
PerryR
Thank you very much.
I didn’t know that it was so easy to write it down and it would work fine ..
I am very grateful to you for your constant help and advice ..
Thanks..

А мне очень понравилось вот это:
OnBattleMouseHint = Событие происходит по подсказке боевой мыши.
Доброго всем дня.

Подскажите, пожалуйста, можно ли "перевести" заклинание на другой уровень?
Ну, скажем, чтобы окаменение стало 5-го уровня и существа с иммунитетом 4-го уровня поддавались ему.