bee
vjass.optimizer
offline
Опыт:
16,615Активность: |
статья, создаем способность на хеше
Шаг Iсначала создаем триггер, называем его как хотим и конвертируем в Jass. все стираем и вставляем
» код
для того, чтобы узнать рав-код способности, нажми в РО, в разделе способности `Ctrl + D`
Шаг IIДобавляем глобальную переменную типа hashtable с произвольным именем и инитиализируем ее гденибудь ТОЛЬКО 1 РАЗ!
таким кодом:
блин дальше лень писать..
короче надо тебе установить Jass New Gen Pack, почитать статьи про оптимизацию и делать крутые абилки |
13.05.2010, 18:59 | #21
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
BesitzeRuf
offline
Опыт:
560Активность: |
у меня установлен модиффицированный JNGP
BesitzeRuf добавил: и все же, кто-то сказал куча утечек, где они??? |
13.05.2010, 21:49 | #22
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
bee
vjass.optimizer
offline
Опыт:
16,615Активность: |
во-первых: никогда не юзай точки (location), так как они кривые, они нужны в некоторых случаях, для отловли z террайна, но это другое дело. прекрасная замена им - это координаты икс и игрек (x/y)
вот нашел пару статей, почитай, про формулы передвижения по им. сначала это кажется сложным, но потом будешь опытным и будешь покланяться им. так же, с помощью JNGP, при наведении на BJ функцию (красный текст, по дефолту) и нажатии ctrl + лкм, то он показывает ее начинку, и с помощью этого можно спокойно оптимизировать код.
+ для оптимизации кода, полезно установить парсер адика, при добавлении некоторых библиотек, с помощью include, он автоматически избавляется от большинства плохих вещей.
чтоб меньше лагало, используйте меньше вызовов одной и тойже функции, например при применении способности, кастер - GetTriggerUnit(). тебе например нужно посчитать дамаг, который надо будет нанести кому-то нужен уровень абилки. GetUnitAbilityLevel(GetTriggerUnit(),<raw>) но, если у тебя уже вызывалась функция GetTriggerUnit() то будет снова тратиться время на обращение к ней. лучше один раз вызвать ее, занеся ее в локалку вот так: local unit c = GetTriggerUnit() и уже в последующих случаях делать вот так: GetUnitAbilityLevel(c,<raw>)
|
13.05.2010, 23:10 | #23
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
BesitzeRuf
offline
Опыт:
560Активность: |
спасибо, учту)) , я склоняюсь к векторам все таки... для перемещения ) |
13.05.2010, 23:18 | #24
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
bee
vjass.optimizer
offline
Опыт:
16,615Активность: |
BesitzeRuf:
правильно делаешь, это я то нуб, по поляркам все двигаю. будущее в векторах, так держать |
13.05.2010, 23:27 | #25
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|