Форумы мира Хаддан

Форумы мира Хаддан (http://forum.haddan.ru/index.php)
-   Информационные ресурсы (http://forum.haddan.ru/forumdisplay.php?f=65)
-   -   API для околоигровых ресурсов (http://forum.haddan.ru/showthread.php?t=7336)

Сайлас 06.09.2006 22:24

API для околоигровых ресурсов
 
Находится по адресу: http://haddan.ru/inner/api.php

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

Введен таймаут на одинаковые запросы 25 секунд! Т.е. 2 раза информацию об одном игроке можно запросить только раз в 25 секунд.

Теперь о самом простом способе получения информации (в виде небольшого мануальчика :)).
1. При получении информации с АПИ лучше всего пользоваться соединением через socket, но если вы не умеете, то можно воспользоваться какой-нибудь простой функцией file_get_contents().
2. Для обработки XML вам будет достаточно SimpleXML (PHP5). В остальных случаях ваши проблемы решит эта библиотека: http://www.phppal.com/xml/doc.php.
(в случае, если у вас PHP4, и вы не хотите пользоваться простой библиотекой, то также есть возможности для обработки XML, почитайте http://www.php.net/manual/ru/function.xml-parse.php, а именно http://www.php.net/manual/ru/functio...arse.php#35708), т.о. после получения инфы пользуетесь simplexml_load_string(). Если вы не знаете структуру полученного функцией объекта, воспользуйтесь print_r.
Вот как раз пример:
[php]<?php
$file = file_get_contents("http://haddan.ru/inner/api.php?op=user&name=test13&fields=lastlogin,onlin e,roomname");
$xml = simplexml_load_string($file);
print_r($xml);
?>[/php]
Если у вас нет PHP5, то есть много других способов обработки XML.
Еще для тех, у кого нет PHP5 или нужно обработать BonReq's, которые SimpleXML не берет. Структура получается сложнее SimpleXML, однако полнее:
[php]<?php
function readXml($domnode, &$array)
{
$array_ptr = &$array;
$domnode = $domnode->firstChild;
while (!is_null($domnode))
{
switch ($domnode->nodeType)
{
case XML_TEXT_NODE: if(!(trim($domnode->nodeValue) == ""))
$array_ptr['cdata'] = $domnode->nodeValue;
break;
case XML_ELEMENT_NODE:
$array_ptr = &$array[$domnode->nodeName][];
if ($domnode->hasAttributes() )
{
$attributes = $domnode->attributes;
foreach ($attributes as $index => $domobj)
{
$array_ptr[$domobj->name] = $domobj->value;
}
}
break;
}
if ( $domnode->hasChildNodes() )
{
readXml($domnode, $array_ptr);
}
$domnode = $domnode->nextSibling;
}
}
$ar = array();
$api = @file_get_contents("http://haddan.ru/inner/api.php?op=thing&fields=all&ttid=1");
$d = new DOMDocument();
$d->LoadXML($api);
readXml($d, $ar);
print_r($ar);
?>[/php]
3. В случае ошибки будет возвращен текст ошибки в тэге <error />.

Подробнее о возможностях будет сказано ниже.

Тип получаемых данных передается по параметру "op".
Возможные варианты использования (будут пополняться).

1. Информация о персонаже (op=user).
Необходимо для получения различной конкретной информации об 1 персонаже.
Обязательный параметр id (ID получаемого персонажа) или name (имя персонажа).
Далее в параметре fields через запятую передаются поля, которые вы хотите получить. Доступные элементы параметра fields (аналогично будут называться тэги XML, все даты в формате unixtime):
userid (ID персонажа), username (Имя персонажа),registered (дата регистрации), lastlogin (последний заход в игру), race (раса в виде elf|human|orc... и т.п.), clan (ID клана),sex (пол в формате 0|1, где 0 - женский, 1 - мужской), wins (количество побед), loses (количество поражений), draws (количество ничей), battleid (ID боя персонажа, если 0 - не в бою), deaths (количество смертей), killedpc (убито PC), killednpc (убито NPC), hitpc (нанесено урона PC), hitnpc (нанесено урона NPC), slogan (Девиз), about (Поле "О себе"),level (уровень),clanname (название клана), online (В игре ли персонаж или нет, 0 - нет, 1 - да), roomname (Название комнаты, в которой находится персонаж), racename (Название расы в виде Человек|Орк и т.п.), realname (Реальное имя), city (Город), country (Страна), icq (ICQ), aligImage (изображение склонности, относительно относительно http://haddan.ru/images/align/, однако не советую вам пользоваться картинками с сервера Хаддана: на случай, если сервер будет недоступен) ,aligTitle (название склонности), родные статы персонажа: str (сила персонажа),dex (ловкость), inu (интуиция),rag (злость), con (выносливость),int (интеллект), wis (мудрость) и eng (энергетика), а также hpc (текущий уровень жизни персонажа),profession (профессия), prof_rank (уровень профессии численно, таблицу соответствия можно составить самому ;) )
Пример запроса. Результатом http://localhost/inner/api.php?op=user&id=7231&fields=username,level,race ,racename будет:
Код:


<?xml version="1.0" encoding="utf-8" ?>
- <haddan err="0" op="user">
  <username>Сайлас</username>
 
  <level>25</level>
 
  <race>human</race>
 
  <racename>Человек</racename>
 
</haddan>
 


UPDATE: Добавлена возможность просмотра одежды на персонаже.
Добавлена возможность опции wear в операции user (op=user). Выводит список одежды на персонаже на данный момент.
Пояснения по структуре:
<wear> - все понятно
<place id="XXX"> - тип вещи (здесь - это первое кольцо), для тех, кто знает английский проблем не возникнет, кто не знает - в словари :-)
<thingid>Integer</thingid> - ID вещи
<name>String</name> - название вещи
<image>http://haddan.ru/images/t/???</image> - абсолютная ссылка на вещь
<BonusReqs> - бонусы и требования
<Requirments> - требования
<Req name="XXX">Value</Req> - название требования со значением
...
</Requirments>
<Bonus> - бонусы
<Bon name="XXX">Value</Bon> - название бонуса со значением
...
</Bonus>
</BonusReqs>
<dur>Int</dur> - максимальный износ
<durc>Int</durc> - текущий износ
<weight>Int</weight> - Вес
<price>Int</price> - цена
<ro>Boolean</ro> - подходит или нет вещь
</place>
...
</wear>
Думаю, что там будет все достаточно понятно. Если будут вопросы задавайте.
UPDATE: добавлена возможность просмотра эффектов на персонаже.
Добавлена возможность опции effects в операции user (op=user). Выводит список эффектов на персонаже на данный момент.
Пояснения по структуре:
<effects> - все понятно
<effect id="XXX"> - тип эффекта
<name>String</name> - название эффекта
<inbattle>Boolean</inbattle> наложено ли в бою
<BonusReqs> - бонусы и требования
<Requirments> - требования
<Req name="XXX">Value</Req> - название требования со значением
...
</Requirments>
<Bonus> - бонусы
<Bon name="XXX">Value</Bon> - название бонуса со значением
...
</Bonus>
</BonusReqs>
<image>http://haddan.ru/images/x/???</image> - абсолютная ссылка на картинку эффекта
<till>Int</till> Время, которое еще будет держаться бонус(если inbattle не 0 то в количестве ходов, если не зависит от времени то равно 0)
<ro>Boolean</ro> - аналогично вещи: действует ли эффект (если <ro> определна, можно игнорировать)
</effect>
...
</effects>
2. Информация о пользователях в клане (op=clan).
Необходимо для получения информации о пользователях в конкретном клане.
Параметр для передачи: clanid (id клана) или clanname (название клана).
Возвращает список персонажей с определенными параметрами, значения которых по вышенаписанному, думаю, будут понятны.
Пример: http://haddan.ru/inner/api.php?op=clan&clanid=minister вернет:
Код:

<?xml version="1.0" encoding="utf-8" ?>
- <haddan err="0" op="clan">
- <user id="1">
  <userid>1</userid>
 
  <username>dukei</username>
 
  <clan>minister</clan>
 
  <sex>1</sex>
 
  <race>elf</race>
 
  <level>25</level>
 
  <clanname>Посланники Богов</clanname>
 
  <icon />
 
  <online>0</online>
 
  <align />
 
  </user>
 
 
- <user id="2799">
  <userid>2799</userid>
 
  <username>Maelstorm</username>
 
  <clan>minister</clan>
 
  <sex>1</sex>
 
  <race>human</race>
 
  <level>17</level>
 
  <clanname>Посланники Богов</clanname>
 
  <icon />
 
  <online>0</online>
 
  <align>Сила: Некромант, Душа: Хранитель Духа;chaoticevil.gif</align>
 
  </user>
 
 
- <user id="3676">
  <userid>3676</userid>
 
  <username>Warius</username>
 
  <clan>minister</clan>
 
  <sex>1</sex>
 
  <race>human</race>
 
  <level>22</level>
 
  <clanname>Посланники Богов</clanname>
 
  <icon />
 
  <online>0</online>
 
  <align />
 
  </user>
 
 
- <user id="7231">
  <userid>7231</userid>
 
  <username>Сайлас</username>
 
  <clan>minister</clan>
 
  <sex>1</sex>
 
  <race>human</race>
 
  <level>25</level>
 
  <clanname>Посланники Богов</clanname>
 
  <icon />
 
  <online>1</online>
 
  <roomname>Банк, Главная площадь, Староград</roomname>
 
  <align>Сердце: Магистр Сердца, Душа: Магистр Души;chaoticgood.gif</align>
 
  </user>
 
 
</haddan>
 

Единственное пояснения по тэгу <align />: там до ";" находится название склонности, а после - название картинки относительно http://haddan.ru/images/align/, однако не советую вам пользоваться картинками с сервера Хаддана: на случай, если сервер будет недоступен.

3. Информация о всех клана (op=allclans).
Выдает информацию о всех существующих кланах. Структура предельно понятна и не требует объяснений, я думаю.

4. Информация о вещи (op = thing)
Выдает достаточно полную информацию о запрашиваемой вещи.
Переменные запроса:
1. tid или ttid (thingID или thingtypeID - запрашивается конкретная вещь или целый тип)
2. fields: 'thingid'*, 'thingtypeid', 'name', 'image', 'imagebig', 'dur', 'durc'*, 'weight', 'price', 'br' (бонусы и требования),'typefull' (полный тип вещи, думаю человек, разбирающийся в английском хоть немного сразу поймет),'resInfo' (информация по производимым ресурсам в виде id => кол-во),'description','valid'(срок действия с момента изготовления), 'alchresInfo' (аналогично resInfo, но для алхимика)
И отдельно: 'all' - выводит все доступные поля
* - эти поля доступны только при запросе tid

5. Информация о ценах на ресурсы в государственных магазинах (op - governprice)
Выводит цены для ресурсов в государственных магазинах. Структура, думаю, понятна.



Не связанное напрямую с api.php:
1. Describer.php. Для создания анализатора логов боев наш Describer.php. В нем содержатся весь инстурментарий для описания лога боя у нас. Я думаю за полчасика можно его понять и на основе его создать анализатор лога.

Сайлас 10.10.2006 23:22

Добавлена возможность опции wear в операции user (op=user). Выводит список одежды на персонаже на данный момент.
Пояснения по структуре:
<wear> - все понятно
<place id="XXX"> - тип вещи (здесь - это первое кольцо), для тех, кто знает английский проблем не возникнет, кто не знает - в словари :-)
<thingid>Integer</thingid> - ID вещи
<name>String</name> - название вещи
<image>http://haddan.ru/images/t/???</image> - абсолютная ссылка на вещь
<BonusReqs> - бонусы и требования
<Requirments> - требования
<Req name="XXX">Value</Req> - название требования со значением
...
</Requirments>
<Bonus> - бонусы
<Bon name="XXX">Value</Bon> - название бонуса со значением
...
</Bonus>
</BonusReqs>
<dur>Int</dur> - максимальный износ
<durc>Int</durc> - текущий износ
<weight>Int</weight> - Вес
<price>Int</price> - цена
<ro>Boolean</ro> - подходит или нет вещь
</ring1>
...
</wear>
Думаю, что там будет все достаточно понятно. Если будут вопросы задавайте.

Сайлас 11.10.2006 01:28

Модификаторы, действующие только при воздействии с этой вещью выделены тэгами <i>.

Сайлас 11.10.2006 01:43

Добавлена возможность опции effects в операции user (op=user). Выводит список эффектов на персонаже на данный момент.
Пояснения по структуре:
<effects> - все понятно
<effect id="XXX"> - тип эффекта
<name>String</name> - название эффекта
<inbattle>Boolean</inbattle> наложено ли в бою
<BonusReqs> - бонусы и требования
<Requirments> - требования
<Req name="XXX">Value</Req> - название требования со значением
...
</Requirments>
<Bonus> - бонусы
<Bon name="XXX">Value</Bon> - название бонуса со значением
...
</Bonus>
</BonusReqs>
<image>http://haddan.ru/images/x/???</image> - абсолютная ссылка на картинку эффекта
<till>Int</till> Время, которое еще будет держаться бонус(если inbattle не 0 то в количестве ходов, если не зависит от времени то равно 0)
<ro>Boolean</ro> - аналогично вещи: действует ли эффект (если <ro> определна, можно игнорировать)
</effect>
...
</effects>

Сайлас 13.12.2006 21:39

3. Информация о всех клана (op=allclans).
Выдает информацию о всех существующих кланах. Структура предельно понятна и не требует объяснений, я думаю.

Сайлас 28.12.2006 02:37

4. Информация о вещи (op = thing)
Выдает достаточно полную информацию о запрашиваемой вещи.
Переменные запроса:
1. tid или ttid (thingID или thingtypeID - запрашивается конкретная вещь или целый тип)
2. fields: 'thingid'*, 'thingtypeid', 'name', 'image', 'imagebig', 'dur', 'durc'*, 'weight', 'price', 'br' (бонусы и требования),'typefull' (полный тип вещи, думаю человек, разбирающийся в английском хоть немного сразу поймет),'resInfo' (информация по производимым ресурсам в виде id => кол-во),'description','valid'(срок действия с момента изготовления)
И отдельно: 'all' - выводит все доступные поля
* - эти поля доступны только при запросе tid

Сайлас 28.12.2006 04:40

Еще для тех, у кого нет PHP5 или нужно обработать BonReq's, которые SimpleXML не берет. Структура получается сложнее SimpleXML, однако полнее:
[php]<?php
function readXml($domnode, &$array)
{
$array_ptr = &$array;
$domnode = $domnode->firstChild;
while (!is_null($domnode))
{
switch ($domnode->nodeType)
{
case XML_TEXT_NODE: if(!(trim($domnode->nodeValue) == ""))
$array_ptr['cdata'] = $domnode->nodeValue;
break;
case XML_ELEMENT_NODE:
$array_ptr = &$array[$domnode->nodeName][];
if ($domnode->hasAttributes() )
{
$attributes = $domnode->attributes;
foreach ($attributes as $index => $domobj)
{
$array_ptr[$domobj->name] = $domobj->value;
}
}
break;
}
if ( $domnode->hasChildNodes() )
{
readXml($domnode, $array_ptr);
}
$domnode = $domnode->nextSibling;
}
}
$ar = array();
$api = @file_get_contents("http://haddan.ru/inner/api.php?op=thing&fields=all&ttid=1");
$d = new DOMDocument();
$d->LoadXML($api);
readXml($d, $ar);
print_r($ar);
?>[/php]

Сайлас 04.01.2007 01:35

Добавлены поля в op = userid и clan: profession (профессия), prof_rank (уровень профессии численно, таблицу соответствия можно составить самому ;) )

Сайлас 06.01.2007 01:09

Изменена работа roomname в op=user: теперь она выводит "Астрал", если персонаж оффлайн, если же в сети, то выводит полное его местонахождение.
Также добавлен параметр roomname в op=clan, просьба всем, кто использовал вместо с op=clan op=user для определения местонахождения (напр. Пегасам) переделать так, чтобы бралась инфа только из clan: это ускорит и вас и нас.

Сайлас 06.01.2007 15:58

Введен таймаут на одинаковые запросы 10 секунд! Т.е. 2 раза информацию об одном игроке можно запросить только раз в 10 секунд.

Сайлас 12.01.2007 01:10

Программистам сайтов: в течение недели увеличьте кэширование запросов до 25 секунд.
Чтобы потом не было проблем.

Сайлас 18.01.2007 03:32

Как и предупреждалось - таймаут увеличен.
Для тех, кто делает не кэш запросов, а просмотр раз в Х секунд - извините, но это глупо. Просто сохраняйте инфу со временем себе в БД и проверяйте - прошло время - тягайте с апи, нет - тягайте с БД.

Сайлас 26.01.2007 00:33

2 изменения\дополнения:
1. В некоторых вещах (op=thing) появился параметр alchresInfo, аналогичный resInfo, только для алхимика :-)
2. Добавлена op=governprice, отображающая цену на ресурсы в государственном магазине

Сайлас 10.02.2007 15:16

Не связанное напрямую с api.php:
1. Describer.php. Для создания анализатора логов боев наш Describer.php. В нем содержатся весь инстурментарий для описания лога боя у нас. Я думаю за полчасика можно его понять и на основе его создать анализатор лога.

Vuzy 12.10.2008 13:35

При выполнении какого либо запроса на станицу API русские буквы выводят крякозябры в какой кодировке они написаны что б можно было преобразовать их в Windows 1251 ?

Kofr 12.10.2008 18:42

Цитата:

Сообщение от Vuzy
При выполнении какого либо запроса на станицу API русские буквы выводят крякозябры в какой кодировке они написаны что б можно было преобразовать их в Windows 1251 ?


UTF-8

Неназванный 06.11.2008 20:35

Что-то этот api о вещах почти никакой инфы не даёт. По typeid вещи только его и получаю, по id ещё тип и прочность. Почему так?

Maelstorm 13.11.2008 14:31

1. при запросе клана имя комнаты у персонажей клана больше не отображается. вместо этого видно либо "Астрал", либо "Хаддан". Сделано, чтобы не могли определять местоположение невидимых.
2. у персонжа при запросе поля roomid всегда возвращается 0.

Maelstorm 24.11.2008 17:07

Появилось API для сканирования магазинов на базаре.
Расположение: haddan.ru/inner/api_shop.php
Обновляется раз в час. Сканирует только открытые магазины.
Структура:
Код:

<haddan>
 <lastupdatetime txt="24-11-08 14:52:58">1227527578</lastupdatetime>
 <shop id="1144" name="лавка Маела" description="" ownerid="2799" opentill="1190334513" money="0">
  <good>
  <ttid>1043</ttid>
  <sell>14</sell>
  <buy>20</buy>
  <count>23</count>
  <thingname>Красное дерево</thingname>
 </good>
 </shop>
 </haddan>

Итак что мы видим. haddan - тег верхнего уровня, далее значения не имеет.
lastupdatetime - содержит в себе unixtime последнего обновления. аттрибут txt содержит это время в текстовом виде
далее идут теги shop - каждому тегу соответствует один магазин.
Аттрибуты:
id - id магазина
name - название
description - описание
ownerid - id хозяина
opentill - если магазин открыт за СМС, то в этом поле unixtime значение того момента, до которого открыт магазин
money - количество денег в магазине. Возможные значения
0: 0-99 мн,
100: 100-999 мн
1000: 1000+ мн

внутри этого тега содержатся от 0 и больше тегов good - товар, внутри которых могут содержаться какие-то или все теги:
ttid - артикул вещи
sell - цена продажи
buy - цена скупки
count - количество
thingname - название
flags - содержит одно из следующих значений 'nobuy','nosell','nobuy,nosell' флаги товара - не продавать, не скупать.


С сего момента рекомендуем всем переехать на этот сервис, всякие боты будут забанены через месяц, 24.12.08.

P.S. учтите что время в lastupdatetime - это время начала исполнения скрипта. Исполняться он может несколько секунд. Так что советуем при проверке кэширования добавлять какое-то время к этому.

Maelstorm 25.11.2008 17:07

Апи для сканирования заявок на бирже: http://haddan.ru/inner/api_ext.php?op=exchange
Обновляется раз в полчаса.
Теги
lastupdatetime - тоже что и у магазинов
exchange - заявка, в атрибутах, думаю разберетесь
agregate - статистические данные, в атрибутах разберетесь

Maelstorm 26.11.2008 18:44

АПИ для сканирования лотов аукциона: http://haddan.ru/inner/api_ext.php?op=auction
Обновляется раз в три минуты.
выдает например:
Код:

<haddan>
<lot lotid="16930" userid="580420" thingid="63989996" price="3000" blicprice="3100" step="100" finishtime="1228314593" thingname="Кольцо охотника +3" thingtypeid="6580" dur="764" durc="5"/>
</haddan>


где:
lotid - номер лота
userid - id владельца
thingid - S\N выставленной вещи
price - текущая цена вещи (начальная, или сколько поставили)
blicprice - блиц-цена
step - шаг торгов
finishtime - время окончания торгов за эту вещь (unixtime)
thingname - название вещи
thingtypeid - артикул вещи
dur - максимальная прочность вещи
durc - градация текущей прочности вещи (от 0 до 7)

Внимание! dur и durc вещей, поставленных на аукцион до 17:30 сегодня отображается как 0 и 0 (так уж получилось), так что будьте аккуратны, если запустите сервис с использованием этого в ближайшие 7 суток. Потом уже у всех будет все нормально со значениями.

Тег lastupdatetime также присутствует.

Дагон 04.12.2008 23:05

Цитата:

Сообщение от Неназванный
Что-то этот api о вещах почти никакой инфы не даёт. По typeid вещи только его и получаю, по id ещё тип и прочность. Почему так?


Если можно тоже бы хотелось узнать причину ентова. :confused:

http://haddan.ru/inner/api.php?op=th...112&fields=all
http://haddan.ru/thing.php?type=7112

Напишите пожалуйста что неправильно, или хотя бы напишите что так и должно быть.

Maelstorm 09.12.2008 13:05

разберемся.

гоблин 17.12.2008 21:49

а можно попросить проверить opentill, по моему там какой то косяк, даты не особо верные выходят..

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

Maelstorm 18.12.2008 18:47

так и есть, но вы же сравнивайте текущее время и присланное. И поймете актуальность :)

гоблин 18.12.2008 21:36

ага..просто думал что это баг маленький, тогда буду сравнивать)

Неназванный 22.12.2008 14:39

Появился магазин без названия, похоже, из-за того, что у владельца сейчас невидимость
<shop id="2155" name="" description="" ownerid="580420" opentill="0" money="100">

Maelstorm 25.12.2008 11:48

У этого магазина действительно нет названия. Просто нет.

Vuzy 26.12.2008 23:50

забавно получается))) Выходит что в этот магазин теперь просто нельзя попасть...

поставте там хоть пробелл что ле... что б там появилась ну хотябы черточка на которую мона кликнуть... а лучше вообще поставить скрипт проверки на правильность названия магазина что б поле в названии магазина не оставалось пустым.

гоблин 30.12.2008 17:20

исправьте плиз инфу о вещах

XBK 05.01.2009 13:13

Многие пользователи поисковика, просят чтоб отображались те товары которые они хотят купить. Исправьте пожалуйста формирование xml - файла, чтоб там появились такие строчки как <count></count> или <count>0</count> для тех товаров что нет в наличии в магазине

shkiddi 23.01.2009 12:55

Посмотрите пожайлуста на правильность формирования информации о вещах, к примеру http://haddan.ru/inner/api.php?op=th...214&fields=all
выдает
<description />
<valid />
<thingid />
<thingtypeid>1214</thingtypeid>
<durc />
при указании конкретных полей тоже пустые теги xml

бдящий 29.01.2009 09:02

не подскажите, в связи с чем может возникать ошибка 104 (Неправильное имя персонажа или пароль) при запросе к API с кириллическими никами?


+ в связи с нововведениями хотелось бы попросить сделать API для клановых ЧС...

shkiddi 30.01.2009 12:14

Цитата:

не подскажите, в связи с чем может возникать ошибка 104 (Неправильное имя персонажа или пароль) при запросе к API с кириллическими никами?
http://haddan.ru/inner/api.php?op=us...ce%20,racename
используй не id=... а name=..

Maelstorm 30.01.2009 20:17

http://haddan.ru/inner/api_clans.php?op=blacklist
Черный список всех кланов

гоблин 30.01.2009 20:32

спасибо

<lastupdatetime txt="30-01-09 17:52:46">1233327166</lastupdatetime>
ток не обновляется кажись(

бдящий 30.01.2009 21:51

Цитата:

Сообщение от shkiddi
http://haddan.ru/inner/api.php?op=us...ce%20,racename
используй не id=... а name=..


в случае если пользователь запрашивает информацию и вводит ID я его и использую ID, а если пользователь вводит ник, то работаю с name... и вот тут то и возникает проблема с кириллическими никами...

AlexMag 03.02.2009 17:17

Цитата:

Сообщение от бдящий
в случае если пользователь запрашивает информацию и вводит ID я его и использую ID, а если пользователь вводит ник, то работаю с name... и вот тут то и возникает проблема с кириллическими никами...


Скорее всего так:

ник с Хаддана приходит в УТФ, база в Чарсет. Надо сделать следующее:

$nik = "Какойто кирилический ник или вообще любой";
$nik = iconv("UTF-8", "cp1251", $nik);

Где мы меняем кодировку с утф на нам нужную )

Maelstorm 17.02.2009 18:39

API вещей отремонтировано.

гоблин 18.02.2009 11:02

спаааасиба

а можно добавит поле ресурсы, а то оно пропало (


Часовой пояс GMT +4, время: 00:12.

Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Адаптация Архивариус & dukei