NON-PRODUCTION

Aladin Megaways — tài liệu ghép client

Megaways tumble 6×5 + top reel (cột index 6, 4 ô). Treasure chest, wild dài / super wild, mini & grand jackpot. Trang này chỉ được serve khi ENVIRONMENT != production.

1. Tổng quan

MụcGiá trị
Grid6 cột × 5 hàng + top reel 4 ô. reels[0..5] main, reels[6] top
PayMegaways tumble. Ways = mega_ways trên từng bước
TumbleÔ thắng biến mất, rơi xuống, fill từ trên + top reel
Wild11. is_long_wild / is_super_wild
Scatter12 — trigger FS
Treasure13–16 TreasureChest (×1 / ×2 / ×3 / ×4)
Jackpotmini / grand — có thể credit giữa FS
FSLine win vào pot. Multiplier bank free_spin_multiplier
Base path/api/v1
Bắt buộc GET /api/v1/gameplay trước spin. Jackpot credit ngay cả giữa FS — cộng chip từ jackpot_win_amount / field mini·grand trên win_result, không đợi hết FS.

2. Luồng ghép

  1. Vào game → GET /gameplay + GET /jackpot.
  2. POST /spins. Play tuần tự win_result[] (tumble).
  3. Mỗi bước: vẽ reels (6×5 + top), highlight positions, hiện mega_ways, long/super wild.
  4. Treasure chest / multiplier / bonus_multiplier animate trước khi bước tiếp.
  5. Nếu jackpot trên bước hoặc top-level jackpot_win_amount > 0 → credit ngay (kể cả đang FS).
  6. FS: không trừ bet; line win vào pot; credit pot khi is_finish_free_spin.

3. Auth & envelope

Authorization: Bearer <access_token>
Content-Type: application/json
{
  "code": 0,
  "msg": { ... }
}
codeÝ nghĩa
0OK
-1Unknown / JWT invalid
-2Invalid input
69Wrong state — chưa /gameplay
1000Popup i18n

4. Grid & symbol

Top reel (4 ô, index cột 6) nằm trên board 6×5. Row 0 = trên cùng.

Top reel

13
5
11
8

Main 6×5

0
0
11
3
4
12
5
6
7
8
9
10
1
2
14
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3

Ô vàng = ways thắng. 11 Wild xanh. 12 Scatter. 13–16 rương (ô xanh dương trên top).

idSymbol
0–4A / K / Q / J / 10
5Genie
6Jasmine
7King
8Lamp
9Carpet
10Abu
11Wild
12Scatter
13–16TreasureChest ×1 / ×2 / ×3 / ×4

5. GET /api/v1/jackpot

GET /api/v1/jackpot
FieldTypeÝ nghĩa
mini_jackpotint64Meter mini
grand_jackpotint64Meter grand
betint64Bet gắn meter
{
  "code": 0,
  "msg": { "mini_jackpot": 88000, "grand_jackpot": 4200000, "bet": 1000 }
}

6. GET /api/v1/gameplay

GET /api/v1/gameplay
FieldTypeClient dùng để
user_moneyint64Chip
bet / bets / show_betsBet UI
pay_tablefloat[][]Paytable paying symbols
is_free_spinboolRestore FS
free_spins / max_free_spinsintThanh FS
free_spin_potint64Pot line win (chưa credit)
free_spin_multiplierint64Bank multiplier trong FS
init_reelsint[][]Preview: 7 cột (6 main + top 4 ô)
{
  "code": 0,
  "msg": {
    "user_money": 500000, "bet": 1000,
    "bets": [200, 1000, 2000, 10000], "show_bets": [200, 1000, 2000, 10000],
    "pay_table": [[50,20,10],[25,10,5],[15,8,4],[10,5,2],[8,3,1.5],[20,8,3],[15,6,2],[12,5,2],[8,3,1],[5,2,0.8],[4,1.5,0.5]],
    "is_free_spin": false, "free_spins": 0, "max_free_spins": 0, "free_spin_pot": 0,
    "free_spin_multiplier": 0,
    "init_reels": [[0,5,1,3,9],[0,6,2,4,10],[11,7,14,5,0],[3,8,0,6,1],[4,9,1,7,2],[12,10,2,8,3],[13,5,11,8]]
  }
}

7. POST /api/v1/spins

POST /api/v1/spins
{ "bet": 1000 }

SpinResult

FieldTypeÝ nghĩa
betint64Bet server
user_moneyint64Chip sau response (đã cộng jackpot nếu có)
win_amountint64Base: win đã credit. FS giữa: win spin. FS xong: pot
is_free_spin / free_spins / max_free_spinsFS state
free_spin_potint64Pot
is_finish_free_spinboolCredit pot line-win
is_bonus_free_spinboolVừa award FS
number_of_bonus_free_spinsint+N popup
free_spin_init_multiplierint64Multiplier khởi tạo khi vào FS
multiplierint64Multiplier hiện tại sau spin
jackpot_win_amountint64Tổng JP credit ngay (kể cả mid-FS)
mini_jackpot / grand_jackpotint64Meter sau spin
win_resultWinResult[]Chuỗi tumble

WinResult / WinLine

FieldÝ nghĩa
reelsBoard trước khi xóa ô thắng (gồm top reel)
linesWays thắng. symbol, positions, win_amount, line_size, number_of_lines
positionsMọi ô thắng bước này
treasure_chestVị trí rương
multiplier / bonus_multiplierHệ số bước
win_amount / total_win_amountWin bước / cộng dồn
mega_waysSố ways bước này
is_long_wild / is_super_wildFlag animation wild
mini_jackpot_win_amount / grand_jackpot_win_amountJP bước này
mini_jackpot / grand_jackpotMeter sau bước
{
  "code": 0,
  "msg": {
    "bet": 1000, "user_money": 512000, "win_amount": 8000,
    "is_free_spin": false, "free_spins": 12, "free_spin_pot": 0,
    "is_finish_free_spin": false, "is_bonus_free_spin": true, "number_of_bonus_free_spins": 12,
    "max_free_spins": 12, "free_spin_init_multiplier": 1, "multiplier": 2,
    "jackpot_win_amount": 88000, "mini_jackpot": 5000, "grand_jackpot": 4200000,
    "win_result": [{
      "lines": [{ "symbol": 0, "positions": [[0],[0],[0],[],[],[],[]], "win_amount": 8000, "line_size": 3, "number_of_lines": 2 }],
      "reels": [[0,5,1,3,9],[0,6,2,4,10],[11,7,14,5,0],[3,8,0,6,1],[4,9,1,7,2],[12,10,2,8,3],[13,5,11,8]],
      "positions": [[0],[0],[0],[],[],[],[]],
      "treasure_chest": [[],[],[2],[],[],[],[0]],
      "multiplier": 2, "bonus_multiplier": 0, "win_amount": 8000, "total_win_amount": 8000,
      "mega_ways": 3240, "is_long_wild": false, "is_super_wild": false,
      "mini_jackpot_win_amount": 88000, "grand_jackpot_win_amount": 0,
      "mini_jackpot": 5000, "grand_jackpot": 4200000
    }]
  }
}

8. Tumble / animation

  1. Vẽ 6 cột main + hàng top từ reels[6].
  2. Highlight positions / từng line. Hiện mega_ways.
  3. Nếu is_long_wild / is_super_wild → animation wild phủ cột.
  4. Rương: đọc treasure_chest, nhân multiplier / bonus_multiplier.
  5. JP bước: popup mini/grand, cập nhật meter, chip đã nằm trong user_money top-level.
  6. Xóa ô thắng, gravity, board tiếp = win_result[i+1].reels.
Line win FS đi vào pot. Jackpot không đợi hết FS — credit mid-feature.

9. Free spins

10. Cheat (chỉ non-prod)

{
  "bet": 1000,
  "reels": [
    [0,5,1,3,9],[0,6,2,4,10],[11,7,14,5,0],
    [3,8,0,6,1],[4,9,1,7,2],[12,12,12,8,3],[13,5,11,8]
  ]
}

7 cột: 6×5 + top 4 ô. Production bỏ qua, luôn random.

11. Error & tiền

Tình huốngHành vi client
HTTP 401Relogin
code 69GET /gameplay lại
code 1000Popup i18n
HTTP 400 blockedUser đang room PvP
EventChip
Base spin−bet; +line win
Jackpot (kể cả mid-FS)+jackpot_win_amount ngay
FS giữa chừngLine win vào pot, chưa cộng chip
FS kết thúc+pot

12. Checklist client