Gladiators API позволяет получить различные игровые данные в удобном для анализа виде.
С помощью Gladiators API вы сможете создавать различные дополнительные сервисы к Миру Гладиаторов: различные информеры, локаторы(поиск персонажей), сможете составлять свои рейтинги и строить диаграммами, конечно если вы – программист или знаете оного.


Получение информации о персонаже
Получение списка последних поединков персонажа
Пример PHP-скрипта для работы с GladiatorsAPI


Если вы хотите получить данные, к которым нет доступа через Gladiators API, напишите нам на: admin@gladiators-ua.com, обсудим :)

Получение информации о персонаже

Для получения информации о персонаже вам необходимо отправить следующий HTTP-запрос:
http://www.gladiators-ua.com/char/?login=Император&robot=1, где Император – логин персонажа, может быть любой, который вам нужен.


В ответе сервер показывает XML-данные, которые можно проанализировать. Почти любой язык программирования предоставляет встроенные функции для анализа XML-данных.


Пример хорошего ответа сервера


<gluser>        
    <login>Император</login>
    <level>20</level>
    <clan>Administration</clan>
    <post> 
        <![CDATA[ <b>Глава структуры</b> ]]>
    </post>
    <align>2</align>
    <sex>1</sex>
    <udar>260</udar>
    <gibkost>240</gibkost>
    <logika>240</logika>
    <zdorovie>240</zdorovie>
    <svoboda>2</svoboda>
    <hp>1200</hp>
    <maxhp>1200</maxhp>
    <exp>501962335</exp>
    <battleID>0</battleID>
    <victory>81</victory>
    <lose>33</lose>
    <noone>3</noone>
    <name>Император</name>
    <country>Украина</country>
    <city>Greece</city>    
    <online>0</online>    
</gluser>

Каждый тег представляет собой определенный вид данных.
Что означает каждый из тегов, написано ниже:


<id> – ID-номер персонажа
<login> – логин персонажа в игре
<level> – уровень персонажа
<clan> – клан, в котором находится персонаж
<post> – должность, которую занимает персонаж в клане
<align> – склонность персонажа
<sex> – пол персонажа: 0 – девочка, 1 – мальчик
<udar> – стат «Удар»
<gibkost> – стат «Гибкость»
<logika> – стат «Логика»
<zdorovie> – стат «Здоровье»
<svoboda> – стат «Свобода»
<hp> – текущее HP персонажа
<maxhp> – максимальное HP персонажа
<exp> – количество опыта персонажа
<battleID> – ID-номер поединка, 0 – персонаж не в поединке
<victory> – количество побед
<lose> – количество поражений
<noone> – количество ничьих
<name> – имя персонажа
<country> – страна персонажа
<city> – город персонажа
<online> – статус онлайн: 0 – не в онлайн, 1 – в онлайн.


Пример плохого ответа сервера


<error>404</error>

404 – означает, что персонаж не найден.

Получение информации о 20 последних боях персонажа


Для получения информации о 20 последних боях персонажа вам необходимо отправить следующий HTTP-запрос:
http://www.gladiators-ua.com/API/?act=get_user_battles_archive&char=1, где в переменную char необходимо поместить ID персонажа (как в данном примере 1, – это ID персонажа «Император») либо его ник.
В ответе сервер показывает XML-данные, которые можно проанализировать. Почти любой язык программирования предоставляет встроенные функции для анализа XML-данных.


Пример хорошего ответа сервера


<archive>
 <battle>
  <id>366332</id> 
  <start_time>Mon, 20 Aug 2007 13:38:16 +0200</start_time> 
  <finish_time>Mon, 20 Aug 2007 13:39:36 +0200</finish_time> 
  <timeout>10</timeout> 
  <winner_side>side1</winner_side> 
  <type>bot</type> 
  <arm_type>fisticuffs</arm_type> 
  <where>middle</where> 
  </battle>
 <battle>
  <id>360808</id> 
  <start_time>Tue, 14 Aug 2007 15:46:08 +0200</start_time> 
  <finish_time>Tue, 14 Aug 2007 15:46:50 +0200</finish_time> 
  <timeout>10</timeout> 
  <winner_side>side1</winner_side> 
  <type>bot</type> 
  <arm_type>fisticuffs</arm_type> 
  <where>middle</where> 
  </battle>
 <battle>
  <id>351248</id> 
  <start_time>Fri, 3 Aug 2007 15:49:15 +0200</start_time> 
  <finish_time>Fri, 3 Aug 2007 15:50:48 +0200</finish_time> 
  <timeout>3</timeout> 
  <winner_side>side1</winner_side> 
  <type>group</type> 
  <arm_type>arm</arm_type> 
  <where>street</where> 
  </battle>
</archive>

Каждый тег представляет собой определенный вид данных.
Что означает каждый из тегов, написано ниже:


<archive> – Глобальный тег, который содержит список 20 последних боев персонажа – <battle>
<battle> – Содержит подробную информацию о бое
<id> – ID-номер поединка
<start_time> – Дата и время начала поединка
<finish_time> – Дата и время окончания поединка
<timeout> – Таймаут поединка в минутах
<winner_side> – Победитель: side1 – первая команда, side2 – вторая команда.
<type> – Тип боя: normal – одиночный, bot – с клоном, group – групповой, mix – смешанный, street – уличный.
<arm_type> – Тип боя: arm – с оружием, fisticuffs – без оружия.
<where> – Место проведения боя: small – Малый зал, middle – Средний зал, big – Большой зал, tournament – Турнирный зал, street – на улице.


Пример плохого ответа сервера


<error>404</error>

404 – означает, что персонаж не найден.
100 – означает, что не найдено ниодного боя у персонажа.

Пример скрипта для работы с Gladiators API

Скрипт написан на языке PHP и проверяет онлайн состояние персонажа в Мире Гладиаторов.


<?php

/* Скрипт для проверки онлайн-состояния персонажа в игре 
 * "Мир Гладиаторов" - http://www.gladiators-ua.com
 * Разработка: Юрий Борунов ("Мир Гладиаторов"), 20 Июня 2007 года
-----------------------------------------------------------------*/

/* Если скрипту передан логин персонажа
--------------------------------------*/

if(isset($_GET["login"])) {    
    
$_GET["login"] = str_replace(" ","%20",$_GET["login"]);
    
    
$file "http://www.gladiators-ua.com/char/?login=".$_GET["login"]."&robot=1";
    
$pos 0;

    
// Проверка на доступности данных о персонаже в МГ
    
if (!($fp fopen($file"r")))
    die(
"could not open XML input");

    
// Если XML-данные доступны, то считываем их в $data
    
while ($getline fread($fp4096))
    
$data $data $getline;

    
// Разбираем XML-данные
    
$xml_parser xml_parser_create();
    
xml_parse_into_struct($xml_parser$data$vals$index);
    
xml_parser_free($xml_parser);

    for(
$n 0$n count($vals); ++$n){
        
$e $vals[$n];    
        
// Записываем уровень персонажа    
        
if($e["tag"]=="ONLINE")
        
$online $e["value"];
        
// Записываем код ошибки
        
elseif ($e["tag"]=="ERROR")
        
$error $e["value"];
    }

    
// Если персонаж найден
             
if(isset($error) && $error=="404")
    echo 
"Персонаж не найден!";
    elseif(isset(
$online) && $online==1)
    echo 
"Персонаж сейчас в онлайн!";
    else 
// Иначе
    
echo "Персонаж сейчас не в игре!";

             echo 
"<br /><br />";
}

echo <<<HTML_DATA
<form action="" method="GET">
Логин персонажа: <input type="text" name="login" />
<input type="submit" value="Искать!" />
</form>

HTML_DATA;
?>


 
Много комментариев (94). [Показать комментарии/форму]






© Мир Гладиаторов, 2005-2008 г.
Все права защищены
Форум     Голосование     Реклама     FAQ    
Дневник     Developers