Astra
-=G-U-I=-
offline
Опыт:
5,086Активность: |
предмет и уровень героя
Чтоб герой мог поднять итем по установленному для предмета уровню сделано так:
if/then/else меньше или равно n-уровень героя и т.д. Вопрос в чем: таких if/then/else больше 50-ти в одном триггере. Стоит это как-то оптимизировать или для современных компов это не проблема? |
21.01.2015, 23:46 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Кет
offline
Опыт:
111,109Активность: |
Можно сделать циклом, через for, если с несколькими значениями уровня нужно сверять.
Кет добавил: А зачем там столько if в одном триггере? Можно посмотреть? |
22.01.2015, 00:05 | #2
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Melissa
Я всегда хочу как лучше!
offline
Опыт:
31,696Активность: |
Можно сделать систему через custom value. В твоём случае можно проверять уровень предмета и героя 1 ифом и всё. В РО ставить нужный уровень предмету. |
22.01.2015, 00:30 | #3
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Astra
-=G-U-I=-
offline
Опыт:
5,086Активность: |
Melissa,
Все равно ведь для каждого предмета придется делать проверку
|
22.01.2015, 10:22 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Melissa
Я всегда хочу как лучше!
offline
Опыт:
31,696Активность: |
Astra, одну и ту же проверку, 1 раз в триггере. integer - item level > hero level - выбросить |
22.01.2015, 10:58 | #5
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Astra
-=G-U-I=-
offline
Опыт:
5,086Активность: |
Melissa, Вообще кол-во подобных ифов в пределах 50-100 штук на событие - влияет на производительность кода в карте? |
22.01.2015, 13:53 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Melissa
Я всегда хочу как лучше!
offline
Опыт:
31,696Активность: |
I don't know |
22.01.2015, 14:05 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,185Активность: |
100500 if then else конечно же не оптимально, гораздо быстрее и проще сравнивать уровень героя и предмета... |
22.01.2015, 15:45 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Fakov
Viva la Fa
offline
Опыт:
102,058Активность: |
я не шарю конечно, но что то мне подсказывает что можно использовать Custom Value предмета в РО в котором указывать требуемый для этого предмета уровень, и уже в триггерах отдропать эти итемы, если уровень героя не соответсвует кастом валью поднятого предмета.
На календаре кстати 2015 год.
Fakov добавил:
оу. сорри, не увидел ответ мелиссы Fakov добавил: но год от этого конечно же не поменялся |
22.01.2015, 20:09 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Astra
-=G-U-I=-
offline
Опыт:
5,086Активность: |
Fakov:
|
22.01.2015, 21:36 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Melissa
Я всегда хочу как лучше!
offline
Опыт:
31,696Активность: |
Astra, тогда перепиливай систему. С custom value будет лучше, т.к. если тебе вдруг понадобится больше данных на предмет заводить - то не нужно будет прикладывать никаких усилий кроме создания НовыеДанные[ ].
Melissa добавил: Хотя если у тебя класс предметов не занят - то лучше бы проверку одинаковых(если она для оружия, брони и т.д.) сделать проверкой на класс предмета. А уровень перепилить на сабж темы. |
22.01.2015, 21:46 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
в способностях можно хранить массив произвольных значений
графика - особые
GetAbilityEffectById()
ScorpioT1000 добавил:
xgm.guru/p/wc3/spellmaking5#h1.3 вот тут про это, но тема не раскрыта, суть в том, что туда можно помещать что угодно, только запятую заменять другой запятой (есть другая запятая в юникоде) |
23.01.2015, 11:44 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|