Данные миров (API игры): различия между версиями
Bear (обсуждение | вклад) |
Bear (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
= | = Общая информация = | ||
Для того, чтобы игроки могли создавать свои инструменты для игры мы предоставляем регулярно обновляемые данные миров. | Для того, чтобы игроки могли создавать свои инструменты для игры мы предоставляем регулярно обновляемые данные миров. | ||
Строка 13: | Строка 13: | ||
В этом файле находится информация о деревнях. Данные представлены в следующем порядке: | В этом файле находится информация о деревнях. Данные представлены в следующем порядке: | ||
$id, $name, $x, $y, $player, $points, $rank | ''$id, $name, $x, $y, $player, $points, $rank'' | ||
/map/player.txt - /map/player.txt.gz | '''/map/player.txt - /map/player.txt.gz''' | ||
В этом файле находится информация об игроках. Данные представлены в следующем порядке: | В этом файле находится информация об игроках. Данные представлены в следующем порядке: | ||
$id, $name, $ally, $villages, $points, $rank | ''$id, $name, $ally, $villages, $points, $rank'' | ||
/map/ally.txt - /map/ally.txt.gz | '''/map/ally.txt - /map/ally.txt.gz''' | ||
В этом файле находится информация о племенах. Данные представлены в следующем порядке: | В этом файле находится информация о племенах. Данные представлены в следующем порядке: | ||
$id, $name, $tag, $members, $villages, $points, $all_points, $rank | ''$id, $name, $tag, $members, $villages, $points, $all_points, $rank'' | ||
/map/conquer.txt - /map/conquer.txt.gz | '''/map/conquer.txt - /map/conquer.txt.gz''' | ||
В этом файле хранится информация обо всех переходах власти с сотворения мира. Данные представлены в следующем порядке: | В этом файле хранится информация обо всех переходах власти с сотворения мира. Данные представлены в следующем порядке: | ||
Строка 33: | Строка 33: | ||
$village_id, $unix_timestamp, $new_owner, $old_owner | $village_id, $unix_timestamp, $new_owner, $old_owner | ||
/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/profile.txt - /map/profile.txt.gz''' | ||
В этом файле представлены данные профилей игроков в следующем порядке: | В этом файле представлены данные профилей игроков в следующем порядке: | ||
$player_id, Geburtstag, Geschlecht, Wohnort, Profiltext (als XHTML), Profilbild-Dateiname | ''$player_id, Geburtstag, Geschlecht, Wohnort, Profiltext (als XHTML), Profilbild-Dateiname'' | ||
/interface.php?func=get_config | '''/interface.php?func=get_config''' | ||
С помощью этой функции можно получить конфигурацию мира в формате XML. | С помощью этой функции можно получить конфигурацию мира в формате XML. | ||
Пример | Пример | ||
---- | |||
Простейший пример на PHP, сохраняющий деревни и имена первого мира в базу данных MySQL: | Простейший пример на PHP, сохраняющий деревни и имена первого мира в базу данных MySQL: | ||
Строка 63: | Строка 65: | ||
} | } | ||
== Данные мира 1 == |
Версия от 11:46, 24 ноября 2010
Общая информация
Для того, чтобы игроки могли создавать свои инструменты для игры мы предоставляем регулярно обновляемые данные миров.
Чтобы уменьшить трафик, старайтесь скачивать данные о мире не слишком часто. Программы, скачивающие данные более раза в час в нормальном режиме запрещены. В этом случае попробуйте сохранять данные на внешнем сервере. Данные обновляются через равные промежутки времени, зависящие от сервера.
Файлы также доступны в сжатом виде (с суффиксом .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/profile.txt - /map/profile.txt.gz
В этом файле представлены данные профилей игроков в следующем порядке:
$player_id, Geburtstag, Geschlecht, Wohnort, Profiltext (als XHTML), Profilbild-Dateiname
/interface.php?func=get_config
С помощью этой функции можно получить конфигурацию мира в формате 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'"); }