tgonta
Pixelated Sora Coder
offline
Опыт:
3,160Активность: |
Помогите настроить свой MUI-спелл
Снова здравствуйте. У меня теперь другая проблема.
Я несколькими юнитами сразу кастую спелл, код которого ниже. Результат проверки хендлов на DEAD URL. В чём может быть проблема и как её исправить? Код:
|
17.03.2010, 20:36 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
AlexKARASb
Learning cpp
offline
Опыт:
22,103Активность: |
tgonta, зачем вам создавать массив таймеров? лок таймер обычный сделайте, лок. переменные для каждой ф-ции свои |
17.03.2010, 20:43 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
tgonta
Pixelated Sora Coder
offline
Опыт:
3,160Активность: |
AlexKARASb,
Я пробовал с обычным лок. таймером, в том-то и дело, что результат что так что так один и тот же... Цитата:
Поподробнее. |
|
17.03.2010, 20:44 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
AlexKARASb
Learning cpp
offline
Опыт:
22,103Активность: |
Код:
заменить на local timer st= CreateTimer() local timer et= CreateTimer() главное в МУИ ведь разные переменные, у вас они заключены в хеше, хеш у всех разный соответственно не нужны вам массивы таймеров пару минут перепишу вам поподробнее |
17.03.2010, 20:48 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
tgonta
Pixelated Sora Coder
offline
Опыт:
3,160Активность: |
Я переписал на локалтаймер без массива. И снова так же при одновременном касте.
|
17.03.2010, 20:54 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
AlexKARASb
Learning cpp
offline
Опыт:
22,103Активность: |
вот попробуйте
» раскрыть Код:
сдесь я исправил только 2 потому что остальные ф-ции не нуждаются в исправлении +если не выйдет, то вам еще помогут более опытные пользователи |
17.03.2010, 20:58 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
tgonta
Pixelated Sora Coder
offline
Опыт:
3,160Активность: |
Не прокатило -_- Всё так же...
|
17.03.2010, 21:01 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
AlexKARASb
Learning cpp
offline
Опыт:
22,103Активность: |
вопрос теперь уже от меня =)
Код:
разве так можно ставить парент ключ?, ну то-есть GetHandleId(GetExpiredTimer()) это ж вроде бы не таймер, а фильтр; или же я ошибаюсь |
17.03.2010, 21:04 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
tgonta
Pixelated Sora Coder
offline
Опыт:
3,160Активность: |
AlexKARASb,
Фильтр можно использовать как форгруп, но оно исправно пашет. |
17.03.2010, 21:13 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
AlexKARASb
Learning cpp
offline
Опыт:
22,103Активность: |
» раскрыть Код:
попробуйте вернуть значение unit'a u перед манипуляциями; тоесть перед ифЮнитВраг поставить call BJDebugMsg("Unit Name: " + GetUnitName(u)) просто очень сомнительна эта связка при фильтре гетэксптаймер |
17.03.2010, 21:32 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
tgonta
Pixelated Sora Coder
offline
Опыт:
3,160Активность: |
AlexKARASb,
Но оно дамажит... о_О Хоть при из юнит враг ничего не возвращается в имени. |
17.03.2010, 21:36 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
хеш таблицы нельзя создавать каждый раз, они должны быть в единственном числе и одна на всю карту. |
17.03.2010, 22:21 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
AlexKARASb
Learning cpp
offline
Опыт:
22,103Активность: |
tgonta,
if udg_SandHeroHashtable == null then set udg_SandHeroHashtable = InitHashtable() endif вместо просто инита то что сказал диод =) |
17.03.2010, 22:28 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
tgonta
Pixelated Sora Coder
offline
Опыт:
3,160Активность: |
DioD, AlexKARASb,
Спасибо, подействовало! tgonta добавил: function SandStormGroupFilter takes nothing returns boolean local unit u = LoadUnitHandle(udg_SandHeroHashtable,GetHandleId(GetExpiredTimer()),2) хех... юнит не вытаскивается =( Как его правильно залоадать? |
17.03.2010, 23:01 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,284Активность: |
а ты хэш инициализировал, записывал юнита? |
17.03.2010, 23:04 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
tgonta
Pixelated Sora Coder
offline
Опыт:
3,160Активность: |
XimikS,
Да. Записывал. Но экспайред таймер походу в фильтер-функциях не ловит :{ tgonta добавил: Тему закройте, всё ловится, это я туплю. |
17.03.2010, 23:24 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
AlexKARASb
Learning cpp
offline
Опыт:
22,103Активность: |
tgonta,
как вариант глобалка юнит массив, присваиваеш в actions ей значение кастера с [id] то-есть для каждого плеера свое globals unit array U endglobals function Trig_SandStorm_Actions takes nothing returns nothing local unit caster = GetSpellAbilityUnit() set U[id]=caster и потом используй но это как вариант Мне тоже интересно как из хеша загрузить в фильтр юнита |
17.03.2010, 23:24 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
tgonta
Pixelated Sora Coder
offline
Опыт:
3,160Активность: |
AlexKARASb,
Всё грузится через экспиредтаймер, там ловица реакция на событие :) |
17.03.2010, 23:42 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Mr_ILYAS
Kicked by XimikS
offline
Опыт:
492Активность: |
Diod +1
одна глобальная хеш таблица и всё главное чистить категорию после завершения скила или чего-либо call FlushChildHashtable(udg_Hash,имя категории) |
17.03.2010, 23:58 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|