872 lines
48 KiB
JSON
872 lines
48 KiB
JSON
[
|
|
{
|
|
"n": 1,
|
|
"name": "แต่งตัวไม่ได้",
|
|
"detail": "แต่งตัวยังไม่ได้ มีพี่คิวทำได้คนเดียว",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "LobbyA"
|
|
},
|
|
{
|
|
"n": 2,
|
|
"name": "ตัวละครไม่แสดง",
|
|
"detail": "หน้าเลือกเกม Quiz battle ภาพตัวละครไม่แสดง",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "Minigame 1"
|
|
},
|
|
{
|
|
"n": 3,
|
|
"name": "ระบบ join เกมมีปัญหา",
|
|
"detail": "เมื่อเข้ามินิเกม : บางคนเล่นเกมกะบอท บางคนเล่นกะเพื่อน แต่ละคนเข้ามินิเกมแล้วเจอกันบ้าง ไม่เจอกันบ้าง",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 4,
|
|
"name": "ระบบ Host มีปัญหา - 1",
|
|
"detail": "เป็น host ในเกม ตอนที่เลือกผู้ต้องสงสัย รอบที่ 2 ระบบบอกว่าให้รอ host ไม่สามารถเลือกการ์ดและกดเริ่มสืบสวนได้",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "LobbyB"
|
|
},
|
|
{
|
|
"n": 5,
|
|
"name": "ระบบ Host มีปัญหา - 2",
|
|
"detail": "เมื่อกดออกจากเกม Host เปลี่ยนจากพี่ต้อมเป็นพี่คิวอัติโนมัติ",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 6,
|
|
"name": "ระบบ Host มีปัญหา - 3",
|
|
"detail": "เมื่อเข้ามินิเกม ทุกคนเห็นตัวเองเป็น host หมดเลย แต่กดเริ่มเกมไม่ได้",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 7,
|
|
"name": "ระบบสีตัวละคร ยังใช้ไม่ได้",
|
|
"detail": "สีตัวละครเปลี่ยนไปเรื่อย ไม่รุ้ว่าเราสีอะไรแน่ งงไปหมด",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 8,
|
|
"name": "หน้าเข้าร่วมเกมส์",
|
|
"detail": "ห้องไหนที่เริ่มเกมส์ไปแล้ว เมื่อกดเข้าร่วมแสดง popup alert error ปรับดีไซต์ให้สวยงามกว่านี้",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 9,
|
|
"name": "เกมวิ่งขึ้นบันได ผิด flow",
|
|
"detail": "ปรับ flow ให้ถูกต้อง คือ ใครตกจอตาย แต่ถ้าขึ้นไปอยู่บนสุดแล้วจะกระโดดไม่ไปต่อเฉยๆ แต่ไม่ตาย",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "Minigame 5"
|
|
},
|
|
{
|
|
"n": 10,
|
|
"name": "เกมวิ่งขึ้นบันได",
|
|
"detail": "เวลาหมดแล้ว ให้เล่นรอบ 2 auto / รอบ 3 มี popup ให้กดเล่นต่อ",
|
|
"prio": "",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "Minigame 2"
|
|
},
|
|
{
|
|
"n": 11,
|
|
"name": "เกมยิงลูกโป่ง",
|
|
"detail": "ฉากเกมยิงลูกโป่ง (MG7 Mega Virus) เล็กไป — ต้องการให้ภาพพื้นหลัง (BG) เต็มจอ แต่การเดิน (movement) และพื้นที่เล่น (area) ต่างๆ คงเดิม",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "แก้แล้ว (deploy prod play.js?v=0.006250401): BG ของ MG7 เป็นภาพ 16:9 (1920x1080) แต่โค้ดเดิม map ภาพเข้า world rect 4:3 (640x480) ทำให้ภาพถูกบีบ + เหลือขอบดำซ้าย-ขวา = ฉากดูเล็ก. เปลี่ยนการวาด BG ของ balloon_boss เป็นแบบ cover เต็มจอ (รักษาสัดส่วน 16:9, crop ส่วนเกิน, จัดกึ่งกลาง) วาดแยกจาก world layer → กล้อง/movement/area ของเกมคงเดิมทุกอย่าง เปลี่ยนเฉพาะพื้นหลังให้เต็มจอ. ไฟล์: Game/public/js/play.js (draw loop, สาขา isBalloonBoss cover-fill).",
|
|
"cat": "Minigame 7"
|
|
},
|
|
{
|
|
"n": 13,
|
|
"name": "เข้าร่วมห้องไม่ได้",
|
|
"detail": "สร้างห้องส่วนตัวเเล้ว เเต่เพื่อนจอยเข้าไปไม่ได้ ทั้งที่กรอกข้อมูลครบ",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "LobbyA"
|
|
},
|
|
{
|
|
"n": 14,
|
|
"name": "Room ID",
|
|
"detail": "เวลาจอยห้องให้กรอกเเค่ ID กับรหัสที่สร้าง",
|
|
"prio": "ต่ำ",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 15,
|
|
"name": "จอยห้องคนอื่น",
|
|
"detail": "ในกรณีที่จอยห้องคนอื่น ไปหน้าเข้าร่วม เเละกดปุ่มเข้าร่วมไปเเล้ว จากนั้นกดปุ่ม exit จะพาไปหน้าสร้างห้อง สิ่งที่ถูกต้อง มันควรมาหน้า ห้องเข้าร่วมเกม",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "LobbyA"
|
|
},
|
|
{
|
|
"n": 16,
|
|
"name": "grid กับ ฉาก ไม่ตรงกัน",
|
|
"detail": "เกม Quiz battle เกมที่ 1 ฉากกับกริดไม่ตรงกัน ทำให้เดินทะลุ หรือเดินติดในจุดที่ไม่ควรติด",
|
|
"prio": "สูง",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "Minigame 1"
|
|
},
|
|
{
|
|
"n": 17,
|
|
"name": "ตัวละครวิ่งเร็วเกินไป",
|
|
"detail": "เกม Quiz battle เกมที่ 1 ตัวละครผู้เล่นเร็วเกินไป",
|
|
"prio": "กลาง",
|
|
"status": "เปิด",
|
|
"updated": "2026-06-25",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 18,
|
|
"name": "Oauth Social log-in error",
|
|
"detail": "ไม่สามารถ log-inด้วย facebook / Google ได้ path: /oauth-public.php",
|
|
"prio": "ต่ำ",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 19,
|
|
"name": "หน้า login",
|
|
"detail": "นโยบายความเป็นส่วนตัวกดไม่ได้",
|
|
"prio": "กลาง",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 20,
|
|
"name": "แสดงเลข version ตรงมุมจอ",
|
|
"detail": "แสดงเลข version ตรงมุมจอขวาบนหรือขวาล่างก็ได้",
|
|
"prio": "ต่ำ",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-24",
|
|
"note": "✅ แก้แล้ว 2026-06-24 v0.006242500 (รอเทส) — badge มุมขวาล่าง อ่าน ?v= อัตโนมัติ",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 21,
|
|
"name": "ลดขนาดตัวละคร",
|
|
"detail": "ลดขนาดตัวละครในห้อง lobby ลงอีก 2เท่า",
|
|
"prio": "สูง",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 22,
|
|
"name": "เปลี่ยน ui popup ตอนพูดบนหัว",
|
|
"detail": "แก้ png seq บนหัวใหม่ เป็นแบบอื่น",
|
|
"prio": "กลาง",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 23,
|
|
"name": "ชื่่อตัวละครทับลำโพง/ทับ bubble",
|
|
"detail": "ใน lobby ขยับชื่อลงมาอย่าให้ทับ",
|
|
"prio": "กลาง",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 24,
|
|
"name": "UI แต่งตัว : การแจ้งเตือนสีตัวละครถูกใช้แล้ว",
|
|
"detail": "ตอนเลือกสีให้มีคำแจ้งเตือน used",
|
|
"prio": "กลาง",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "LobbyA"
|
|
},
|
|
{
|
|
"n": 25,
|
|
"name": "เพิ่ม ข้อความแจ้งเตือนอัพเดทกลางจอ",
|
|
"detail": "ถ้ามีการอัพเดทซีน อัพเดทสีตัวละครให้มีป็อปอัพเด้งมากลางหน้าจอ ว่ามีการอัพเดทและให้รอโหลด",
|
|
"prio": "สูง",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 26,
|
|
"name": "เอาเงาตัวละครออก 1 อัน",
|
|
"detail": "ตอนนี้ตัวละครมีเงา 2 ชั้น เอาออกไป 1 ชั้น",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-24",
|
|
"note": "✅ แก้แล้ว 2026-06-24 v0.006242500 (รอเทส) — ปิด default-shadow overlay เหลือเงาในสไปรต์",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 27,
|
|
"name": "optimize ตัวละครให้เล็กลงอีก มันโหลดช้า",
|
|
"detail": "",
|
|
"prio": "สูง",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 28,
|
|
"name": "ปุ่ม start ใน lobby",
|
|
"detail": "ทำให้ดูโต้ตอบหน่อย เช่นพอเดินเข้าไปใกล้ให้มัน glow ขึ้นมา",
|
|
"prio": "กลาง",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 31,
|
|
"name": "เอา mock การ์ดผู้ต้องหาเก่าออกไป",
|
|
"detail": "มันแว่บๆมา",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ แก้แล้ว 2026-06-25 v0.006242530 (รอเทส) — ซ่อนรูปจนรูปคดีจริงโหลด + spinner",
|
|
"cat": "LobbyB"
|
|
},
|
|
{
|
|
"n": 32,
|
|
"name": "เอา popup ขออนุญาตใช้ไมค์ออกไปเลย น่ารำคาญ",
|
|
"detail": "",
|
|
"prio": "สูง",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 33,
|
|
"name": "หน้า howto เปลี่ยนสีปุ่ม ready ด้วยตอน กดready แล้ว",
|
|
"detail": "เปลี่ยนเป้นสีเขียวพร้อมเครื่องหมายถูกตามดีไซน์",
|
|
"prio": "สูง",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "LobbyA"
|
|
},
|
|
{
|
|
"n": 34,
|
|
"name": "เกม ใช่ หรือไม่ : ตอนจบบั๊ค",
|
|
"detail": "ตอนสรุปคะแนน ยังนับเวลาอยุ่ และขึ้น gameover ทับหน้าสรุปคะแนน",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-24",
|
|
"note": "✅ แก้แล้ว 2026-06-24 v0.006242500 (รอเทส) — MG1 ใช่/ไม่: capture mg1AnyScore ก่อนล้าง (gameover) + guard quiz-phase หลังจบ (timer)",
|
|
"cat": "Minigame 1"
|
|
},
|
|
{
|
|
"n": 35,
|
|
"name": "เกมวิ่ง : กดปุ่มไม่กระโดด",
|
|
"detail": "ปุ่ม jump กดแล้วไม่กระโดด",
|
|
"prio": "วิกฤต",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "Minigame 5"
|
|
},
|
|
{
|
|
"n": 36,
|
|
"name": "เกมวิ่ง : ตอนจบบั๊ค วิ่งเลยฉาก",
|
|
"detail": "ตอนจบบั๊ค วิ่งเลยฉาก (ในบางรอบ)",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-24",
|
|
"note": "✅ แก้แล้ว 2026-06-24 v0.006242500 (รอเทส) — MG2 วิ่งเลยฉาก: walk-to-finish ค่อยๆเดินเข้าเส้น + clamp ไม่เลยเส้น",
|
|
"cat": "Minigame 2"
|
|
},
|
|
{
|
|
"n": 37,
|
|
"name": "popup รับหลักฐาน ทับไมค์",
|
|
"detail": "กดไมค์ไม่ได้ ตอนรับหลักฐาน ไปดูเรื่องเลเยอร์อีกที",
|
|
"prio": "กลาง",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "LobbyB"
|
|
},
|
|
{
|
|
"n": 38,
|
|
"name": "หน้าส่งหลักฐาน ปุ่มส่งหลักฐานหลุดจอ (เครื่องของเนส)",
|
|
"detail": "เป้นเครื่องเนสคนเดียว",
|
|
"prio": "วิกฤต",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "ระบบ disconnect"
|
|
},
|
|
{
|
|
"n": 39,
|
|
"name": "ห้องส่งหลักฐาน : เมื่อมีคนหลุด 1 คน จะไปต่อไม่ได้เลย",
|
|
"detail": "",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-24",
|
|
"note": "✅ แก้แล้ว 2026-06-24 v0.006242500 (รอเทส) — testimony: disconnect ลบ submit/ready + client ใช้ totalPlayers authoritative",
|
|
"cat": "ระบบ disconnect"
|
|
},
|
|
{
|
|
"n": 40,
|
|
"name": "จำนวนคน ให้เล่นได้ตั้งแต่ 4-6 คน",
|
|
"detail": "กรณีเลือกผู้เล่นตั้งแต่ 4 คนขึ้นไปไม่ต้องมี bot",
|
|
"prio": "วิกฤต",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 41,
|
|
"name": "เกม หยิบแผ่นป้าย",
|
|
"detail": "ต้องเล่นให้ครบ 10 ข้อก่อน ค่อยจบเกม (ตอนนี้เล่นถูก 1 ข้อ จบเกมเลย)",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-24",
|
|
"note": "✅ แก้แล้ว 2026-06-24 v0.006242500 (รอเทส) — MG4 หยิบป้าย: ใช้ map จริง (currentPlayMapId) เปิด mission flow + default 10 ข้อ",
|
|
"cat": "Minigame 4"
|
|
},
|
|
{
|
|
"n": 42,
|
|
"name": "เกม กระโดด",
|
|
"detail": "ท่ากระโดดแปลก ยืนซอยเท้าทำไม",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-26",
|
|
"note": "anim ไม่ sync: ยืนบนแท่นที่เลื่อนลง world Y เปลี่ยนทุกเฟรม → ปลายทางเดา isWalking จาก delta = เห็น ซอยเท้า ตลอด. แก้: ส่ง isWalking จริงใน move (jsWalking) + ปลายทางใช้ค่านั้น (play.js ~19162/20501/24930). v0.006260100",
|
|
"cat": "Minigame 5"
|
|
},
|
|
{
|
|
"n": 43,
|
|
"name": "เกม กระโดด",
|
|
"detail": "ขั้นบันไดมันถี่ไป บางทีกระโดดแล้วเบิ้ลขั้นเลย ปรับให้ระยะห่างแต่ละขั้นมันเท่ากัน",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-26",
|
|
"note": "ขั้นถี่/ไม่เท่า → เบิ้ลขั้น+ติดรอแท่ง. แก้ layout mnptfts2: ระยะเท่ากันทุกขั้น (gap 3 แถว, rows 2/5/8/11/14/17, zigzag กว้าง6) ในโซนปลอดภัย (เลี่ยง hazard แถว 0/18/19). reach apex 4.5 > 3 = ถึงทุกขั้น (ไม่ติดรอ #43b) + ขั้นถัดไป-อีกขั้น 6 แถว > reach = กระโดดข้ามไม่ได้ (ไม่เบิ้ล). seam รอยต่อ wrap ห่าง 5 แถว 1 จุด/รอบ (h=20 หาร 3 ไม่ลง). restart service หลังแก้แมป | รอบ2: (ก) แก้ลายแท่นบิด — เดิม width เท่ากัน(6)ทำให้ภาพถูกบีบ → ตั้ง width = ขนาดจริงของรูป (เล็ก=var3 7ช่อง/212px, กลาง=var2 13ช่อง/389px) วาดได้สัดส่วนจริงไม่บิด. (ข) ติดบนสุด = seam รอยต่อ wrap 5แถว >ระยะกระโดด(apex4.5) → bump jumpSurviveJumpHeightMult 1.5→1.7 (apex 5.1) ให้ข้าม seam ได้ แต่ข้าม2ขั้น(6แถว)ยังไม่ได้. var1(ใหญ่ 46ช่อง)ใหญ่เกินแมป35 ใช้ไม่ได้ไม่บิด → ใช้ เล็ก/กลาง",
|
|
"cat": "Minigame 5"
|
|
},
|
|
{
|
|
"n": 44,
|
|
"name": "เกมกระโดด",
|
|
"detail": "อีเวนท์พิเศษ (ทนาย/เทพความรู้) หายไป",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-24",
|
|
"note": "✅ แก้แล้ว 2026-06-24 v0.006242500 (รอเทส) — MG5 อีเวนต์พิเศษ: เพิ่ม branch jump_survive วาง icon บน platform",
|
|
"cat": "Minigame 5"
|
|
},
|
|
{
|
|
"n": 45,
|
|
"name": "เกมไม่รองรับ 4K",
|
|
"detail": "หน้ารับหลักฐาน (หลังจากเล่นเกมจบ)",
|
|
"prio": "วิกฤต",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "LobbyB"
|
|
},
|
|
{
|
|
"n": 46,
|
|
"name": "เกมยิิงอุกาบาด",
|
|
"detail": "สีตัวละครยังไม่ตรงกับที่เลือกมา",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-24",
|
|
"note": "✅ แก้แล้ว 2026-06-24 v0.006242500 (รอเทส) — MG6 สี: ยาน Rocket-1..8 ตาม lobby theme ของผู้เล่น",
|
|
"cat": "Minigame 6"
|
|
},
|
|
{
|
|
"n": 47,
|
|
"name": "เกมยิิงอุกาบาด",
|
|
"detail": "อุกาบาดให้พุ่งเร็วกว่านี้ และลูกเล็กกว่านี้เกมง่ายไป",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-24",
|
|
"note": "✅ แก้แล้ว 2026-06-24 v0.006242500 (รอเทส) — MG6: อุกาบาตเร็วขึ้น (+~50%) + เล็กลง (48->34/11->8)",
|
|
"cat": "Minigame 6"
|
|
},
|
|
{
|
|
"n": 48,
|
|
"name": "เพิ่ม popup เมื่อเกมค้าง เล่นต้่อไม่ได้ ให้มีปุ่มกดออกไปหน้าแรกสุด",
|
|
"detail": "สาเหตุเกิดจากมีคนหลุดระหว่างรอ host กด",
|
|
"prio": "วิกฤต",
|
|
"status": "เปิด",
|
|
"updated": "",
|
|
"note": "",
|
|
"cat": "ระบบ disconnect"
|
|
},
|
|
{
|
|
"n": 49,
|
|
"name": "กรณีผู้เล่นหลุดออกจากเกม",
|
|
"detail": "ถ้ามีคนหลุด ให้กลายเป้นบอทแทน",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "แก้แล้ว 2026-06-25: คนออกระหว่าง LobbyB/เปลี่ยนหน้า กลายเป็นบอทสีตามคนออก (ดูบั๊ก #73)",
|
|
"cat": "ระบบ disconnect"
|
|
},
|
|
{
|
|
"n": 50,
|
|
"name": "ผู้เล่น 6 คน: บางเกมเล่นได้แค่ 5 (คนที่ 6 หายจากสรุป)",
|
|
"detail": "สรุปคะแนนฝั่ง client slice(0,5) ตัดคนที่ 6 — แก้เป็น slice(0,6) ทุกมินิเกม (MG1/3/4/5/6/7)",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-24",
|
|
"note": "✅ แก้แล้ว 2026-06-24 v0.006242500 (รอเทส)",
|
|
"cat": "Minigame 1"
|
|
},
|
|
{
|
|
"n": 51,
|
|
"name": "ผู้เล่น 6 คน: คะแนนตอนจบไม่ตรงกันแต่ละจอ",
|
|
"detail": "MG1 merge คะแนน server / MG6,7 merge คะแนน host -> ครบ 6 ตรงกัน (MG3 ยัง local)",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-24",
|
|
"note": "✅ แก้แล้ว 2026-06-24 v0.006242500 (รอเทส)",
|
|
"cat": "Minigame 6"
|
|
},
|
|
{
|
|
"n": 52,
|
|
"name": "หน้าไต่สวน/สรุปหลักฐาน: กรอบปลิ้นตอน 6 คน",
|
|
"detail": "member row grid repeat(5)->repeat(6) ใน testimony-overlay.css (คนที่6 ตกแถว2)",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ แก้แล้ว 2026-06-25 v0.006242530 (รอเทส)",
|
|
"cat": "LobbyB"
|
|
},
|
|
{
|
|
"n": 53,
|
|
"name": "เพิ่มหน้าโหลด (loading) ตอนเข้าเกม",
|
|
"detail": "overlay spinner กันเห็นจอเปล่า/asset แว่บ ซ่อนเมื่อ draw เฟรมแรก + safety 8s",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ แก้แล้ว 2026-06-25 v0.006242530 (รอเทส)",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 54,
|
|
"name": "host โหลดนานมากตอนเข้าเกม",
|
|
"detail": "optimize asset/char (เกี่ยว row 28) — loading overlay ช่วยซ่อน แต่ยังโหลดช้าจริง",
|
|
"prio": "สูง",
|
|
"status": "เปิด",
|
|
"updated": "2026-06-25",
|
|
"note": "loading overlay บังอาการแล้ว · root = canvas tint ภาพตัวละครใหญ่ (source ไม่อยู่ใน repo) → ต้อง optimize ภาพแยก",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 55,
|
|
"name": "หลังออกจาก LobbyA ไม่ให้ใครเข้า join",
|
|
"detail": "server มี joinLocked (set ตอน LobbyA->case ~8656, check ~7585 whitelist nickname) — ต้อง repro ว่าใครเข้าได้ยังไง (room list ยังโชว์? ชื่อซ้ำ whitelist?)",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ แก้แล้ว 2026-06-25 — กรองห้อง joinLocked ออกจาก /api/spaces list (ห้องเริ่มคดีแล้วหาย) + server reject อยู่แล้ว",
|
|
"cat": "LobbyB"
|
|
},
|
|
{
|
|
"n": 56,
|
|
"name": "ตอนกลับ LobbyB โชว์รูปแรกก่อนแล้วค่อยถูก",
|
|
"detail": "เหมือน #1 การ์ด — ต้องใส่ loading state ตอน return LobbyB ด้วย (มี room-loading-overlay อยู่แต่ซ่อนเร็วไป)",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ แก้แล้ว 2026-06-25 v0.0308 — การ์ดมี spinner (#1) + room-loading overlay ใส่ % + รอ char preload เสร็จก่อนซ่อน + safety 12s",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 57,
|
|
"name": "เล่นมินิเกมเกิน 3 ครั้งต่อผู้ต้องสงสัย (+การ์ดพิเศษโผล่รอบที่4)",
|
|
"detail": "server cap suspect-pick-start (max หลักฐาน>=3 reject) + award cap 3 + client canInvestigateSuspect<3 (เดิม stub return true). UI messaging มีอยู่แล้ว",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ แก้แล้ว 2026-06-25 v0.0309/server (รอเทส)",
|
|
"cat": "LobbyB"
|
|
},
|
|
{
|
|
"n": 58,
|
|
"name": "ปุ่ม \"เล่นเกมต่อ\" ไม่รู้ว่าค้างหรือรอคนอื่น",
|
|
"detail": "text \"รอผู้เล่นอื่น (X/Y)\" ถูก set อยู่แล้วแต่ CSS font-size:0 ซ่อน → เพิ่ม .is-waiting CSS โชว์ข้อความ+spinner แทนรูปปุ่ม",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ แก้แล้ว 2026-06-25 v0.0309/server (รอเทส)",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 59,
|
|
"name": "loading ไม่คลุม scene transition (เห็นฉากเก่าก่อนเปลี่ยน)",
|
|
"detail": "LobbyA->B (in-page swap) โชว์ room-loading ระหว่าง fetch+swap · LobbyB->เกม โชว์ overlay ก่อน location.href · play.html มี overlay รับช่วง",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ แก้แล้ว 2026-06-25 v0.0309/server (รอเทส)",
|
|
"cat": "LobbyA"
|
|
},
|
|
{
|
|
"n": 60,
|
|
"name": "ทำหน้า testcase บนเซิร์ฟเวอร์",
|
|
"detail": "srv1361159.hstgr.cloud/testcase — bug list + filter/search/นับสถานะ generate จาก xlsx",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ แก้แล้ว 2026-06-25 v0.0309/server (รอเทส)",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 62,
|
|
"name": "MG1/MG4 user/bot ติดกัน (เดินไม่ผ่าน)",
|
|
"detail": "เพิ่ม anti-stuck: ดันชนเพื่อน → เขย่า (shake) + ปลดล็อกเดินผ่านกันชั่วคราว คงกำแพง/area/quiz-lock; ทั้งผู้เล่นและบอท",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ แก้แล้ว 2026-06-25 v0.006250100 (รอเทส)",
|
|
"cat": "Minigame 4"
|
|
},
|
|
{
|
|
"n": 63,
|
|
"name": "LobbyA มือถือ กดเดินไม่ได้",
|
|
"detail": "lobby canvas มีแค่ dblclick (ไม่มี touch) → มือถือแตะเดินไม่ได้. แก้: เพิ่ม tap-to-walk (เฉพาะ touch, PC ยัง dblclick) + DPI-safe coord + touch-action:none + zoom-out default บนจอ<600px (PC ย่อส่วน)",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ แก้แล้ว 2026-06-25 room-lobby.js?v=0.0310 (รอเทสมือถือ) · PC ไม่กระทบ",
|
|
"cat": "LobbyA"
|
|
},
|
|
{
|
|
"n": 64,
|
|
"name": "มือถือ: ปุ่มแชท AI ใหญ่ไป + ปุ่ม F (host) ไม่มี",
|
|
"detail": "AI chat collapsed btn 213x201px → ใหญ่บนมือถือ. + การกด F (interact: host เลือกระดับ/คดี, ห้องแต่งตัว) ไม่มีบนมือถือ",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ แก้แล้ว 2026-06-25 (css 0.0176/js 0.0311): media<600px ย่อปุ่ม AI (92px) + ปุ่มลอย \"โต้ตอบ(F)\" บน touch-primary device (dispatch synthetic KeyF). PC ไม่เห็น",
|
|
"cat": "LobbyB"
|
|
},
|
|
{
|
|
"n": 65,
|
|
"name": "อีเวนต์พิเศษ (ทนาย/เทพ) = 1 ใน 3 (ตามดีไซน์)",
|
|
"detail": "ดีไซน์: 3 เกม/LobbyB เล่นได้เกมละ 3 ครั้ง · อีเวนต์พิเศษ 1/3 ต่อครั้ง (1 ใบ) · Test Mode บังคับ. revert การแก้ \">1 ต่อรอบ\" กลับเป็น 1 ใบ/ครั้งที่ติด",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ revert 2026-06-25 — กลับเป็น 1/3 (1 ใบ/ครั้งที่ติด) ตามดีไซน์ · ยืนยันโครงสร้าง 3เกม×3ครั้ง + disruptor toggle (>4คน/Test Mode) ถูกต้อง",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 66,
|
|
"name": "host หลุด → ย้าย host ให้คนอยู่นานสุด",
|
|
"detail": "pickNextHostPeer เลือก spawnJoinOrder ต่ำสุด (เสถียรข้าม reconnect) แทน Map-first + host จริง reclaim ได้",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ แก้แล้ว 2026-06-25 (server) — Part 1 host migration",
|
|
"cat": "ระบบ disconnect"
|
|
},
|
|
{
|
|
"n": 67,
|
|
"name": "คนหลุดกลางเกม → 10 วิ reconnect + บอทเล่นแทน",
|
|
"detail": "peer-disconnect-grace แบนเนอร์นับ 10 วิ · กลับทัน=cancel เล่นต่อ · ครบเวลา=peer-bot-takeover host เติมบอท 1 ตัว (rebalance, cap≤6). บอทไม่สืบทอดตำแหน่ง/คะแนน",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ แก้แล้ว 2026-06-25 (server+play.js v0.006250400) — Part 2 แบบ A · seamless(host คุม entity เดิม)=ค้าง(เสี่ยง)",
|
|
"cat": "ระบบ disconnect"
|
|
},
|
|
{
|
|
"n": 69,
|
|
"name": "UI ห้องเกม (LobbyA) มือถือแนวนอน — ย่อให้พอดี",
|
|
"detail": "room-lobby ไม่มี landscape media query → chat panel(576x525), ปุ่ม voice/แว่น/ถ้วย(80px), AI chat ล้น/ใหญ่บนแนวนอน. เพิ่ม @media(landscape+max-height:540px) ย่อตามความสูงจอ (อิง Main-Lobby pattern)",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "✅ แก้แล้ว 2026-06-25 room-lobby.css?v=0.0177 — chat/BR buttons/AI/ready/exit · overlay หลักฐาน-อันดับ (inline/JS) ยังต้องทำแยก",
|
|
"cat": "LobbyB"
|
|
},
|
|
{
|
|
"n": 70,
|
|
"name": "การ์ดรางวัลหลักฐาน มือถือใหญ่เกิน กดปุ่มไม่ได้",
|
|
"detail": "หน้าโชว์การ์ดรางวัล \"คุณได้รับหลักฐาน!\" (หลังจบมินิเกมสืบสวน) บนมือถือการ์ดใหญ่มากจนเนื้อหา+ปุ่ม \"เก็บเข้าแฟ้ม\" หลุดล่างจอ กดปิดไม่ได้",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "แก้แล้ว (deploy prod play.js?v=0.006250402): ทำ overlay เป็น scroll container + inner margin:auto (กัน flexbox clip ด้านบนเวลาเนื้อหาสูงเกินจอ) + คุมขนาดการ์ด/หัวข้อ/ปุ่มด้วย clamp ตาม viewport (การ์ด max-width min(72vw,360px) + max-height 52vh, ปุ่ม font/padding clamp). มือถือแนวตั้งเลื่อนถึงปุ่มได้เสมอ. ไฟล์: Game/public/js/play.js (showInSceneEvidenceReveal).",
|
|
"cat": "ระบบ disconnect"
|
|
},
|
|
{
|
|
"n": 71,
|
|
"name": "หน้าผลชนะ (โพเดียม) ตัวละครลอย ไม่ยืนบนพื้น",
|
|
"detail": "หน้า \"ยินดีด้วย ทีมนักสืบ ชนะ!\" ตัวละครผู้ชนะลอยอยู่กลางอากาศ ไม่ยืนบนพื้นเวที",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "แก้แล้ว (deploy prod room-lobby.js?v=0.0312): พื้นหลัง win-bg เดิม center/cover ทำให้พื้นเวทีถูก crop เลื่อน + podium ตั้ง bottom:9% ตัวละครเลยลอย. แก้เป็น (1) ปักพื้นหลังไว้ขอบล่าง background-position:center bottom -> พื้นเวทีติดขอบล่างจอเสมอทุกสัดส่วน (2) ลด podium bottom 9% -> 2% ให้ตัวละครยืนบนพื้น. ไฟล์: Game/public/js/room-lobby.js (injectFinalResultStyle, #trial-final-podium).",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"n": 72,
|
|
"name": "ป๊อปอัปขอสิทธิ์ไมค์ เด้งทุกครั้งที่เข้า Lobby",
|
|
"detail": "หน้าขอสิทธิ์ไมโครโฟน (mic-permission-overlay) เด้งขึ้นทุกครั้งที่เข้า LobbyA/LobbyB น่ารำคาญ ทั้งที่เบราว์เซอร์จำสิทธิ์ให้แล้ว",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "แก้แล้ว (deploy prod room-lobby.js?v=0.0313): เดิม overlay เป็น display:flex default จึงเด้งทุกครั้งที่โหลดหน้า. เพิ่มตรวจสิทธิ์ผ่าน navigator.permissions.query(microphone) + จำสถานะใน localStorage (justiceMicPromptHandled). แสดงเฉพาะครั้งแรกที่ยังไม่เคยตัดสินใจ (permission=prompt และยังไม่เคยกดอนุญาต/ปิด); ถ้า granted แล้ว/เคยจัดการแล้ว → ซ่อนทันที (มี inline script กันแฟลชก่อน paint). ปุ่ม 🎤 ขอสิทธิ์ไมค์ ในห้องยังใช้ขอใหม่ได้. ไฟล์: room-lobby.html (inline gate) + room-lobby.js (gateMicPermissionOverlay, hideMicPermissionOverlay).",
|
|
"cat": "LobbyA"
|
|
},
|
|
{
|
|
"n": 73,
|
|
"name": "คนออก LobbyB / ช่วงเปลี่ยนหน้า → ไม่เติมบอท + ค้างรอผู้เล่น เริ่มเกมต่อไม่ได้",
|
|
"detail": "คนหลุดระหว่างนั่งอยู่ LobbyB หรือช่วงเปลี่ยนหน้า minigame→LobbyB เดิมไม่ถูกเติมบอทแทน + ยังถูกนับใน roster คดี → host กดเริ่มสืบสวนรอบต่อไปไม่ได้ ค้าง รอผู้เล่น (x/y) ตลอดไป",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-25",
|
|
"note": "ขยาย grace+bot-takeover gate ให้ครอบ LobbyB/คดีล็อก ไม่ใช่แค่ minigame active (server.js ~8921: inCaseFlowForBot = detectiveMinigameActive || serverMapIsPostCaseLobbyB || (joinLocked && caseParticipantNicknames.size>0)). คนออก→หลัง grace 10วิ ลบจาก roster + เติมบอทสีตามคนออก + presence ใหม่ → allHere=true เล่นต่อได้. + ส่ง botSlotCount ใน lobby-tint-sync (server.js ~121) + client อัปเดต lobbyBotSlotCount ก่อน render (room-lobby.js ~768) ให้บอทโผล่ทันทีไม่ต้อง re-join. v0.0323",
|
|
"cat": "ระบบ disconnect"
|
|
},
|
|
{
|
|
"n": 74,
|
|
"name": "แถวหน้าตัวละคร (ready ใต้ปุ่ม HOW TO) ค้างบนจอระหว่างเล่นเกม",
|
|
"detail": "หลังกด HOW TO/Ready แล้วเริ่มเกม กล่องแถว avatar คนที่กด ready (ใต้ปุ่ม) ไม่ถูกซ่อน ค้างอยู่กลางจอล่างทับฉากเกม (เห็นชัดใน MG3 stack) — กระทบ MG1/3/5/6",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-26",
|
|
"note": "กล่องลอย #gch-ready-avatars-float ถูกซ่อนเฉพาะ MG2 (dismissGauntletCrownHowtoOverlayPlay) + MG4 (quiz_carry) เท่านั้น. begin*CountdownThenRun ของ MG1/3/5/6 (stack/jump/space/quiz) ตั้ง gauntletCrownHowtoVisible=false แต่ไม่เรียก hideReadyAvatarsFloat() → กล่องค้าง display:flex ทั้งเกม (ไม่มี driver เรียกใหม่ตอน live). แก้: เพิ่ม hideReadyAvatarsFloat() ในทั้ง 4 ฟังก์ชันเริ่มเกม (play.js). v0.006260101",
|
|
"cat": "อื่นๆ"
|
|
},
|
|
{
|
|
"name": "block สีไม่ตรงในฝั่ง client",
|
|
"detail": "",
|
|
"prio": "กลาง",
|
|
"status": "เปิด",
|
|
"note": "",
|
|
"cat": "Minigame 3",
|
|
"updated": "2026-06-26",
|
|
"n": 75
|
|
},
|
|
{
|
|
"name": "บางที client บางคนเล่นไม่ได้",
|
|
"detail": "",
|
|
"prio": "กลาง",
|
|
"status": "เปิด",
|
|
"note": "",
|
|
"cat": "Minigame 3",
|
|
"updated": "2026-06-26",
|
|
"n": 76
|
|
},
|
|
{
|
|
"name": "เปลี่ยนปุมลำโพง",
|
|
"detail": "",
|
|
"prio": "กลาง",
|
|
"status": "เปิด",
|
|
"note": "",
|
|
"cat": "LobbyA",
|
|
"updated": "2026-06-26",
|
|
"n": 77
|
|
},
|
|
{
|
|
"n": 78,
|
|
"name": "Lobby: คน/บอท วิ่งเร็วเท่ากันทุกเครื่อง",
|
|
"detail": "เดิมจอ FPS สูงเดินเร็วกว่า — แก้เป็น time-based ความเร็วเท่ากันทุกเครื่อง",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-26",
|
|
"note": "วิธีเทส: เปิด 2 เครื่อง/2 แท็บ เข้า LobbyA ห้องเดียวกัน เดินพร้อมกัน → ความเร็วต้องเท่ากัน และดูบอทเดินสม่ำเสมอ",
|
|
"cat": "LobbyA"
|
|
},
|
|
{
|
|
"n": 79,
|
|
"name": "Lobby: บอทเดินเองโดย server (host หลุดไม่หยุด)",
|
|
"detail": "ย้ายการเดินบอท lobby จาก host → server",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-26",
|
|
"note": "วิธีเทส: LobbyA มีบอท → ให้ host (คนสร้างห้อง) รีเฟรช/ออก → บอทต้องเดินต่อ ไม่หยุดนิ่ง",
|
|
"cat": "LobbyA"
|
|
},
|
|
{
|
|
"n": 80,
|
|
"name": "Lobby: ผีหาย (avatar ไม่ซ้ำ)",
|
|
"detail": "server ส่ง roster ทุก 1.5s → client ตัดตัวซ้ำ",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-26",
|
|
"note": "วิธีเทส: เข้า LobbyA/B แล้วรีเฟรช/เข้า-ออกซ้ำ 2-3 รอบ → ต้องไม่มีตัวละครซ้ำค้าง (รอ ~2วิ ผีหายเอง)",
|
|
"cat": "LobbyA"
|
|
},
|
|
{
|
|
"n": 81,
|
|
"name": "Lobby: บอทเกิดในห้อง ตำแหน่งเดียวกับคน",
|
|
"detail": "เดิมบอทเกิดนอกพื้นที่/ซ้อนกัน — แก้ให้เกิดที่ช่อง spawn ผู้เล่น",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-26",
|
|
"note": "วิธีเทส: เข้า LobbyA ที่มีบอท → บอทต้องเกิดในห้อง (ไม่หลุดออกนอก area) แต่ละตัวคนละช่อง",
|
|
"cat": "LobbyA"
|
|
},
|
|
{
|
|
"n": 82,
|
|
"name": "MG1: หน้า How-to ใหม่ (SAFE/SCAM)",
|
|
"detail": "เปลี่ยน how-to เป็น \"วิเคราะห์ภัยร้าย\" (เดิมเป็นดีไซน์ MG4)",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-26",
|
|
"note": "วิธีเทส: เข้า MG1 → หน้า HOW TO PLAY ต้องเป็น \"วิเคราะห์ภัยร้าย ปกป้องระบบให้ปลอดภัย\" มี SAFE/SCAM + การ์ด COMMON/RARE/LEGENDARY",
|
|
"cat": "Minigame 1"
|
|
},
|
|
{
|
|
"n": 83,
|
|
"name": "MG1: ปุ่ม READY 2 สถานะ",
|
|
"detail": "ยังไม่กด=ฟ้า / กดแล้ว=เขียว+เครื่องหมายถูก",
|
|
"prio": "ต่ำ",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-26",
|
|
"note": "วิธีเทส: หน้า ready MG1 → ปุ่มฟ้า · กด → เขียวมี ✓ · กดอีกที → กลับฟ้า",
|
|
"cat": "Minigame 1"
|
|
},
|
|
{
|
|
"n": 84,
|
|
"name": "MG1: auto-start เมื่อทุกคน ready",
|
|
"detail": "ครบ ready → server เริ่มเอง ไม่ต้องรอ host กด START",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-26",
|
|
"note": "วิธีเทส: ทุกคนกด READY ครบ → เกมเริ่มเอง (นับ 3-2-1) ไม่ต้องมีใครกด START · ลองให้ host ออกก่อนคนสุดท้าย ready → ยังเริ่มได้",
|
|
"cat": "Minigame 1"
|
|
},
|
|
{
|
|
"n": 85,
|
|
"name": "MG1: คน/บอท วิ่งเร็วเท่ากัน",
|
|
"detail": "movement time-based",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-26",
|
|
"note": "วิธีเทส: 2 เครื่องเล่น MG1 พร้อมกัน → คนวิ่งเร็วเท่ากัน · บอทวิ่งเข้าโซน SAFE/SCAM สม่ำเสมอ",
|
|
"cat": "Minigame 1"
|
|
},
|
|
{
|
|
"n": 86,
|
|
"name": "MG1: ผีหาย (avatar ไม่ซ้ำ)",
|
|
"detail": "server ส่ง play-roster ทุก 1.5s ตัดตัวซ้ำระหว่างเล่น",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-26",
|
|
"note": "วิธีเทส: เล่น MG1 แล้วมีคนหลุด/reconnect → ต้องไม่มีตัวซ้ำขยับไม่ได้ค้างในสนาม",
|
|
"cat": "Minigame 1"
|
|
},
|
|
{
|
|
"n": 87,
|
|
"name": "MG1: บอทเดินต่อแม้ host หลุด",
|
|
"detail": "server เป็นเจ้าของการเดินบอท quiz",
|
|
"prio": "วิกฤต",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-26",
|
|
"note": "วิธีเทส: เล่น MG1 กับบอท · host รีเฟรช/ออกกลางเกม → บอทต้องเดิน+วิ่งเข้าโซนต่อ ไม่หยุดนิ่ง",
|
|
"cat": "Minigame 1"
|
|
},
|
|
{
|
|
"n": 88,
|
|
"name": "MG1: คะแนนบอทตรงกันทุกจอ",
|
|
"detail": "server คิดคะแนนบอท (เดิม host คิดเอง ไม่ sync)",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-26",
|
|
"note": "วิธีเทส: 2 เครื่องเล่น MG1 กับบอท → คะแนนบอทบนกระดานต้องตรงกันทั้ง 2 จอทุกข้อ",
|
|
"cat": "Minigame 1"
|
|
},
|
|
{
|
|
"n": 89,
|
|
"name": "MG1: ผีบอทอยู่ในโซนผี ไม่ทับ SAFE/SCAM",
|
|
"detail": "บอทตอบผิด=ผี ตำแหน่งจริงอยู่ในโซนผี (กลาง-บน) — แก้การวาดภาพผีที่เคยห้อยลงทับสนามคำตอบ",
|
|
"prio": "สูง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-27",
|
|
"note": "วิธีเทส: เล่น MG1 กับบอท ให้มีบอทตอบผิด → ตัวผีต้องลอยอยู่แถบกลาง-บน (เหนือ SAFE/SCAM) ไม่ห้อยลงทับช่อง SAFE/SCAM",
|
|
"cat": "Minigame 1"
|
|
},
|
|
{
|
|
"n": 90,
|
|
"name": "MG1: บอทเดินลื่น ไม่วาป",
|
|
"detail": "บอท quiz เดินจาก server (time-based) + lerp นุ่ม",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-27",
|
|
"note": "วิธีเทส: เล่น MG1 กับบอท → บอทเดินเข้าโซน SAFE/SCAM ลื่น ไม่กระตุก ไม่วาปไปมา",
|
|
"cat": "Minigame 1"
|
|
},
|
|
{
|
|
"n": 91,
|
|
"name": "Lobby A/B: Loading คลุม occupants + %",
|
|
"detail": "overlay ดำ 0.9 เต็มจอ ค้างจนย้อมสีตัวละครทุกคนเสร็จ + โชว์ %",
|
|
"prio": "กลาง",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-27",
|
|
"note": "วิธีเทส: เข้า LobbyA/B (Ctrl+Shift+R) → ต้องเห็นจอดำ + spinner + \"กำลังโหลดตัวละคร… N%\" ไต่จนครบแล้วค่อยหาย (ไม่เห็นตัวละครโผล่สีทีหลัง)",
|
|
"cat": "LobbyA"
|
|
},
|
|
{
|
|
"n": 92,
|
|
"name": "Admin: ตัวเลขผู้ใช้ออนไลน์ + ความจุ",
|
|
"detail": "widget 👥 N/500 สบาย/เริ่มหนัก/หนัก (เขียว/เหลือง/แดง) บนแถบ Admin",
|
|
"prio": "ต่ำ",
|
|
"status": "แก้ไขแล้ว",
|
|
"updated": "2026-06-27",
|
|
"note": "วิธีเทส: เปิดหน้า Admin → มุมขวาบนมี 👥 ตัวเลขผู้เล่นออนไลน์ · hover เห็น CPU/RAM/ห้อง/socket · อัปเดตทุก 10 วิ",
|
|
"cat": "อื่นๆ"
|
|
}
|
|
] |