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

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

Ответ
 
Blizzru

offline
Опыт: 4,117
Активность:
Делаю систему респавна мобов. Поможете?
((код jass
function Trig_Creeps_Level_1_Actions takes nothing returns nothing
local integer num
local integer rand
local location pnt
set rand = GetRandomInt(1, 4)
set num = CountUnitsInGroup(GetUnitsInRectAll(gg_rct_C1)
if num = 0
set udg_Int_RandomCreeps1 = GetRandomInt(1, 14)
set pnt = GetRectCenter(gg_rct_C1)
call CreateNUnitsAtLoc( rand, udg_Type_MobLevelOne_M14[udg_Int_RandomCreeps1], Player(PLAYER_NEUTRAL_AGGRESSIVE), pnt, bj_UNIT_FACING )
call RemoveLocation(pnt)
else
call DoNothing()
endif
endfunction
))
Blizzru добавил:
Собстна мне нужно узнать как отловить количество юнитов в регионе, и если это количество = 0 тогда выполнять действие, иначе пропустить.
Старый 07.09.2013, 16:24
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,324
Активность:
Blizzru, ну а проверку на живых в ректе ты не делал, GetUnitsInRectAll - очень умно, дохлых ты тоже считать будешь?
Старый 07.09.2013, 16:31
Blizzru

offline
Опыт: 4,117
Активность:
quq_CCCP, Дохлых я удаляю через 5 секунд после смерти.
Blizzru добавил:
quq_CCCP:
GetUnitsInRectAll
Вот я про это и спрашиваю)
Старый 07.09.2013, 16:35
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,324
Активность:
Blizzru, вот на, определяй есть ли юниты в ректе:
((код jass
globals
gg_grp_TempGroup = CreateGroup( )
endglobals
function OnlyAlive takes nothing returns boolean
return GetUnitState( GetEnumUnit( GetFilterUnit( ) ), UNIT_STATE_LIFE ) > 0.00 and not IsUnitType( GetFilterUnit( ), UNIT_TYPE_MECHANICAL )
endfunction
function IsRectVoid takes rect r returns boolean
call GroupClear( gg_grp_TempGroup )
call GroupEnumUnitsInRect( gg_grp_TempGroup, r, Condition( function OnlyAlive ) )
return CountUnitsInGroup( gg_grp_TempGroup ) < 1
endfunction
))
Старый 07.09.2013, 17:14
Blizzru

offline
Опыт: 4,117
Активность:
quq_CCCP, спасибо за старание, но причём тут != механические
Мёртв или жив...
Я просто спросил как отловить количество юнитов в регионе.
Blizzru добавил:
Blizzru:
Собстна мне нужно узнать как отловить количество юнитов в регионе, и если это количество = 0 тогда выполнять действие
Старый 07.09.2013, 17:31
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,324
Активность:
Blizzru, ну считать CountUnitsInGroup или FirstOfGroup(grp) == null все...
Старый 07.09.2013, 17:47
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
quq_CCCP:
или FirstOfGroup(grp) == null все...
хех, это оригинально)
Старый 07.09.2013, 17:49
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,324
Активность:
alexprey, ну чтобы не выполнять лишние действия, если в группе первый юнит = null то группа пуста, Blizzru, же не знает как же ему узнать что мобов в группе 0.
Старый 07.09.2013, 18:07
Blizzru

offline
Опыт: 4,117
Активность:
quq_CCCP, alexprey, ничего не понял.
Нужен аналог этого условия
Как его реализовать на Jass?
((код jass
if юнит в регионе C1 = 0
Ряд действий спавна
else
DoNothing()
endfunction
))
Миниатюры
Кликните на картинку для увеличения
Название:  Безымянный.jpg
Просмотров: 5
Размер:  8.2 Кбайт  
Старый 07.09.2013, 18:10
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,324
Активность:
Blizzru, ты чего издеваешся, троллиш так?
На jass тебе и написал я пример, как все сделать...
Старый 07.09.2013, 18:16
Blizzru

offline
Опыт: 4,117
Активность:
quq_CCCP, я не вижу где ты указал область. у тебя там только занесение некого EnumUnit в группу, и проверка на кол-во хп. это то что мне не нужно.
Blizzru добавил:
quq_CCCP, всё понял. ща буду пробывать.
Старый 07.09.2013, 18:24
DioD

offline
Опыт: 45,134
Активность:
самое грамотное это делать линк юнит на регион и счититать юнитов на стадии их смерти, а не постфактум.
Старый 07.09.2013, 18:34
Blizzru

offline
Опыт: 4,117
Активность:
DioD, С точки зpения банальной эpудиции, каждый пpоизвольно выбpанный пpедикативно абсоpбиpующий обьект pациональной мистической индукции можно дискpетно детеpминиpовать с аппликацией ситуационной паpадигмы коммуникативно-функционального типа пpи наличии детектоpно-аpхаического дистpибутивного обpаза в Гилбеpтовом конвеpгенционном пpостpанстве, однако пpи паpаллельном колабоpационном анализе спектpогpафичеких множеств, изомоpфно pелятивных к мультиполосным гипеpболическим паpаболоидам, интеpпpетиpующим антpопоцентpический многочлен Hео-Лагpанжа, возникает позиционный сигнификатизм гентильной теоpии психоанализа, в pезультате чего надо пpинять во внимание следующее: поскольку не только эзотеpический, но и экзистенциальный аппеpцепциониpованный энтpополог антецедентно пассивизиpованный высокоматеpиальной субстанцией, обладает пpизматической идиосинхpацией, но так как валентностный фактоp отpицателен, то и, соответственно, антагонистический дискpедитизм дегpадиpует в эксгибиционном напpавлении, поскольку, находясь в пpепубеpтатном состоянии, пpактически каждый субьект, меланхолически осознавая эмбpиональную клаустоpофобию, может экстpаполиpовать любой пpоцесс интегpации и диффеpенциации в обоих напpавлениях, отсюда следует, что в pезультате синхpонизации, огpаниченной минимально допустимой интеpполяцией обpаза, все методы конвеpгенционной концепции тpебуют пpактически тpадиционных тpансфоpмаций неоколониализма.
Старый 07.09.2013, 18:45
DioD

offline
Опыт: 45,134
Активность:
я так понимаю испугало слово "линк", ну ничего страшного это потом пройдёт.
Старый 07.09.2013, 19:28
Ответ

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

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

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

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



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