Files
JianMiauandClaude Fable 5 ebe8c3caca 初始化 Line_Project_Bot:LP_Bot 重構版(介面重設計+平台環境改讀試算表)
根本原因:
LP_Bot 介面老舊且環境設定寫死在程式內,新增平台或環境都要改碼重建。

影響:
全新深色控制台介面;首頁改為「平台+環境+Token」,平台清單與連線設定
即時讀取 Google 試算表(quickopen 同款資料來源),選擇與 Token 會記憶於
localStorage;支援「開遊戲」直開跳過維護網址;SD 機台自製 Spin 面板
(押注/延遲/倍率停/轉數停+Log 終端)。

修法:
- 底層引擎(Engine/Common/define/FormTable*)自 LP_Bot 原封搬移
- UI 層全部重寫(Login/Lobby/SlotList/SDGame),antd 深色主題
- 新增 GoogleSheetService:service account 簽 JWT 讀 Sheets API,
  非安全來源 fallback jsrsasign
- 移除 React.StrictMode(雙重掛載會讓 NetManagerSD 單例連線互蓋)
- SD socket 依 gameUrl 協定強制 wss
- 機台 1310/1311/1801/1803/1804/1805 Spin 帶 mode:0 特例
  (依 SD3 客戶端 MainState 原始碼)
- credentials.json 不進版控,附 credentials.example.json 範本

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-03 11:04:49 +08:00

42 lines
4.0 KiB
JSON

{
"#slot_029#wheel_client" :
{
"cols" : ["Id","SymbolList"],
"rows" : [[1,[3,0,8,0,1,0,5,0,4,0,2,0,7,0,6,0,3,0,5,0,6,0,1,0,4,0,8,0,7,0,2,0,3,0,4,0,6,0,2,0,8,0,5,0,1,0,7,0,3,0,1,0,6,0,4,0,8,0,2,0,7,0,5,0]],[2,[3,0,8,0,1,0,5,0,4,0,2,0,7,0,6,0,3,0,5,0,6,0,1,0,4,0,8,0,7,0,2,0,3,0,4,0,6,0,2,0,8,0,5,0,1,0,7,0,3,0,1,0,6,0,4,0,8,0,2,0,7,0,5,0]],[3,[3,0,8,0,1,0,5,0,4,0,2,0,7,0,6,0,3,0,5,0,6,0,1,0,4,0,8,0,7,0,2,0,3,0,4,0,6,0,2,0,8,0,5,0,1,0,7,0,3,0,1,0,6,0,4,0,8,0,2,0,7,0,5,0]]]
},
"#slot_029#wheel" :
{
"cols" : ["Id"],
"rows" : []
},
"#slot_029#wheel_form" :
{
"cols" : ["Id"],
"rows" : []
},
"#slot_029#sound" :
{
"cols" : ["Id","Type","PathZnTw"],
"rows" : [[901,1,"sounds/Slot/Common/Event_GetCoins"],[902,1,"sounds/Slot/Common/Event_GetCoins_Win"],[903,1,"sounds/Slot/Common/Event_GetCoins_Big"],[904,1,"sounds/Slot/Common/Event_GetCoins_Mega"],[905,1,"sounds/Slot/Common/Event_Bigwin_Skip"],[1011,1,"sounds/Slot/Default/Event_Bet_01"],[1012,1,"sounds/Slot/Default/Event_Bet_08"],[29001,2,"sounds/Slot/Slot29/3x3_Base_BGM"],[29002,1,"sounds/Slot/Default/Event_Click"],[29003,1,"sounds/Common/Lobby_InToMechine"],[29011,1,"sounds/Slot/Default/Event_Bet_01"],[29012,1,"sounds/Slot/Default/Event_Bet_01"],[29013,1,"sounds/Slot/Default/Event_Bet_02"],[29014,1,"sounds/Slot/Default/Event_Bet_02"],[29015,1,"sounds/Slot/Default/Event_Bet_03"],[29016,1,"sounds/Slot/Default/Event_Bet_03"],[29017,1,"sounds/Slot/Default/Event_Bet_04"],[29018,1,"sounds/Slot/Default/Event_Bet_04"],[29019,1,"sounds/Slot/Default/Event_Bet_05"],[29020,1,"sounds/Slot/Default/Event_Bet_05"],[29021,1,"sounds/Slot/Default/Event_Bet_06"],[29022,1,"sounds/Slot/Default/Event_Bet_06"],[29023,1,"sounds/Slot/Default/Event_Bet_07"],[29024,1,"sounds/Slot/Default/Event_Bet_07"],[29025,1,"sounds/Slot/Default/Event_Bet_08"],[29026,1,"sounds/Slot/Default/Event_Bet_08"],[29027,1,"sounds/Slot/Default/Event_Bet_09"],[29028,1,"sounds/Slot/Default/Event_Bet_09"],[29029,1,"sounds/Slot/Default/Event_Bet_10"],[29030,1,"sounds/Slot/Default/Event_Bet_10"],[29071,1,"sounds/Slot/Default/Event_ReelStop_01"],[29072,1,"sounds/Slot/Default/Event_ReelStop_01"],[29073,1,"sounds/Slot/Default/Event_ReelStop_01"],[29074,1,"sounds/Slot/Default/Event_ReelStop_01"],[29075,1,"sounds/Slot/Default/Event_ReelStop_01"],[29091,1,"sounds/Slot/Default/Event_AllLineWin"],[29096,2,"sounds/Slot/Default/Event_BigWinMusic"],[29097,2,"sounds/Slot/Default/Event_BigWinMusic"],[29098,2,"sounds/Slot/Default/Event_BigWinMusic"],[29099,2,"sounds/Slot/Default/Event_BigWinMusic"],[29100,2,"sounds/Slot/Default/Event_BigWinMusic"],[29101,1,"sounds/Slot/Default/Event_Bigwin_PartA"],[29102,1,"sounds/Slot/Default/Event_Bigwin_PartB"],[29103,1,"sounds/Slot/Default/Event_Bigwin_PartC"],[29105,1,"sounds/Slot/Default/Event_Bigwin_A"],[29106,1,"sounds/Slot/Default/Event_Bigwin_B"],[29107,1,"sounds/Slot/Default/Event_Bigwin_C"],[29108,1,"sounds/Slot/Default/Event_Bigwin_D"],[29111,2,"sounds/Slot/Default/Event_JackPot"],[29112,2,"sounds/Slot/Default/Event_JackPot"],[29113,2,"sounds/Slot/Default/Event_JackPot"],[29114,2,"sounds/Slot/Default/Event_JackPot"],[29115,2,"sounds/Slot/Default/Event_JackPot"],[29121,1,"sounds/Slot/Default/Event_GotScore"]]
},
"#slot_029#line" :
{
"cols" : ["Id","LineId"],
"rows" : [[1,14]]
},
"#slot_029#pay" :
{
"cols" : ["Id","X1","X2","X3"],
"rows" : [[0,0,0,0],[1,0,0,0],[2,0,0,0],[3,0,0,50],[4,0,0,40],[5,0,0,30],[6,0,0,20],[7,0,0,10],[8,0,0,0]]
},
"#slot_029#symbol" :
{
"cols" : ["Id","PicIndex","SameShift"],
"rows" : [[0,null,0],[1,null,1],[2,null,1],[3,null,0],[4,null,0],[5,null,0],[6,null,0],[7,null,0],[8,null,0]]
},
"#slot_029#fixed" :
{
"cols" : ["Id","BValue","CValue"],
"rows" : [[1,1,null],[3,1,null],[4,0,null],[5,0,null],[6,0,null],[7,1,null],[1001,10,null],[1002,3,null],[1011,50,null],[1012,30,null],[1013,10,null],[1014,5,null],[1021,2,null],[1022,5,null],[1023,10,null],[2001,null,0],[2002,null,0],[2003,null,100],[2004,null,25],[2005,null,75],[2011,null,0],[2012,null,0],[2013,null,100],[2014,null,25],[2015,null,75]]
}
}