Перейти к содержанию

NHF - новые герои для Heroes V 3.1

Аватар пользователя
#5067
Автопереведено
dredknight
Если скрипты выполняются дважды в PvP… Что, если скрипту будет дано указание выполняться от имени владельца, при условии, что владельцем скрипта является атакующий? Игра может различать атакующего и защищающегося, поэтому добавление этого правила приведёт к тому, что один из скриптов не будет выполняться.

Возможно ли это, или существует лучшее решение?
Проблема заключается в определении владельца выполняемого скрипта. Разработчики не включили такую функцию, поскольку это было бы небезопасно и могло бы привести к рассинхронизации.

Моё предложенное решение — вызывать StartCombat для каждого героя с разными владельцами, используя следующий скрипт:
SetGameVar('execution_thread', '1')
Break()
Вместо '1' здесь может быть указан номер игрока, которому принадлежит герой.

Когда начинается PvP-битва, каждый скрипт решает, следует ли ему выполняться или нет.
Например: если игровая переменная 'execution_thread' меньше, чем владелец одного из героев, он откажется работать.

Обратите внимание, что SetGameVar во время мультиплеерных битв отделена от карты приключений (следовательно, потребуется ещё один хак, и в рамках этого я уже отправил патч dredknight). И она отделена от игровых переменных на компьютерах других игроков.

Чтобы обойти барьер между картой приключений и боевой зоной для игровых переменных, следует использовать consoleCmd('@SetGameVar(...)') вместе с упомянутым выше патчем.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4