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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » CS - Custom Script (CS и утечки)
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
Так в основной карте всё по прежнему плохо или как? hmm


 

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)
---------------------------------------------
ты тоже в обсуждении был кстати тогда.


 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » CS - Custom Script (CS и утечки)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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