🗄 Таблица для ASTRA в базе данныхНазвание: astra_world_state Структура:
CREATE TABLE IF NOT EXISTS `astra_world_state` ( `id` INT NOT NULL AUTO_INCREMENT, -- Уникальный идентификатор записи `var` VARCHAR(64) NOT NULL, -- Имя переменной (например elmo_align_light) `val` VARCHAR(255) NOT NULL, -- Значение переменной `last_update` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- Когда обновлялось PRIMARY KEY (`id`), UNIQUE KEY `uk_var` (`var`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Что тут хранится:elmo_align_light, elmo_align_dark, elmo_align_chaos → накопленные значения выбора игроков. elmo_shard_fire, elmo_shard_water, elmo_shard_air, elmo_shard_rune, elmo_shard_shadow → количество собранных шардов. elmo_world_state → текущее глобальное состояние мира (например, LIGHT / DARK / CHAOS / BALANCE). В будущем сюда же можно положить threshold и другие кастомные настройки.
Пример наполнения:
INSERT INTO `astra_world_state` (`var`, `val`) VALUES('elmo_align_light', '1200'),('elmo_align_dark', '950'),('elmo_align_chaos', '300'),('elmo_shard_fire', '25'),('elmo_shard_water', '13'),('elmo_shard_air', '8'),('elmo_shard_rune', '15'),('elmo_shard_shadow', '19'),('elmo_world_state', 'LIGHT');
⚙️ Следующие шаги по коду:В AstraVars сделать загрузку/сохранение этих переменных в таблицу при старте/выключении сервера. В админ-панели добавить кнопки "Сохранить" и "Обновить" → синхронизация с БД. В будущем расширить таблицу: добавить scope (глобальное / региональное), npcId (для отражений), event_state.
|