Leonion,
Janycz, ах вон оно что, спасибо. Будем знать.
Krieg, нанимать можешь в читменю, для капитула им нужны сержанты, и кучу проверок еще писать в куче мест. Нерентабельно
можешь объяснить примерно как их исключать?
Диапазоны пишутся через операцию is_between. Ее айди 33, и в коде это выглядит как 33 3 <стартовый юнит> <конечный юнит+1>. Но это если один диапазон, а там где надо и включить и исключить, одним уже не обойтись. В одновременную проверку они объединяются через оператор this_or_next (именно оператор а не операцию, не путать. Чем они отличаются? Оператор - это приставка к операции, он на нее как-то влияет, в нашем случае объединяет в блок "ИЛИ". Для кода это значит что айди оператора (1073741824) надо плюсовать к айди операции (33), и тогда она будет считаться объединенной. Все объединенные операции должны иметь эту приставку, кроме последней, это важно). Для того чтобы исключить диапазон, операцию is_between нужно инвертировать, для этого используется оператор neg. Его айди (2147483648) плюсуем к 33 и диапазон считается исключенным.
По делу:
Все зависит от способа. Если ты разрешаешь несколько мелких диапазонов, а на остальных забиваешь (потому что не указанные юниты автоматически считаются исключенными), то это так:
1073741857 3 360287970189639735 360287970189639781
#разрешили 55-100, объединили со следующей операцией1073741857 3 360287970189639800 360287970189639955
#разрешили 120-274, объединили со следующей операцией33 3 3 360287970189640010 360287970189640046
#разрешили 330-365, но объединение больше не требуется, поскольку это конец блока. Поэтому тут просто 33 без приставки.Если же ты указал один широкий, а потом исключил из него несколько мелких (как допустим разрабы в читменю юнитов сделали), то это так:
33 3 360287970189639735 360287970189639781
#разрешили 55-3652147483681 3 360287970189639780 360287970189639800
#исключили 100-1192147483681 3 360287970189639955 360287970189640010
#исключили 275-329В данном примере эти два способа равноценны, выбирай тот который удобнее под ситуацию. Бывает что первый удобнее, бывает что второй. Если надо исключить не диапазон, а только 1 юнита, то это 2147483679 2 <переменная> <юнит>.