Re: NHF - новые герои для Heroes V 3.1
RedHeavenHeroDyrman, какие функции из 3.1 используются в NHF? Может, их можно заменить, чтобы подружить мод с 3.0 и EE (который, строго говоря, тоже 3.0).
Их всех не заменить.
+ добавлен дополнительный параметр функции SetObjectPosition(), работает только для героев, fx задаёт номер эффекта телепортации (-1 = по-умолчанию, 0 - выключен, 1 - warp, 2 - teleport, 3 - dimension door, 4 - town portal)
+ добавлен дополнительный параметр в функции AddHeroCreatures(), RemoveHeroCreatures(), AddObjectCreatures(), RemoveObjectCreatures(), задающий номер слота, для которого желательно совершить действие (если возможно)
+ добавлены новые триггера на героев: HERO_ADD_SKILL_TRIGGER, HERO_REMOVE_SKILL_TRIGGER, передаваемые параметры: heroName, skill, mastery
+ добавлены новый триггер для героев: HERO_TOUCH_TRIGGER (только для героев, выключенных функцией SetObjectEnabled())
Новые скриптовые функции:
+ floor(n) - возвращает ближайшее нижнее целое значение для n (пример: floor(1.75) вернёт 1, floor(-3.7) вернёт -3)
+ ceil(n) - возвращает ближайшее верхнее целое значение для n (пример: ceil(2.25) вернёт 3, ceil(-7.1) вернёт -8)
+ intg(n) - округляет n в сторону ближайшего целого (пример: intg(4.5) вернёт 5)
+ frac(n) - возвращает дробную часть числа (пример: frac(1.23) вернёт 0.23)
+ round(n) - возвращает целую часть числа (пример: round(1.23) вернёт 1)
+ GetPlayerRace( playerId ) - возвращает расу игрока по его номеру
+ IsAIPlayer( playerId ) - возвращает 1, если игрок - AI, 0 - если человек
+ GetPlayerTeam( playerId ) - возвращает номер команды (team) игрока
+ GetPlayerNecroEnergy( playerId ) - возвращает количество тёмной энергии у игрока (для некромантов)
+ GetObjectArmySlotCreature( objName, slotIndex ) - возвращает тип и количество кричей в слоте slotIndex объекта objName
+ GetTownRace( townName ) - возвращает расу города
+ GiveHeroBattleBonus( heroName, bonusType, amount ) - даёт герою heroName бонус на следующую битву вида bonusType, в количестве amount (виды бонусов см. в advmap-startup.lua)
+ WarpToMap( mapdbid, playerId = -1 ) - запускает другую карту, где игрок будет играть за игрока playerId (только для single player)
+ WarpHeroExp( heroName, exp ) - устанавливает количество опыта (experience) героя (а значит и его уровень), не влияет на умения и пр.
+ TalkBoxForPlayers( playersFilter, iconRef, iconTooltipRef, textRef, addTextRef, callback, mode, titleTextRef, selectTextRef, defaultOption, optionTextRef [, optionTextRef, ...] )
- открывает для выбранных игроков (playersFilter) диалог с несколькими вариантами ответа (от 1 до 5)
- функция не выдаёт сообщений об ошибке т.к. если параметры не верны, то используются значения по-умолчанию
- iconRef - ссылка на текстуру иконки
- iconTooltipRef - путь к тексту тултипа иконки
- textRef - путь к тексту диалога
- addTextRef - путь к тексту диалога (дополнительному)
- сallback - строка с именем lua-функции, через первый параметр которой сообщается ответ игрока (число: 0 - отмена, -1 - закрыт игрой, 1.. - номер выбранного игроком ответа)
- mode - режим: 0 - с кнопкой ОК, 1 - ОК/Закрыть
- titleTextRef - путь к тексту заголовка окна
- selectTextRef - путь к тексту заголовка перед опциями выбора
- defaultOption - номер ответа, подсвеченного по-умолчанию (число: 0 - нет, 1.. - номер ответа)
- optionTextRef - путь к тексту ответа № 1
- ... - путь к тексту ответа № ...