[Вопрос] Оптимизация триггеров и вопрос про Jass
|
|
beril | Дата: Понедельник, 19 Ноября 2012, 21:09:15 | Сообщение # 1 |
7 уровень
Группа: Проверенные
Сообщений: 282
Награды: 0
Репутация: 139
Блокировки:
| Вот такой вопросик в карте будет очень много триггеров можно ли как то их оптимизировать, и попутный вопрос если я обычный гуи триггер переведу в джасс от этого что изменится, в плане оптимизации ? 2 вопрос столкнулся с такими вот функциями к примеру анимационный тег Code call AddUnitAnimationPropertiesBJ( true, "dav", gg_unit_H000_0001 ) Но в function list нашел этот же AddUnitAnimationProperties без концовки BJ, хотел убрать у себя эту концовку но вар фаталит после этого. Как использовать функции без BJ ? Это как вроде отимизирует ? Ну и третий вопрос. как прикрепить texttag к юниту, что бы он следовал за ним ? Заранее спс ах да еще забыл уже не раз спрашивал об этом но так и не понял у меня jass new gen не работают глобалки (любые наратки с ними или если сам их создаю), что нужно включить что бы можно было их использовать (вроде везде галочки стоят). и как перевести сjass в обычный ?
Сообщение отредактировал beril - Понедельник, 19 Ноября 2012, 21:12:39 |
|
|
|
Dreii | Дата: Понедельник, 19 Ноября 2012, 21:21:28 | Сообщение # 2 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| beril, Code function AddUnitAnimationPropertiesBJ takes boolean add, string animProperties, unit whichUnit returns nothing call AddUnitAnimationProperties(whichUnit, animProperties, add) endfunction
|
|
|
|
Ty3uK | Дата: Понедельник, 19 Ноября 2012, 21:21:44 | Сообщение # 3 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Сколько вопросов. Ну, по порядку: Quote (beril) Вот такой вопросик в карте будет очень много триггеров можно ли как то их оптимизировать Можно - перевести все на JASS. Использование большого количества триггеров может оборвать главный поток и они не будут выполнятся (там с нюансами), если триггеров больше 1000 вроде как. Quote (beril) если я обычный гуи триггер переведу в джасс от этого что изменится, в плане оптимизации ? Нет Code call AddUnitAnimationPropertiesBJ( true, "dav", gg_unit_H000_0001 ) Code call AddUnitAnimationProperties(gg_unit_H000_0001, "dav", true ) Тут ты во всей красе можешь увидеть "мощь" близзардовского ума - новая функция являет собой старую с переставленными местами аргументами. Quote (beril) Ну и третий вопрос. как прикрепить texttag к юниту, что бы он следовал за ним ? Переодический таймером двигать тексттаг в позицию юнита. Quote (beril) ах да еще забыл уже не раз спрашивал об этом но так и не понял у меня jass new gen не работают глобалки (любые наратки с ними или если сам их создаю), что нужно включить что бы можно было их использовать (вроде везде галочки стоят) Немного не понял вопроса. Блок ? Quote (beril) и как перевести сjass в обычный ? никак, только если ты не знаешь cJASS и не сможешь собсвенноручно переписать код.
Сообщение отредактировал Ty3uK - Понедельник, 19 Ноября 2012, 21:26:40 |
|
|
|
Dreii | Дата: Понедельник, 19 Ноября 2012, 21:23:26 | Сообщение # 4 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Quote (beril) перевести сjass в обычный ? При компиляции адик переводит с в обычный
Добавлено (19 Ноября 2012, 21:23:26) --------------------------------------------- Quote (Ty3uK) call AddUnitAnimationPropertiesBJ(gg_unit_H000_0001, "dav", true Quote (Ty3uK) call AddUnitAnimationPropertiesBJ( true, "dav", gg_unit_H000_0001 Убери БЖ
Сообщение отредактировал Dreii - Понедельник, 19 Ноября 2012, 21:23:44 |
|
|
|
Ty3uK | Дата: Понедельник, 19 Ноября 2012, 21:27:01 | Сообщение # 5 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Dreii, спасибо, бездумный копипаст - зло
|
|
|
|
beril | Дата: Понедельник, 19 Ноября 2012, 21:50:34 | Сообщение # 6 |
7 уровень
Группа: Проверенные
Сообщений: 282
Награды: 0
Репутация: 139
Блокировки:
| Quote (Ty3uK) Немного не понял вопроса. Блок Code globals...endglobals ? да именно это не работает
|
|
|
|
Ty3uK | Дата: Понедельник, 19 Ноября 2012, 21:51:37 | Сообщение # 7 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| beril, JassHelper->Enable JassHelper
|
|
|
|
beril | Дата: Понедельник, 19 Ноября 2012, 21:54:42 | Сообщение # 8 |
7 уровень
Группа: Проверенные
Сообщений: 282
Награды: 0
Репутация: 139
Блокировки:
| У меня стоит там галочка ) и на след. 3 столбиках
|
|
|
|
Ty3uK | Дата: Понедельник, 19 Ноября 2012, 21:58:32 | Сообщение # 9 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| хм. скрин ошибки тогда дай
|
|
|
|
beril | Дата: Понедельник, 19 Ноября 2012, 22:01:44 | Сообщение # 10 |
7 уровень
Группа: Проверенные
Сообщений: 282
Награды: 0
Репутация: 139
Блокировки:
| Ошибок нет просто в главное меню вара выкидывает при тесте карты ))
Добавлено (19 Ноября 2012, 22:01:44) --------------------------------------------- может из за патча вара быть такое (1.20) ?
|
|
|
|
Ty3uK | Дата: Понедельник, 19 Ноября 2012, 22:02:25 | Сообщение # 11 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| beril, карту надо сохранять, а не нажимать Ctrl + F9 Добавлено (19 Ноября 2012, 22:02:25) --------------------------------------------- beril, у тебя патч 1.20? D:
Сообщение отредактировал Ty3uK - Понедельник, 19 Ноября 2012, 22:01:59 |
|
|
|
beril | Дата: Понедельник, 19 Ноября 2012, 22:03:59 | Сообщение # 12 |
7 уровень
Группа: Проверенные
Сообщений: 282
Награды: 0
Репутация: 139
Блокировки:
| Так не токо мои карты где я пытался глобалки создать, а и наработки с глобалками не работаю (система респа, туманаи т...д) которые качал с сайта . Лан всем спс за внимание тему можно закрыть, буду без глобалок ))) Да 1.20 у меня
Сообщение отредактировал beril - Понедельник, 19 Ноября 2012, 22:04:33 |
|
|
|
SirNikolas | Дата: Вторник, 20 Ноября 2012, 12:46:03 | Сообщение # 13 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (beril) Лан всем спс за внимание тему можно закрыть, буду без глобалок ))) Нет, ну почему люди создают здесь темы и при этом не хотят, чтобы им помогали?
|
|
|
|
Naturekid | Дата: Вторник, 20 Ноября 2012, 14:58:13 | Сообщение # 14 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| дык патч надо же другой поставить, разве на 1.20 ЖГНП норм пашет?
|
|
|
|
Dreii | Дата: Вторник, 20 Ноября 2012, 15:31:28 | Сообщение # 15 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| в 1,20 был рб вместо хеша. вот и ошибки
|
|
|
|
Ty3uK | Дата: Вторник, 20 Ноября 2012, 16:21:41 | Сообщение # 16 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| скорее всего там структуры
|
|
|
|
beril | Дата: Среда, 21 Ноября 2012, 12:31:02 | Сообщение # 17 |
7 уровень
Группа: Проверенные
Сообщений: 282
Награды: 0
Репутация: 139
Блокировки:
| Так скачал новый патч (1.26), наработки скачанные с глобалками работают. Но глобалки которые сам создаю всеравно работают, может я чето не так делаю?? вот пример простенький Code globals unit r endglobals
function Trig_test_Actions takes nothing returns nothing TriggerSleepAction(1) call SetUnitAnimation( r, "stand" ) endfunction
//=========================================================================== function InitTrig_test takes nothing returns nothing set gg_trg_test = CreateTrigger( ) call TriggerAddAction( gg_trg_test, function Trig_test_Actions ) endfunction 2) Какой патч лучше поставить для jassnewgen ? Поставил 1.26 редактор вообще стал невминяемый 3)Есть где то полное руководство на русском по нем Quote (SirNikolas) Нет, ну почему люди создают здесь темы и при этом не хотят, чтобы им помогали? Скажем это была не главная проблем, то что хотел я в основном понял (спс тем кто поясниили)[
Сообщение отредактировал beril - Среда, 21 Ноября 2012, 12:32:26 |
|
|
|
Ty3uK | Дата: Среда, 21 Ноября 2012, 12:35:30 | Сообщение # 18 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| 1) юнит без значения, что ты от него хочешь? 2) 1.26а - нормальный редактор 3) нигде
|
|
|
|
beril | Дата: Среда, 21 Ноября 2012, 12:44:25 | Сообщение # 19 |
7 уровень
Группа: Проверенные
Сообщений: 282
Награды: 0
Репутация: 139
Блокировки:
| Ах да еще столкнулся с проблемкой Не знаю получится ли описать ее )) В общем при определенном условии вызываем функцию В которой юнит должен двигаться в определенную область. Как в этой же функции сделать после того как он войдет в эту обламть вызвать другую функцию я вот сделал так вот через цикл, но он не работает Code //бла бла тут юнит идет в область (в общем это не важно) TriggerSleepAction() // вот здесь я делал через цикл loop exitwhen RectContainsUnit((Нужная область),(наш юнит)) == true endloop Call (вызываем другую функцию) Но не работает я читал вроде как циклы в джасс не повторяются определенное кол-во раз а до тех пор пока не будет выполнено определенное условиеДобавлено (21 Ноября 2012, 12:44:25) ---------------------------------------------
Quote (Ty3uK) 1) юнит без значения, что ты от него хочешь?
Code globals unit r endglobals
function Trig_test_Actions takes nothing returns nothing set r = udg_Hero TriggerSleepAction(1) call SetUnitAnimation( r, "stand" ) endfunction
//=========================================================================== function InitTrig_test takes nothing returns nothing set gg_trg_test = CreateTrigger( ) call TriggerAddAction( gg_trg_test, function Trig_test_Actions ) endfunction теперь правильно ?
|
|
|
|
Ty3uK | Дата: Среда, 21 Ноября 2012, 12:47:18 | Сообщение # 20 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| событие лови или периодическим таймером проверяй, такой цикл очень затратен в плане ресурсов. это не в WinAPI сообщения обрабатыватьДобавлено (21 Ноября 2012, 12:47:18) --------------------------------------------- какой смысл в глобалке, которая принимает значение глобалки?
|
|
|
|
beril | Дата: Среда, 21 Ноября 2012, 12:54:21 | Сообщение # 21 |
7 уровень
Группа: Проверенные
Сообщений: 282
Награды: 0
Репутация: 139
Блокировки:
| Quote (Ty3uK) какой смысл в глобалке, которая принимает значение глобалки? Я для примера ) не работает даже так я правильно вообще создал глобальные ? или их в cs карты надо создаватть ?Добавлено (21 Ноября 2012, 12:54:21) ---------------------------------------------
Quote (Ty3uK) событие лови или периодическим таймером проверяй, такой цикл очень затратен в плане ресурсов Затрата не столь важна, просто он не срабатует, юнит входит в нужную область и все (( следующая функция не вызывается
|
|
|
|
Ty3uK | Дата: Среда, 21 Ноября 2012, 13:09:55 | Сообщение # 22 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| цикл сбрасывается скорее всего
|
|
|
|
beril | Дата: Среда, 21 Ноября 2012, 13:11:09 | Сообщение # 23 |
7 уровень
Группа: Проверенные
Сообщений: 282
Награды: 0
Репутация: 139
Блокировки:
| Quote (beril) я правильно вообще создал глобальные ? или их в cs карты надо создаватть ?
|
|
|
|
Ty3uK | Дата: Среда, 21 Ноября 2012, 13:14:17 | Сообщение # 24 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| синтаксически - да. но начальное значение юниту можно задать при объявлении. ну или перед вызовом
|
|
|
|
[SeKtOR] | Дата: Среда, 21 Ноября 2012, 16:55:01 | Сообщение # 25 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Quote (beril) Но не работает я читал вроде как циклы в джасс не повторяются определенное кол-во раз а до тех пор пока не будет выполнено определенное условие Цикл отключится автоматом если будет достигнут лимит(хз как это называется), не смотря на условие. В этом случае лучше использовать периодический таймер
Сообщение отредактировал [SeKtOR] - Среда, 21 Ноября 2012, 16:55:50 |
|
|
|