Примеры server API - maks-0906/shards-of-empire GitHub Wiki
Создание нового здания
/building/new.json?building_id=(ID -здания) - Создание нового здания
Входящие парамерты:
- building_id
Ответ:
-
при удачном улучшении, возвращается количество времени для постройки здания в секундах (finish_end_time);
-
при не удачном создании здания - статус 0
Когда остается последнее здание возращается - last_building: true;
/building/hold_improve.json?building_id=ID-здания&improve_id=ID-улучшения&personage_building_id=ID - новое внутреннее усовершенствования здания
Новое внутреннее усовершенствования здания
Входящие параметры:
-
building_id - ID-здания;
-
upgrade_id - ID-улучшения;
-
personage_building_id - ID-здания персонажа в текущем городе.
Исходящие данные:
-
при удачном улучшении, возвращается количество времени для проведения внутреннего улучшения в секундах (finish_end_time);
-
при не удачном улучшении - статус 0;
http://shards/building/upgrade_info.json?upgrade_id=1 улучшение подробнее
/building/main_info.json?building_id=ID - здания&personage_building_id=Id - получение данных о здании, которое выводится в вкладке (Общие)
Получение данных о здании, которое выводится...
Входящие данные
-
building_id - ID-здания;
-
personage_building_id - ID-здания персонажа в текущем городе.
Исходящие данные:
-
при удачном запросе массив - building;
-
при неудачном статус - 0 с текстовым описанием ошибки.
Исследования:
current.json, succeeding.json, consolidate.json Действие возможно после создания персонажа или входа в мир.
/research/current.json - предоставляет текущие данные исследований персонажа.
-
в случае успеха массив с индексом (current);
-
в случае не успешного получения данных статус - 0;
/research/succeeding.json - предоставляет данные на один уровень выше.
Запрос определяет уровень развития глобальных данных и возращает все данные на один уровень выше.
-
в случае успеха массив с индексом (succeeding);
-
в случае не успешного получения данных статус - 0;
/research/consolidate.json - добавляем в базу данных исследования персонажа
Входные параметры:
- research_id - id исследования;
Ответ:
-
в случае успеха, статус -1;
-
в случае достижения максимального уровня, статус - 0, с текстовым уведомлением;
Во избежание преднамеренного установления своего уровня исследования пользователем, уровень на одну еденицу будет повышаться автоматически, при запросе по данной ссылке
/research/all.json - предоставляет полность все данные
-
в случае успеха, массив с индексом (all);
-
в случае не успешного получения данных статус - 0;
/resource/info.json - получению данных для модального окна свзянные с ресурсами города
- При удачном выполнении действия возращается массивы данных (info, properties);
- При неудачном получении данных статус - 0, с текстовым описанием ошибки;
Ответ:
{ info[], properties[{total_number_resources - всего ресурса у персонажа,
total_number_resource_city - всего ресурса в городе,
resource_consumption,
name_resource}]
, resource_id, name_resource, type, id_city, id_resource, personage_resource_state, number_epidemic, population, free_people, growth, happiness, tax, faith, crime, city_name, population_onflux, population_outflow}
/resource/properties.json - при клике на конкретный ресурса
- При неудачном получении данных статус - 0, с текстовым описанием ошибки;
Входные параметры:
- id_resource- ID ресурса;
Ответ:
{properties[{total_number_resources - всего ресурса у персонажа,
total_number_resource_city - всего ресурса в городе,
resource_consumption,
name_resource}]}
Доход расчитывается по такой схеме: personage_resource_value + resource_consumption;
Карта:
map/init.json - инициализация карты
Входные параметры
-
Идентификатор мира, в котором играет персонаж: 'world_id'
-
Количество видимых ячеек по вертикали горизонтали: y_cnt и x_cnt
Ответ:
{ point, map[], pattern_list[] }
-
point - координаты персонажа
-
map - массив с данными для генерации карты
-
pattern_list - массив с данными о паттернах и их идентификации
map/get.json - инициализация карт
Входные данные:
-
Идентификатор мира, в котором играет персонаж: 'world_id'
-
Количество видимых ячеек по вертикали горизонтали: y_cnt и x_cnt
-
Координаты центрирования: center_x и center_y
Ответ:
{ point, map[], pattern_list[] }
Персонаж
Параметры от клиента при создании персонажа
Идентификатор мира, в котором создаётся персонаж: 'world_id' Идентификатор фракции, выбранной пользователем: 'fraction_id' Идентификатор образа персонажа: 'type_personage_id' Nick выбранный пользователем для персонажа: 'nick' Идентификатор религии: 'religion_id' Название первоначального города для персонажа: 'city' Статусы ответов и получение данных от сервера
Получение первоначальных данных fractions - массив с данными по фракциям types - массив с данными для образов персонажа religions - массив с данными о религиях для выбора При успешном создании персонажа получаем статус 1: status = 1 (successfully) При неправильных параметрах или требуемых параметрах общий статус 0: status = 0 (main_error) Пользователь не может создавать персонажа в мире, так как уже имеет персонажа в нём: status - 3 (user_exists) Пользователь не может создать персонажа так как такой уже существует в этом мире: status - 13 (personage_exists) URL запросы к серверу
Запрос для получения первоначальных данных: /personage/attributes.json Запрос для генерации персонажа: /personage/create.json Все действия производятся только после авторизации и если пользователь имеет в этом мире персонажа.одные участки для строительства выводится вместе с данными для основных и ресурсных зданий в массиве (free_sections) и указывает на количество оставшихся строительных участков.