diff --git a/www/html/Admin/admin.js b/www/html/Admin/admin.js index f54bf5c..5612a36 100644 --- a/www/html/Admin/admin.js +++ b/www/html/Admin/admin.js @@ -2776,6 +2776,11 @@ var ss = Number(data.spaceShooterMissionTimeSec); inpT.value = String(Number.isFinite(ss) && ss > 0 ? Math.floor(ss) : 0); } + var inpIv = el('space-shooter-asteroid-interval-ms'); + if (inpIv) { + var iv = Number(data.spaceShooterAsteroidIntervalMs); + inpIv.value = String(Number.isFinite(iv) && iv >= 200 ? Math.min(10000, Math.floor(iv)) : 1040); + } var urls = data.spaceShooterShipImageUrls; if (!Array.isArray(urls)) urls = []; for (var k = 1; k <= 6; k++) { @@ -2819,6 +2824,10 @@ var explodeMs = inpFms ? parseInt(String(inpFms.value), 10) : 70; if (Number.isNaN(explodeMs)) explodeMs = 70; explodeMs = Math.max(30, Math.min(500, explodeMs)); + var inpIv = el('space-shooter-asteroid-interval-ms'); + var asteroidIv = inpIv ? parseInt(String(inpIv.value), 10) : 1040; + if (Number.isNaN(asteroidIv)) asteroidIv = 1040; + asteroidIv = Math.max(200, Math.min(10000, asteroidIv)); gameTimingFetch('GET') .then(function (data) { data.spaceShooterMissionTimeSec = limSs; @@ -2826,10 +2835,11 @@ data.spaceShooterShipDamageOverlayUrls = damageUrls; data.spaceShooterAsteroidSpriteUrls = astUrls; data.spaceShooterAsteroidExplodeFrameMs = explodeMs; + data.spaceShooterAsteroidIntervalMs = asteroidIv; return gameTimingFetch('PUT', data); }) .then(function () { - setMsg('space-shooter-timing-msg', 'บันทึกแล้ว — เวลา / รูปยาน / overlay ความเสียหาย / อุกาบาต มีผลเมื่อรีเฟรชหน้าเล่นหรือโหลด /api/game-timing', 'ok'); + setMsg('space-shooter-timing-msg', 'บันทึกแล้ว — เวลา / ความถี่เกิดอุกาบาต / รูปยาน / overlay / อุกาบาต มีผลเมื่อรีเฟรชหน้าเล่นหรือโหลด /api/game-timing', 'ok'); }) .catch(function (e) { setMsg('space-shooter-timing-msg', e.message || 'บันทึกไม่ได้', 'error'); diff --git a/www/html/Admin/index.html b/www/html/Admin/index.html index 75043b6..038fc4b 100644 --- a/www/html/Admin/index.html +++ b/www/html/Admin/index.html @@ -468,13 +468,20 @@