Локатор кланов

Статус
В этой теме нельзя размещать новые ответы.

Kill

Новичок
Репутация
0 / 103
Кто может подсказать как зделать этот модулб?
 
Кто может подсказать как зделать этот модулб?

Интересный вопрос=) Есть несколько вариантов:
1. http://php.su
2. Заказать у кого нибудь с форума.

Какой ты хотел увидеть здесь ответ? Готовый исходник?
 
Интересный вопрос=) Есть несколько вариантов:
1. http://php.su
2. Заказать у кого нибудь с форума.

Какой ты хотел увидеть здесь ответ? Готовый исходник?


готовый никто не даст)) нуначальный этап хоть )
 
можно подробнее про локатор кланов? что это такое вообще? какова его функция? что он делает?
 
можно подробнее про локатор кланов? что это такое вообще? какова его функция? что он делает?

Та короче говоря стата по определенному клану, список всех членов клана+где кто находится в данный момент. В какой локации. Сделать это возможно если есть API в игре, либо прямой доступ к исходникам и серверу :lol:

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

Ты вообще внимательно читал что я писал выше?

Код:
Ну либо же нарегить мультов и раскинуть по всех возможных локациях, а потом парсить список онлайна. Но это бред

Именно БРЕД
 
там ничего сложного особо нет... можно сделать такое, за определенную сумму конечно)
 
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'><form method="GET" action="/clanlocator.php" style="margin-left: 10px;">
Введите название клана: <input type="text" name="name" value="<?= $_GET['name']?>"/>
<input type="submit" value="Найти" />
</form>


<?
ini_set('max_execution_time', 0);
function getClan($clan) {
$tmp=rawurlencode($clan);
$url="http://oldbk.com/encicl/klani/clans.php?clan=".$tmp;
$response=get_headers($url,1);

if (strpos($response[0],'302'))
{
$url=str_replace(" ","%20",$response['Location']);
$contents = file_get_contents($url);
}
elseif (strpos($response[0],'200'))
{
$contents = file_get_contents($url);
} else {
$contents="";
}
$contents = file_get_contents($url);
return $contents;
}

function get_user_info($content)
{
$returnarray = array();
if (strlen($content) > 0)
{
preg_match("#login=(.*)#i", $content, $returnarray['login']);
preg_match("#id=(.*)#i", $content, $returnarray['id']);
preg_match("#align=(.*)#i", $content, $returnarray['align']);
preg_match("#gamecity=(.*)#i", $content, $returnarray['gamecity']);
preg_match("#gamecity_url=(.*)#i", $content, $returnarray['gamecity_url']);
preg_match("#level=(.*)#i", $content, $returnarray['level']);
preg_match("#klan=(.*)#i", $content, $returnarray['klan']);
preg_match("#bossklan=(.*)#i", $content, $returnarray['bossklan']);
preg_match("#loc=(.*)#i", $content, $returnarray['room_name']);
preg_match("#battle_id=(.*)#i", $content, $returnarray['battle_id']);
preg_match("#status=(.*)#i", $content, $returnarray['rank']);
preg_match("#online=(.*)#i", $content, $returnarray['login_online']);
preg_match("#HP=(.*)#i", $content, $returnarray['HP']);
preg_match("#reputations=(.*)#i", $content, $returnarray['reputations']);
foreach($returnarray as $array_name => $array_data)
{
$returnarray[$array_name] = @$returnarray[$array_name][1];
}
}
return $returnarray;
}

function get_users_list($content) {
if (strlen($content) > 0)
{
preg_match_all('/inf.php?([0-9]+)/i',$content, $return);
}
return $return[1];
}


function parse_users($users_list) {
$ret['offline'] = array();
$ret['online'] = array();

foreach ($users_list as $k => $u) {

$ui = get_info($u);

if ($ui['login_online'] == 1) {
$key = 'online';
} else {
$key = 'offline';
}

$ret[$key][] = $ui;
}
return $ret;
}


function get_info($user) {
#$tmp=rawurlencode($user);
$url="http://capitalcity.oldbk.com/inf.php?".$user."&short=1";
$response=get_headers($url,1);

if (strpos($response[0],'302'))
{
$url=str_replace(" ","%20",$response['Location']);
$contents = file_get_contents($url);
}
elseif (strpos($response[0],'200'))
{
$contents = file_get_contents($url);
} else {
$contents="";
}

$info = get_user_info($contents);
if ($info['bossklan'] == "1")
{
$info['rank'] = "Глава клана";
}

return $info;
}


function create_name($user) {
#print_r($user);
$u = $user;
$html = '';
if ($u['klan'] != '') {$clan_img = '
'.$u['klan'].'.gif
';} else { $clan_img = '';}
$align = '
align_'.$u['align'].'.gif
';
if ($u['login_online'] == 1) {
$status = '<b style="color:#F00">Online[/b] - '.$u['room_name'].'';
} else {
$status = 'Offline';
}
$html .= $align.$clan_img.' '.$u['login'].' ['.$u['level'].'] - (rank: '. strip_tags($u['rank']).') - '.$status;
return $html;
}


$name = $_GET['name'];

$clan = getClan($name);
$users_list = get_users_list($clan);
$all_users = parse_users($users_list);
?>

<div style="padding: 15px;">
<?
foreach($all_users['online'] as $user) {
echo create_name($user)."
";
}
foreach($all_users['offline'] as $user) {
echo create_name($user)."
";
}

?>
</div></div>



дальше сами копайте ( может кто до ума доведёт
 
Статус
В этой теме нельзя размещать новые ответы.

Похожие темы

Сверху