ForGroup
|
|
rixt7956 | Дата: Вторник, 16 Ноября 2010, 16:09:05 | Сообщение # 1 |
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
| Вот на первый взгляд простой вопрос: У меня есть юнит кастер, во время выполнения спела определёному отряду от одного юнита наноситься урон, но как это сделать без глобалок, ведь локалки действуют только в одной функции, а если юзать хэш то тогда на хандл чего мне сожранять юнита?(Вариант сохранять юнита на хандл самой таблицы не предлагать) Таму кто поможет дам плюс
Сообщение отредактировал rixt7956 - Вторник, 16 Ноября 2010, 16:36:18 |
|
|
|
DarkVader | Дата: Вторник, 16 Ноября 2010, 16:33:48 | Сообщение # 2 |
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
| в функции ForGroup нет необходимости в сохранении выбранного юнита, просто ставишь нужного юнита как GetEnumUnit() - выбранный юнит и все работает, ненужно ни глобальных переменных, ни хэш-таблиц
|
|
|
|
rixt7956 | Дата: Вторник, 16 Ноября 2010, 16:35:07 | Сообщение # 3 |
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
| DarkVader, Мне надо что бы определённый юнит наносил урон к GetEnumUnit()
|
|
|
|
income | Дата: Вторник, 16 Ноября 2010, 16:40:36 | Сообщение # 4 |
3 уровень
Группа: Заблокированные
Сообщений: 63
Награды: 0
Репутация: 20
Блокировки:
| зачем извращаться с хешем? даже в доте когда определелнный юнит должен нанести урон группе сделано через глобалки (1 на всю карту вполне достаточно)
Не ошибается только тот, кто ничего не делает
|
|
|
|
rixt7956 | Дата: Вторник, 16 Ноября 2010, 16:45:11 | Сообщение # 5 |
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
| income, Проблема в том что спелл MUI, и ForGroup в моём спеле выполняеться каждую 1сек и есть шанс конфликта(т.е перезаписи глобалки)
|
|
|
|
kaisar | Дата: Вторник, 16 Ноября 2010, 16:47:21 | Сообщение # 6 |
9 уровень
Группа: Проверенные
Сообщений: 814
Награды: 0
Репутация: 91
Блокировки:
| Хех, моя тема о том же))
|
|
|
|
income | Дата: Вторник, 16 Ноября 2010, 16:49:46 | Сообщение # 7 |
3 уровень
Группа: Заблокированные
Сообщений: 63
Награды: 0
Репутация: 20
Блокировки:
| там время обработки очень маленькое, и врятли она у тебя когда-нибудь перезапишется Добавлено (16-11-2010, 16:49) --------------------------------------------- ну, если не устраивается такой вариант, перебирай через цикл
Не ошибается только тот, кто ничего не делает
|
|
|
|
kaisar | Дата: Вторник, 16 Ноября 2010, 16:50:23 | Сообщение # 8 |
9 уровень
Группа: Проверенные
Сообщений: 814
Награды: 0
Репутация: 91
Блокировки:
| А если будет время большое? например периодическое событие, которое должно работать секунд 5
|
|
|
|
FkoFF | Дата: Вторник, 16 Ноября 2010, 16:52:10 | Сообщение # 9 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| каждый раз с локалки переписывать Temp_Unit. конфликта не будет ибо одной глобалки достаточно.
|
|
|
|
DarkVader | Дата: Вторник, 16 Ноября 2010, 17:05:55 | Сообщение # 10 |
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
| Не обязательно вешать какие либо данные на определенный хэндл, это ведь всего лишь как вариант создания mui спелов и прочего, хэш таблица не ограничена размерами, просто используй номер игрока, различные интежеры и т.д, ведь не всегда удается повесить на хендл, если нужен именно МUI, то путей решения множество, главное сделать это оптимально, можно вообще разработать функцию, которая будет распределять данные по хэш - таблице Добавлено (16-11-2010, 17:05) --------------------------------------------- а вообще лучше не мудрить и пользоваться функциями HaveSaved и через цикл записывать
|
|
|
|