ギャンブルシステム
ギャンブルシステムは、EliteMobsに本格的なカジノを追加します。プレイヤーは4種類のミニゲームでエリートコインを賭け、お金がなくなると借金を負い、借金取りが現れたときにその結果に直面します。サーバー管理者は、ペイアウト倍率から借金限度額まで、システムのあらゆる側面を設定できます。
セットアップ
ギャンブルシステムは、特別に設定されたNPCを通じてアクセスします。各ゲームと表示には独自のNPC対話タイプがあります。
ギャンブルNPCをセットアップするには、NPC設定ファイルを作成し、interactionTypeを次のいずれかの値に設定します。
| Interaction Type | Description |
|---|---|
GAMBLING_BLACKJACK | ブラックジャックのベッティングメニューを開く |
GAMBLING_COINFLIP | コインフリップのベッティングメニューを開く |
GAMBLING_SLOTS | スロットマシンのベッティングメニューを開く |
GAMBLING_HIGHERLOWER | ハイヤーオアローワーのベッティングメニューを開く |
ギャンブルデンオーナーNPCは特別な対話タイプを使用しません。セットアップするには、ファイル名gambling_den_owner.ymlでNPCを作成します。このファイル名に基づいて、ハウス収益の表示がNPCの上に自動的に表示されます。
ゲーム
ブラックジャック
標準的なブラックジャックのルールが適用されます。目標は、21を超えずに21に可能な限り近づくことです。
ルール
- プレイヤーとディーラーの両方に2枚のカードが配られます。
- ディーラーの2枚目のカードは、プレイヤーがスタンドするまで隠されています。
- エースは11または1としてカウントされます(可能な場合、バストを防ぐために自動的に調整されます)。
- 絵札(ジャック、クイーン、キング)は10としてカウントされます。
- ディーラーは17でスタンドします。
- プレイヤーは最大5枚のカードを持つことができます。
アクション
| Action | Description |
|---|---|
| ヒット | もう1枚カードを引く。 |
| スタンド | 現在のハンドを維持し、その後ディーラーがプレイする。 |
| ダブルダウン | ベットを2倍にし、ちょうど1枚のカードを引いて、自動的にスタンドする。最初のアクション時(2枚のカードを持っている場合)のみ利用可能で、ベットを2倍にする余裕がある場合のみ。 |
ペイアウト
| Outcome | デフォルト倍率 |
|---|---|
| 通常の勝利(プレイヤーの合計がディーラーを上回る、またはディーラーがバストする) | 2.0x |
| ブラックジャック(最初の2枚で21) | 2.5x |
| プッシュ(引き分け) | 1.0x(ベット返却) |
| 負け(プレイヤーがバストする、またはディーラーの合計が高い) | 0x(ベット没収) |
メニューを閉じる
ディーラーのターン中にプレイヤーがメニューを閉じた場合、ディーラーのハンドは自動的にプレイアウトされ、結果が解決されます。スタンドする前にプレイヤーがメニューを閉じた場合、ベットは没収されます。
コインフリップ
シンプルな50/50ゲームです。表か裏を選択すると、コインが運命を決定します。
プレイ方法
- ゲームは表ボタンと裏ボタンで開きます。
- いずれかをクリックして選択します。
- コインフリップアニメーションが再生されます。
- 結果が表示されます。
ペイアウト
| Outcome | デフォルト倍率 |
|---|---|
| 正しい予想 | 1.9x |
| エッジ(コインが側面に立つ) | 10.0x |
| 間違った予想 | 0x(ベット没収) |
エッジの結果
コインが表でも裏でもなくエッジに立つ1%の確率があります。これが発生すると、プレイヤーの選択に関係なく常に勝ち、ベットの10倍のペイアウトを受け取ります。このレアイベントには特別なチャットメッセージと視覚的表示が表示されます。
メニューを閉じる
選択する前にプレイヤーがメニューを閉じた場合、ベットは没収されます。
スロットマシン
3つのリールを回転させ、シンボルを一致させて勝ちます。レアなシンボルほど高いペイアウトがあります。
プレイ方法
- ゲームは3x3のリールグリッドとスピンボタンで開きます。
- スピンをクリックしてリールを開始します。
- 各リールはアニメーションで順番に停止します。
- 中央の行(ペイライン)が結果を決定します。
シンボルとペイアウト
各シンボルには、出現頻度を決定するウェイトがあります。3つのシンボルを一致させるためのペイアウト倍率は100 / weightとして計算されます。2つのシンボルを一致させると、そのシンボルの3つ一致ペイアウトの25%を支払います。
| Symbol | Weight | Chance | 3つ一致ペイアウト | 2つ一致ペイアウト |
|---|---|---|---|---|
| チェリー | 35 | 35% | 2.86x | 0.71x |
| レモン | 28 | 28% | 3.57x | 0.89x |
| オレンジ | 20 | 20% | 5.0x | 1.25x |
| ゴールデンベル | 10 | 10% | 10.0x | 2.5x |
| シルバーバー | 5 | 5% | 20.0x | 5.0x |
| ラッキー7 | 2 | 2% | 50.0x | 12.5x |
3つのラッキー7はジャックポットで、特別な視覚効果と音響効果を受け取ります。
メニューを閉じる
スピンする前にプレイヤーがメニューを閉じた場合、ベットは没収されます。
ハイヤーオアローワー
ストリークベースのカードゲームです。次のカードが現在のカードよりも高いか低いかを予想し、倍率を積み上げます。いつでもキャッシュアウトするか、すべてをリスクにかけます。
プレイ方法
- カードが引かれて表示されます(値の範囲は2から14で、エース=14)。
- 次のカードが現在のカードよりも高いか低いかを予想します。
- 正しく予想すると、倍率が増加し、公開されたカードが新しい現在のカードになります。
- 少なくとも1回正しく予想した後、いつでもキャッシュアウトできます。
- 間違って予想すると、ベット全体を失います。
- 次のカードが現在のカードと同じ場合、負けとしてカウントされます。
ストリーク倍率
正しい予想ごとに、設定された倍率(デフォルト1.5x)で賞金が乗算されます。倍率はスタックします。
| Streak | 倍率(デフォルト) | 100コインベットでのペイアウト |
|---|---|---|
| 1 | 1.5x | 150 |
| 2 | 2.25x | 225 |
| 3 | 3.375x | 337.5 |
| 4 | 5.0625x | 506.25 |
| 5 | 7.59x | 759 |
| ... | ... | ... |
| 12 | ~129.75x | ~12,975 |
最大ストリークと自動キャッシュアウト
最大ストリークは12です。プレイヤーが12回正しく予想すると、自動的にキャッシュアウトされ、賞金が授与されます。これにより、暴走する倍率を防ぎます。
メニューを閉じる
勝ちストリーク中にプレイヤーがメニューを閉じた場合、自動的にキャッシュアウトされ、現在の賞金を受け取ります。予想する前に閉じた場合、ベットは没収されます。
ベッティング
ゲーム開始前に、プレイヤーは賭け金を選択するためのベッティングメニューが表示されます。
ベット制限
| Setting | デフォルト値 |
|---|---|
| 最小ベット | 10 |
| 最大ベット | 1000 |
ベッティングメニューコントロール
ベッティングメニューにはいくつかのコントロールがあります。
- 増分ボタン -- 3つのサイズの増加および減少ボタン。プレイヤーが少なくとも100コインを持ち、借金がない場合、増分はパーセンテージベース(残高の5%、10%、25%)です。それ以外の場合、10、50、100の固定金額が使用されます。
- オールイン -- プレイヤーが余裕のある最大額(利用可能なクレジットを含む)にベットを設定します。
- リセット -- ベットを最小値にリセットします。
- プレイ -- 現在のベットでゲームを開始します。プレイヤーがベットを余裕できる場合のみアクティブです。
- キャンセル -- ベットせずにメニューを閉じます。
メニューには、プレイヤーの現在の残高、既存の借金、利用可能なクレジットが表示されます。
借金システム
プレイヤーは借金を負うことで残高を超えてベットできます。カジノは設定可能な限度額までクレジットを拡張します。
借金の仕組み
- プレイヤーが残高を超えるベットを行うと、残りの金額がギャンブル借金として追加されます。
- プレイヤーが蓄積できる最大借金は、デフォルトで500コインです。
- プレイヤーは、借金が最大値を超えるベットを行うことはできません。
- プレイヤーが勝つと、賞金は最初に借金を返済するために適用され、その後残高に追加されます。
利用可能なクレジット
プレイヤーの利用可能なクレジットは次のように計算されます:maxDebt - currentDebt。これはベッティングメニューに表示されます。
借金警告
プレイヤーが借金を負うと、警告メッセージを受け取ります。未払いの借金を抱えている間、借金取りが現れる可能性があります。
借金取りボス
借金取りは、ギャンブルの借金があるプレイヤーを追跡するために出現するカスタムボスです。
スポーン条件
- プレイヤーは未払いのギャンブル借金を持っている必要があります。
- すべてのオンラインプレイヤーに対して60分ごと(設定可能)に定期チェックが実行されます。
- 各チェックには、適格なプレイヤーに対して借金取りをスポーンする50%の確率(設定可能)があります。
- プレイヤーごとに一度に1体の借金取りのみがアクティブになります。
- 借金取りはカスタムボスファイル
debt_collector.ymlを使用します。
レベルスケーリング
借金取りのレベルは、ターゲットプレイヤーの戦闘レベルに基づいています。その体力は設定可能な体力倍率(デフォルト5.0x)で乗算され、ダメージはダメージ倍率(デフォルト1.0x)で乗算されます。
動作
- 借金取りは、プレイヤーから5から10ブロック離れた場所にスポーンします。
- すぐにスポーンされたプレイヤーをターゲットにします。
- デフォルトで600秒(10分)のタイムアウトがあります。その時間内に倒されない場合、デスポーンし、戻ってくることをプレイヤーに警告します。
結果
| Outcome | Effect |
|---|---|
| プレイヤーが借金取りを倒す | ボスはデスポーンします。プレイヤーの借金は減りませんが、戻ってくることを示すメッセージを受け取ります。 |
| 借金取りがプレイヤーを倒す | プレイヤーの借金は50コイン(設定可能)減ります。これで借金が完全にクリアされる場合、プレイヤーに通知されます。借金取りは5秒後にデスポーンします。 |
| タイムアウト(時間内に倒されない) | 借金取りはデスポーンし、警告メッセージを送信します。次回のチェックで再びスポーンを試みます。 |
ギャンブルデンオーナー
ギャンブルデンオーナーは、頭上に浮遊テキスト表示としてハウス収益を表示する特別なNPCです。これは、すべてのギャンブルアクティビティからハウスが蓄積した総利益または損失を示します。
- プラスの収益は緑色で表示されます(例:
+1234.56)。 - マイナスの収益(プレイヤーの勝ちが負けより多い)は赤色で表示されます(例:
-567.89)。 - 表示は毎秒更新されます。
- ハウス収益は
house_earnings.ymlに永続化され、サーバー再起動後も保持されます。
設定
すべてのギャンブル設定はGamblingSettings.ymlに保存されます。以下は、ゲームプレイに影響する主要な設定です。
一般設定
| Key | Description | Default |
|---|---|---|
gamblingEnabled | ギャンブルシステム全体を有効または無効にします。無効にすると、ギャンブルNPCは機能せず、借金取りはスポーンしません。 | true |
maxDebt | プレイヤーがギャンブルから蓄積できる最大借金額。 | 500.0 |
minBet | すべてのギャンブルゲームの最小ベット額。 | 10 |
maxBet | すべてのギャンブルゲームの最大ベット額。 | 1000 |
ペイアウト倍率
| Key | Description | Default |
|---|---|---|
payouts.blackjack.normal | 通常のブラックジャック勝利のペイアウト倍率。 | 2.0 |
payouts.blackjack.blackjack | ナチュラルブラックジャック(最初の2枚で21)を獲得するためのペイアウト倍率。 | 2.5 |
payouts.coinFlip | コインフリップに勝つためのペイアウト倍率。ハウスエッジのために2.0未満に設定します(1.9=5%ハウスエッジ)。 | 1.9 |
payouts.higherLower.multiplier | ハイヤーオアローワーで正しい予想ごとに適用される倍率。乗算的にスタックします。 | 1.5 |
スロットマシンペイアウト
スロットマシンのペイアウトは設定可能ではありません。シンボルウェイトから100 / weightという式を使用して自動的に計算されます。
| Symbol | Weight | 3つ一致ペイアウト | 2つ一致ペイアウト |
|---|---|---|---|
| チェリー | 35 | 2.86x | 0.71x |
| レモン | 28 | 3.57x | 0.89x |
| オレンジ | 20 | 5.0x | 1.25x |
| ベル | 10 | 10.0x | 2.50x |
| バー | 5 | 20.0x | 5.00x |
| ラッキー7 | 2 | 50.0x | 12.50x |
GamblingSettings.ymlにpayouts.slots.*キーが存在しますが、ゲームロジックでは使用されません。実際のペイアウトは常にウェイトベースです。
借金取り設定
| Key | Description | Default |
|---|---|---|
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 |
エコノミーの安全性
ギャンブルシステムは、安全第一のトランザクションモデルを使用しています。すべてのベットが控除され、結果が財務的に解決されるのは、視覚的アニメーションが再生される前です。これにより、プレイヤーがアニメーション中に切断して損失を回避したり、勝利を複製したりするエクスプロイトを防ぎます。プレイヤーがアニメーション中またはアニメーション後のいずれかの時点で切断した場合でも、財務状態はすでに正しくなっています。