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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » CS - Custom Script (CS и утечки)
CS - Custom Script
Q1wAseДата: Понедельник, 04 Февраля 2013, 19:11:40 | Сообщение # 1
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Код
.....
         allPointCaster = позиция CasterUnit
         allPointGetUnit = позиция GetUnit
         call IssueTargetOrderBJ(Caster, '<IDspell>' , allPointGetUnit)         
         call RemoveLocation(udg_allPointCaster)
         call RemoveLocation(udg_allPointGetUnit)
   ....


Вопрос - Правильно ли я делаю или будут утечки?? Если будут утечки то скажите какие и как от них избавиться?




Сообщение отредактировал Q1wAse - Понедельник, 04 Февраля 2013, 19:21:49
 

NaturekidДата: Понедельник, 04 Февраля 2013, 19:14:52 | Сообщение # 2
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
да вроде правильно

 

Q1wAseДата: Понедельник, 04 Февраля 2013, 19:15:59 | Сообщение # 3
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Уже не плохо)
А это 100% правильно или только вероятно правильно?


 

NaturekidДата: Понедельник, 04 Февраля 2013, 19:22:16 | Сообщение # 4
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
дада) правильно

Добавлено (04 Февраля 2013, 19:16:48)
---------------------------------------------
стоп

Добавлено (04 Февраля 2013, 19:17:10)
---------------------------------------------
нахер тебе позиция второго юнита? она же не используется

Добавлено (04 Февраля 2013, 19:17:52)
---------------------------------------------
точнее так

Добавлено (04 Февраля 2013, 19:18:58)
---------------------------------------------
ты берешь позицию кастера
ты берешь позицию гетюнита
приказыаешь гетюниту диспелл кинуть на свою позицию
ну и утечки удаляешь.
 1 точка тут не используется - позиция кастера

Добавлено (04 Февраля 2013, 19:22:16)
---------------------------------------------
и да
http://warcraft3ft.info/forum/29-43001-1
там есть наработка Leak со всеми видами утечек и как их удалять.
Если надо.


 

Q1wAseДата: Понедельник, 04 Февраля 2013, 19:22:45 | Сообщение # 5
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Не не я приказываю кастеру юзать спелл(точка) в гетюнита. Ты не правильно понял.
Перепроверь ещё раз код. Он правильный?


 

NaturekidДата: Понедельник, 04 Февраля 2013, 19:24:48 | Сообщение # 6
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
ой извини, ты прав, кастер.).
Да правильно.

Добавлено (04 Февраля 2013, 19:24:48)
---------------------------------------------
но позиция кастера тем не менее не используется тут => и не нужна


 

Q1wAseДата: Понедельник, 04 Февраля 2013, 19:28:32 | Сообщение # 7
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Цитата (Naturekid)
но позиция кастера тем не менее не используется тут => и не нужна
Почему же не нужна? Когда мы обращаемся к юниту мы обращаемся к его точке => используем его точку => нужно удалять её, не так ли?
Дядя Extreamator подсказывает всегда правильно)


 

NaturekidДата: Понедельник, 04 Февраля 2013, 19:32:09 | Сообщение # 8
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Цитата (Q1wAse)
Когда мы обращаемся к юниту мы обращаемся к его точке => используем его точку => нужно удалять её, не так ли?
да нет же

Добавлено (04 Февраля 2013, 19:30:37)
---------------------------------------------
Рассуждая так можно сказать - раз мы обращаемся к юниту игрока, то мы обращаемся к игроку, а значит и к его группе, а группа игроков утекает, утечку группы игроков тогда удалять тоже надо. ):

Добавлено (04 Февраля 2013, 19:32:09)
---------------------------------------------
Понимаешь, если бы мы обращались к самой точке(занесённой в переменную) - тогда да, надо было бы. Ну а какой смысл сторить и удалять неиспользуемую точку?


 

Q1wAseДата: Понедельник, 04 Февраля 2013, 19:33:29 | Сообщение # 9
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Цитата (Naturekid)
раз мы обращаемся к юниту игрока, то мы обращаемся к игроку, а значит и к его группе, а группа игроков утекает, утечку группы игроков тогда удалять тоже надо. ):
раз так есть значит надо)
Да нет шучу. Но я всегда удалял кастера если использовал его, например приказать двигаться в точку или спелл сделать в точку.


 

NaturekidДата: Понедельник, 04 Февраля 2013, 19:37:47 | Сообщение # 10
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
если дал приказ дамику сделать например инфернала.
То там будет утекать целевая точка заклинания (target point of ability being cast)
её надо занести в переменную, использовать переменную и удалить.
А позиция самого дамика тут не при чем.
Позиция Кастера мб испоользована для создания дамми в точке-позиции кастера.
Тогда да, надо убрать утечку этой используемой точки.


 

Q1wAseДата: Понедельник, 04 Февраля 2013, 19:38:04 | Сообщение # 11
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Да я кароче делаю ИИ, но не на джасс и выясняю где у меня утечки. Но утечки удаляю кодом. Когда играешь в мою карту с моим ИИ всё отлично первые минут 5-10. А потом у всех гроков у каво слабые компы начинаются лаги из-за утечек, у меня комп не слабый я их почти не замечаю. Вот хочу узнать как оптимизировать свой ИИ. Мой ИИ мне очень нравится, я над ним трудился недели 2) Потом Переделывал пока он не стал работоспособным. И нужно как-нибудь удалить утечки. А я даже не знаю, что у меня за утечки. Точки я удаляю группу юнитов выбранную удаляю. Что ещё надо?

 

NaturekidДата: Понедельник, 04 Февраля 2013, 19:40:28 | Сообщение # 12
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Цитата (Q1wAse)
Q1wAse
я тебе ссылку дал на пак наработок. 
Лень качать? 
На отдельно эту карту - посмотри, там и поянснения есть и все виды утечек:
http://rghost.ru/43546065


 

ВолчачкаДата: Понедельник, 04 Февраля 2013, 19:40:30 | Сообщение # 13
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
можно сделать с использованием без позиций  так
GetUnitX() ->real
GetUnitY() ->real
GetSpellTargetX() ->real
GetSpellTargetY() ->real
SetUnitPosition(unit u,real x,real y)
 

Q1wAseДата: Понедельник, 04 Февраля 2013, 19:46:00 | Сообщение # 14
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Цитата (Naturekid)
я тебе ссылку дал на пак наработок.  Лень качать?
  Я давно скачал уже у меня есть она все что там есть я знаю)

Цитата (Волчачка)
можно сделать с использованием без позиций  так GetUnitX() ->real
GetUnitY() ->real
GetSpellTargetX() ->real
GetSpellTargetY() ->real
SetUnitPosition(unit u,real x,real y)
А это как то будет лучше, чем мой вариант? Я знаю что так точнее будет, но разве узнав иксы и игреки можно будет оптимизировать карту и тем самым уничтожить утечки?


 

NaturekidДата: Понедельник, 04 Февраля 2013, 19:47:42 | Сообщение # 15
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
http://rghost.ru/43546252

Добавлено (04 Февраля 2013, 19:47:42)
---------------------------------------------
^Вот, проверил ту наработку там не было про утечки области, добавил, перекачай.. Области тоже утекают.


 

Q1wAseДата: Понедельник, 04 Февраля 2013, 19:51:00 | Сообщение # 16
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Naturekid О слушай а если я ставлю условие  Выбранный юнит принадлежит врагу ЮнитКастер равно да
Здесь есть утечка??


 

NaturekidДата: Понедельник, 04 Февраля 2013, 19:51:31 | Сообщение # 17
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Цитата (Q1wAse)
А это как то будет лучше, чем мой вариант? Я знаю что так точнее будет, но разве узнав иксы и игреки можно будет оптимизировать карту и тем самым уничтожить утечки?
это тоже самое. но без обращения к точке как к "физическому" объекту в памяти.
Это не уничтожит утечки, это предотвратит их появление.

Добавлено (04 Февраля 2013, 19:51:31)
---------------------------------------------

Цитата (Q1wAse)
Naturekid О слушай а если я ставлю условие  Выбранный юнит принадлежит врагу ЮнитКастер равно да Здесь есть утечка??
нет


 

Q1wAseДата: Понедельник, 04 Февраля 2013, 19:53:05 | Сообщение # 18
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
call DestroyTrigger( GetTriggeringTrigger() )
Для чего это нужно?? Можно ли это заменить на Выключить триггер?


 

NaturekidДата: Понедельник, 04 Февраля 2013, 19:56:12 | Сообщение # 19
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Вот тебе наработка с движением через x y если надо.
http://rghost.ru/43546448

Добавлено (04 Февраля 2013, 19:56:12)
---------------------------------------------

Цитата (Q1wAse)
call DestroyTrigger( GetTriggeringTrigger() )
На мой взгляд лишнее)))))))
Но если очень хочешь удалять неиспользуемые больше триггеры - подожди, Николас может  посоветует, он знает как правильно их дестроить.


 

Q1wAseДата: Понедельник, 04 Февраля 2013, 19:56:56 | Сообщение # 20
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Цитата (Naturekid)
Но если очень хочешь удалять неиспользуемые больше триггеры - подожди, Николас может  посоветует, он знает как правильно их дестроить.
Хорошо подожду)


 

NaturekidДата: Понедельник, 04 Февраля 2013, 20:02:14 | Сообщение # 21
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Если хочешь - можешь кинуть АИ в лс - исправлю утечки и отправлю :)

 

ExtrematorДата: Понедельник, 04 Февраля 2013, 20:07:53 | Сообщение # 22
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Цитата (Q1wAse)
Дядя Extreamator подсказывает всегда правильно)
эмм...

Глянул 1й пост, онли.

кароч так... если ты используешь некую точку на карте, то что бы не создать "дырку" которой одновременно и нет и есть, нужно создать точку (сет точка =нужное место), поработать с ней, и удалить... всё...

Ты тут создаёшь точку под двумя юнитам...
а потом даёшь приказ одному юниту кастовать скилл под ноги другово...
итого - юзаем юнитов и одну точку под юнитом...
тогда зачем создавать две точки?

Если бы этот кастер был бы даммиком, которого ты где то создаёшь, то тогда да, мы бы создали точку для даммика, поставили бы его туда (создали бы его там), потом дали бы каста во вторую точку... а так - не нужно две точки тут...
 

NaturekidДата: Понедельник, 04 Февраля 2013, 20:11:13 | Сообщение # 23
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
ну вот)

 

Q1wAseДата: Понедельник, 04 Февраля 2013, 20:16:51 | Сообщение # 24
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Ладно всё понял по поводу этой истории с дамиком и кастером. А вот с утечками которые в карте нефига)



Сообщение отредактировал Q1wAse - Понедельник, 04 Февраля 2013, 21:03:31
 

ExtrematorДата: Понедельник, 04 Февраля 2013, 20:19:29 | Сообщение # 25
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Цитата (Q1wAse)
Ладно всё понял по поводу этой истории с дамиком и кастером. А вот с утечками котоыре в карте нефига)
по хорошему тут надо было делать всё как можно лучше...
теперь же - только перебирать массу триггеров и смотреть все моменты...

если перебором будет занят кто то другой (не ты сам), то ещё нужно будет впитывать некоторое время суть того что делают триггеры, что бы представлять общую картину... тогда возможно можно будет что-то сократить / переделать на лучший лад.


Сообщение отредактировал Extremator - Понедельник, 04 Февраля 2013, 20:24:07
 

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

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