23:43
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: Dima-kun  
Динамический юзербар с информацией о сервере.
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
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua