Устранение BJ
|
|
romaN-1998 | Дата: Вторник, 01 Февраля 2011, 17:08:14 | Сообщение # 1 |
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
| Как устранить BJ у функций: Code call UseTimeOfDayBJ(false) Code call UnitAddAbilityBJ И достаточно ли просто убрать BJ у функии:
Сообщение отредактировал romaN-1998 - Вторник, 01 Февраля 2011, 17:08:38 |
|
|
|
Dreii | Дата: Вторник, 01 Февраля 2011, 17:10:55 | Сообщение # 2 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Quote (romaN-1998) call UnitAddAbilityBJ Code call UnitAddAbility(whichUnit, abilityId) integer abilityId, unit whichUnit returns boolean Quote (romaN-1998) call UseTimeOfDayBJ(false) Code call SuspendTimeOfDay(not flag) boolean flagДобавлено (01-02-2011, 17:10) ---------------------------------------------
Code local group g=CreateGroup() local unit e call GroupEnumUnitsInRect(g,bj_mapInitialPlayableArea,null)//Откуда пикать юнитов loop set e=FirstOfGroup(g) exitwhen e == null //Действия call GroupRemoveUnit(g,e) endloop call DestroyGroup(g) set g=null
|
|
|
|
Manko_O | Дата: Вторник, 01 Февраля 2011, 19:45:47 | Сообщение # 3 |
7 уровень
Группа: Проверенные
Сообщений: 296
Награды: 0
Репутация: 23
Блокировки:
| romaN-1998, Качем JassCraft
|
|
|
|
Dreii | Дата: Вторник, 01 Февраля 2011, 20:09:51 | Сообщение # 4 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| romaN-1998, или мучаем Manko_O,
|
|
|
|
EdiTTORR | Дата: Среда, 02 Февраля 2011, 14:09:43 | Сообщение # 5 |
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
| romaN-1998, в ForGroup достаточно убрать BJ. Хотя вариант дрэя лучше, но это уже дело вкуса.
Местами здесь.
|
|
|
|
Dreii | Дата: Среда, 02 Февраля 2011, 14:11:37 | Сообщение # 6 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| EdiTTORR, Мой вариант не требует 2-ой ф-ии))
|
|
|
|
SirNikolas | Дата: Среда, 02 Февраля 2011, 14:44:21 | Сообщение # 7 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Code globals constant group GROUP = CreateGroup() boolexpr BOOL endglobals
function Trig_Test_Trigger_Pick takes nothing returns boolean local unit u = GetFilterUnit() //Действия set u = null return false endfunction
function Trig_Test_Trigger_Actions takes nothing returns nothing call GroupEnumUnitsInRect(GROUP, bj_mapInitialPlayableArea, BOOL) endfunction
function InitTrig_Test_Trigger takes nothing returns nothing set BOOL = Condition(function Trig_Test_Trigger_Pick) endfunction
|
|
|
|
Ajaccio | Дата: Среда, 02 Февраля 2011, 14:52:19 | Сообщение # 8 |
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
| SirNikolas, +1, самый лучший вариант. И работает намноооого быстрей.
XOR EAX, EAX MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
|
|
|
|
Dreii | Дата: Среда, 02 Февраля 2011, 14:52:47 | Сообщение # 9 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| SirNikolas, ЗАчем все так сложно?
|
|
|
|
SirNikolas | Дата: Среда, 02 Февраля 2011, 14:56:59 | Сообщение # 10 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Потому что ты все равно будешь использовать GroupEnumUnitsIn..., так зачем совершать лишние действия? Разумеется, если нужно перебрать юнитов в готовой группе из переменной, лучше делать твоим способом.
|
|
|
|
Ajaccio | Дата: Среда, 02 Февраля 2011, 14:57:31 | Сообщение # 11 |
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
| Наша и лень и оптимальность кода разные вещи. В этом способе все выполняется сразу в пике юнитов. При этом группа остается пустой, как бонус. Если же делать через цикл, то мы вначале собираем, а потом ещё тратим время на их (юнитов) перебор.
XOR EAX, EAX MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
|
|
|
|
EdiTTORR | Дата: Среда, 02 Февраля 2011, 15:10:59 | Сообщение # 12 |
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
| Dreii Quote (EdiTTORR) Хотя вариант дрэя лучше, но это уже дело вкуса.
Местами здесь.
Сообщение отредактировал EdiTTORR - Среда, 02 Февраля 2011, 15:11:26 |
|
|
|