malcoriel
offline
Опыт:
695Активность: |
Ability comparision
Сравнение абилок - почему-то очень трудоемкая для компа вещь. Начиная этак с 10-ти сравнений тормоза вара уже ощутимы. Подскажите, чем это можно заменить? |
15.07.2006, 21:21 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
Первый раз слышу про это, код в студию |
16.07.2006, 08:11 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
malcoriel
offline
Опыт:
695Активность: |
Хм ну вот смотри
-Юнит начинает применять способность
if abilty being cast равно <ability1>
то - <действие1> иначе - if abilty being cast равно <ability2> то - <действие2> иначе - if abilty being cast равно <ability3> то - <действие3> И так далее. У меня была идея сравнивать не сами абилки, а их названия String comparison`ом. Вот не знаю, проканает или нет, надо попробовать
Сорри за корявое написание, я тут на форуме еще не совсем разобрался со смещением текста.Короче - оно сравнивает ability being cast с эталонами, пока не найдет совпадение и выполняет действиеЮ ему соответствующее |
16.07.2006, 08:45 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
Делай для каждой абилки отдельный тригер |
16.07.2006, 08:57 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
malcoriel
offline
Опыт:
695Активность: |
Хм ладно попробую |
16.07.2006, 14:50 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
dk
offline
Опыт:
61,843Активность: |
Или переведи на Jass и сделай нормальные условия, а не ссылки на функции. Во всяком случае торможение уменьшится! |
16.07.2006, 15:25 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
Условия не вызывают тормозов так как не передают чего либо |
16.07.2006, 15:59 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
B100D E1F
Scarecrow
offline
Опыт:
4,869Активность: |
Тут по-любому лучше все раскласть по разным тригам. У меня в карте около 15 триггерных абилок, и ниче не тормозит! |
16.07.2006, 18:33 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
Цитата:
На самом деле джасс интерпретируемый язык и тормоза там вызывает все... exploder добавил: Цитата:
Может тормоза действительно из-за множественного вызова функции в кондишене... Все эти кондишены проверяются в момент любого каста, что действительно может лагать. Попоробуй сделать так: тригер по событию каста, без условий, потом в действиях некой глобальной переменной присваивается Ability Being Cast, а дальше стоят условные блоки сравнивающие значение глобалки и значения. Внутри условных блоков действия. То бишь: Event: Unit Begin Cast Condition: --- Actions: Set TmpAbility = Ability Being Cast if TmpAbilty == <abil1> then blah blah endif ... и т.д. |
||
16.07.2006, 19:28 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
GadenbIsh
Просто Гад
offline
Опыт:
70,430Активность: |
если так сделать, то он тоже, при каждом касте, каждый раз будет сравнивать абилы, только не в условии
все триггерные абилы в 1 триггере = маразм - вот такое условие добавь=) |
16.07.2006, 20:21 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
malcoriel
offline
Опыт:
695Активность: |
Цитата:
Классная идея! Спасибо. Ща проверю |
|
16.07.2006, 21:30 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
GadenbIsh
Просто Гад
offline
Опыт:
70,430Активность: |
ниче классного не вижу.... кто тебе на дает сделать по триггеру на абилу? |
16.07.2006, 21:35 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
Цитата:
В этом случает функция возвращающая текущую кастованную абилу вызывается один раз... exploder добавил: Мне кажется что лагают не сами условия в именно вызов функций... |
|
16.07.2006, 21:48 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
GadenbIsh
Просто Гад
offline
Опыт:
70,430Активность: |
а... в этом смысле... ну хз |
16.07.2006, 21:50 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
senatus
тихий и скромный...
offline
Опыт:
7,023Активность: |
Вот у меня вопрос как-раз с переводом трига в джасс. Хотел условия написать без функций - не получилось( пишет, что неправильное условие... пытался написать вместо нескольких функций свою (с параметрами) - при ее вызове, пишет "не хватает символа ' ". |
17.07.2006, 14:11 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,747Активность: |
Цитата:
вот маленький примерчик » при переводе в жаз Код:
» можно упрастить так Код:
это если я прально тебя понял Отредактировано Jon, 17.07.2006 в 14:37. |
|
17.07.2006, 14:32 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
senatus
тихий и скромный...
offline
Опыт:
7,023Активность: |
ты меня правильно понял. Только у меня упростить не получилось. Условие было такое:
Присвоить переменной рэндомного юнита, из всех юнитов, находящихся в такой-то области возле применившего заклинание, которые соответствуют условию: юнит является врагом юниту, применившему заклинание и юнит не является udg_UnitTemp. Для проверки условий использовалась одна функция, которая сравнивала boolean return'ы двух других функций, которые сама же и вызывала. senatus добавил: Я прописал вроде все условия, только мне we отвечал, что это не правильно |
17.07.2006, 14:41 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,747Активность: |
Код:
При условии что UNIT враг юнита который применил спел, и при том что UNIT не равен udg_UnitTemp выполнятся действия Отредактировано Jon, 17.07.2006 в 14:53. |
17.07.2006, 14:47 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
senatus
тихий и скромный...
offline
Опыт:
7,023Активность: |
проблема не в том, что я не знаю как этовыглядит) у меня все было в тригах - я их перевел в Jass. Проблема в том, что я хотел просто в одном условии задать все параметры. + я хотел сделать на локальных переменных, а вызванные функции их не видят. Хотел передать эти переменные как параметры - хрен. Пишет, что не хватает этого гребанного апострофа. |
17.07.2006, 14:50 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,747Активность: |
всеже я до сих пор не понял почемуу тя не получается.. видимо ты чето не прально делаеш.. можеш выложить код... если слишком громозкий то в теге cut чтобы не привлекал внимания:D |
17.07.2006, 15:03 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|