Данные миров (API игры): различия между версиями
Bear (обсуждение | вклад) м (Bear переименовал страницу Данные миров в Данные миров (API игры): уточнил название) |
Bear (обсуждение | вклад) Нет описания правки |
||
Строка 10: | Строка 10: | ||
'''/map/village.txt | '''/map/village.txt''' | ||
'''/map/village.txt.gz''' | |||
В этом файле находится информация о деревнях. Данные представлены в следующем порядке: | В этом файле находится информация о деревнях. Данные представлены в следующем порядке: | ||
Строка 17: | Строка 18: | ||
'''/map/player.txt | '''/map/player.txt''' | ||
'''/map/player.txt.gz''' | |||
В этом файле находится информация об игроках. Данные представлены в следующем порядке: | В этом файле находится информация об игроках. Данные представлены в следующем порядке: | ||
Строка 24: | Строка 26: | ||
'''/map/ally.txt | '''/map/ally.txt''' | ||
'''/map/ally.txt.gz''' | |||
В этом файле находится информация о племенах. Данные представлены в следующем порядке: | В этом файле находится информация о племенах. Данные представлены в следующем порядке: | ||
Строка 31: | Строка 34: | ||
'''/map/conquer.txt | '''/map/conquer.txt''' | ||
'''/map/conquer.txt.gz''' | |||
В этом файле хранится информация о всех захватах со старта мира. Данные представлены в следующем порядке: | В этом файле хранится информация о всех захватах со старта мира. Данные представлены в следующем порядке: | ||
Строка 40: | Строка 44: | ||
'''/interface.php?func=get_conquer&since=unix_timestamp''' | '''/interface.php?func=get_conquer&since=unix_timestamp''' | ||
С помощью этой функции можно получить информацию о всех захватах с | С помощью этой функции можно получить информацию о всех захватах с момента, указанного в виде unix timestamp. Дата не может быть старше, чем 24 часа назад. Данные представлены в следующем порядке: | ||
''$village_id, $unix_timestamp, $new_owner, $old_owner'' | ''$village_id, $unix_timestamp, $new_owner, $old_owner'' | ||
'''/map/ | '''/map/kill_att.txt''' | ||
'''/map/kill_def.txt''' | |||
'' | '''/map/kill_sup.txt''' | ||
'''/map/kill_all.txt''' | |||
В этих файлах представлена информация об '''очках'''поверженных противников (в атаке, в обороне, в подкреплении, все). Структура данных: | |||
''$rank, $id, $kills'' | |||
Строка 55: | Строка 63: | ||
С помощью этой функции можно получить конфигурацию мира в формате XML. | С помощью этой функции можно получить конфигурацию мира в формате XML. | ||
'''/interface.php?func=get_unit_info''' | |||
С помощью этой функции можно получить информацию о войсках в формате XML. | |||
'''/interface.php?func=get_building_info''' | |||
С помощью этой функции можно получить информацию о постройках в формате XML. | |||
---- | ---- |
Версия от 09:29, 8 апреля 2020
Общая информация
Для того, чтобы игроки могли создавать свои инструменты для игры мы предоставляем регулярно обновляемые данные миров.
Чтобы уменьшить трафик, старайтесь скачивать данные о мире не слишком часто. Программы, скачивающие данные более раза в час в нормальном режиме запрещены. В этом случае попробуйте сохранять данные на внешнем сервере. Данные обновляются через равные промежутки времени, зависящие от сервера.
Файлы также доступны в сжатом виде (с суффиксом .txt.gz). По возможности, используйте эти файлы.
Всего для скачивание предоставлено 5 файлов. Каждый состоит из произвольного числа строк, содержащих данные через запятую. Каждый элемент данных закодирован с помощью функции PHP urlencode(), что в частности, означает, что запятая представлена как %2C.
/map/village.txt
/map/village.txt.gz
В этом файле находится информация о деревнях. Данные представлены в следующем порядке:
$id, $name, $x, $y, $player, $points, $rank
/map/player.txt
/map/player.txt.gz
В этом файле находится информация об игроках. Данные представлены в следующем порядке:
$id, $name, $ally, $villages, $points, $rank
/map/ally.txt
/map/ally.txt.gz
В этом файле находится информация о племенах. Данные представлены в следующем порядке:
$id, $name, $tag, $members, $villages, $points, $all_points, $rank
/map/conquer.txt
/map/conquer.txt.gz
В этом файле хранится информация о всех захватах со старта мира. Данные представлены в следующем порядке:
$village_id, $unix_timestamp, $new_owner, $old_owner
/interface.php?func=get_conquer&since=unix_timestamp
С помощью этой функции можно получить информацию о всех захватах с момента, указанного в виде unix timestamp. Дата не может быть старше, чем 24 часа назад. Данные представлены в следующем порядке:
$village_id, $unix_timestamp, $new_owner, $old_owner
/map/kill_att.txt
/map/kill_def.txt
/map/kill_sup.txt
/map/kill_all.txt В этих файлах представлена информация об очкахповерженных противников (в атаке, в обороне, в подкреплении, все). Структура данных: $rank, $id, $kills
/interface.php?func=get_config
С помощью этой функции можно получить конфигурацию мира в формате XML.
/interface.php?func=get_unit_info С помощью этой функции можно получить информацию о войсках в формате XML.
/interface.php?func=get_building_info С помощью этой функции можно получить информацию о постройках в формате XML.
Простейший пример на PHP, сохраняющий деревни и имена первого мира в базу данных MySQL:
$lines = gzfile(http://ds1.die-staemme.de/map/village.txt.gz); if(!is_array($lines)) die("Невозможно открыть файл"); foreach($lines as $line) { list($id, $name,$x, $y, $player, $points, $rank) = explode(',', $line); $name = urldecode($name);
$name = addslashes($name); mysql_query("INSERT INTO village SET id='$id', name='$name', x='$x', y='$y', player='$player', points='$points', rank='$rank'"); }