Перейти к основному содержимому

Система азартных игр

Система азартных игр добавляет полнофункциональное казино в EliteMobs. Игроки могут делать ставки элитными монетами в четырех различных мини-играх, влезать в долги когда у них заканчиваются деньги, и сталкиваться с последствиями, когда приходит коллектор. Администраторы серверов могут настроить каждый аспект системы, от множителей выплат до лимитов долга.


Установка

Доступ к системе азартных игр осуществляется через специально настроенных NPC. Каждая игра и отображение имеет свой тип взаимодействия NPC.

Чтобы настроить NPC для азартных игр, создайте файл конфигурации NPC и установите interactionType в одно из следующих значений:

Тип взаимодействияОписание
GAMBLING_BLACKJACKОткрывает меню ставок для Блэкджека
GAMBLING_COINFLIPОткрывает меню ставок для подбрасывания монеты
GAMBLING_SLOTSОткрывает меню ставок для игрового автомата
GAMBLING_HIGHERLOWERОткрывает меню ставок для игры "Больше или меньше"

NPC владельца игорного дома не использует специальный тип взаимодействия. Чтобы настроить его, создайте NPC с именем файла gambling_den_owner.yml. Отображение доходов казино появится над NPC автоматически на основе этого имени файла.


Игры

Блэкджек

Применяются стандартные правила блэкджека. Цель - набрать как можно ближе к 21, не превысив это значение.

Правила

  • И игрок, и дилер получают по две карты.
  • Вторая карта дилера скрыта до тех пор, пока игрок не остановится.
  • Тузы считаются как 11 или 1 (автоматически корректируется, чтобы предотвратить перебор, когда это возможно).
  • Фигурные карты (валет, дама, король) считаются как 10.
  • Дилер останавливается на 17.
  • Игроки могут иметь до 5 карт.

Действия

ДействиеОписание
HitВзять еще одну карту.
StandСохранить текущую руку; дилер затем играет.
Double DownУдвоить ставку, взять ровно одну карту, затем автоматически остановиться. Доступно только на первом действии (когда у вас 2 карты) и только если вы можете позволить себе удвоить ставку.

Выплаты

РезультатМножитель по умолчанию
Обычная победа (сумма игрока больше дилера, или дилер перебрал)2.0x
Блэкджек (21 с первыми двумя картами)2.5x
Ничья (равенство)1.0x (ставка возвращается)
Проигрыш (игрок перебрал или сумма дилера выше)0x (ставка потеряна)

Закрытие меню

Если игрок закрывает меню во время хода дилера, рука дилера разыгрывается автоматически и результат определяется. Если игрок закрывает меню до остановки, ставка конфискуется.


Подбрасывание монеты

Простая игра 50/50. Выберите орла или решку, и монета решит вашу судьбу.

Как играть

  1. Игра открывается с кнопками "Орёл" и "Решка".
  2. Нажмите на одну, чтобы сделать выбор.
  3. Воспроизводится анимация подбрасывания монеты.
  4. Показывается результат.

Выплаты

РезультатМножитель по умолчанию
Правильная догадка1.9x
Ребро (монета встает на ребро)10.0x
Неправильная догадка0x (ставка потеряна)

Результат "Ребро"

Существует 1% шанс, что монета встанет на ребро вместо орла или решки. Когда это происходит, игрок всегда выигрывает независимо от своего выбора и получает 10-кратную выплату от ставки. Для этого редкого события показывается специальное сообщение в чате и визуальный эффект.

Закрытие меню

Если игрок закрывает меню до выбора, ставка конфискуется.


Игровой автомат

Вращайте три барабана и сопоставьте символы, чтобы выиграть. Более редкие символы платят больше.

Как играть

  1. Игра открывается с сеткой барабанов 3x3 и кнопкой "Крутить".
  2. Нажмите "Крутить", чтобы запустить барабаны.
  3. Каждый барабан останавливается последовательно с анимацией.
  4. Средний ряд (линия выплат) определяет результат.

Символы и выплаты

Каждый символ имеет вес, который определяет, как часто он появляется. Множитель выплаты за совпадение трех символов рассчитывается как 100 / вес. Совпадение двух символов платит 25% от выплаты за три совпадения для этого символа.

СимволВесШансВыплата за 3 совпаденияВыплата за 2 совпадения
Вишня3535%2.86x0.71x
Лимон2828%3.57x0.89x
Апельсин2020%5.0x1.25x
Золотой колокольчик1010%10.0x2.5x
Серебряный слиток55%20.0x5.0x
Счастливая 722%50.0x12.5x

Три счастливых семёрки - это Джекпот и получает специальный визуальный и звуковой эффект.

Закрытие меню

Если игрок закрывает меню перед вращением, ставка конфискуется.


Больше или меньше

Игра на основе серий с картами. Угадайте, будет ли следующая карта выше или ниже текущей, и накапливайте множитель. Заберите выигрыш в любое время или рискните всем.

Как играть

  1. Вытягивается и показывается карта (значения варьируются от 2 до 14, где туз = 14).
  2. Угадайте, будет ли следующая карта выше или ниже текущей карты.
  3. Если вы угадали правильно, ваш множитель увеличивается, и открытая карта становится новой текущей картой.
  4. Вы можете забрать выигрыш в любое время после хотя бы одной правильной догадки.
  5. Если вы угадали неправильно, вы теряете всю ставку.
  6. Если следующая карта равна текущей карте, это считается проигрышем.

Множитель серии

Каждая правильная догадка умножает ваш выигрыш на настроенный множитель (по умолчанию 1.5x). Множитель накапливается:

СерияМножитель (по умолчанию)Выплата на ставку 100 монет
11.5x150
22.25x225
33.375x337.5
45.0625x506.25
57.59x759
.........
12~129.75x~12,975

Максимальная серия и автовыплата

Максимальная серия составляет 12. Когда игрок достигает 12 правильных догадок, выплата производится автоматически и выигрыш присуждается. Это предотвращает неконтролируемые множители.

Закрытие меню

Если игрок закрывает меню, когда у него есть выигрышная серия, ему автоматически выплачивается текущий выигрыш. Если он закрывает меню до любой догадки, ставка конфискуется.


Ставки

Перед началом любой игры игроку предоставляется меню ставок для выбора своей ставки.

Лимиты ставок

НастройкаЗначение по умолчанию
Минимальная ставка10
Максимальная ставка1000

Элементы управления меню ставок

Меню ставок предоставляет несколько элементов управления:

  • Кнопки увеличения -- Три размера кнопок увеличения и уменьшения. Если у игрока есть хотя бы 100 монет и нет долга, увеличения основаны на процентах (5%, 10%, 25% от баланса). В противном случае используются фиксированные суммы 10, 50 и 100.
  • Ва-банк -- Устанавливает ставку на максимум, который игрок может себе позволить (включая доступный кредит).
  • Сброс -- Сбрасывает ставку до минимума.
  • Играть -- Начинает игру с текущей ставкой. Активна только если игрок может позволить себе ставку.
  • Отмена -- Закрывает меню без ставки.

Меню показывает текущий баланс игрока, любой существующий долг и доступный кредит.


Система долгов

Игроки могут делать ставки сверх своего баланса, влезая в долги. Казино предоставляет кредит до настраиваемого лимита.

Как работает долг

  1. Когда игрок делает ставку, которая превышает его баланс, оставшаяся сумма добавляется как игорный долг.
  2. Максимальный долг, который игрок может накопить, по умолчанию составляет 500 монет.
  3. Игроки не могут делать ставки, которые превысят максимальный долг.
  4. Когда игрок выигрывает, его выигрыш сначала идет на погашение долга, прежде чем добавляется к балансу.

Доступный кредит

Доступный кредит игрока рассчитывается как: максимальный_долг - текущий_долг. Это отображается в меню ставок.

Предупреждение о долге

Когда игрок влезает в долги, он получает предупреждающее сообщение. Коллектор может прийти за ним, пока у него есть непогашенный долг.


Босс-коллектор

Коллектор - это кастомный босс, который появляется для охоты на игроков с игорными долгами.

Условия появления

  • У игрока должен быть непогашенный игорный долг.
  • Периодическая проверка выполняется каждые 60 минут (настраивается) для всех онлайн-игроков.
  • Каждая проверка имеет 50% шанс (настраивается) на появление коллектора для подходящего игрока.
  • Одновременно может быть активен только один коллектор на игрока.
  • Коллектор использует файл кастомного босса debt_collector.yml.

Масштабирование уровня

Уровень коллектора основан на боевом уровне целевого игрока. Его здоровье умножается на настраиваемый множитель здоровья (по умолчанию 5.0x), а урон - на множитель урона (по умолчанию 1.0x).

Поведение

  • Коллектор появляется на расстоянии от 5 до 10 блоков от игрока.
  • Он немедленно нацеливается на игрока, для которого был создан.
  • У него есть таймаут 600 секунд (10 минут) по умолчанию. Если не убить в течение этого времени, он исчезает и предупреждает игрока, что вернется.

Результаты

РезультатЭффект
Игрок убивает коллектораБосс исчезает. Долг игрока не уменьшается, но он получает сообщение, что он вернется.
Коллектор убивает игрокаДолг игрока уменьшается на 50 монет (настраивается). Если это полностью погашает долг, игрок уведомляется. Коллектор исчезает через 5 секунд.
Таймаут (не убит вовремя)Коллектор исчезает и отправляет предупреждающее сообщение. Он попытается появиться снова при следующей проверке.

Владелец игорного дома

Владелец игорного дома - это специальный NPC, который отображает доходы казино над своей головой в виде плавающего текста. Это показывает общую прибыль или убыток, накопленный казино от всей игорной деятельности.

  • Положительные доходы показываются зеленым цветом (например, +1234.56).
  • Отрицательные доходы (игроки выигрывают больше, чем проигрывают) показываются красным цветом (например, -567.89).
  • Отображение обновляется каждую секунду.
  • Доходы казино сохраняются в house_earnings.yml и сохраняются после перезагрузки сервера.

Конфигурация

Все настройки азартных игр хранятся в GamblingSettings.yml. Ниже приведены ключевые настройки, влияющие на игровой процесс.

Общие настройки

КлючОписаниеПо умолчанию
gamblingEnabledВключает или отключает всю систему азартных игр. При отключении NPC азартных игр не будут работать, и коллектор не будет появляться.true
maxDebtМаксимальная сумма долга, которую игрок может накопить от азартных игр.500.0
minBetМинимальная сумма ставки для всех азартных игр.10
maxBetМаксимальная сумма ставки для всех азартных игр.1000

Множители выплат

КлючОписаниеПо умолчанию
payouts.blackjack.normalМножитель выплаты за обычную победу в блэкджеке.2.0
payouts.blackjack.blackjackМножитель выплаты за получение натурального блэкджека (21 с первыми двумя картами).2.5
payouts.coinFlipМножитель выплаты за выигрыш в подбрасывании монеты. Установите ниже 2.0 для преимущества казино (1.9 = 5% преимущество казино).1.9
payouts.higherLower.multiplierМножитель, применяемый за каждую правильную догадку в "Больше/меньше". Накапливается мультипликативно.1.5

Выплаты игрового автомата

Выплаты игрового автомата не настраиваются. Они рассчитываются автоматически на основе весов символов по формуле 100 / вес:

СимволВесВыплата за 3 совпаденияВыплата за 2 совпадения
Вишня352.86x0.71x
Лимон283.57x0.89x
Апельсин205.0x1.25x
Колокольчик1010.0x2.50x
Слиток520.0x5.00x
Счастливая 7250.0x12.50x

Ключи payouts.slots.* существуют в GamblingSettings.yml, но не используются игровой логикой. Фактические выплаты всегда основаны на весах.

Настройки коллектора

КлючОписаниеПо умолчанию
debtCollector.spawnChanceШанс (от 0.0 до 1.0), что коллектор появится при каждой проверке.0.5
debtCollector.checkIntervalMinutesКак часто (в минутах) проверять, должен ли коллектор появиться для игроков с долгами.60
debtCollector.timeoutSecondsКак долго (в секундах) до того, как коллектор исчезнет, если его не убьют.600
debtCollector.healthMultiplierМножитель здоровья для босса-коллектора.5.0
debtCollector.damageMultiplierМножитель урона для босса-коллектора.1.0
debtCollector.debtReductionOnPlayerDeathСумма долга, уменьшаемая, когда коллектор убивает игрока.50.0

Безопасность экономики

Система азартных игр использует модель транзакций, ориентированную на безопасность. Все ставки вычитаются, и результаты финансово разрешаются до воспроизведения любых визуальных анимаций. Это предотвращает эксплойты, когда игрок мог бы отключиться во время анимации, чтобы избежать проигрыша или дублировать выигрыш. Если игрок отключается в любой момент во время или после анимации, его финансовое состояние уже корректно.