как выбрать игроков по двом условиям

TimePlay

Новичок
Регистрация
3 Май 2023
Сообщения
93
есть условия:
Игрок стоит на блоке (изумрудный)
Сравнить переменную (%player%_time > 15)
-
как выбрать игроков по этим двум условиям? типа как фильтр выборки случайности но без рандома, именно всех игроков, которые подходят под эти условия
 

maxim34a

Участник
Регистрация
10 Июн 2023
Сообщения
538
есть условия:
Игрок стоит на блоке (изумрудный)
Сравнить переменную (%player%_time > 15)
-
как выбрать игроков по этим двум условиям? типа как фильтр выборки случайности но без рандома, именно всех игроков, которые подходят под эти условия
Думал вот днем. Короче, я предлагаю заносить в массив всех игроков по первому условию и дальше как-то выбирать из них... Как - массивом по каждому игроку проходится? Или, знаешь, есть для выборки два плейсхолдера: %selected% и %selection%. %selected% - будет на каждого игрока своя переменная со своим значением, а в селекшн поместит всех игроков в одну переменную. Я хз как оно точно работает, экспериментируй. Так вот, мб первая выборка делаешь "Если игрок стоит на блоке", а во второй ложишь "если %selection%Time = 15". Попробуй.
 

onn512

Эксперт
Регистрация
2 Май 2023
Сообщения
111
есть условия:
Игрок стоит на блоке (изумрудный)
Сравнить переменную (%player%_time > 15)
-
как выбрать игроков по этим двум условиям? типа как фильтр выборки случайности но без рандома, именно всех игроков, которые подходят под эти условия
Сравнивать не %player%_time, а %selected%_time.
 

onn512

Эксперт
Регистрация
2 Май 2023
Сообщения
111
то и так понятно что %selected%, а сравнить как? через два блока выборки или ставить если который работает не так или как
Я протестировал свой вариант и вариант maxim34a. Оба не работают, потому что выборка игнорирует предыдущий выбор и выбирает из всех игроков.

Есть один костыльный вариант, но это немного другое, и он может не подходить для некоторых задач. Вот пример:
Код:
Событие игрока(Крадётся):
    Выбрать игрока по стоит на блоке(Изумрудный блок)
    Установить(%selected%_damage = 1)
    Урон(0.0000512) {Выборка}
    
Событие игрока(Получил урон):
    Если переменная(%player%_damage == 1):
        Установить(%player%_damage = 0)
        Сравнить число(%player%_time > 15):
            Прибавить(%player%_money += 1)
            Титл("+1")
 

TimePlay

Новичок
Регистрация
3 Май 2023
Сообщения
93
Я протестировал свой вариант и вариант maxim34a. Оба не работают, потому что выборка игнорирует предыдущий выбор и выбирает из всех игроков.

Есть один костыльный вариант, но это немного другое, и он может не подходить для некоторых задач. Вот пример:
Код:
Событие игрока(Крадётся):
    Выбрать игрока по стоит на блоке(Изумрудный блок)
    Установить(%selected%_damage = 1)
    Урон(0.0000512) {Выборка}
   
Событие игрока(Получил урон):
    Если переменная(%player%_damage == 1):
        Установить(%player%_damage = 0)
        Сравнить число(%player%_time > 15):
            Прибавить(%player%_money += 1)
            Титл("+1")
так вот зачем какие-то гении ставили Нанести урон (0.00000001)!
я то думал зачем они так делают что за технологии нынче
спасибо большое
 

astr34

Активный участник
Регистрация
16 Июл 2023
Сообщения
18
Почему нельзя просто после выборки по каждому условию инкрементить счётчик выполненных условий, а в конце выбирать по значению счётчика? Для N >= 2 условий:

Выбрать всех игроков
Установить(%selected%_timer = 0)
Выбрать по условию 1:
Установить(%selected%_timer += 1)
...
Выбрать по условию N:
Установить(%selected%_timer += 1)
Выбрать по условию(%selected%_timer == N)
 
Сверху