Если скрипты выполняются дважды в PvP… Что, если скрипту будет дано указание выполняться от имени владельца, при условии, что владельцем скрипта является атакующий? Игра может различать атакующего и защищающегося, поэтому добавление этого правила приведёт к тому, что один из скриптов не будет выполняться.
Возможно ли это, или существует лучшее решение?
Моё предложенное решение — вызывать StartCombat для каждого героя с разными владельцами, используя следующий скрипт:
SetGameVar('execution_thread', '1')
Break()Вместо '1' здесь может быть указан номер игрока, которому принадлежит герой.Когда начинается PvP-битва, каждый скрипт решает, следует ли ему выполняться или нет.
Например: если игровая переменная 'execution_thread' меньше, чем владелец одного из героев, он откажется работать.
Обратите внимание, что SetGameVar во время мультиплеерных битв отделена от карты приключений (следовательно, потребуется ещё один хак, и в рамках этого я уже отправил патч dredknight). И она отделена от игровых переменных на компьютерах других игроков.
Чтобы обойти барьер между картой приключений и боевой зоной для игровых переменных, следует использовать consoleCmd('@SetGameVar(...)') вместе с упомянутым выше патчем.
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога
Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4