2026-07-14 11:14:13 +03:00

389 lines
19 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang='ru'>
<head>
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width, initial-scale=1'>
<link rel='stylesheet' href='style.css'>
<title>Настройки Фишки</title>
</head>
<body>
<h1>Настройки фишки</h1>
<!--Баланс-->
<details class="block">
<summary class="block-title">Баланс и выручка</summary>
<div class='panel'>
<div class='form-group counter'>
<label>Текущий баланс</label>
<div class='status' data-counter-key="Balance">650</div>
</div>
<div class='coins-row'>
<input id='coinsAmount' type='number' value='10' min='1' step='1' class='coins-input' />
<button id='addCoinsBtn' type='button' class='coins-btn'>Добавить монеты</button>
</div>
<button type='button' class='action-btn' data-action-name='Сбросить баланс'>Сбросить баланс</button>
<div class='form-group counter'>
<label>Выручка</label>
<div class='status' data-counter-key="RevenueTotal">650</div>
</div>
<div class='form-group counter'>
<label>Выручка (обнуляемый)</label>
<div class='status' data-counter-key="RevenueReset">650</div>
</div>
<button type='button' class='action-btn' data-action-name='Cбросить счетчик выручки'>Cбросить счетчик
выручки</button>
</div>
</details>
<!--Цены-->
<details class="block">
<summary class="block-title">Цены</summary>
<div class='panel'>
<div class="form-group price-card" data-price-action="Цена игры с ботом">
<label>Цена игры с ботом</label>
<div class="coins-row price-row">
<input type="number" class="coins-input price-input" value="34" min="0" step="1">
<button type="button" class="coins-btn price-btn action-btn"
data-action-name="Цена игры с ботом">Сохранить</button>
</div>
</div>
<div class="form-group price-card" data-price-action="Цена игры на двоих">
<label>Цена игры на двоих</label>
<div class="coins-row price-row">
<input type="number" class="coins-input price-input" value="10" min="0" step="1">
<button type="button" class="coins-btn price-btn action-btn"
data-action-name="Цена игры на двоих">Сохранить</button>
</div>
</div>
<div class="form-group price-card" data-price-action="Цена реванша">
<label>Цена реванша</label>
<div class="coins-row price-row">
<input type="number" class="coins-input price-input" value="10" min="0" step="1">
<button type="button" class="coins-btn price-btn action-btn"
data-action-name="Цена реванша">Сохранить</button>
</div>
</div>
<div class='form-group'>
<label for='FreeplayID'>Бесплатная игра</label>
<input type='checkbox' id='FreeplayID' data-setting-id='Freeplay'>
</div>
</div>
</details>
<!--Валюты-->
<details class="block">
<summary class="block-title">Валюты</summary>
<div class='panel'>
<div class="form-group currency-card" data-currency-action="Название валюты">
<label>Название валюты</label>
<div class="coins-row currency-row">
<input type="text" class="coins-input currency-input" value="руб." maxlength="12">
<button type="button" class="coins-btn currency-btn action-btn"
data-action-name="Название валюты">Сохранить</button>
</div>
</div>
<div class="form-group currency-card" data-currency-action="Валюта за импульс">
<label>Валюта за импульс</label>
<div class="coins-row currency-row">
<input type="number" class="coins-input currency-input" value="10" min="0" step="1">
<button type="button" class="coins-btn currency-btn action-btn"
data-action-name="Валюта за импульс">Сохранить</button>
</div>
</div>
</div>
</details>
<!--Звук-->
<details class="block">
<summary class="block-title">Звук</summary>
<div class='panel'>
<div class='form-group'>
<label for='MusicVolumeID'>Громкость музыки: <span id='MusicVolumeID_VAL'>0.44</span></label>
<input id='MusicVolumeID' type='range' min='0' max='1' value='0.44' step='0.01'
data-setting-id='MusicVolume' data-value-span='MusicVolumeID_VAL'>
</div>
<div class='form-group'>
<label for='SoundsVolumeID'>Громкость эффектов и голоса: <span
id='SoundsVolumeID_VAL'>0.8699996</span></label>
<input id='SoundsVolumeID' type='range' min='0' max='1' value='0.8699996' step='0.01'
data-setting-id='SoundsVolume' data-value-span='SoundsVolumeID_VAL'>
</div>
<div class='form-group'>
<label for='PromoVolumeID'>Громкость проморолика(нереализовано): <span
id='PromoVolumeID_VAL'>0.8699996</span></label>
<input id='SoundsVolumePromoID' type='range' min='0' max='1' value='0.8699996' step='0.01'
data-setting-id='PromoVolume' data-value-span='PromoVolumeID_VAL'>
</div>
<div class='form-group'>
<label for='EnableVoicesID'>Голосовые реплики</label>
<input type='checkbox' id='EnableVoicesID' data-setting-id='EnableVoices'>
</div>
<div class='actions-grid'>
<button type='button' class='action-btn' data-action-name='Тест звука'>Тест звука</button>
</div>
</div>
</details>
<!--Призы-->
<details class="block">
<summary class="block-title">Призы и выдача</summary>
<div class='panel'>
<div class='actions-grid'>
<!-- Суперприз: как валюта (инпут + отправить) -->
<div class="form-group currency-card" data-currency-action="Суперприз">
<label>Суперприз</label>
<div class="coins-row currency-row">
<input type="text" class="coins-input currency-input" value="5000р" maxlength="24">
<button type="button" class="coins-btn currency-btn action-btn"
data-action-name="Суперприз">Сохранить</button>
</div>
</div>
<!-- Остаток призов: как цены (число + отправить) -->
<div class="form-group price-card" data-price-action="Внести остаток призов">
<label>Остаток призов</label>
<div class="coins-row price-row">
<input type="number" class="coins-input price-input" value="0" min="0" step="1">
<button type="button" class="coins-btn price-btn action-btn"
data-action-name="Внести остаток призов">Сохранить</button>
</div>
</div>
<!-- Сброс ошибки: оставить как есть -->
<button type='button' class='action-btn' data-action-name='Сбросить ошибку выдачи'>Сбросить ошибку
выдачи</button>
</div>
<div class='form-group'>
<label for='PrizingID'>Выдача призов при игре с ботом</label>
<input type='checkbox' id='PrizingID' data-setting-id='Prizing' checked>
</div>
<button type='button' class='action-btn' data-action-name='Тест хоппера'>Тест хоппера</button>
<button type='button' class='action-btn' data-action-name='Тест QR кодов'>Тест QR кодов(призовых)</button>
<div class='form-group'>
<label for='DisplayNoPrizesID'>Выводить призы закончились</label>
<input type='checkbox' id='DisplayNoPrizesID' data-setting-id='DisplayNoPrizes'>
</div>
<div class='form-group'>
<label for='DisplayPrizingErrorID'>Вывод ошибки выдачи в меню</label>
<input type='checkbox' id='DisplayPrizingErrorID' data-setting-id='DisplayPrizingError' checked>
</div>
<!-- Счетчики (ключи для WS) -->
<div class='form-group counter'><label>Марблс</label>
<div class='status' data-counter-key="Prizes.Marbles.Total">0</div>
</div>
<div class='form-group counter'><label>Марблс (обнуляемый)</label>
<div class='status' data-counter-key="Prizes.Marbles.Reset">0</div>
</div>
<div class='form-group counter'><label>Остаток призов</label>
<div class='status' data-counter-key="Prizes.Remaining">0</div>
</div>
<div class='form-group counter'><label>Суперприз</label>
<div class='status' data-counter-key="Prizes.Superprize.Value">5000р</div>
</div>
<div class='form-group counter'><label>Суперприз (обнуляемый)</label>
<div class='status' data-counter-key="Prizes.Superprize.Reset">0</div>
</div>
<div class='form-group counter'><label>Тикетник</label>
<div class='status' data-counter-key="Prizes.Ticket.Total">0</div>
</div>
<div class='form-group counter'><label>Тикетник (обнуляемый)</label>
<div class='status' data-counter-key="Prizes.Ticket.Reset">0</div>
</div>
<div class='form-group counter'><label>Хоппер</label>
<div class='status' data-counter-key="Prizes.Hopper.Total">0</div>
</div>
<div class='form-group counter'><label>Хоппер (обнуляемый)</label>
<div class='status' data-counter-key="Prizes.Hopper.Reset">0</div>
</div>
<button type='button' class='action-btn' data-action-name='Сбросить выданные призы'>Сбросить выданные
призы</button>
<div class='form-group'>
<label for='PrizingWhenErrorID'>Выдавать приз при ошибке</label>
<input type='checkbox' id='PrizingWhenErrorID' data-setting-id='PrizingWhenError' checked>
</div>
<button type='button' class='action-btn' data-action-name='Настроить призы персонажей'>Настроить призы
персонажей</button>
<!-- сюда скрипт будет подставлять строки -->
<div id="characterPrizes" class="status" aria-live="polite" data-dynamic="characterPrizes">
<div class="status">Загрузка…</div>
</div>
<!-- fallback на случай, если данных нет -->
<div id="characterPrizesEmpty" class="status" style="display:none;">
Нет данных
</div>
</div>
</details>
<!--Сервис-->
<details class="block">
<summary class="block-title">Сервис</summary>
<div class='panel'>
<button type='button' class='action-btn' data-action-name='Тест кнопок'>Тест кнопок</button>
<button type='button' class='action-btn' data-action-name='Тест экрана'>Тест экрана</button>
<!-- Пароль настроек: статус + действия -->
<div class="form-group">
<label>Пароль настроек</label>
<!-- статус (сервер/скрипт будет подставлять текст) -->
<div id="settingsPasswordStatus" class="status" aria-live="polite" data-status-key="SettingsPassword">
Статус: неизвестно
</div>
<div class="actions-grid" style="margin-top:12px;">
<button type="button" class="action-btn" data-action-name="Установить пароль настроек">
Установить пароль настроек
</button>
<button type="button" class="action-btn" data-action-name="Сбросить пароль настроек">
Сбросить пароль настроек
</button>
</div>
</div>
</div>
</details>
<!--Номер-->
<details class="block">
<summary class="block-title">Номер</summary>
<div class='panel'>
<!-- Номер телефона: как "Суперприз" (инпут + отправить) -->
<div class="form-group currency-card" data-currency-action="Номер техподдержки">
<label>Номер телефона</label>
<div class="coins-row currency-row">
<input type="tel" class="coins-input currency-input" value="70000000000" maxlength="18">
<button type="button" class="coins-btn currency-btn action-btn"
data-action-name="Номер техподдержки">Отправить</button>
</div>
</div>
<div class='form-group'>
<label for='ShowNumberID'>Показывать контакты администрации</label>
<input type='checkbox' id='ShowNumberID' data-setting-id='ShowNumber' checked>
</div>
</div>
</details>
<!--Сложность-->
<details class="block">
<summary class="block-title">Сложность</summary>
<div class='panel'>
<div class='form-group'>
<p>Сложность ботов</p>
<div class='radio-row'>
<label for='DifficultyID0'>Легкая</label>
<input type='radio' id='DifficultyID0' name='Difficulty' value='Легкая'
data-setting-id='Difficulty'>
</div>
<div class='radio-row'>
<label for='DifficultyID1'>Средняя</label>
<input type='radio' id='DifficultyID1' name='Difficulty' value='Средняя' checked
data-setting-id='Difficulty'>
</div>
<div class='radio-row'>
<label for='DifficultyID2'>Сложная</label>
<input type='radio' id='DifficultyID2' name='Difficulty' value='Сложная'
data-setting-id='Difficulty'>
</div>
</div>
<div class='form-group'>
<p>Текущая сложность аппарата</p>
<div class='radio-row'>
<label for='BaseBotDifficultyID0'>Обычная</label>
<input type='radio' id='BaseBotDifficultyID0' name='BaseBotDifficulty' value='Обычная'
data-setting-id='BaseBotDifficulty'>
</div>
<div class='radio-row'>
<label for='BaseBotDifficultyID1'>Повышенная</label>
<input type='radio' id='BaseBotDifficultyID1' name='BaseBotDifficulty' value='Повышенная'
data-setting-id='BaseBotDifficulty'>
</div>
<div class='radio-row'>
<label for='BaseBotDifficultyID2'>Фиксированная</label>
<input type='radio' id='BaseBotDifficultyID2' name='BaseBotDifficulty' value='Фиксированная' checked
data-setting-id='BaseBotDifficulty'>
</div>
</div>
<!-- Ввод "Импульсов до сброса сложности": как цены (число + отправить) -->
<div class="form-group price-card" data-price-action="Импульсов до сброса сложности">
<label>Импульсов до сброса сложности</label>
<div class="coins-row price-row">
<input id="impulsesResetValue" type="number" class="coins-input price-input" value="0" min="0"
step="1">
<button type="button" class="coins-btn price-btn action-btn"
data-action-name="Импульсов до сброса сложности">
Отправить
</button>
</div>
</div>
<!-- Счетчик текущих импульсов до сброса -->
<div class="form-group counter">
<label>Текущих импульсов до сброса</label>
<div id="impulsesResetCurrent" class="status" data-counter-key="Difficulty.ImpulsesToReset">—</div>
</div>
<!-- Заготовка пояснения, подтягивается с сервера -->
<div class="form-group">
<label>Пояснение</label>
<div id="impulsesResetHint" class="status" aria-live="polite" data-status-key="DifficultyHint">Загрузка…
</div>
</div>
</div>
</details>
<!--Быстрые проверки-->
<details class="block">
<summary class="block-title">Быстрые проверки</summary>
<div class='panel'>
<div class='form-group'>
<label for='FastCheckID'>Быстрая проверка счетчиков</label>
<input type='checkbox' id='FastCheckID' data-setting-id='FastCheck' checked>
</div>
<div class='form-group'>
<label for='FastCheckPrizesID'>Быстрая проверка призов</label>
<input type='checkbox' id='FastCheckPrizesID' data-setting-id='FastCheckPrizes' checked>
</div>
</div>
</details>
<script src="script.js"></script>
<div id='globalStatus' class='status'></div>
</body>
</html>