Данные миров (API игры): различия между версиями

Материал из Tribalwars Wiki RU
Перейти к навигации
м (Bear переименовал страницу Данные миров в Данные миров (API игры): уточнил название)
Нет описания правки
Строка 10: Строка 10:




'''/map/village.txt - /map/village.txt.gz'''
'''/map/village.txt'''
'''/map/village.txt.gz'''


В этом файле находится информация о деревнях. Данные представлены в следующем порядке:
В этом файле находится информация о деревнях. Данные представлены в следующем порядке:
Строка 17: Строка 18:




'''/map/player.txt - /map/player.txt.gz'''
'''/map/player.txt'''
'''/map/player.txt.gz'''


В этом файле находится информация об игроках. Данные представлены в следующем порядке:
В этом файле находится информация об игроках. Данные представлены в следующем порядке:
Строка 24: Строка 26:




'''/map/ally.txt - /map/ally.txt.gz'''
'''/map/ally.txt'''
'''/map/ally.txt.gz'''


В этом файле находится информация о племенах. Данные представлены в следующем порядке:
В этом файле находится информация о племенах. Данные представлены в следующем порядке:
Строка 31: Строка 34:




'''/map/conquer.txt - /map/conquer.txt.gz'''
'''/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 часа назад. Данные представлены в следующем порядке:
С помощью этой функции можно получить информацию о всех захватах с момента, указанного в виде unix timestamp. Дата не может быть старше, чем 24 часа назад. Данные представлены в следующем порядке:


''$village_id, $unix_timestamp, $new_owner, $old_owner''
''$village_id, $unix_timestamp, $new_owner, $old_owner''




'''/map/profile.txt - /map/profile.txt.gz'''
'''/map/kill_att.txt'''


В этом файле представлены данные профилей игроков в следующем порядке:
'''/map/kill_def.txt'''


''$player_id, Geburtstag, Geschlecht, Wohnort, Profiltext (als XHTML), Profilbild-Dateiname''
'''/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'"); }