Возможно ли автоматически вставлять номер в глобальном массиве от цвета игрока в виде переменной?
Например:
Есть некий массив N[Integer A]. К нему обращается триггер, и, если владелец триггер-юнита красный игрок, то Integer A = 1. Это необходимо прописывать каждый раз.
А можно ли это прописать один раз при инициализации карты? Чтобы при обращении к массиву с переменной для красного игрока, Integer A была равна 1, например, а для синего - 2 и т.д.?
Вроде такого:
Init_map
set Integer A = 1 for player 1
set Integer B = 2 for player 2
Например:
Есть некий массив N[Integer A]. К нему обращается триггер, и, если владелец триггер-юнита красный игрок, то Integer A = 1. Это необходимо прописывать каждый раз.
А можно ли это прописать один раз при инициализации карты? Чтобы при обращении к массиву с переменной для красного игрока, Integer A была равна 1, например, а для синего - 2 и т.д.?
Вроде такого:
Init_map
set Integer A = 1 for player 1
set Integer B = 2 for player 2
Action_trigger
call UnitDamageTargetBJ( N[Integer A], N[Integer A], 50, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_NORMAL ), где юниты двух разных игроков.
call UnitDamageTargetBJ( N[Integer A], N[Integer A], 50, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_NORMAL ), где юниты двух разных игроков.
P.S. Знаю-знаю, что для этого есть локалки, но мне нужно в глобальном массиве.
Принятый ответ
Одна и та же переменная в одном вызове функции не может принимать разные значения. Почему нельзя использовать две переменные?
Я вообще не очень понимаю, что ты хочешь сделать такой функцией. Опиши ситуацию, пожалуйста.
Я вообще не очень понимаю, что ты хочешь сделать такой функцией. Опиши ситуацию, пожалуйста.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
GetPlayerId()
возвращает номер игрока
аналог на гуи сам найдёшь надеюсь
Отредактирован Impertus
Пулей в статьи: xgm.guru/p/wc3/articles и не вылазь оттуда пока все не прочитаешь и осознаешь.
GetPlayerId - функция требующая данных, а именно игрока, номер которого она будет возвращать.
Используется типа вот так:
set Player_Number = GetPlayerId(GetOwningPlayer(GettriggerUnit()))
В нашем в Player_Number будет номер игрока, владельца юнита, который запустил триггер.
Отредактирован Impertus
Мне нужно, чтобы применительно к call UnitDamageTargetBJ( N[Integer A], N[Integer A], 50, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_NORMAL ) переменная Integer A принимала разные значения для юнитов разных игроков и юнит игрока 1 дамажил юнита игрока 2, а не 2 -2. Возможно ли это?
Глобалка потому, что используется в нескольких триггерах, которые нельзя свести в один. Я как раз хочу избежать постоянного внесения данных об игроке и небольшой автоматизации вида Овнер юнита игрок 1 - значит Integer A для него всегда =1.
Если нет такого, значит буду делать на локалках.
Отредактирован Кет
Я вообще не очень понимаю, что ты хочешь сделать такой функцией. Опиши ситуацию, пожалуйста.
И да -
Событие - Юнит начинает эффект способности
Условие - способность такая-то
Действие - приказать юниту 1 продамажить юнит 2 нанося (переменная_массив)[номер игрока владельца кастинг юнита]
ssbbssc:
Отредактирован Кет