XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
9thNerZul
forum/warcraft3
offline
Опыт: 4,869
Активность:
Проверка:есть ли юнит определенного типа в группе
Тригер принцип работы обьяснять не нужно, в принципе в чем суть: берется н число юнитов и добавляется в группу причем нужно чтобы в группу не добавились юниты одного и того же типа, чтоб не было группы с 3пехотинцами и 2 стрелками нужно чтоб было единично каждый тип.2 группы из одной данные переносятся в другую за учетом одного.Set unit first on group 1
Команда pick all units from unit group 2 and do action
if unit type(picked unit) = unit type(выбранный нами) than remove picked unit from unit group 2 add unit(выбранный)to unit group 2.Этот способ мне кажется крайне неудобным, может есть другой способ? Пишу систематично на скорую руку так что типо ошибки в коде виноваты не говорите:)
Старый 16.02.2009, 23:07
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
9thNerZul, а ты не поддерживаешь вариант недобавления этого юнита в группу сразу, что б потом не проверять, в группе он или нет?
Старый 17.02.2009, 00:26
MF
Что-то вокруг не так
offline
Опыт: 26,594
Активность:
9thNerZul
Как вариант: делаешь интовый массив на каждую группу, добавлешь туда рав коды добавленных в группу юнитов, при пик юнита, смотришь, есть ли такой рав код в массиве, если есть, то не добавляешь его в группу.
Старый 17.02.2009, 05:02
NETRAT

offline
Опыт: 83,712
Активность:
индексировать типы юнитов и сопоставлять им флаг наличия в группе + ссылку на юнита в группе, при добавлении сверять флаг и удалять обьект по ссылке(если он не мертв или еще чего)
тут понадобится либо кеш, либо сдвиг равкодов типов + массив
ссылка на обьект может выполнять функцию флага (если 0 то отсутствует)
Старый 17.02.2009, 14:45
9thNerZul
forum/warcraft3
offline
Опыт: 4,869
Активность:
Не это конечно круто вы написали тут, а пример в действии можно?
Старый 05.03.2009, 18:09
MF
Что-то вокруг не так
offline
Опыт: 26,594
Активность:
9thNerZul
Попозже будет тебе пример.
не читай vJass manual, пиши все методом тыка, и дотыкаешься
Старый 05.03.2009, 18:22
9thNerZul
forum/warcraft3
offline
Опыт: 4,869
Активность:
Цитата:
Сообщение от MF_Andreich
9thNerZul
Попозже будет тебе пример.
не читай vJass manual, пиши все методом тыка, и дотыкаешься

Я и так все методом тыка делаю:)Иначе не задавал бы таких вопросов.
Старый 05.03.2009, 18:42
MF
Что-то вокруг не так
offline
Опыт: 26,594
Активность:
9thNerZul
Вообще, замени группу массивом юнитов обернутым структурой. Мороки будет гораздо меньше. Четко будешь знать какие у тебя в ней типы.
Старый 05.03.2009, 18:46
9thNerZul
forum/warcraft3
offline
Опыт: 4,869
Активность:
Цитата:
Сообщение от MF_Andreich
9thNerZul
Вообще, замени группу массивом юнитов обернутым структурой. Мороки будет гораздо меньше. Четко будешь знать какие у тебя в ней типы.

if CountUnitsInGroup(GetUnitsOfTypeIdAll(GetUnitTypeId(GetEnumUnit()))) > 1 а ты вкурсе тут 2 БЖ функции)
Старый 05.03.2009, 19:08
MF
Что-то вокруг не так
offline
Опыт: 26,594
Активность:
9thNerZul
Я что-то подобное говорил? Я рекомендовал отказаться от групп как таковых. В твоем случае это будет довольно таки удобное решение.
Старый 05.03.2009, 19:09
9thNerZul
forum/warcraft3
offline
Опыт: 4,869
Активность:
Цитата:
Сообщение от MF_Andreich
9thNerZul
Я что-то подобное говорил? Я рекомендовал отказаться от групп как таковых. В твоем случае это будет довольно таки удобное решение.

Можешь пример в карте я чёто неочень понимаю как это сделать.
Старый 05.03.2009, 19:28
9thNerZul
forum/warcraft3
offline
Опыт: 4,869
Активность:
Мне нужно чтоб при вводе определённой команды брались юниты в текущем выборе игрока(выбранные игроком)) и добавлялись в группу только чтоб не повторяясь там дальше я уже сделаю чё надо ну впринципе я хотел дальше прогнать эту группу по циклу и написать сообщения игроку какие типы юнита в группе.Это офф главное чтоб именно брались юниты выбранные игроком который написал сообщение и потом какими то махинациями попадали в группу при этом чтобы не повторялись.

9thNerZul добавил:
Цитата:
Сообщение от Hanabishi
код глючный, надо исправить, а пока удалю

Да я чё то попробывал неробит)
Старый 05.03.2009, 19:36
Артте
Open up your eyes
offline
Опыт: 23,423
Активность:
Мб как-то так? Если что-писал ночью, за юзание BJ не ругайте
Прикрепленные файлы
Тип файла: w3x ForNerth.w3x (14.5 Кбайт, 9 просмотров )
Старый 06.03.2009, 00:56
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 23:29.