跳至主要内容

賭博系統

賭博系統為 EliteMobs 新增了一個功能完整的賭場。玩家可以在四種不同的小遊戲中用精英硬幣下注,在資金耗盡時會累積債務,當討債人找上門時就必須面對後果。伺服器管理員可以設定系統的每個方面,從賠率倍數到債務上限。


設定

賭博系統透過特殊設定的 NPC 來存取。每個遊戲和顯示都有其自己的 NPC 互動類型。

要設定賭博 NPC,請建立一個 NPC 設定檔並將 interactionType 設定為以下值之一:

互動類型說明
GAMBLING_BLACKJACK開啟 21 點的下注選單
GAMBLING_COINFLIP開啟擲硬幣的下注選單
GAMBLING_SLOTS開啟老虎機的下注選單
GAMBLING_HIGHERLOWER開啟比大小的下注選單

賭場老闆 NPC 不使用特殊的互動類型。要設定它,請建立檔名為 gambling_den_owner.yml 的 NPC。莊家收益顯示將根據此檔名自動出現在 NPC 頭上。


遊戲

21 點

適用標準 21 點規則。目標是盡可能接近 21 點而不爆牌。

規則

  • 玩家和莊家各發兩張牌。
  • 莊家的第二張牌在玩家停牌前會被隱藏。
  • A 算作 11 或 1(在可能的情況下會自動調整以防止爆牌)。
  • 花牌(J、Q、K)算作 10。
  • 莊家在 17 點停牌。
  • 玩家最多可持有 5 張牌。

動作

動作說明
要牌抽取另一張牌。
停牌保持目前的牌組;然後由莊家出牌。
加倍將賭注加倍,只抽一張牌,然後自動停牌。只有在您的第一個動作(當您有 2 張牌時)且能負擔加倍賭注時才可使用。

賠付

結果預設倍數
普通獲勝(玩家總數超過莊家,或莊家爆牌)2.0x
21 點(前兩張牌為 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%。

符號權重機率三個配對賠付兩個配對賠付
櫻桃3535%2.86x0.71x
檸檬2828%3.57x0.89x
橘子2020%5.0x1.25x
金鐘1010%10.0x2.5x
銀條55%20.0x5.0x
幸運 722%50.0x12.5x

三個幸運 7 是頭獎,會獲得特殊的視覺和音效。

關閉選單

如果玩家在旋轉前關閉選單,則沒收賭注。


比大小

基於連勝的撲克牌遊戲。猜測下一張牌是比目前的牌更大還是更小,並累積倍數。隨時兌現或全部冒險。

玩法

  1. 抽出並顯示一張牌(數值範圍從 2 到 14,其中 A = 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普通 21 點獲勝的賠率倍數。2.0
payouts.blackjack.blackjack拿到自然 21 點(前兩張牌為 21)的賠率倍數。2.5
payouts.coinFlip擲硬幣獲勝的賠率倍數。設定低於 2.0 為莊家優勢(1.9 = 5% 莊家優勢)。1.9
payouts.higherLower.multiplier比大小中每次猜對套用的倍數。會累積乘法。1.5

老虎機賠付

老虎機賠付無法設定。它們使用公式 100 / 權重 從符號權重自動計算:

符號權重三個配對賠付兩個配對賠付
櫻桃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

經濟安全

賭博系統使用安全優先的交易模型。所有賭注都會被扣除,結果在任何視覺動畫播放前就已經財務上解決。這可防止玩家在動畫中途斷線以避免失敗或複製獲勝的漏洞。如果玩家在動畫期間或之後的任何時間斷線,其財務狀態已經是正確的。