fixed start 2 ready buttons on how to and fix minigame2

This commit is contained in:
2026-06-29 15:39:09 +00:00
parent 8efb7adedf
commit 080053135e
8 changed files with 33515 additions and 29 deletions
+55 -18
View File
@@ -51,9 +51,9 @@
"providerUserId": "p_1775109142385_wq7wfy1p32j",
"notes": "auto: player-coins",
"blocked": false,
"coins": 2392,
"coins": 2482,
"createdAt": "2026-04-02T05:52:21+00:00",
"updatedAt": "2026-06-28T14:47:24+00:00",
"updatedAt": "2026-06-29T15:18:44+00:00",
"daily": {
"anchorMs": 1781197200000,
"claimedDays": [
@@ -67,23 +67,23 @@
],
"lockUntilMs": 0
},
"score": 318,
"score": 408,
"scoreByCase": {
"1": 26,
"10": 676,
"10": 696,
"8": 296,
"11": 20,
"13": 324,
"14": 30,
"9": 40,
"12": 418,
"12": 456,
"15": 20,
"4": 20,
"5": 32,
"7": 6,
"3": 142,
"6": 44,
"2": 98
"2": 130
},
"lbName": "Q",
"achievements": {
@@ -924,19 +924,20 @@
"providerUserId": "p_1782376007927_lpt9m4xge9",
"notes": "auto: player-coins",
"blocked": false,
"coins": 100,
"coins": 166,
"createdAt": "2026-06-25T08:26:49+00:00",
"updatedAt": "2026-06-28T14:53:20+00:00",
"score": 100,
"updatedAt": "2026-06-29T15:18:44+00:00",
"score": 166,
"scoreByCase": {
"12": 60,
"12": 70,
"8": 20,
"3": 10,
"2": 10
"2": 50,
"10": 16
},
"lbName": "MONE",
"achievements": {
"d1_minigame_solver": 10
"d1_minigame_solver": 17
}
},
{
@@ -959,20 +960,35 @@
"providerUserId": "p_1782472374020_hlha51h8q2m",
"notes": "auto: player-coins",
"blocked": false,
"coins": 56,
"coins": 86,
"createdAt": "2026-06-26T11:12:52+00:00",
"updatedAt": "2026-06-26T12:12:46+00:00",
"lobbyColorThemeIndex": 6,
"updatedAt": "2026-06-29T05:24:08+00:00",
"lobbyColorThemeIndex": 8,
"lobbySkinToneIndex": 3,
"score": 56,
"score": 76,
"scoreByCase": {
"10": 32,
"6": 8,
"3": 16
"3": 16,
"12": 10,
"1": 10
},
"lbName": "MOOKIZ",
"achievements": {
"d1_minigame_solver": 7
"d1_minigame_solver": 9
},
"daily": {
"anchorMs": 1782666000000,
"claimedDays": [
true,
false,
false,
false,
false,
false,
false
],
"lockUntilMs": 1782752400000
}
},
{
@@ -986,6 +1002,27 @@
"coins": 0,
"createdAt": "2026-06-26T11:20:55+00:00",
"updatedAt": "2026-06-26T11:20:55+00:00"
},
{
"id": "3c027846d4720d70123cb362",
"email": "",
"displayName": "MONE",
"loginType": "guest",
"providerUserId": "p_1778156246099_lbrni0cvx8",
"notes": "auto: player-coins",
"blocked": false,
"coins": 20,
"createdAt": "2026-06-29T07:25:24+00:00",
"updatedAt": "2026-06-29T07:32:57+00:00",
"score": 20,
"scoreByCase": {
"10": 10,
"8": 10
},
"lbName": "MONE",
"achievements": {
"d1_minigame_solver": 2
}
}
]
}
+3 -3
View File
@@ -8,8 +8,8 @@
"/Game/img/gauntlet-assets/gauntlet-c4d4482e2a60eac9.png",
"/Game/img/gauntlet-assets/gauntlet-6aa244ab734b12e4.png"
],
"gauntletLaserTopUrl": "/Game/img/gauntlet-assets/gauntlet-dd51baed17270995.png",
"gauntletLaserBottomUrl": "/Game/img/gauntlet-assets/gauntlet-dd51baed17270995.png",
"gauntletLaserTopUrl": "",
"gauntletLaserBottomUrl": "",
"gauntletLaserLineUrl": "",
"gauntletLaserFillColor": "rgba(140,230,255,0.42)",
"gauntletLaserStrokeColor": "rgba(255,220,255,0.9)",
@@ -95,7 +95,7 @@
"balloonBossPlayerBalloonFallbackUrl": "/Game/img/MegaVirus/Artboard%209.png",
"balloonBossBalloonsPerPlayer": 3,
"forcedMinigameKeys": [
"jump_survive",
"gauntlet",
"space_shooter",
"balloon_boss"
],
@@ -0,0 +1,104 @@
{
"gauntletTickMs": 220,
"gauntletJumpTicks": 6,
"gauntletTimeLimitSec": 0,
"gauntletLaneImageUrls": [],
"gauntletLaserTopUrl": "",
"gauntletLaserBottomUrl": "",
"gauntletLaserLineUrl": "",
"gauntletLaserFillColor": "rgba(140,230,255,0.42)",
"gauntletLaserStrokeColor": "rgba(255,220,255,0.9)",
"gauntletLaserLineWidthPx": 2,
"stackSwingHz": 0.1,
"stackBlockWidthTiles": 3.2,
"stackTowerMissionTimeSec": 90,
"stackTeamMissesMax": 3,
"stackTowerProgressBlocks": 50,
"stackBlockNormalImageUrls": [
"/Game/img/TowerBlock/Block-Code-1-red.png",
"/Game/img/TowerBlock/Block-Code-2-orange.png",
"/Game/img/TowerBlock/Block-Code-3-Yellow.png",
"/Game/img/TowerBlock/Block-Code-4-Green.png",
"/Game/img/TowerBlock/Block-Code-5-Blue.png",
"/Game/img/TowerBlock/Block-Code-6-Navy.png",
"",
""
],
"stackBlockHeavyImageUrls": [
"/Game/img/TowerBlock/Block-Code-1-red-2.png",
"/Game/img/TowerBlock/Block-Code-2-orange-2.png",
"/Game/img/TowerBlock/Block-Code-3-Yellow-2.png",
"/Game/img/TowerBlock/Block-Code-4-Green-2.png",
"/Game/img/TowerBlock/Block-Code-5-Blue-2.png",
"/Game/img/TowerBlock/Block-Code-6-Navy-2.png",
"",
""
],
"stackHeavyBlockPercent": 35,
"jumpSurviveJumpHeightMult": 1.7,
"jumpSurviveMissionTimeSec": 0,
"jumpSurvivePlatformTiles": [
{
"url": "/Game/img/Jumper/platfrom-1.png",
"w": 1392,
"h": 60
},
{
"url": "/Game/img/Jumper/platfrom-2.png",
"w": 389,
"h": 36
},
{
"url": "/Game/img/Jumper/platfrom-3.png",
"w": 212,
"h": 33
}
],
"spaceShooterMissionTimeSec": 0,
"spaceShooterShipImageUrls": [
"/Game/img/ViolentCrime/Rocket-1.png",
"/Game/img/ViolentCrime/Rocket-2.png",
"/Game/img/ViolentCrime/Rocket-3.png",
"/Game/img/ViolentCrime/Rocket-4.png",
"/Game/img/ViolentCrime/Rocket-5.png",
"/Game/img/ViolentCrime/Rocket-6.png"
],
"spaceShooterAsteroidSpriteUrls": [
"/Game/img/ViolentCrime/Meteo-1.png",
"/Game/img/ViolentCrime/Meteo-2.png",
"/Game/img/ViolentCrime/Meteo-3.png"
],
"spaceShooterAsteroidExplodeFrameMs": 60,
"spaceShooterAsteroidIntervalMs": 300,
"spaceShooterShipDamageOverlayUrls": [
"/Game/img/ViolentCrime/Rocket-broke-1.png",
"/Game/img/ViolentCrime/Rocket-broke-2.png",
"/Game/img/ViolentCrime/Rocket-broke-3.png"
],
"balloonBossMissionTimeSec": 60,
"balloonBossBossImageUrl": "/Game/img/MegaVirus/boss.png",
"balloonBossPlayerBalloonImageUrls": [
"/Game/img/MegaVirus/balloon-1.png",
"/Game/img/MegaVirus/balloon-2.png",
"/Game/img/MegaVirus/balloon-3.png",
"/Game/img/MegaVirus/balloon-4.png",
"/Game/img/MegaVirus/balloon-5.png",
"/Game/img/MegaVirus/balloon-6.png",
"",
""
],
"balloonBossPlayerBalloonFallbackUrl": "/Game/img/MegaVirus/Artboard%209.png",
"balloonBossBalloonsPerPlayer": 3,
"forcedMinigameKeys": [
"jump_survive",
"space_shooter",
"balloon_boss"
],
"testSpecialCardByMap": {},
"troublesomeForceOffer": false,
"specialQuizIconExpireSec": 20,
"pickVoteSec": 25,
"trialVoteSec": 30,
"lobbyDebugHud": false,
"lobbyDebugHudNames": []
}
+7 -2
View File
@@ -10094,7 +10094,9 @@
: 'Ready Status : ' + num + '/' + tot;
}
if (primaryImg) {
primaryImg.src = humansReady ? '/Game/img/quiz-carry/btn-start.png' : '/Game/img/quiz-carry/btn-ready.png';
/* 3 สถานะให้เหมือน MG1: ยังไม่กด=btn-ready (cyan), กดแล้ว=btn-ready-active (เขียว+✓ มีเฉพาะ QUESTION), พร้อมครบ=btn-start */
primaryImg.src = humansReady ? '/Game/img/quiz-carry/btn-start.png'
: (meReady ? '/Game/img/QUESTION/btn-ready-active.png' : '/Game/img/quiz-carry/btn-ready.png');
primaryImg.alt = humansReady ? 'START' : 'READY';
}
if (primary) {
@@ -13633,9 +13635,12 @@
if (gauntletCrownHowtoUsesMg2LayoutPlay()) {
const btnImg = document.getElementById('btn-gch-ready-mg2-img');
if (btnImg) {
/* 3 MG1: =btn-ready (cyan), =btn-ready-active (+), =btn-start
btn-ready-active.png เฉพาะ skin QUESTION ใชของ QUESTION (btn-ready/btn-start skin เปนรปเดยวกนอยแล) */
btnImg.src = allReady
? (missionMockHudAssetUrl('btn-start.png') || (BASE + '/img/gauntlet-assets/btn-start.png'))
: (missionMockHudAssetUrl('btn-ready.png') || (BASE + '/img/gauntlet-assets/btn-ready.png'));
: (meReady ? (BASE + '/img/QUESTION/btn-ready-active.png')
: (missionMockHudAssetUrl('btn-ready.png') || (BASE + '/img/gauntlet-assets/btn-ready.png')));
btnImg.alt = allReady ? 'START' : 'READY';
}
}
File diff suppressed because it is too large Load Diff
+24 -6
View File
@@ -1606,16 +1606,17 @@
cursor: not-allowed;
}
.btn-gch-ready:focus-visible { outline: 2px solid #7af8ff; outline-offset: 3px; }
/* ปุ่ม READY: ยังไม่กด = ย้อมเทา, กดแล้ว = สีเดิม (กดอีกที = เทา) — ID-scoped ชนะ specificity ทุก layout + ครอบ img (mg2) */
/* ปุ่ม READY: ยังไม่กด = cyan เต็มสี (เหมือน MG1 ทุกเกม — เดิมย้อมเทา user ไม่เอา), กดแล้ว = เขียว+✓ (image swap) — ID-scoped ครอบ img (mg2) */
#gauntlet-crown-howto-overlay .btn-gch-ready:not(.is-me-ready):not(.is-start-phase),
#gauntlet-crown-howto-overlay .btn-gch-ready:not(.is-me-ready):not(.is-start-phase) img { filter: grayscale(1) brightness(0.6) !important; }
#gauntlet-crown-howto-overlay .btn-gch-ready:not(.is-me-ready):not(.is-start-phase) img { filter: drop-shadow(0 0 18px rgba(120, 220, 255, 0.65)) !important; }
#gauntlet-crown-howto-overlay .btn-gch-ready.is-me-ready,
#gauntlet-crown-howto-overlay .btn-gch-ready.is-me-ready img { filter: none !important; }
/* MG4 (quiz_carry) ปุ่ม ready แยก element — เทาเหมือนกัน */
/* MG4 ปุ่ม READY ให้เหมือน MG1: ยังไม่กด=cyan เต็ม (ไม่ย้อมเทา), กดแล้ว=เขียว (img.src=btn-ready-active.png ใน JS) */
#quiz-carry-pregame-primary:not(.is-me-ready):not(.is-start-phase),
#quiz-carry-pregame-primary:not(.is-me-ready):not(.is-start-phase) img { filter: grayscale(1) brightness(0.6) !important; }
#quiz-carry-pregame-primary.is-me-ready,
#quiz-carry-pregame-primary.is-me-ready img { filter: none !important; }
#quiz-carry-pregame-primary:not(.is-me-ready):not(.is-start-phase) img { filter: drop-shadow(0 0 18px rgba(120, 220, 255, 0.65)) !important; }
#quiz-carry-pregame-primary.is-me-ready:not(.is-start-phase),
#quiz-carry-pregame-primary.is-me-ready:not(.is-start-phase) img { filter: drop-shadow(0 0 16px rgba(74, 222, 128, 0.7)) !important; }
/* กล่องลอยแถวหน้าตัวละครคนกด READY — วางใต้ปุ่มด้วย JS getBoundingClientRect (ตรงทุก layout) */
#gch-ready-avatars-float{position:fixed;z-index:10260;display:none;justify-content:center;align-items:flex-start;gap:6px;flex-wrap:wrap;pointer-events:none;transform:translateX(-50%)}
/* แถวหน้าตัวละครคนที่กด READY แล้ว (โชว์ใต้ปุ่ม) */
@@ -4073,6 +4074,14 @@
#gauntlet-crown-howto-overlay.gch-mg2-mock .gch-mg2-stage .howto-btn.btn-gch-ready:active {
transform: translate(-50%, calc(-50% + 2px));
}
/* MG2 ปุ่ม img ให้เหมือน MG1: ยังไม่กด=cyan เต็ม (override greyscale global !important), กดแล้ว=เขียว
(img.src สลับเป็น btn-ready-active.png แล้วใน applyGauntletCrownReadyButtonPlay) */
#gauntlet-crown-howto-overlay.gch-mg2-mock .gch-mg2-stage .howto-btn.btn-gch-ready:not(.is-me-ready):not(.is-start-phase) img {
filter: drop-shadow(0 0 18px rgba(120, 220, 255, 0.65)) !important;
}
#gauntlet-crown-howto-overlay.gch-mg2-mock .gch-mg2-stage .howto-btn.btn-gch-ready.is-me-ready:not(.is-start-phase) img {
filter: drop-shadow(0 0 16px rgba(74, 222, 128, 0.7)) !important;
}
/* ====== Minigame-2 mno9kb07 — HUD แนวนอน (mg2-score-bar) fix 1920×1080 ====== */
/* selector ต้องชนะ .play-cyber-hud--quiz-tf-mock ทั่วไป (score-bar แนวตั้ง 156×433 + overflow:hidden) */
@@ -5429,7 +5438,7 @@
<script src="/app-base.js?v=2"></script>
<script src="/Game/socket.io/socket.io.js"></script>
<script src="js/version.js?v=0.0306"></script>
<script src="js/play.js?v=0.006280707"></script>
<script src="js/play.js?v=0.006291620"></script>
<div class="version-tag">v —</div>
<style id="qc-howto-mg2-fix">
/* HOW TO PLAY ของ quiz_carry (Minigame-4) -> ให้เหมือน Minigame-2 (gch-mg2-mock)
@@ -5612,6 +5621,15 @@
#gauntlet-crown-howto-overlay:not(.gch-quiz-tf-mock):not(.gch-mg2-mock) .gch-inner--art .btn-gch-ready:active {
transform: translateY(2px);
}
/* MG3,5,6,7 (default layout) ปุ่ม READY ให้เหมือน MG1: ยังไม่กด=cyan เต็ม (override greyscale global),
กดแล้ว=เขียว+✓ (btn-ready-active.png), พร้อมครบ=btn-start.png (ใช้ rule .is-start-phase เดิมด้านบน) */
#gauntlet-crown-howto-overlay:not(.gch-quiz-tf-mock):not(.gch-mg2-mock) .gch-inner--art .btn-gch-ready:not(.is-me-ready):not(.is-start-phase) {
filter: drop-shadow(0 0 18px rgba(120, 220, 255, 0.65)) !important;
}
#gauntlet-crown-howto-overlay:not(.gch-quiz-tf-mock):not(.gch-mg2-mock) .gch-inner--art .btn-gch-ready.is-me-ready:not(.is-start-phase) {
background-image: url('/Game/img/QUESTION/btn-ready-active.png') !important;
filter: drop-shadow(0 0 16px rgba(74, 222, 128, 0.7)) !important;
}
</style>
</body>
</html>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff