Множество триггеров на гуи невозможно реализовать без функции или, но она громоздкая и я слышал что на jass есть альтернативы ей. Хотелось бы узнать какие есть альтернативы, и какие преимущества. Ну и второй под вопрос это как влияет или на игру, возможно ли напихать их столько чтоб игра лагала?

Принятый ответ

Alexey103, я почему-то думал, что автор этой темы и есть Вы. Раз уж не так, то загляните туда, там автор задавал аналогичный вопрос.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
26
6 лет назад
0
когда выбираешь "или" в GUI, он создаёт отдельную функцию, ответом которой будет true/false
а внутри уже идёт перебор условий (а там могут быть ещё "и/или")
if a or b or c or d then
endif
0
21
6 лет назад
0
По второму - да, влияет, да, возможно
Старайся строить конструкции так, чтобы ифов проверялось как можно меньше
Например, если у тебя что-то должно произойти так:
Событие: юнит кастует спелл
Условия:
у кастера есть абилка Черный Заклинатель
случайное число от 1 до 3 равняется 3
целью заклинания является враг
то НЕ правильно проверять все три условия глобально, тогда они будут проверяться и число рандомиться каждый раз, когда кто-то кастует спелл = больше нагрузки. Глобально ставим один ифзенэлс, разумнее всего, что у кастера есть абилка Черный Заклинатель, а уже если он = да, то в дальнейших действиях пишем остальные условия.
PS Но это все будет влиять, когда карта по навороченности как DotA или больше, в небольших картах ты никакой разницы не заметишь.
2
21
6 лет назад
Отредактирован scopterectus
2
ClotPh, неправда.
if ( a ) and ( b ) and ( c)  then
если "а" будет false, то "b" и "с" не будут выполняться.
А если вместо "and" будет "or", то условия будут проверяться до тех пор, пока один не выдаст "true".
2
21
6 лет назад
Отредактирован biridius
2
на гуях каждое условие на самом деле переводится в отдельный if-then-else:
превращается в
то есть первое же ложное условие - и остальные не проверяются, т.к. return завершает выполнение функции
Загруженные файлы
0
17
6 лет назад
Отредактирован ledoed
0
ну есть elseif в преимуществе эт типа такие контструкции
If(i>5&&i<7){
//
}elseif(i>7&&i<9){
//
}elseif(i>10&&i<12){
//
}и так сколько угодно это очень полезно когда один тригер ловит какст способности и проверяет какая абила использовалась,всего 1 триггер будет инициализирован
0
17
6 лет назад
0
ledoed, Не представляю как на гуи разделить эти функции на два триггера, разве что через переменные или ручной запуск триггера.
biridius, А проще, мне можно делать полотна из сотен гуишных ифов? Наприме если установить процентный дроп каждого итема, 100 итемов, 100 ифов по 1% шанс дропа. Это опасно?
0
17
6 лет назад
0
ну можно такие ифы использовать для конкретных условий где например:у юнита 2 дерево (на награду),у юнита 6 (убить)
1
21
6 лет назад
Отредактирован biridius
1
Alexey103, вообще такую ерунду лучше делать через массивы или itempool'ы, тогда все данные по шансам сохраняешь в начале игры, а потом в нужный момент все делается в одно действие.
только она не совсем верная, weight это и есть шанс выпадения
0
21
6 лет назад
0
biridius, А проще, мне можно делать полотна из сотен гуишных ифов? Наприме если установить процентный дроп каждого итема, 100 итемов, 100 ифов по 1% шанс дропа. Это опасно?
100 if'ов для war3 не много, а вот Вам это может надоесть, пока писать будете. Да и к тому же, это получится очень большой триггер, при открытии которого в редакторе триггеров, у Вас будет всё лагать и подвисать (если сделано на GUI).
Как выше уже сказали, лучше делать через массивы.
0
17
6 лет назад
0
ScopteRectuS, Тоесть массивы альтернатива ифам? Это хорошо, посмотрю насчёт них. Ещё есть что?
0
21
6 лет назад
0
Alexey103, я не говорил, что массивы - это альтернатива if'ам.
Я про то, что это :
Наприме если установить процентный дроп каждого итема, 100 итемов, 100 ифов по 1% шанс дропа. Это опасно?
можно сделать с помощью массивов, без кучи if'ов.
0
17
6 лет назад
0
ScopteRectuS, Есть статья или наработка, я просто имею слишком смутное представление о массивах, максимум квесты игрокам через них отдельно раздавал. Как это сделать?
0
21
6 лет назад
Отредактирован scopterectus
0
Alexey103, я почему-то думал, что автор этой темы и есть Вы. Раз уж не так, то загляните туда, там автор задавал аналогичный вопрос.
Принятый ответ
0
17
6 лет назад
0
ScopteRectuS, Да я просто таблицу предметов как раз через ифы делал, и вот решил что пора слезать с этого наркотика. Спс.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.