Обновить investor.html
This commit is contained in:
+80
-53
@@ -300,65 +300,92 @@
|
|||||||
// ВЗАИМОДЕЙСТВИЕ С КЛИКЕРОМ
|
// ВЗАИМОДЕЙСТВИЕ С КЛИКЕРОМ
|
||||||
// ═══════════════════════════════════════════════════════════
|
// ═══════════════════════════════════════════════════════════
|
||||||
async function refreshClicker() {
|
async function refreshClicker() {
|
||||||
if (!api) {
|
if (!api) {
|
||||||
log('API недоступен', 'error');
|
log('API недоступен', 'error');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
// Читаем save кликера (потребуется разрешение на select в main_save)
|
// Указываем targetGame: 'clicker' — читаем из save кликера
|
||||||
const result = await api.selectData(CLICKER_TABLE, { key: 'game_state' }, CLICKER_SAVE);
|
const result = await api.selectData(
|
||||||
if (result.data && result.data.length > 0) {
|
CLICKER_TABLE,
|
||||||
const state = JSON.parse(result.data[0].value);
|
{ key: 'game_state' },
|
||||||
clickerScore = state.score || 0;
|
CLICKER_SAVE,
|
||||||
log(`Счёт кликера: ${clickerScore}`, 'success');
|
{},
|
||||||
} else {
|
'clicker' // ← Целевая игра!
|
||||||
clickerScore = 0;
|
);
|
||||||
log('Кликер ещё не сохранял данные', 'info');
|
if (result.data && result.data.length > 0) {
|
||||||
}
|
const state = JSON.parse(result.data[0].value);
|
||||||
updateUI();
|
clickerScore = state.score || 0;
|
||||||
} catch (e) {
|
log(`Счёт кликера: ${clickerScore}`, 'success');
|
||||||
log('Ошибка чтения кликера: ' + e.message, 'error');
|
} else {
|
||||||
}
|
clickerScore = 0;
|
||||||
|
log('Кликер ещё не сохранял данные (таблица пустая)', 'info');
|
||||||
}
|
}
|
||||||
|
updateUI();
|
||||||
|
} catch (e) {
|
||||||
|
log('Ошибка чтения кликера: ' + e.message, 'error');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async function boostClicker() {
|
async function boostClicker() {
|
||||||
if (!api) {
|
if (!api) {
|
||||||
log('API недоступен', 'error');
|
log('API недоступен', 'error');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (myState.capital < 500) {
|
if (myState.capital < 500) {
|
||||||
log('Недостаточно капитала (нужно 500)', 'error');
|
log('Недостаточно капитала (нужно 500)', 'error');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
// 1. Читаем текущее состояние кликера
|
// 1. Читаем состояние кликера
|
||||||
const result = await api.selectData(CLICKER_TABLE, { key: 'game_state' }, CLICKER_SAVE);
|
const result = await api.selectData(
|
||||||
if (!result.data || result.data.length === 0) {
|
CLICKER_TABLE,
|
||||||
log('Кликер не найден — сначала запустите его', 'error');
|
{ key: 'game_state' },
|
||||||
return;
|
CLICKER_SAVE,
|
||||||
}
|
{},
|
||||||
const state = JSON.parse(result.data[0].value);
|
'clicker' // ← Целевая игра!
|
||||||
const oldScore = state.score || 0;
|
);
|
||||||
state.score = oldScore + 1000;
|
|
||||||
|
|
||||||
// 2. Обновляем в save кликера (потребуется разрешение на insert в main_save)
|
if (!result.data || result.data.length === 0) {
|
||||||
await api.deleteData(CLICKER_TABLE, { key: 'game_state' }, CLICKER_SAVE);
|
log('Кликер не найден — сначала запустите его и дождитесь сохранения', 'error');
|
||||||
await api.insertData(CLICKER_TABLE, {
|
return;
|
||||||
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');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// ══════════════════════════════════════════════════════════
|
// ══════════════════════════════════════════════════════════
|
||||||
// ИНВЕСТИЦИИ
|
// ИНВЕСТИЦИИ
|
||||||
// ═══════════════════════════════════════════════════════════
|
// ═══════════════════════════════════════════════════════════
|
||||||
|
|||||||
Reference in New Issue
Block a user