Сейчас 22:45:13 Понедельник, 25 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
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 и через цикл записывать

 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz