Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Новое производство или "Как это считать?" | страница 1
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 1 из 1
 
Поиск в этой теме:
Канал EVE Online: «Новое производство или "Как это считать?"»
Варсик
 545 EGP


Рейтинг канала: 3(42)
Репутация: 117
Сообщения: 4039
Откуда: Москва
Зарегистрирован: 22.12.2002
Чуть больше года назад CCP выпустило обновление Crius, где переделали индустрию. Где-то пол года эту систему шатало, потом вроде устаканилось. Сегодня я поделюсь информацией о том, как сейчас с этим работать и как считать.

Вместо предисловия

Для начала отвечу на основной вопрос: А почему не использовать готовое. Ответ на это - потому-что. Потому что нет уверенности что оно все работает, потому что нет уверенности что работает правильно. И как это вообще должно работать правильно.

Итак, что вам надо знать прежде чем вообще с этим разбираться...

1) Есть такая штука как Static Data Export (SDE). Это архивчик на 100-200Mb, где лежит вообще вся информация, которую ЦЦП решает дать капуслерам. SDE делится на 2 большие части: MS SQL ([неадекватно]) базы, SQLite базы (O_o) и кучи YAML файлов. Нас сейчас интересует MS SQL база. По этому все дружно качаем MSSQL Express (я пользую 2012), разбираемся как загружать туда базы... У меня сейчас 4 SDE базы там.

2) Есть дополнительная информация, доступная в онлайне. Сейчас это 2 большие части: EVE-Central / EVE-MarketData и CREST.

Для кого я это все пишу

Ну для 2 целей: Закрепить пройденное и добавлять инфу.

Если вы хотите с этим играться, то вам надо знать SQL, понимать что такое Электронные таблицы (Google SpreadSheets) и знать что такое JavaScript. Всего по немножку, а потому с гуглем прокатит если энергии много.

Во всем виноват Fozzie. Всегда

Сначала о грустном. ССП опять решили что-то переделать, в результате чего SDE переходит в YAML. YAML - это [структурированный текстовый формат], но его используют. Я лично пользую SDE от Phoebe и потом проверяю что они ничего не поменяли. "маркер", который можно использовать для понимания - какой SDE использовать: таблица invTypes не должна быть пустой.

Готовимся

Итак, я считаю что у вас есть развернутая SDE и Гуглевский эксель. Оригинальный тут не подойдет, так как будем лепить макросы.

Понеслось. MS SQL ([неадекватно])

Для начала разберемся с тем как вытаскивать необходимую информацию из SQL части (ее мы будем засовывать в [таблицы]).

Вообще конкретно по SDE я рекомендую этот сайт. Он содержит почти все информацию по SDE в почти актуальном состоянии. Но на данный момент нас интересует тут всего 2 таблицы: invTypes и invTypeMaterials.

1) invTypes - Справочник вещей, которые есть или планируются в игре.
нас тут интересуют 2 основных поля:
- typeID: Идентификатор вещи. По нему работают вообще все API.
- typeName: Название вещи (Английское). Чтобы было понятно что это.

Иногда еще удобно использовать groupID. Надо это для внутренних связей, но обычно схожие вещи сгруппированы в одну группу. Не путайте с группой на рынке. Для этого есть merketGroupID.

2) invTypeMaterials - Материалы, необходимые для производства того или иного typeID. Состав:
- typeID: Что получится.
- materialTypeID: Из чего делается.
- quantity: Сколько надо при нулевых навыках.

Сферический запрос в вакууме у нас будет такой:
Код:
SELECT
        m.*, t.typeName, mt.typeName
    FROM invTypeMaterials m
    LEFT JOIN invTypes t ON
        t.typeID = m.typeID
    LEFT JOIN invTypes mt ON
        mt.typeID = m.materialTypeID
    WHERE
        t.typeName LIKE 'Survey S%'
    ORDER BY
        m.typeID, m.materialTypeID

В нем мы спрашиваем из чего делаются все вещи, который начинаются с SurveyS.
Результатом будет что-то типа:
Код:
444     34      1111    Survey Scanner I       Tritanium
2333    34      1111    Survey Scanner II      Tritanium
2333    9840    3       Survey Scanner II      Transmitter
2333    9842    5       Survey Scanner II      Miniature Electronics
2333    11399   1       Survey Scanner II      Morphite
2333    11539   5       Survey Scanner II      Nanoelectrical Microprocessor

Итак, мы знаем что и из чего делается. Если вы хотите считать более сложные цепочки, то просто вытягивайте промежуточные компоненты последовательно

Google таблицы

Полученные данные надо занести в таблицы (далее в шиты, ибо так короче). Заводим новую книгу и добавляем туда шит "BPMaterialInfo". Это будет информация о том из чего что делается. Сейчас у нас там 5 колонок. Различные ID'шники, количество и названия. Названия там вообще говоря не нужны, но пусть будут. Все отсортировано по ID получаемой вещи. Нам надо там еще как минимум 2 колонки:
- Количество материалов с учетом навыков (derivedAmount)
- Общая стоимость материала (totalCost)

Информация с чертежа

Добавляем новый шит, где у нас будут настройки и статистика по чертежу (BPInfo). Вообще нам там надо 2 показателя: Material Efficiency(ME) и Time Efficiency(TE). ME - для понимания прибыльности. TE - для понимания ISK/месяц.
Итак, там будет следующая структура: typeID, typeName, ME, PE, bpTime, derivedTime, totalCost, jitaBuyCost, jitaSellCost, deltaBuy, deltaSell, ISK/mon. Как вы видите - вся интересующая информация будет тут. Я рекомендую оставить в шапке сторчек до, для всяких настроек (Нам точно понадобятся Industry Advanced Industry, количество линий).

Общая формула для BPMaterialInfo.derivedAmount такова:
Код:
derivedAmount = amount * (1 - ME) * ( 1 - facilityProductionModifier)
, где facilityProductionModifier - для станций 0, для большинства ПОС построек - 2%.

Цены. Здравствуй Eve-Central

Теперь нам желательно знать сколько стоит тот или иной товар в Жите (или где вы будете торговать). Тут нам на помощь приходит EVE-Central. Вообще они предоставляют свое API в формате XML и можно использовать ImportXML. не делайте этого. Причина в том, что Гугль перезапрашивает эти цены на каждый чих, таким образом DOS'я Централ. В результате чего вас банят. Правильный подход сделать перезапрос цен по кнопке. Его мы и будем делать.

... Продолжения не будет. Се-ля-ви ...
_________________
WARNING: By reading this post you accept that this post is genius.

Последний раз редактировалось: AnrDaemon (23:56 20-08-2015), всего редактировалось 1 раз
Последний раз редактировалось: Варсик (20:20 19-08-2015), всего редактировалось 4 раз(а)
    Добавлено: 02:54 19-08-2015   
Dimaxx
 980 EGP


Рейтинг канала: 3(49)
Репутация: 204
Сообщения: 5728
Откуда: Северодвинск
Зарегистрирован: 26.06.2002
Все уже украдено сделано до нас.
https://www.fuzzwork.co.uk/dump/

Я, честно признаться, оттуда давно ничего не качал, но когда использовал - там было все в любом формате.
_________________
"Если мы не покончим с войной, война покончит с нами." Г. Г. Уэллс
    Добавлено: 22:41 19-08-2015   
Канал EVE Online: «Новое производство или "Как это считать?"»
 
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Всё, пошла шиза, пора завязывать.(Leshik)

  » Новое производство или "Как это считать?" | страница 1
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18