Recommended Posts

Всем привет. :)
Прочитав тему про торговый чат в вебе, вдохновился написанием сервиса, где можно было бы посмотреть историю пилотов SC. В данный момент сервис находятся в стадии доработки (могут быть замечены баги и прочее. Просьба сообщать о них в данном топике) Однако не факт, что я сразу же исправлю это - времени крайне мало. Плюсики в карму тоже не помешают :)

 

563.thumb.JPG.a0973642fe953174a2b75a3d59

 

Немного о сервисе:

  • Сам сервис собирает из игры всех активных пилотов, которые засветились в чате или в бою с инфо-твинками.
  • История пишется ежесуточно примерно после полуночи по МСК.
  • Источником данных пилотов является открытая API Star Conflict.
  • 10 мая сервис был одобрен разработчиками SC, после чего я и решил опубликовать сервис в открытый доступ.
  • 11 мая была добавлена возможность посмотреть 100 лучших пилотов SC за сутки а так же Легендарных пилотов (bug).
  • 14 мая была добавлена возможность поиска игроков по определенным параметрам.
  • 17 мая был добавлен новый показатель W/L.
  • 30 мая были добавлены 100 лучших и 100 самых активных пилотов на главную.
  • 24 июля была добавлена возможность посмотреть время начала и конца обновления БД.

 

Планы на будущее:

  • Добавить возможность искать пилотов по определенным параметрам, например для набора команды (готово)
  • Смотреть успехи пилотов определенных корпораций (готово)
  • Возможность выбора отображаемых значений в таблице
  • Возможность просмотра краткой истории смены никнеймов и корпораций
  • Возможность просмотра Достижений, включая "Корпоративный *удалено*" (выдается при смене более 3 корпораций за последний месяц)
  • Возможность просмотра результатов за определенное время

 

Ну а пока на нем можно просто посмотреть историю пилота, включая историю изменения никнеймов и историю смены корпораций.

Встречайте: http://ts2.scorpclub.ru/api/v1/userinfo.php

 

UPD: И еще, просьба не ddos'ить. Все равно кроме данного сервиса ничего не отвалится.

 

UPD2: Формулы, используемые в таблицах:

  • K/D = totalKill / totalDeath
  • KDA = (totalKill + totalAssists) / totalDeath
  • WinRate = gameWin / gamePlayed * 100% (Процент побед за все время)
  • W/L = gameWin / (gamePlayed - gameWin)
  • K/D+, KDA+, W/L+, WinRate+ и gamePlayed+ соответственно равны K/D, KDA, W/L, WinRate и gamePlayed, только за сутки.

 

UPD3: Дошли руки для того, чтобы разобраться с никнеймами, которые скинул weegee, спасибо ему за это. В результате получилась база ~7,5k живых пользователей (игравших в период с 15 по 22 мая), большая часть из которых уже занесена в БД Истории SC. Сама база живых никнеймов: nicknames.log

 

UPD4: Добавил возможность просмотра в формате JSON:

  1. userinfojs.php - вывод результата в формате JSON, запрос аналогичен как и в userinfo.php
    • Пример запросаhttp://ts2.scorpclub.ru/api/v1/userinfojs.php?uid=728435&limit=3
    • Примечание 1: Результат выводится начиная с более ранней даты, заканчивая более поздней
    • Примечание 2: Максимальная длина результата = 300 (limitmax = 300)
    • Примечание 3: Длина результата по умолчанию = 300 (limitdefault = 300)
  2. findusersjs.php - вывод результата в формате JSON, запрос аналогичен как и в findusers.php
    1. Пример запросаhttp://ts2.scorpclub.ru/api/v1/findusersjs.php?search=clanTag%3D'scorp'&sort=nickname&limit=50
    2. Примечание 1: Максимальная длина результата = 300 (limitmax = 300)
    3. Примечание 2: Длина результата по умолчанию = 300 (limitdefault = 300)

Максимальная длина результата связана с тем, что при выводе большого количества данных (от 50000) в формате JSON сервер перегружается и зависает (плохо разбираюсь во всем этом, поэтому не знаю как решить данную проблему)

 

UPD5: Добавил возможность посмотреть время начала и конца обновления БД:

  • Пример запросаhttp://ts2.scorpclub.ru/api/v1/gettimestamps.php
  • Пример вывода{"result":3,"text":"ok","data":{"RecordStartTime":1500930000,"RecordEndTime":1500961653,"timezone":"-10800"}}
  • Значения: RecordStartTime - время начала обновления БД в секундах с начала эпохи. RecordEndTime - время конца обновления БД в секундах с начала эпохи. timezone - смещение местного часового пояса в секундах.
  • Примечание: Значение RecordStartTime и RecordEndTime получаются модулем time, а именно time.time(); Значение timezone = time.timezone;

 

UPD6: Исходный код проекта на github: https://github.com/igroman787/schistory Сразу предупреждаю - я самоучка и код может быть не читаемым :006j:

Изменено пользователем Igroman787
  • Лайк 4
  • Благодарю 1
  • Вверх 26

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вау, спасибо.)

  • Вверх 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Прикольно. Тоже хотел такое сделать, но чот загрустил. Если надо могу дать список из 25 тысяч ников собранных с логов за полгода, но как бы тебя апи не зобанел за такое надругательство над ним =)

  • Вверх 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

WinRate: работает явно некорректно, у меня везде 0.57

K/D+: что это?  K/D за данный день?

WinRate+: тоже, что это? если это  WinRate за данный день, то тоже работает некорректно, у меня в последние дни в основном победы

 

Всего отремантировано: отремОнтировано, поправь.

Изменено пользователем VEDROLET
  • Вверх 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а данные по кол-ву пвп там точно верные.?:ООООО

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще можно было бы сделать чтобы по тегу корпорации выдавалась активность пилотов за неделю допустим, чтобы глава и рекрутеры видели кто молодец :)

  • Вверх 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, VEDROLET сказал:

WinRate: работает явно некорректно, у меня везде 0.57

0.57 это 57%, а не коэффициент, как в клиенте игры.

  • Вверх 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, _KOPM сказал:

0.57 это 57%, а не коэффициент, как в клиенте игры.

В таком случае, так и надо писать.

 

Мощь флота: зачем там точка? 

Изменено пользователем VEDROLET

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
11 минуту назад, Xoma69 сказал:

Вау, спасибо.)

На здоровье :)

 

1 минуту назад, Xoma69 сказал:

а данные по кол-ву пвп там точно верные.?:ООООО

Ни в чем не уверен, так как все писал во время бессонницы :00:

 

5 минут назад, weegee сказал:

Прикольно. Тоже хотел такое сделать, но чот загрустил. Если надо могу дать список из 25 тысяч ников собранных с логов за полгода, но как бы тебя апи не зобанел за такое надругательство над ним =)

Буду рад, если скинешь в личку БД с никнеймами :)
На счет бана по IP, надеюсь не забанят, но если вдруг - заранее прикручено смена IP через открытые прокси

 

2 минуты назад, weegee сказал:

Еще можно было бы сделать чтобы по тегу корпорации выдавалась активность пилотов за неделю допустим, чтобы глава и рекрутеры видели кто молодец :)

Да, в будущем как раз планировал такую фичу ввести :)

 

5 минут назад, VEDROLET сказал:

WinRate: работает явно некорректно, у меня везде 0.57

K/D+: что это?  K/D за данный день?

WinRate+: тоже работает некорректно, у меня в последние дни в основном победы

 

Всего отремантировано: отремОнтировано, поправь.

Поправил орфографию, спасибо :)
На счет WinRate и всего остального - все так же не уверен, как нибудь сяду и буду перепроверять формулы

 

2 минуты назад, _KOPM сказал:

0.57 это 57%, а не коэффициент, как в клиенте игры.

Да, это как раз 57%, только не умноженное на 100%, то есть WinRate = gameWin / gamePlayed

  • Вверх 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, Igroman787 сказал:

 

Да, это как раз 57%, только не умноженное на 100%, то есть WinRate = gameWin / gamePlayed

Чувак, сложна. Предлагаю так и написать: процент побед.

 

А в WinRate+ написать сколько побед было в данный день.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Отличный Функционал!!! :good:

  • Вверх 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для винрейта я бы оставил всем привычный gameWin/(gamePlayed-gameWin). А вот прирост за день, наверное в процентном соотношении. Чтобы можно было понять, что за эти сутки N% побед было, а не кэф.

Изменено пользователем _KOPM

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 11.05.2017 в 18:01, TenG сказал:

Отличный Функционал!!! :good:

Спасибо :)

 

В 11.05.2017 в 18:16, _KOPM сказал:

Для винрейта я бы оставил всем привычный gameWin/(gamePlayed-gameWin). А вот прирост за день, наверное в процентном соотношении. Чтобы можно было понять, что за эти сутки N% побед было, а не кэф.

Сам я был не в курсах по какой формуле высчитывается WinRate, поэтому взял формулу с доты (gameWin/gamePlayed), но если всем привычнее gameWin/(gamePlayed-gameWin), то пусть будет так :) Так же теперь WinRate+ показывает процентное соотношение побед за сутки :)

UPD: Решил обратно вернуть старую формулу для WinRate = gameWin/gamePlayed. Но добавил новый показатель W/L = gameWin/(gamePlayed-gameWin)

 

В 11.05.2017 в 17:51, VEDROLET сказал:

Мощь флота: зачем там точка? 

Мощь флота не была умножена на 100%. Теперь же отображается в % :)

 

В 11.05.2017 в 17:59, VEDROLET сказал:

А в WinRate+ написать сколько побед было в данный день.

Да, теперь WinRate+ отображает сколько процентов побед из всех игр было за день

Изменено пользователем Igroman787
  • Вверх 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Посмотрел свою статку за неделю, а я оказывается не такой роч как думал. Винрейт в среднем 60%+, зато коэф смертей /убийств  сильно падает, что не удивительно для соло  игры на инженере.

Хотелось бы видеть параметры на русском , так более понятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

:good:. В закладки. Обычно оцениваю сам свои успехи, но тут значительно удобнее (теперь вижу, что стоп-кран мне нажать не мешало бы, а то ММ не правильно меня оценит).

  • Вверх 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Круто... только странно..  некоторые данные не совпадают, 9 числа 0 игр, хотя они были, а 12 наоборот две, при том что сегодня даже игру не запускал :fed002:

no.JPG.d31aa63cc90f7f91e2fce0469ae5e188.

з.ы. Но так как это только тест сервиса.. и на том спасибо:014:

  • Вверх 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 12.05.2017 в 09:05, KotMypkot сказал:

Хотелось бы видеть параметры на русском , так более понятно.

Там есть кнопка, включающая перевод непонятных слов. Но пока не все слова переводятся, надеюсь скоро дойдут до этого руки :)

 

В 12.05.2017 в 11:04, Razor127 сказал:

Круто... только странно..  некоторые данные не совпадают, 9 числа 0 игр, хотя они были, а 12 наоборот две, при том что сегодня даже игру не запускал :fed002:

з.ы. Но так как это только тест сервиса.. и на том спасибо:014:

Дело в том, что процесс сбора данных начинается после полуночи, то есть статистика за 12 мая отображается как бы за 11, но надеюсь скоро я это дело исправлю :)

UPD: Исправил :)

Изменено пользователем Igroman787

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно уточнить, что за значение *Легендарные пилоты*? Сначала подумала, что по достижениям, но нет. После, подумала, что по сбитым- тоже нет. По кол-ву пвп, тоже не сходятся значения, если на ник навести.. Не понятно что это такое ._.

Возможно, кол-во побед? Тогда там кучи ников еще нет =_=

Изменено пользователем Xoma69

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, Xoma69 сказал:

Можно уточнить, что за значение *Легендарные пилоты*? Сначала подумала, что по достижениям, но нет. После, подумала, что по сбитым- тоже нет. По кол-ву пвп, тоже не сходятся значения, если на ник навести.. Не понятно что это такое ._.

Возможно, кол-во побед? Тогда там кучи ников еще нет =_=

Да, там сортировка идет по количеству побед за все время. Выводится top100 из таблицы. Возможно некоторые ники не отображаются, потому что их нету в БД :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Там такие рочи мелькают. Я аж поперхнулся когда этот список читал. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, Cheshirskiy_KoT сказал:

Там такие рочи мелькают. Я аж поперхнулся когда этот список читал. 

ТАМ ДАЖЕ Я ЕСТЬ, КАРЛ

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

интересно а по какому принципу там легендарных пилотов выбирает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, Druche сказал:

интересно а по какому принципу там легендарных пилотов выбирает?

Я ж выше спросила- по кол-ву побед из тех, кто есть в БД

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
45 минут назад, Cheshirskiy_KoT сказал:

 

Там такие рочи мелькают.

 

Инфа собрана за неделю всего, а вы хотите, чтобы сразу реал топчеги там были. Сегодняшний топ говорит о том, что все те, кого вы считаете топ игроками в игру не играют. Если бы играли то были бы в нем. Либо в чате не светились за это время. 

Изменено пользователем _KOPM
  • Вверх 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу