Сейчас 11:39:04 Воскресенье, 4 декабря, 2022 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 5
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Система] Anti-Leak Library (Автоматическое удаление утечек в GUI)
[Система] Anti-Leak Library
SirNikolasДата: Четверг, 27 Января 2011, 19:11:07 | Сообщение # 1
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Данная библиотека предназначена для тех, кто не хочет или не может изучать JASS, но имеет проблемы с утечками. Для использования необходимо:
1. Установить JASS NewGen Pack.
2. Скачать, собственно, саму библиотеку и закинуть ее в папку ...\jassnewgenpack5d\AdicHelper\lib\
3. В своей карте написать в нестандартном коде: include "ALL.j"[spoiler="Нестандартный код здесь"][/spoiler]4. Забыть об утечках.

Результат - такое действие, как, например, "Боевая единица - Move (Triggering unit) to ((Position of (Target unit of ability being cast)) offset by 200.00 towards (Angle from (Position of (Triggering unit)) to (Position of (Target unit of ability being cast))) degrees)" не будет оставлять утечных точек.

Если же Вам нужно, к примеру, занести точку или эффект в переменную для дальнейшей работы с ними, перед этим действием нужно прописать Личным сценарием (Custom script): ALL_Remove = false, а после него - ALL_Remove = true.

Однако повторюсь, лучше использовать JASS, ведь вручную можно сделать все гораздо лучше.
Прикрепления: ALL.j(13.2 Kb)


 

rixt7956Дата: Пятница, 28 Января 2011, 15:06:08 | Сообщение # 2
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
ты гений, я тоже хотел так сделать, но потом передумал. Думаю все новички будут рады.

Добавлено (28-01-2011, 15:06)
---------------------------------------------

Quote (SirNikolas)
0.00 towards (Angle from (Position of (Triggering unit)) to (Position of (Target unit of ability being cast))) degrees)" не будет оставлять утечных точек. Если же Вам нужно, к примеру, занести точку в переменную для дальнейшей работы с ней, перед этим действием нужно прописать Личным сценарием (Custom script): ALL_Remove = false.
А нужно ли после установки переменной прописывать
Code
ALL_Remove=true
?


Сообщение отредактировал rixt7956 - Пятница, 28 Января 2011, 15:06:30
 

SirNikolasДата: Пятница, 28 Января 2011, 18:21:58 | Сообщение # 3
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (SirNikolas)
Code
public function RemoveLocation takes location l returns location
     local timer t
     if ALL_Remove then
         set t = CreateTimer()
         call SaveLocationHandle(Hash, GetHandleId(t), 0, l)
         call TimerStart(t, .0, false, function RemoveLocationTimer)
         set t = null
     else
         set ALL_Remove = true
     endif
     return l
endfunction
if ALL_Remove == false then set ALL_Remove = true.


 

rixt7956Дата: Пятница, 28 Января 2011, 18:32:42 | Сообщение # 4
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
SirNikolas, Ясно, я просто не смотрел код.
 

QuasarДата: Суббота, 29 Января 2011, 00:13:59 | Сообщение # 5
7 уровень
Группа: Проверенные
Сообщений: 334
Награды: 0
Репутация: 41
Блокировки:
лучше в тригах сразу убивать утечки ))))))

Спелмейкер ищет работу)
 

SirNikolasДата: Суббота, 29 Января 2011, 16:29:48 | Сообщение # 6
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Согласен, но не все умеют это делать.

 

rixt7956Дата: Суббота, 29 Января 2011, 21:18:59 | Сообщение # 7
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
а помоему так будет лучше, так как не надо создовать кучу глобалок, но я бы использовал такое только в карте, в которой есть только гуи.
 

FaionДата: Воскресенье, 30 Января 2011, 16:52:16 | Сообщение # 8
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Quote (rixt7956)
а помоему так будет лучше, так как не надо создовать кучу глобалок, но я бы использовал такое только в карте, в которой есть только гуи.

:facepalm: мб просветишь, о великий, причем тут глобалки? Утечки переменные которые не очищают, или перезаписывают предварительно не очистив их, а там уже строго пофиг глобалка или локалка.

В целом библиотека бесполезна по 2-м причинам, нубы как правило юзают стандартный ВЕ, данная либа в нем работать не будет, я уж не говорю о том что они не вкурсе о такой вещи как кастом код... А для норм жассюзеров это тоже не нужно, они и сами спокойно оптимизят код.


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

SirNikolasДата: Воскресенье, 30 Января 2011, 19:10:03 | Сообщение # 9
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Faion)
нубы, как правило, юзают стандартный ВЕ, данная либа в нем работать не будет
Я подробно расписал, что и откуда нужно скачать.
Quote (Faion)
они не в курсе о такой вещи, как кастом код...
Дельное замечание.
Quote (Faion)
А для норм жассюзеров это тоже не нужно, они и сами спокойно оптимизят код.
Quote (SirNikolas)
Согласен


 

DragoNДата: Воскресенье, 30 Января 2011, 19:55:32 | Сообщение # 10
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
почему сразу в кастом код?
по сути можно куда угодно
я думал на дефайнах будет XD


El Psy Congroo
 

rixt7956Дата: Воскресенье, 30 Января 2011, 22:26:44 | Сообщение # 11
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
Faion, а как ты по другому удалишь к примеру спецэфект на гуи, не занося его заранее в глобальную переменную, так как локальные на гуи недостопы. И поэтому может получиться куча глобалок. Одна для спецэфекта, другая для точки, и так куча получиться.
 

SirNikolasДата: Среда, 02 Марта 2011, 18:52:10 | Сообщение # 12
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
DragoN, я тоже думал, что будет работать, но при попытке присобачить через custom script в тестовый триггер выдавало ошибку.

Добавлено (31-01-2011, 12:49)
---------------------------------------------
А, ну да, там же еще библиотека, а ее в другую функцию не запихнешь.

Добавлено (31-01-2011, 12:57)
---------------------------------------------

Quote (rixt7956)
а по-моему, так будет лучше, так как не надо создовать кучу глобалок
Нет, не лучше. Для устранения каждой утечки вызывается по меньшей мере одна функция, создается таймер и юзается хэш.
Quote (rixt7956)
И поэтому может получиться куча глобалок. Одна для спецэфекта, другая для точки, и так куча получится.
А на что тебе тогда (Last created ...)? Да, с точкой такое не пройдет, зато со всем остальным - запросто. Правда, если еще вспомнить, что все эти last created - это BJ, то можно прийти к выводу, что
Quote (SirNikolas)
лучше использовать JASS, ведь вручную можно сделать все гораздо лучше.

Добавлено (02-03-2011, 18:52)
---------------------------------------------
Доступна новая версия. Теперь она убирает еще и утечки кланов (force).

Quote (rixt7956)
А нужно ли после установки переменной прописывать ALL_Remove=true?
Да, теперь это делать нужно, а еще надо написать это в триггере инициализации.
Данное изменение было сделано, чтобы библиотека не удаляла области, созданные в Редакторе Рельефа :)
http://rghost.ru/4600209
http://zalil.ru/30601810
http://depositfiles.com/files/oov5pmhf0




Сообщение отредактировал SirNikolas - Среда, 02 Февраля 2011, 13:16:49
 

lawsonДата: Среда, 02 Марта 2011, 19:30:34 | Сообщение # 13
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Постарался хорошо, посмотрим как много пользователей будет использовать твою систему.

Добавлено (02-03-2011, 19:30)
---------------------------------------------
Я б например не пихал бы в свою карту то что не прошло хорошо тестирования и не было оценено большинством.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Среда, 02 Марта 2011, 19:30:54
 

GraF251996Дата: Пятница, 18 Марта 2011, 13:41:50 | Сообщение # 14
8 уровень
Группа: Проверенные
Сообщений: 756
Награды: 1
Репутация: 321
Блокировки:
SirNikolas, Пожалуйста по-подробнее об установке)

Добавлено (18-03-2011, 13:40)
---------------------------------------------

Quote (SirNikolas)
В своей карте написать в нестандартном коде: include "ALL.j"

Кастом скрипт?

Добавлено (18-03-2011, 13:41)
---------------------------------------------
Все,прошу прощения,теперь буду внимательнее читать темы)


12Gb RAM 1333@1600 | AMD Phenom II x4 B50 3.1Ghz@3.70Ghz | Asus Xonar D1 | Asus GTX560Ti 1Gb GDDR5 820Mhz@965Mhz | Asus VW225N
 

DreiiДата: Пятница, 18 Марта 2011, 13:42:14 | Сообщение # 15
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
GraF251996, это в редакторе триггеров.
Такой свиток сверху


 

SirNikolasДата: Понедельник, 16 Мая 2011, 18:27:39 | Сообщение # 16
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Обновлено, см. первый пост.
Устранен баг, из-за которого библиотека иногда попросту не работала. Также немного оптимизирован алгоритм благодаря избавлению от хэша.


 

[DUОS]Дата: Вторник, 31 Мая 2011, 19:13:53 | Сообщение # 17
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Quote (SirNikolas)
лучше использовать JASS, ведь вручную можно сделать все гораздо лучше.

Плюсую. Вручную и качественнее.


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

FatalBladeДата: Пятница, 10 Июня 2011, 19:45:38 | Сообщение # 18
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
cJass обязателеьно?

Добавлено (10-06-2011, 19:45)
---------------------------------------------
Открываю NewGen WE, он выдаёт ошибку Couldn't load plugin.... но всё равно в итоге запускается. Это нормально?




Сообщение отредактировал FatalBlade - Пятница, 10 Июня 2011, 19:37:23
 

SirNikolasДата: Пятница, 10 Июня 2011, 20:09:10 | Сообщение # 19
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (FatalBlade)
cJass обязательно?
Да.
Quote (FatalBlade)
Открываю NewGen WE, он выдаёт ошибку Couldn't load plugin.... но всё равно в итоге запускается. Это нормально?
У меня такой ошибки не было. Запускается карта или что?


 

FatalBladeДата: Суббота, 11 Июня 2011, 14:30:38 | Сообщение # 20
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (SirNikolas)
У меня такой ошибки не было. Запускается карта или что?


Карта то запускается. Вот только то что я написал в Custom Code он воcпринимает как ошибку. Пишет - " is not a valid integer value. Якобы ошибка компиляции (Compile Error).

Потом я попробовал просто скопировать весь код и вставить в Custom Code. То же самое.

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


 

SirNikolasДата: Суббота, 11 Июня 2011, 14:38:10 | Сообщение # 21
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (FatalBlade)
Если у меня удаляются утечки в каждом триггере плюс стоит наработка, то мне нужно стереть все удаления утечек?
Нет, со стандартным удалением, по идее, это конфликтовать не должно. По крайней мере, у меня такого не было. Могут быть ошибки, если в триггерах ты используешь wait. Тогда нужно делать так:

Custom script: ALL_Remove = false
Set SpellPoint = (Position of (Triggering unit))
Custom script: ALL_Remove = true
Quote (FatalBlade)
" is not a valid integer value"
cJASS точно есть?


 

FatalBladeДата: Суббота, 11 Июня 2011, 14:46:36 | Сообщение # 22
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (SirNikolas)
cJASS точно есть?


По ссылке которую ты выложил AdicHelper не скачивается, но в JASS NewGen Pack как там написано уже встроен cJass. И в проге у меня есть вкладка cJass


 

SirNikolasДата: Суббота, 11 Июня 2011, 14:51:51 | Сообщение # 23
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Выложи скрин. Или перепиши строки, которые он считает ошибочными.

Добавлено (11-06-2011, 14:51)
---------------------------------------------

Quote (FatalBlade)
Потом я попробовал просто скопировать весь код и вставить в Custom Code. То же самое.
Если вставлять, то без первой строчки (guard Anti_Leaks_Library).


 

FatalBladeДата: Суббота, 11 Июня 2011, 15:16:19 | Сообщение # 24
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (SirNikolas)
Выложи скрин. Или перепиши строки, которые он считает ошибочными.


он все строки считает ошибочными

Quote (SirNikolas)
Если вставлять, то без первой строчки (guard Anti_Leaks_Library).


ок ща попробую

Добавлено (11-06-2011, 15:16)
---------------------------------------------
17951 compile errors


 

SirNikolasДата: Суббота, 11 Июня 2011, 15:51:08 | Сообщение # 25
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (FatalBlade)
17951 compile errors
Чего? JassHelper может максимум выдавать 100 ошибок. Кстати, проверь, включен ли он и включен ли синтаксис vJASS.

Добавлено (11-06-2011, 15:51)
---------------------------------------------
FatalBlade, все ясно. Соседняя тема показала, что у тебя отключен AdicHelper.


 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Система] Anti-Leak Library (Автоматическое удаление утечек в GUI)
  • Страница 1 из 5
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:

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