Добавлен PraetorianSM
Здравствуйте, товарищи!
Надеюсь, мой вопрос не покажется сильно глупым, а ситуация недостойной внимания.
Такое дело, я делаю карту, используя GUI, но с небольшим использованием триггеров на JASS'е в тех случаях, когда GUI со своей задачей справиться не может.
я использую массивы для обозначения игроков. Вроде, если этот юнит принадлежит игроку Х, то добавить этого юнита в "ГруппаЮнитов" [Номер владельца юнита]. И многие триггеры работают хорошо, проблем не возникает.
Однако есть пара триггеров (больше пока не удалось обнаружить), которые правильно работать отказываются. Причем, они работают идеально для первого игрока (т.е. код соответствует моей хотелке и этот код срабатывает), но не для остальных. Прилагаю скриншот с примером.
После улучшения триггер берет все заводы данного игрока, удаляет у них первый набор способностей и добавляет его же, только улучшенный. Также блокирует/разблокирует их соответственно. Однако у второго игрока со всех заводов удаляются способности, но новые не добавляются (блокировка/разблокировка работает).
Не знаю, насколько честно, но я постарался перепробовать все и перечитать все, что мог найти и сделать. Теперь обращаюсь к вам, подскажите что-нибудь?
На JASS'e работаю не очень, в основном подглядываю или перевожу GUI триггеры, а потом их исправляю. Хеш-таблицы также не понимаю. Если решений без хеш-таблиц не будет, буду учить тогда.
Спасибо!
Надеюсь, мой вопрос не покажется сильно глупым, а ситуация недостойной внимания.
Такое дело, я делаю карту, используя GUI, но с небольшим использованием триггеров на JASS'е в тех случаях, когда GUI со своей задачей справиться не может.
я использую массивы для обозначения игроков. Вроде, если этот юнит принадлежит игроку Х, то добавить этого юнита в "ГруппаЮнитов" [Номер владельца юнита]. И многие триггеры работают хорошо, проблем не возникает.
Однако есть пара триггеров (больше пока не удалось обнаружить), которые правильно работать отказываются. Причем, они работают идеально для первого игрока (т.е. код соответствует моей хотелке и этот код срабатывает), но не для остальных. Прилагаю скриншот с примером.
После улучшения триггер берет все заводы данного игрока, удаляет у них первый набор способностей и добавляет его же, только улучшенный. Также блокирует/разблокирует их соответственно. Однако у второго игрока со всех заводов удаляются способности, но новые не добавляются (блокировка/разблокировка работает).
Не знаю, насколько честно, но я постарался перепробовать все и перечитать все, что мог найти и сделать. Теперь обращаюсь к вам, подскажите что-нибудь?
На JASS'e работаю не очень, в основном подглядываю или перевожу GUI триггеры, а потом их исправляю. Хеш-таблицы также не понимаю. Если решений без хеш-таблиц не будет, буду учить тогда.
Спасибо!
Принятый ответ
я забыл выставить максимальное количество массивов для группы юнитов...
тоже ща об этом хотел сказать и вспомнил как у меня была похожая проблема с группами, когда ещё на 1.26 сидел
И выяснилось, что первый игрок это все-таки 1, второй игрок это 2.
ну в твоём случае с ГУИ - да. Я ж объяснил как это работает
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован PROSHELDOTU
Т.е. у крсаного Id = 0, у синего 1 и т.д.
Номер можно получить по этой нативке:
Отредактирован PraetorianSM
Спасибо большое! Не знал, что красный игрок нулевой. Однако проблема все равно не в этом. Как видно в примере, там используется функция одного и того же игрока. Однако, срабатывает только половина триггера. Т.е. проблема, видимо, не в том, что он не может найти на кого применять действия, а в том, что триггер для кого-то срабатывает не так, неправильно или неполностью.
Upd. Причем, для красного игрока (не важно какой номер, ибо сами по себе я цифры в массивах не использую) все срабатывает нормально.
Выбрать всех:
Отредактирован PROSHELDOTU
Ибо событие на юнита, а не на игрока
Делал уже, для верности попробовал еще раз. Пробовал еще вынести в другой триггер, вдруг, ему просто лень дочитывать этот до конца.
Proshel_Doty:
Попробовал. Однако завершение исследование относится к игроку в том числе, например, ссылаясь на число "НынешнийУровеньИсследования" мы ссылаемся на "Игрок". Да и даже если бы он не ссылался на триггернувшегося игрока, почему другие действия срабатывают?