Данные миров (API игры)

Материал из Tribalwars Wiki RU
Версия от 09:40, 8 апреля 2020; Bear (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации

Общая информация

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

Чтобы уменьшить нагрузку, мы просим вас скачивать данные не чаще, чем один раз в час. Программы, скачивающие данные более раза в час в постоянном режиме, запрещены. В этом случае попробуйте сохранять данные на внешнем сервере. Данные обновляются через равные промежутки времени, зависящие от сервера.

Файлы также доступны в сжатом виде (с суффиксом .txt.gz). По возможности, используйте эти файлы.

Каждый файл состоит из произвольного числа строк, содержащих данные через запятую. Каждый элемент данных закодирован с помощью функции 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'");

}