Мы уже некоторое время готовим новый движок для Виртономики. Основная концепция этого механизма - разделение предоставления данных и их представления. То есть, реализуется некоторый интерфейс (API) который позволяет получать данные из игры, не зависимо от их представления в разметке HTML в вашем браузере.
Я пока не готов дать доступ ко всем функциям нового движка, но могу его предоставить к наиболее необходимым методам, для того, чтобы вы могли разрабатывать скрипты, которые не чувствительны к изменениям дизайна Виртономики. Все данные будут предоставляются в формате JSON.
В этой теме вы можете оставлять свои пожелания: какие функции необходимы в первую очередь для реализации полезных скриптов для нашей игры.
Я не гарантирую, что своевременно буду удовлетворять желания наших уважаемых разработчиков скриптов, так как наши ресурсы для разработки весьма ограничены.
- список категорий продуктов product/categories
- список продуктов product/browse
- список розничных продуктов product/goods
два последних метода могут принимать параметр category_id в качестве фильтра
Наверное, самый ожидаемый метод.
Если вы авторизованы в игре, то можно просматривать информацию о своих предприятиях запросом:
unit/summary?id=<unit_id> - где unit_id это id предприятия
- информация о компании my/company
список предприятий своей компании:
company/units?id=<company_id>
можно передавать параметры pagesize и pagenum для постраничного получения данных
Во всех методах, которые возвращают списки, можно передавать в параметрах к этому запросу, необходимые значения полей в качестве фильтров. Например, запрос: company/units?id=<company_id>&unit_type_id=1817 вернет только офисы.
список контрактов:
по поставщикам unit/sale/contracts?id=<unit_id>
по закупкам unit/supply/contracts?id=<unit_id>
можно передавать product_id в качестве фильтра
финансовый отчет по компании:
company/report/finance/byitem?id=<company_id>
Если вы изменили данные предприятия в виртономике через интерфейс пользователя, то необходимо актуализировать данные предприятия, которые вы получали через API, так как для получения данных в самой виртономике и в новом движке используются разные механизмы кэширования.
Чтобы актуализировать данные предприятия, надо выполнить POST запрос: unit/refresh
в POST данных надо передать id=<unit id> и token=<post token>.
Post token нужно получить с помощью GET запроса token
- информация по зарплатам в городах geo/salary
- информация по трудовым ресурсам geo/labors
Оба запроса могут принимать фильтр geo=<country_id>[/<region_id>[/<city_id>]]. Например, geo=7060 - Казахстан, geo=7060/7063 или geo=0/7063 - регион: Южный Казахстан, geo=0/0/422189 - город Гавана.
- транспорт и стоимость доставки geo/transport
Запрос должен принимать параметры city_id - город отправки или назначения, product_id - товар и geo (аналогично параметру geo для запроса geo/salary) - пункт назначения или отправки.
- различные бонусы в странах geo/country/bonus
- таможенные, экспортные и импортные пошлины geo/country/duty Принимает параметр country_id.
- значения ЕНВД для региона geo/region/envd
- стоимость энергии для региона geo/region/energy
Запросы должны принимать параметр region_id
------------------ UPD 23.10.2017 ----------------------
Наверное, самый ожидаемый метод.
Если вы авторизованы в игре, то можно просматривать информацию о своих предприятиях запросом:
unit/summary?id=<unit_id> - где unit_id это id предприятия
API это хорошо и замечательно, но нет смысла получать отчеты с некорректными данными через API. Надо сначала позаботиться о корректности, целостности и согласованности данных:
==
Согласованность данных (иногда консистентность данных, англ. data consistency) — согласованность данных друг с другом, целостность данных, а также внутренняя непротиворечивость.
==
Частично хаос добавляет кэш - сумма прибыли в отчете по всем предприятиям не равна сумме прибылей каждого отдельного предприятия.
Частично хаос добавляют проданные и купленные предприятия, когда они входят и выходят из результатирующих данных отчетов между пересчетами.
К бардаку вокруг оборудования, наверное, уже все привыкли. Сколько продалось в момент пересчета, а сколько между пересчетами никогда никому не понять (нужно или нет - отдельный вопрос).
В недавнем аналитическом отчете по Вере лишь 97.64% медного колчедана было добыто на шахтах медного колчедана. Остальное, наверное, на свинофермах родили. Да, знаю, что остальные 2.36% добыли тоже шахты, но в момент составления аналитического отчета они уже были складами (исчерпались) и поэтому не попали в отчет.
Когда увеличиваешь квалификацию за очки, то на экране изменяется значение роста квалификации за предыдущий пересчет, хотя этого ведь не происходит.
На странице dashboard закладка "конкурсы и призы" не обновлена - тендеры, брокер-ярд и margingame можно убирать.. список победителей тоже доставляет улыбку, когда в течении дня меняется (прилетают новые данные из других реалмов)
Взорванные предприятия и результаты их деятельности - вообще класс! Главное по-раньше взорвать ресторан, чтобы он не успел попасть в аналитические отчеты и никто не увидел кач расходников. Ну блин, почему аналитика строится всегда *на сейчас*, а не на момент пересчета?
Вышеперечисленное, конечно же, не относится к самому API, но использовать эти (как и многие другие) данные невозможно принципиально, с использованием API или без.
Это я к тому, что API не будет пользоваться популярностью не из-за отсутствия каких-либо данных, а из-за присутствия ошибочных данных, на основании которых иногда невозможно принять решение.
А можно уточнить, что даёт employee_productivity выше единицы и за счёт чего это получается? Замечено на некоторых предприятиях, при этом заметного эффекта на результаты работы не видно.
А можно уточнить, что даёт employee_productivity выше единицы и за счёт чего это получается? Замечено на некоторых предприятиях, при этом заметного эффекта на результаты работы не видно.
Это дает небольшой запас прочности для общей эффективности предприятия, компенсируя незначительные просадки других составляющих эффективности.
Вопрос по запросу по конкретному предприятию:
Я так понял что приходит куча данных которые в целом и не нужны. Особенно по городу региону дублируется то что уже есть в других запросах.
Есть еще много разных полей которые вроде бы дублируются. Это можно убрать будет ненужное? Зачем гонять лишние буквы туда сюда.
??? Будет ли что то изменяться или текущий вариант уже выкован в железе?