 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Динамический юзербар с информацией о сервере.
| |
| Viktor | Дата: Воскресенье, 18.04.2010, 23:32 | Сообщение # 1 |
|
Группа:
I'm V.I.P.
Сообщений: 2936
Награды: 115
Город: деревня
Замечания: 0%
Статус: 
| Скачиваем функцию(function.php) к себе на хостинг(халявные возможно не пойдут, потому что на них вроде запрещены сокеты(точно не знаю, т.к. не юзаю)). Cоздаем файл index.php c кодом ниже, в папке куда сохранили функцию. Code <? /********************************** **Viktor специально для sa-mp.ws.** *http://img.sa-mp.ws/demo/text.txt* *****http://img.sa-mp.ws/demo/***** ***********************************/ header("Content-type: image/jpeg"); //...
include ("function.php");
$data = monitor_samp('77.220.180.57', 7777, samp, info); // '77.220.180.57', 7777 - меняем на адрес своего сервера
$font = 'visitor.ttf'; $ip = $data['ip']; $port = $data['port']; $array = array($ip.':'.$port); $ip = implode(":", $array); $players = $data['players']; . $maxplayers = $data['maxplayers']; $array = array($players.'/'.$maxplayers); $players = 'Players '.implode("/", $array); $samp = 'sa-mp.ws';
$im = ImageCreateFromJPEG ("ub.jpg"); // ub.jpg можно изменить на адрес своей картинки $color = imagecolorallocate($im, 0, 0, 0); //цвет текста
imagettftext($im, 10, 0, 5, 8, $color, $font, $data['hostname']); imagettftext($im, 10, 0, 5, 16, $color, $font, $ip); imagettftext($im, 10, 0, 120, 16, $color, $font, $players); imagettftext($im, 10, 0, 280, 8, $color, $font, $data['mapname']); imagettftext($im, 10, 0, 280, 16, $color, $font, '(c) '.$samp); imagejpeg($im, NULL, 100); imagedestroy($im); ?> создаем файл .htaccess в папке с функцией и index.php. добавляем в него такй код: Code RewriteEngine On RewriteRule ^myub.jpg index.php [L] Закидываем изображение в папку с функцией, index.php и .htaccess. Заходим через браузер в папку в которой был создан index.php Вы должны увидеть: Скачать пример. Демо: - http://img.sa-mp.ws/demo/myub.jpg - http://img.sa-mp.ws/demo/index.php Ваш юзербар должен быть доступен по адресу mydomain.ru/useubar_folder/index.php и mydomain.ru/useubar_folder/myub.jpg. Все вопросы(если таковые еще могут возникнуть) в эту тему. Конец. 19.04.2010 Viktor. Специально для sa-mp.ws.
|
| |
|
|
| [RD]Chez | Дата: Среда, 28.04.2010, 16:27 | Сообщение # 2 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус: 
| Яркий пример юзербара у меня в подписи... Правда он, в отличие от Винстоновского, показывает инфу по рандомному серверу из списка на моем хосте с кол-вом игроков > 3 Сделан приблизительно таким же макаром, позже приложу исходник)) Добавлено (19.04.2010, 00:08) --------------------------------------------- Code <?php
$i=0; $c=0; $g=0; $r=0; $ft = fopen('./cache/cache', 'r'); while (!feof($ft)) { $g=fgets($ft, 128); $c++; $n[$c]=$g; } fclose($ft); for($i=0; $i < $c; $i++) { if(strlen($n[$i])>3) { $servers[$r]=$n[$i]; $r++; } } $i = rand(0, $r); while($tr != 1) { $z=split(":", $servers[$i]); if(!$dat=monitor_samp($z[0], $z[1], "info")){ $i = rand(1, $r); continue;} if($dat['password']) $pp=1; else $pp=0; $hostname=$dat['hostname']; $players=$dat['players']; $maxp=$dat['maxplayers']; if($players < 5) { $i = rand(1, $r); continue;} $gm=$dat['gametype']; $map=$dat['mapname']; header('content-type: image/png' ); $image = ($pp == 1) ? imagecreatefrompng("locked.png") : imagecreatefrompng("unlocked.png"); imagettftext($image, 9, 0, 21, 7, imagecolorallocate($image, 255, 255, 255), "visitor2.ttf", $hostname); imagettftext($image, 9, 0, 21, 16, imagecolorallocate($image, 255, 255, 255), "visitor2.ttf", $gm); imagettftext($image, 9, 0, 225-(strlen($servers[$i])), 16, imagecolorallocate($image, 255, 255, 255), "visitor2.ttf", $servers[$i]); imagettftext($image, 9, 0, 305-(strlen($maxp)+strlen($players)+1), 16, imagecolorallocate($image, 255, 255, 255), "visitor2.ttf", $players."/".$maxp); imagepng($image); imagedestroy($image); $tr = 1; } function monitor_samp($ip, $port, $request) { $fp = @fsockopen("udp://$ip", $port, $errno, $errstr, 1); if (!$fp) return FALSE; stream_set_timeout($fp, 1, 0); stream_set_blocking($fp, true); $ip_array = explode(".", $ip); $challenge = 'SAMP'; $challenge .= chr($ip_array[0]).chr($ip_array[1]).chr($ip_array[2]).chr($ip_array[3]); $challenge .= chr($port & "\xFF"); $challenge .= chr($port >> 8 & "\xFF"); if ($request == "info") $challenge .= "i"; fwrite($fp, $challenge); $buffer = fread($fp, 4096); fclose($fp); if (!trim($buffer)) return FALSE; if (!substr($buffer, 0, 4) == "SAMP") return FALSE; $buffer = substr($buffer, 11); if ($request == "info") { $data['password'] = ord(substr($buffer, 0, 1)); $data['players'] = (ord(substr($buffer, 2, 1))==0) ? ord(substr($buffer, 1, 2)) : 256+ord(substr($buffer, 1, 2)); $data['maxplayers'] = (ord(substr($buffer, 4, 1))==0) ? ord(substr($buffer, 3, 2)) : 256+ord(substr($buffer, 3, 2)); $buffer = substr($buffer, 5); $data_length = ord(substr($buffer, 0, 4)); $data['hostname'] = substr($buffer, 4, $data_length); $buffer = substr($buffer, 4 + $data_length); $data_length = ord(substr($buffer, 0, 4)); $data['gametype'] = substr($buffer, 4, $data_length); $buffer = substr($buffer, 4 + $data_length); $data_length = ord(substr($buffer, 0, 4)); $data['mapname'] = substr($buffer, 4, $data_length); $data['ip'] = $ip; $data['port'] = $port; return $data; } } ?> http://v-web.ru/userbar/sa-mp/userbar.php.txt Какбэ вот. Имаги Список адресов: http://v-web.ru/userbar/sa-mp/cache/cache какбэ... если нужно получить тип юзербара... в скрипте прописываем переключатель по $_GET['id'] а в htaccess правило ^userbar([0-9]*).png? userbar.php?id=$1 [L]
1 час моей работы стоит минимум 800 рублей для срочных работ. Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS. Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы. Немного ассемблер. Ох**тельный верстальщик какб.
Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^
chezrd@gmail.com lance@chez-lab.ru
Сообщение отредактировал [RD]Chez - Среда, 28.04.2010, 16:27 |
| |
|
|
|
 |
|
 | |
| |
|