CS - Custom Script
|
|
Naturekid | Дата: Понедельник, 04 Февраля 2013, 20:20:41 | Сообщение # 26 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Причина лагов в твоей карте уже понятна. Вот: Группа юнитов - серьёзная утечка, куда более, чем какая-то точка, а она у тебя утекает по 5 раз в секунду и это только в этом триггере. Естесственно через полчаса карту можно смело выключать. И вопрос - зачем тут использовать стороннюю глобалку вместо For loop Integer A?
|
|
|
|
Q1wAse | Дата: Понедельник, 04 Февраля 2013, 20:25:46 | Сообщение # 27 |
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
| Цитата (Naturekid) И вопрос - зачем тут использовать стороннюю глобалку вместо For loop Integer A? Это какой именно триггер я не вижу какое это действие над ИИ...
|
|
|
|
Naturekid | Дата: Понедельник, 04 Февраля 2013, 20:33:00 | Сообщение # 28 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| В триггере кастов юзаешь set bj_wantDestroyGroup = true. Оно вроде бы и помогает, да вроде бы и нет... С ним очень много косяков и потому лично я бы посоветовал заносить группу в пременную использовать и удалять. Сложнее конечно чем 1 строчку написать, зато без глюков и утечка точно уберётся. Просмотрел остальные триггеры, ничего утечного больше нет. Прям как у меня в старой карте висло от одного триггера. Боты чекали близко ли к ним каждый предмет на карте)))... Как же начинало лагать уже к 12 минуте...Добавлено (04 Февраля 2013, 20:29:56) ---------------------------------------------
Цитата (Q1wAse) Это какой именно триггер я не вижу какое это действие над ИИ... GO INДобавлено (04 Февраля 2013, 20:33:00) --------------------------------------------- Блин я щёлкаю по вот этой самой переменной для цикла и редактор переменных ворчать начинает, причем и на 1.21 и на 1.26 Если пересохран -там покрошится всё. Ошибку понял как убрать или переделать тебе триггер?
|
|
|
|
SirNikolas | Дата: Понедельник, 04 Февраля 2013, 20:37:28 | Сообщение # 29 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата (Q1wAse) call DestroyTrigger(GetTriggeringTrigger()) Триггеры редко требуется уничтожать. Но если уж так хочется, обнули еще глобальную переменную: call DestroyTrigger(gg_trg_TrigName) set gg_trg_TrigName = null
|
|
|
|
Q1wAse | Дата: Понедельник, 04 Февраля 2013, 20:39:39 | Сообщение # 30 |
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
| Цитата (SirNikolas) Триггеры редко требуется уничтожать. Но если уж так хочется, обнули еще глобальную переменную: call DestroyTrigger(gg_trg_TrigName) set gg_trg_TrigName = null Если так сделать, то карта оптимизируется, лучше станет или никак не повлияет?
|
|
|
|
Naturekid | Дата: Понедельник, 04 Февраля 2013, 20:41:59 | Сообщение # 31 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Цитата (Naturekid) по 5 раз в секунду даже не по 5, а по 5* число ботов...
|
|
|
|
Q1wAse | Дата: Понедельник, 04 Февраля 2013, 22:19:38 | Сообщение # 32 |
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
| Цитата (Naturekid) даже не по 5, а по 5* число ботов... =) Ну я пока не сильно опытный. А вот ИИ похвастать своим могу)) Только он утечный пока что. ((Добавлено (04 Февраля 2013, 22:19:38) ---------------------------------------------
Цитата (Naturekid) В триггере кастов юзаешь set bj_wantDestroyGroup = true. Оно вроде бы и помогает, да вроде бы и нет... С ним очень много косяков и потому лично я бы посоветовал заносить группу в пременную использовать и удалять. Сложнее конечно чем 1 строчку написать, зато без глюков и утечка точно уберётся. То есть лучше это(set bj_wantDestroyGroup = true) не использовать никогда даже, если 1 раз группа создаётся? Именно заносить в переменную эту группу всегда и потом удалять? или есть исключения когда её можно юзать эту set bj_wantDestroyGroup = true ??
|
|
|
|
God_of_light | Дата: Понедельник, 04 Февраля 2013, 22:43:35 | Сообщение # 33 |
6 уровень
Группа: Проверенные
Сообщений: 206
Награды: 0
Репутация: 185
Блокировки:
| call DestroyGroup() решает=)
|
|
|
|
Naturekid | Дата: Понедельник, 04 Февраля 2013, 22:59:58 | Сообщение # 34 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| ну да А ваще(раньше не обратил внимания) у автора пикаются все юниты вокруг героя и для владельца каждого создаётся юнит, зачем так и не понял. В целом код вполне адекватен, но мне не понятна только вот эта часть(где собвственно и утечка была): Добавлено (04 Февраля 2013, 22:59:58) --------------------------------------------- сразу не вникал в код, а потом глянул и... ничего не понял.
|
|
|
|
God_of_light | Дата: Понедельник, 04 Февраля 2013, 23:04:17 | Сообщение # 35 |
6 уровень
Группа: Проверенные
Сообщений: 206
Награды: 0
Репутация: 185
Блокировки:
| Видимо выбираются некие юниты\герои AI-игрока, и бегут в случайную точку карты. Я только не пойму зачем проверять являются ли юниты в области куда он бежит врагами\союзниками?? Я понимаю если были бы разные действия, а то условие бесполезное)) А пехотинец там зачем?)
|
|
|
|
Naturekid | Дата: Понедельник, 04 Февраля 2013, 23:27:30 | Сообщение # 36 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| ну пехотинец это дамми а условие "или враг или союзник" исключает нейтралов. Пассивных*
|
|
|
|
Q1wAse | Дата: Вторник, 05 Февраля 2013, 13:32:23 | Сообщение # 37 |
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
| Цитата (Naturekid) А ваще(раньше не обратил внимания) у автора пикаются все юниты вокруг героя и для владельца каждого создаётся юнит, зачем так и не понял. Ещё раз повторяю ты когда переделывал мой ИИ ты точку поставил нету! Вот и тебе не понятно кто откуда пикается..
Set NkGroup = (Units within 1000.00 of AAPointAAUnit[(IntegerA)]) вот твоя ошибка ты пикаешь юнитов вокруг юнита в цикле целая А, а у меня вот так вот было
Set NkGroup = (Units within 1000.00 of AATargetAAUnit[(IntegerA)]) с помощью этого я пикаю юнитов в радиусе 1000 от случайной точки в карте и если там есть враг или союзник то в ту точку приказываю двигаться компу в цикле целая А. Вот и всё. Ясно стало?
Сообщение отредактировал Q1wAse - Вторник, 05 Февраля 2013, 13:34:58 |
|
|
|
Naturekid | Дата: Вторник, 05 Февраля 2013, 14:03:57 | Сообщение # 38 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| хорошо, не психуй.
|
|
|
|
Q1wAse | Дата: Вторник, 05 Февраля 2013, 14:09:25 | Сообщение # 39 |
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
| Цитата (Naturekid) хорошо, не психуй. Я спокоен)
|
|
|
|
Naturekid | Дата: Вторник, 05 Февраля 2013, 14:22:14 | Сообщение # 40 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Цитата (Q1wAse) переделывал пардон, поправка - не переделывал, просто AACycle заменил на integer A и убрал утечку перепутав название переменной. Разве когда в карте ты поправил название переменной - она перестала лагать?Добавлено (05 Февраля 2013, 14:22:14) --------------------------------------------- просто уничтожение дамиков очевидно от другого зависит, я то 1 триггер скопировал в мапу, естесственно она виснет из-за кучи юнитов.
|
|
|
|
Q1wAse | Дата: Вторник, 05 Февраля 2013, 14:25:20 | Сообщение # 41 |
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
| конечно не будет работать у тебя. Там часть только триггеров. И даммики все удаляются. На них 2 триггера если комп стоит на месте или если дошёл до даммика..... Триггера GO IN и STOP чо то там....
|
|
|
|
Naturekid | Дата: Вторник, 05 Февраля 2013, 14:28:54 | Сообщение # 42 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| ещё одно - ты хостишь мапу где-нибудь? Хотелось бы сыграть и проверить насколько хорош АИ. Буду честным - мне не нравится код, но АИ для меня тоже очень важен. У меня написан значительно более простой(на мой взгляд). Потому хотелось бы чекнуть и сравнить. (Если надо могу замечания написать)Добавлено (05 Февраля 2013, 14:28:54) ---------------------------------------------
Цитата (Q1wAse) Сообщение # 41 Так в основной карте всё по прежнему плохо или как?
|
|
|
|
Q1wAse | Дата: Вторник, 05 Февраля 2013, 14:33:01 | Сообщение # 43 |
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
| Цитата (Naturekid) Так в основной карте всё по прежнему плохо или как? Дело у же в использовании спелов я сам это исправлю. Компы как ткоа видят врага сразу лагают. Потому что куча условий стоит которые выполняются 5 раз умножить на количество ботов в секунду.
|
|
|
|
Naturekid | Дата: Вторник, 05 Февраля 2013, 14:38:23 | Сообщение # 44 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| ну ладно, как знаешь. з.ы. какой же ты своенравный всё-ткиДобавлено (05 Февраля 2013, 14:37:21) ---------------------------------------------
Цитата (Q1wAse) Потому что куча условий стоит которые выполняются 5 раз умножить на количество ботов в секунду. Хуже то, что там пикевриюнит дофига раз используется. Вот как раз про ториггер каста я хотел с тобой поговорить. Не мешало бы написать триггер через двойной цикл и несколько общих условий для разного типа заклинаний, а вообщем виде каст универсальным сделать.Добавлено (05 Февраля 2013, 14:38:23) --------------------------------------------- и ты не сказал поиграть с тобой в эту карту есть возможность илинет?
|
|
|
|
Q1wAse | Дата: Вторник, 05 Февраля 2013, 14:40:25 | Сообщение # 45 |
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
| есть возможность но позже я отпишу в ЛС
|
|
|
|
SirNikolas | Дата: Вторник, 05 Февраля 2013, 16:09:28 | Сообщение # 46 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата (Naturekid) С ним очень много косяков и потому лично я бы посоветовал заносить группу в пременную использовать и удалять. Сложнее конечно чем 1 строчку написать, зато без глюков и утечка точно уберётся. Если ты согласен, что при использовании bj_wantDestoyGroup могут быть косяки, то почему их не будет при удалении через DestroyGroup?
|
|
|
|
Naturekid | Дата: Вторник, 05 Февраля 2013, 16:40:55 | Сообщение # 47 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Цитата (SirNikolas) Если ты согласен, что при использовании bj_wantDestoyGroup могут быть косяки, то почему их не будет при удалении через DestroyGroup? 22-42347-1Добавлено (05 Февраля 2013, 16:40:55) --------------------------------------------- ты тоже в обсуждении был кстати тогда.
|
|
|
|