Перейти к содержанию
Asterios

Devzirom

Пользователи
  • Постов

    92
  • Зарегистрирован

  • Посещение

Репутация

5 Обычный

Информация о Devzirom

  • День рождения 06.04.1990

Доп.Инфо

  • Пол
    http://vkontakte.ru/id36509082
  • Сервер
    x5 Asterios

Посетители профиля

739 просмотров профиля
  • Fi

  1. http://slovari.yandex.ru/dict/ushakov/article/ushakov/19/us477909.htm?text=%D1%82%D1%80%D0%B0%D1%85%D0%B0%D1%82%D1%8C&stpar3=1.2
  2. В личной профиле (http://la2.mmotop.ru/profile/): Смс-верификация аккаунта Это способ подтверждения уникальности аккаунта. Она необходима для пользователей с динамическим IP адресом, либо в случаях пользования одним компьютером большего кол-ва людей. После подтверждения аккаунта вы можете голосовать раз в сутки не зависимо от вашего IP или других данных.
  3. А кто нибудь пробовал SMS верификацию? Помогло?
  4. Небольшую... можно. Получение данных: <?php //Аргументы функции //[1] - ИД клана //[2] - ИД сервера function clan($clan_aid, $server_aid) { //создаем массив $data = array(); //Создаем DOM-объект $doc = new DOMDocument(); //получаем HTML c веб сервера Астериоса, помещаем в DOM @$doc->loadHTMLFile("http://asterios.tm/index.php?wnd=min&cmd=clan&serv=".$ server_aid."&id=".$clan_aid); //Проверяем количество таблиц //Если их меньше/больше 3-х - конец, возвращаем ложь $tables = $doc->getElementsByTagName("table"); if($tables->length != 3) { return false; } $info = $tables->item(0); //Проверяем количество заголовков третьего уровня, должно быть три $h3 = $info->getElementsByTagName("h3"); if($h3->length != 3) { return false; } //Проверяем количество элементов bold, должно быть не меньше шести $b = $info->getElementsByTagName("b"); if($b->length < 6) { return false; } unset($info); //наполняем массив //имя клана $data["clan"]["name"] = (string) mb_substr($h3->item(0)->nodeValue, 5, -1); //ИД клана - вам это не нужно $data["clan"]["aid"] = (int) $clan_aid; //Название сервера $data["server"]["name"] = (string) mb_substr($b->item(0)->nodeValue, 8); //ИД сервера - вам это не нужно $data["server"]["aid"] = (int) $server_aid; //Ник лидера клана $data["clan"]["leader"] = (string) mb_substr($b->item(1)->nodeValue, 7); //Уровень клана $data["clan"]["level"] = (int) mb_substr($b->item(2)->nodeValue, 5); //Замок/Крепость, если есть $data["clan"]["castle"] = (string) mb_substr($b->item(3)->nodeValue, 7); if($data["clan"]["castle"] == "нет") $data["clan"]["castle"] = NULL; //Количество очков $data["clan"]["points"] = (int) mb_substr($b->item(4)->nodeValue, 11); //Название альянса, если есть $data["alliance"]["name"] = (string) mb_substr($b->item(5)->nodeValue, 8); if($data["alliance"]["name"] == "нет") $data["alliance"]["name"] = NULL; //Количество ПВП/ПК - всего, ставим по нулям $data["clan"]["players pvp"] = 0; $data["clan"]["players pk"] = 0; //ИД альянса, ставим пустым $data["alliance"]["aid"] = NULL; //Если есть ссылка на альянс - значит клан состоит в альянсе if($b->item(5)->getElementsByTagName("a")->length) { $a = $b->item(5)->getElementsByTagName("a")->item(0); $href = $a->getAttribute("href"); //Узнаем ИД альянса $data["alliance"]["aid"] = (int) mb_substr($href, mb_stripos($href, "id=") + 3, -2); unset($a, $href); } //ИКОНКА КЛАНА - НАЧАЛО! ВАМ ОНА НЕ нУЖНА!!! //Спим 1 секунду, чтобы избежать Gateway TimeOut sleep(1); //Наполняем массив бинарными данными $data["clan"]["crest"] = @file_get_contents("http://asterios.tm/crest_img.php?serv=".$server_aid."&t=c& id=".$clan_aid); //Если изображение не PNG, значит у клана нет иконки... if(mb_strpos($data["clan"]["crest"], "PNG") === false) { //Если иконка не PNG и не GIF(1х1, когда иконка отсутсвует) - это ошибка: Gateway TimeOut if(mb_strpos($data["clan"]["crest"], "GIF") === false) return false; //Иначе присваиваем массиву пустое значение else $resurs["clan"]["crest"] = NULL; } unset($h3, $; //ИКОНКА КЛАНА КОНЕЦ! //Читаем таблицу с игроками $trs = $tables->item(1)->getElementsByTagName("tr"); for($i=1; $i<$trs->length; $i++) { $tds = $trs->item($i)->getElementsByTagName("td"); //Игрок //Извлекаем ПВП/ПК $pvp_pk = explode("/", $tds->item(4)->nodeValue); //Извлекаем позицию в клане - опыт $data["players"][$i-1]["exp"] = (int) $tds->item(0)->nodeValue; //Имя игрока $data["players"][$i-1]["name"] = (string) str_replace(" *", "", $tds->item(1)->nodeValue); //Пол игрока $data["players"][$i-1]["sex"] = $tds->item(2)->nodeValue; //Класс игрока $data["players"][$i-1]["class"] = (string) $tds->item(3)->nodeValue; //ПВП $data["players"][$i-1]["pvp"] = (int) $pvp_pk[0]; //ПК $data["players"][$i-1]["pk"] = (int) $pvp_pk[1]; //Статус онлайн/офлайн - Bool $data["players"][$i-1]["online"] = (bool) $tds->item(1)->getElementsByTagName("font")->length ? true:false; //Суммарно ПВП/ПК клана $data["clan"]["players pvp"] += (int) $pvp_pk[0]; $data["clan"]["players pk"] += (int) $pvp_pk[1]; unset($tds, $pvp_pk); } unset($trs); //Количество игроков в клане $data["clan"]["players num"] = sizeof($data["players"]); //Таблица: войны с кланами $trs = $tables->item(2)->getElementsByTagName("tr"); for($i=1; $i<$trs->length; $i++) { $tds = $trs->item($i)->getElementsByTagName("td"); $a = $tds->item(2)->getElementsByTagName("a")->item(0); $href = $a->getAttribute("href"); //ИД клана - вам это не нужно $data["war clans"][$i-1]["aid"] = (int) mb_substr($href, mb_stripos($href, "id=") + 3, -2); //Имя клана $data["war clans"][$i-1]["name"] = (string) $tds->item(2)->nodeValue; unset($tds, $a, $href); } unset($trs, $tables); //Общее количество войн $data["clan"]["wars num"] = @sizeof($data["war clans"]); //Возвращаем массив со всеми полученными данными! return $data; } ?>[/code] Вывод данных, список игроков онлайн (пишу без теста, могут быть ошибки!): [code]<?php //Клан SilentiuM, сервер Asterios x3 //http://asterios.tm/index.php?wnd=min&cmd=clan&serv=0&id=269808783 //Id сервера = 0 //Id клана = 269808783; //Загружаем данные в массив $data = clan(269808783. 0); //Если массив пустой, значит произошла ошибка if(empty($data)) exit('Error'); //Вывод данных for($i=0; $i<$data["clan"]["players num"]; $i++) { //Если игрок оффлайн, переходим к следующему if(!$data["players"][$i]["online"]) { continue; } //Выводим имя игрока через конструкцию echo в теге P echo "<p>{$data["players"][$i]["name"]}</p>\n"; } ?> Примечание 1: Функция была написана пол года назад! За это время Астериос менял дизайн несколько раз, поэтому на данный моммент, функция нуждается в небольшом обновлении! Примечание 2: Для работы скрипта нужен хостинг с включенным allow_url_fopen, иначе вы не сможете подключаться к любым удаленным серверам и получать от них данные. Примечание 3: На данный момент у астериоса может быть защита от БОТов, поэтому вам необходимо обойти её. Отправлять Куки, менять User-Agent и т.д. Примечание 4: Если вы ламер/блондинка или просто задрот, не пытайтесь разобраться в этом...
  5. php, dom, brain... cit2 is stopped project... @ November, 2009 creator by Devzirom function clan($clan_aid, $server_aid) { $data = array(); $doc = new DOMDocument(); @$doc->loadHTMLFile("http://asterios.tm/index.php?wnd=min&cmd=clan&serv=".$server_aid."&id=".$clan_aid); $tables = $doc->getElementsByTagName("table"); if($tables->length != 3) { return false; } $info = $tables->item(0); $h3 = $info->getElementsByTagName("h3"); if($h3->length != 3) { return false; } $b = $info->getElementsByTagName("b"); if($b->length < 6) { return false; } unset($info); $data["clan"]["name"] = (string) mb_substr($h3->item(0)->nodeValue, 5, -1); $data["clan"]["aid"] = (int) $clan_aid; $data["server"]["name"] = (string) mb_substr($b->item(0)->nodeValue, 8); $data["server"]["aid"] = (int) $server_aid; $data["clan"]["leader"] = (string) mb_substr($b->item(1)->nodeValue, 7); $data["clan"]["level"] = (int) mb_substr($b->item(2)->nodeValue, 5); $data["clan"]["castle"] = (string) mb_substr($b->item(3)->nodeValue, 7); if($data["clan"]["castle"] == "нет") $data["clan"]["castle"] = NULL; $data["clan"]["points"] = (int) mb_substr($b->item(4)->nodeValue, 11); $data["alliance"]["name"] = (string) mb_substr($b->item(5)->nodeValue, 8); if($data["alliance"]["name"] == "нет") $data["alliance"]["name"] = NULL; $data["clan"]["players pvp"] = 0; $data["clan"]["players pk"] = 0; $data["alliance"]["aid"] = NULL; if($b->item(5)->getElementsByTagName("a")->length) { $a = $b->item(5)->getElementsByTagName("a")->item(0); $href = $a->getAttribute("href"); $data["alliance"]["aid"] = (int) mb_substr($href, mb_stripos($href, "id=") + 3, -2); unset($a, $href); } sleep(1); $data["clan"]["crest"] = @file_get_contents("http://asterios.tm/crest_img.php?serv=".$server_aid."&t=c&id=".$clan_aid); if(mb_strpos($data["clan"]["crest"], "PNG") === false) { if(mb_strpos($data["clan"]["crest"], "GIF") === false) return false; else $resurs["clan"]["crest"] = NULL; } unset($h3, $; $trs = $tables->item(1)->getElementsByTagName("tr"); for($i=1; $i<$trs->length; $i++) { $tds = $trs->item($i)->getElementsByTagName("td"); $pvp_pk = explode("/", $tds->item(4)->nodeValue); $data["players"][$i-1]["exp"] = (int) $tds->item(0)->nodeValue; $data["players"][$i-1]["name"] = (string) str_replace(" *", "", $tds->item(1)->nodeValue); $data["players"][$i-1]["sex"] = $tds->item(2)->nodeValue; $data["players"][$i-1]["class"] = (string) $tds->item(3)->nodeValue; $data["players"][$i-1]["pvp"] = (int) $pvp_pk[0]; $data["players"][$i-1]["pk"] = (int) $pvp_pk[1]; $data["players"][$i-1]["online"] = (bool) $tds->item(1)->getElementsByTagName("font")->length ? true:false; $data["clan"]["players pvp"] += (int) $pvp_pk[0]; $data["clan"]["players pk"] += (int) $pvp_pk[1]; unset($tds, $pvp_pk); } unset($trs); $data["clan"]["players num"] = sizeof($data["players"]); $trs = $tables->item(2)->getElementsByTagName("tr"); for($i=1; $i<$trs->length; $i++) { $tds = $trs->item($i)->getElementsByTagName("td"); $a = $tds->item(2)->getElementsByTagName("a")->item(0); $href = $a->getAttribute("href"); $data["war clans"][$i-1]["aid"] = (int) mb_substr($href, mb_stripos($href, "id=") + 3, -2); $data["war clans"][$i-1]["name"] = (string) $tds->item(2)->nodeValue; unset($tds, $a, $href); } unset($trs, $tables); $data["clan"]["wars num"] = @sizeof($data["war clans"]); return $data; } [/code]
  6. Я не играю в la2... вообще ни во что ни играю!
  7. Это ксерокопия картины Малевича
  8. jj Ахаахахахахахахахаххахаахахахахахха
  9. Ух ты... Seal, тебе ппц... я пошел проходить квест ;D сори не удержался от флуда.
×
×
  • Создать...