From c261e1fddf7ab2281020781890dcdca38444f044 Mon Sep 17 00:00:00 2001 From: KoDer Date: Tue, 16 Jun 2026 15:37:27 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20investor.html?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- investor.html | 135 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 81 insertions(+), 54 deletions(-) diff --git a/investor.html b/investor.html index d91ac7a..f3a532f 100644 --- a/investor.html +++ b/investor.html @@ -300,64 +300,91 @@ // ВЗАИМОДЕЙСТВИЕ С КЛИКЕРОМ // ═══════════════════════════════════════════════════════════ async function refreshClicker() { - if (!api) { - log('API недоступен', 'error'); - return; - } - try { - // Читаем save кликера (потребуется разрешение на select в main_save) - const result = await api.selectData(CLICKER_TABLE, { key: 'game_state' }, CLICKER_SAVE); - if (result.data && result.data.length > 0) { - const state = JSON.parse(result.data[0].value); - clickerScore = state.score || 0; - log(`Счёт кликера: ${clickerScore}`, 'success'); - } else { - clickerScore = 0; - log('Кликер ещё не сохранял данные', 'info'); - } - updateUI(); - } catch (e) { - log('Ошибка чтения кликера: ' + e.message, 'error'); - } + if (!api) { + log('API недоступен', 'error'); + return; + } + try { + // Указываем targetGame: 'clicker' — читаем из save кликера + const result = await api.selectData( + CLICKER_TABLE, + { key: 'game_state' }, + CLICKER_SAVE, + {}, + 'clicker' // ← Целевая игра! + ); + if (result.data && result.data.length > 0) { + const state = JSON.parse(result.data[0].value); + clickerScore = state.score || 0; + log(`Счёт кликера: ${clickerScore}`, 'success'); + } else { + clickerScore = 0; + log('Кликер ещё не сохранял данные (таблица пустая)', 'info'); } + updateUI(); + } catch (e) { + log('Ошибка чтения кликера: ' + e.message, 'error'); + } +} async function boostClicker() { - if (!api) { - log('API недоступен', 'error'); - return; - } - if (myState.capital < 500) { - log('Недостаточно капитала (нужно 500)', 'error'); - return; - } - try { - // 1. Читаем текущее состояние кликера - const result = await api.selectData(CLICKER_TABLE, { key: 'game_state' }, CLICKER_SAVE); - if (!result.data || result.data.length === 0) { - log('Кликер не найден — сначала запустите его', 'error'); - return; - } - const state = JSON.parse(result.data[0].value); - const oldScore = state.score || 0; - state.score = oldScore + 1000; - - // 2. Обновляем в save кликера (потребуется разрешение на insert в main_save) - await api.deleteData(CLICKER_TABLE, { key: 'game_state' }, CLICKER_SAVE); - await api.insertData(CLICKER_TABLE, { - key: 'game_state', - value: JSON.stringify(state), - updated_at: new Date().toISOString() - }, CLICKER_SAVE); - - // 3. Списываем капитал - myState.capital -= 500; - await addHistory('Бонус кликеру (+1000)', -500); - log(`✅ Кликеру добавлено +1000 (было ${oldScore}, стало ${state.score})`, 'success'); - updateUI(); - } catch (e) { - log('Ошибка: ' + e.message, 'error'); - } + if (!api) { + log('API недоступен', 'error'); + return; + } + if (myState.capital < 500) { + log('Недостаточно капитала (нужно 500)', 'error'); + return; + } + try { + // 1. Читаем состояние кликера + const result = await api.selectData( + CLICKER_TABLE, + { key: 'game_state' }, + CLICKER_SAVE, + {}, + 'clicker' // ← Целевая игра! + ); + + if (!result.data || result.data.length === 0) { + log('Кликер не найден — сначала запустите его и дождитесь сохранения', 'error'); + return; } + + const state = JSON.parse(result.data[0].value); + const oldScore = state.score || 0; + state.score = oldScore + 1000; + + // 2. Удаляем старую запись + await api.deleteData( + CLICKER_TABLE, + { key: 'game_state' }, + CLICKER_SAVE, + false, + 'clicker' // ← Целевая игра! + ); + + // 3. Вставляем обновлённую + await api.insertData( + CLICKER_TABLE, + { + key: 'game_state', + value: JSON.stringify(state), + updated_at: new Date().toISOString() + }, + CLICKER_SAVE, + 'clicker' // ← Целевая игра! + ); + + // 4. Списываем капитал + myState.capital -= 500; + await addHistory('Бонус кликеру (+1000)', -500); + log(`✅ Кликеру добавлено +1000 (было ${oldScore}, стало ${state.score})`, 'success'); + updateUI(); + } catch (e) { + log('Ошибка: ' + e.message, 'error'); + } +} // ══════════════════════════════════════════════════════════ // ИНВЕСТИЦИИ