Помогите мне в спеллах
|
|
Ty3uK | Дата: Среда, 30 Ноября 2011, 13:16:57 | Сообщение # 76 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Пикаем юнитов и при каждом касте спелла получаем утечку. Могу кинуть на жассе наработку, как домой приду
|
|
|
|
DoomDemon | Дата: Среда, 30 Ноября 2011, 13:18:25 | Сообщение # 77 |
7 уровень
Группа: Проверенные
Сообщений: 332
Награды: 2
Репутация: 201
Блокировки:
| Prokhor-andrew, досконально изучи РО, тогда ты будешь иметь представление о том что можно сделать без триггеров, а что с триггерами. Знать все способности просто необходимо если хочешь делать триггерные спелы. Например та же цепная хилка/дамаг делается очень просто если знаешь существующие спелы Здесь нужно три способности: - Заклинание которое кастует герой (пустышка делается на основе канала и никакого эффекта не имеет кроме как включение триггера) - Цепное лечение (делается на основе заклинания ловца духов у орды) - Цепной урон (делается на основе цепи молний у говорящего с духами у орды) При применении заклинания проверяем врагом или другом является цель и создаём дамми применяющего соответствующее заклинание.
|
|
|
|
Extremator | Дата: Среда, 30 Ноября 2011, 13:25:51 | Сообщение # 78 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Quote (Ty3uK) Пикаем юнитов и при каждом касте спелла получаем утечку. удаляем группу + чистим точки ...
|
|
|
|
Ty3uK | Дата: Среда, 30 Ноября 2011, 13:48:03 | Сообщение # 79 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Лол. Бж на пик юнитов утекает локальной группой, с которой ты ничего не сделаешь, уже не единожды писали в этом треде
|
|
|
|
Extremator | Дата: Среда, 30 Ноября 2011, 14:07:27 | Сообщение # 80 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Quote (Ty3uK) Бж на пик юнитов утекает локальной группой, с которой ты ничего не сделаешь Я не однократно писал и спрашивал об этом на XGM, мне дали решение этой проблемы в качестве CS. При этом все говорили что утечки теперь не будет и быть не может, ибо группа затирается сама...
Хочешь сказать мне там тупо херни нагородили? оО
|
|
|
|
Borodach | Дата: Среда, 30 Ноября 2011, 14:13:18 | Сообщение # 81 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Група не утекает, а вот локальная переменная...
Karamba
|
|
|
|
Extremator | Дата: Среда, 30 Ноября 2011, 14:17:45 | Сообщение # 82 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| ну я же раз 100 стам спросил, мне казали всё путём
|
|
|
|
Ty3uK | Дата: Среда, 30 Ноября 2011, 14:18:20 | Сообщение # 83 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Вот так утекает группа (я имею в виду, как уже и писал выше, локалка): Code function GetUnitsInRangeOfLocMatching takes real radius, location whichLocation, boolexpr filter returns group local group g = CreateGroup() call GroupEnumUnitsInRangeOfLoc(g, whichLocation, radius, filter) call DestroyBoolExpr(filter) return g endfunction где нет обнуления локалки через set g = null я хз, какой тебе дали кастом код (скинь его), но способов отлова локалки из бж, кроме как ее раскрытия, я не знаю
|
|
|
|
Extremator | Дата: Среда, 30 Ноября 2011, 14:35:32 | Сообщение # 84 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| CS: set bj_wantDestroyGroup = true
ставить ДО функции пикка юнитов, т.е. 1. CS: set bj_wantDestroyGroup = true 2. Pick Units бла бла бла
|
|
|
|
Ty3uK | Дата: Среда, 30 Ноября 2011, 14:44:08 | Сообщение # 85 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Extremator, пхахахахахаха! Хочу тебя разачаровать, но глобалка set bj_wantDestroyGroup отвечает за выполнение команды call DestroyGroup(g), но не обнуляет локалку через set g = null Например, Code function CountUnitsInGroup takes group g returns integer // If the user wants the group destroyed, remember that fact and clear // the flag, in case it is used again in the callback. local boolean wantDestroy = bj_wantDestroyGroup set bj_wantDestroyGroup = false
set bj_groupCountUnits = 0 call ForGroup(g, function CountUnitsInGroupEnum)
// If the user wants the group destroyed, do so now. if (wantDestroy) then call DestroyGroup(g) endif return bj_groupCountUnits endfunction функа берет уже существующую группу без создания своей локальной. И вонтдестрой указывает, надо ли уничтожать твою группу или нет. И все, тут нет локальных групп
Сообщение отредактировал Ty3uK - Среда, 30 Ноября 2011, 14:46:01 |
|
|
|
Extremator | Дата: Среда, 30 Ноября 2011, 14:47:43 | Сообщение # 86 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Quote (Ty3uK) И все, тут нет локальных групп если нету локальных групп значит и нету утекающей локалки... верно?
|
|
|
|
Ty3uK | Дата: Среда, 30 Ноября 2011, 14:48:53 | Сообщение # 87 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Extremator, та функа, которую я написал последней не энумит юнитов, а считает их количетсво. А вот эта (как раз пик) утекает с локальной группой g Code function GetUnitsInRangeOfLocMatching takes real radius, location whichLocation, boolexpr filter returns group local group g = CreateGroup() call GroupEnumUnitsInRangeOfLoc(g, whichLocation, radius, filter) call DestroyBoolExpr(filter) return g endfunction
|
|
|
|
Extremator | Дата: Среда, 30 Ноября 2011, 14:51:16 | Сообщение # 88 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Ty3uK, короче я плохо тебя понимаю... ибо в коде не шарю вообще... и работаю с ним опираябсь только на то что мне говорили знающие люди... Я делаю вот так... и как мне неоднократно говорили - утечки нету, спи спокойно ))
|
|
|
|
Ty3uK | Дата: Среда, 30 Ноября 2011, 15:02:34 | Сообщение # 89 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Extremator, утекает, бро, утекает. Своим КС ты ничего не добиваешься, ибо локалка у тебя не обнуляется
|
|
|
|
Extremator | Дата: Среда, 30 Ноября 2011, 15:19:58 | Сообщение # 90 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Т_Т я пошёл на XGM спрашивать... опять...
|
|
|
|
YaNeZnauJass | Дата: Среда, 30 Ноября 2011, 15:40:25 | Сообщение # 91 |
1 уровень
Группа: Пользователи
Сообщений: 15
Награды: 0
Репутация: 15
Блокировки:
| Ty3uK, У Extremator, нет локальной группы раз. bj_wantdestroy == true разрушат группу,но не стирает оттуда обекты(или стирает)Добавлено (30 Ноябрь 2011, 15:40:25) ---------------------------------------------
Quote (Ty3uK) Extremator, пхахахахахаха! Хочу тебя разачаровать, но глобалка set bj_wantDestroyGroup отвечает за выполнение команды call DestroyGroup(g), но не обнуляет локалку через set g = null разрушает и стирает группу из игры значит ссылки на обект нету значит null
|
|
|
|
Ty3uK | Дата: Среда, 30 Ноября 2011, 16:07:57 | Сообщение # 92 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Локалка остается, ибо после call DestroyGroup(g) все умные люди делают set g = null, и еще скажите мне, что так не надо, и одного уничтожения группы хватит =/
|
|
|
|
Prokhor-andrew | Дата: Среда, 30 Ноября 2011, 16:08:39 | Сообщение # 93 |
6 уровень
Группа: Пользователи
Сообщений: 215
Награды: 0
Репутация: 0
Блокировки:
| о_О часик не проверял форум называется)) Я ваще больше всего понял что мне думдемон сказал
(-_-)
|
|
|
|
DoomDemon | Дата: Среда, 30 Ноября 2011, 16:23:09 | Сообщение # 94 |
7 уровень
Группа: Проверенные
Сообщений: 332
Награды: 2
Репутация: 201
Блокировки:
| Prokhor-andrew, да я вообще не знаю что они в этой теме забыли, им лишь бы место было, а о чём поспорить всегда найдётся
|
|
|
|
Ty3uK | Дата: Среда, 30 Ноября 2011, 16:59:50 | Сообщение # 95 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Я могу предложить свою помощь в жассе, не надо ля ля
|
|
|
|
DoomDemon | Дата: Среда, 30 Ноября 2011, 17:33:45 | Сообщение # 96 |
7 уровень
Группа: Проверенные
Сообщений: 332
Награды: 2
Репутация: 201
Блокировки:
| Quote (Ty3uK) Я могу предложить свою помощь в жассе, не надо ля ля Ты можешь только переманить на тёмную сторону силы :)
|
|
|
|
YaNeZnauJass | Дата: Среда, 30 Ноября 2011, 17:45:24 | Сообщение # 97 |
1 уровень
Группа: Пользователи
Сообщений: 15
Награды: 0
Репутация: 15
Блокировки:
| Ty3uK, Ты не видиш разницу между существованием локалки и ее неимением
|
|
|
|
Prokhor-andrew | Дата: Среда, 30 Ноября 2011, 20:08:08 | Сообщение # 98 |
6 уровень
Группа: Пользователи
Сообщений: 215
Награды: 0
Репутация: 0
Блокировки:
| Думдемон, ты меня покрил фразой Добавлено (30 Ноябрь 2011, 20:08:08) --------------------------------------------- Парни , как сделать такой спелл без джаза , я джаз не знаю.
(-_-)
|
|
|
|
Borodach | Дата: Среда, 30 Ноября 2011, 20:35:48 | Сообщение # 99 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| YaNeZnauJass, Добавь этот код в периодическое событие Code local group g=CreateGroup() local integer id=GetHandleId(g) call BJDebugMsg(I2S(id)) call DestroyGroup(g) и этот: Code local integer id=GetHandleId(g) call BJDebugMsg(I2S(id)) call DestroyGroup(g) set g=null Ты увидишь разницуДобавлено (30 Ноябрь 2011, 20:35:48) --------------------------------------------- Extremator, Утечка локалки это не утечка всей групы или эффектов... глобально для карты не повлияет
Karamba
|
|
|
|
lawson | Дата: Среда, 30 Ноября 2011, 20:53:24 | Сообщение # 100 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Quote (Borodach) Утечка локалки это не утечка всей групы или эффектов... глобально для карты не повлияет Пример того что тузик прав: local unit u = CreateUnit - создаем юнита записывая его в переменную call RemoveUnit(u) - удаляем юнита, но ссылка на него отсанется так же и с группой. Когда ты прописываешь локальной группе как CreateGroup все ссылка на нее уже существует и удалением группы ссылку на нее не очистишь. ВОобще очень плохо что для жасса нет нормального сборщика мусора.
Добавлено (30 Ноябрь 2011, 20:53:24) --------------------------------------------- Quote (Borodach) глобально для карты не повлияет Вместе с остальным ГУИ "кодом" + бж этого он точно не заметит.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
Сообщение отредактировал lawson - Среда, 30 Ноября 2011, 20:56:54 |
|
|
|