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

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

Закрытая тема
 
Msey
????
offline
Опыт: 67,346
Активность:
замена функций
Прошу, объясните мне конструкцию этих извращенских ф-ий.
1.
if CountUnitsInGroup(g)>0 then
((кат первый основной бред
function CountUnitsInGroup takes group g returns integer
    local boolean wantDestroy = bj_wantDestroyGroup
    set bj_wantDestroyGroup = false
    set bj_groupCountUnits = 0
    call ForGroup(g, function CountUnitsInGroupEnum)
    if (wantDestroy) then
        call DestroyGroup(g)
    endif
    return bj_groupCountUnits
endfunction
((кат завершающий бред номер два
function CountUnitsInGroupEnum takes nothing returns nothing
    set bj_groupCountUnits = bj_groupCountUnits + 1
endfunction
))
))
2.
set d = RandomDestructableInRectBJ(r, Condition(function FilterDestr))
((кат второй основной бред
function RandomDestructableInRectBJ takes rect r, boolexpr filter returns destructable
    set bj_destRandomConsidered = 0
    set bj_destRandomCurrentPick = null
    call EnumDestructablesInRect(r, filter, function RandomDestructableInRectBJEnum)
    call DestroyBoolExpr(filter)
    return bj_destRandomCurrentPick
endfunction
((кат завершающий бред номер два
function RandomDestructableInRectBJEnum takes nothing returns nothing
    set bj_destRandomConsidered = bj_destRandomConsidered + 1
    if (GetRandomInt(1,bj_destRandomConsidered) == 1) then
        set bj_destRandomCurrentPick = GetEnumDestructable()
    endif
endfunction
))
))
Можно ли без извращений посчитать юнитов в группе и отловить декор в ректейбле?
Старый 09.05.2012, 19:52
Nerevar
I'll be back!
offline
Опыт: 18,352
Активность:
  1. использование логической здесь только для того,чтобы удалять передаваемую группу если это требуется
Для подсчета юнитов можно использовать либо цикл по группе со счетчиком,либо форгруп с тем же счетчиком - выбирать тебе
Старый 09.05.2012, 19:57
Msey
????
offline
Опыт: 67,346
Активность:
Nerevar, а какой из них быстрее надежнее?
Старый 09.05.2012, 19:58
Nerevar
I'll be back!
offline
Опыт: 18,352
Активность:
Форгруп быстрее мб
Надежность одинаковая
Старый 09.05.2012, 20:02
Msey
????
offline
Опыт: 67,346
Активность:
А что насчет второй фукции?
Msey добавил:
принцип похожий.. или есть другой способ?
Старый 09.05.2012, 21:12
Doc

offline
Опыт: 63,163
Активность:
Второе там вообще жесть, не рекомендуется даже разбираться.
То же самое и с RandomUnitsInRect/Range итд итп.
Старый 10.05.2012, 01:53
Msey
????
offline
Опыт: 67,346
Активность:
Ответы даны, закрыайте.
Старый 10.05.2012, 11:31
ScorpioT1000
Работаем
offline
Опыт: отключен
Нихрена там не бред =) всё логично, они не хотели забивать это в массив, и с каждой итерацией уменьшается шанс вернуть "текущую" декорацию, ровно на 1.
Старый 10.05.2012, 12:50
Закрытая тема

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

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

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

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



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