| Setokaiba |
23-09-2013 06:02 PM |
L2oFF Estatísticas de Online e Anúncios (Online Statistics & Announcement)
Adicione essa Query no seu MsSQL:
Código:
CREATE PROCEDURE [dbo].[playersnumber]
--@pl_number int output
AS
--SELECT @pl_number=count(*) FROM user_data WHERE login>logout AND logout>0 AND login>0
SELECT count(*) FROM user_data with (nolock) WHERE login>logout
GO
Script PHP:
Código:
<?php
$flogin = fsockopen ("000.000.000.000",2106, $errno, $errstr, 1);//Instead 000.000.000.000 Ip Server
if ( $flogin )
$login_s = "Online";
else
$login_s = "Offline";
$fgame = fsockopen ("000.000.000.000",7777, $errno, $errstr, 1);
if ( $flogin )
$game_s = "Online";
else
$game_s = "Offline";
$mssql_server="000.000.000.000"; //Instead 000.000.000.000 Ip Server
$mssql_db="lin2world";
$CONN = mssql_connect($mssql_server, 'user', 'pass');
if ($CONN) {
mssql_select_db($mssql_db);
$result = mssql_query("exec playersnumber", $CONN);
$online=mssql_fetch_row($result);
$online=$online[0];
}
else $on_line = 0;
//image size $im = imagecreate(X, Y);
$im = imagecreate(100, 45);
$str = "Online: ";
// $bg - the background color, $textcolor - text color
$bg = imagecolorallocate($im, 213, 248, 225);
$textcolor = imagecolorallocate($im, 0, 0, 0);
// Output lines in the picture
//imagestring($im, The font size for the X coordinate, coordinate, Y, "Login: ", $textcolor);
imagestring($im, 3, 0, 0, "Login: ", $textcolor);
imagestring($im, 3, 53, 0, $login_s, $textcolor);
imagestring($im, 3, 0, 15, "Game: ", $textcolor);
imagestring($im, 3, 53, 15, $game_s, $textcolor);
imagestring($im, 3, 0, 30, $str, $textcolor);
imagestring($im, 3, 53, 30, $online, $textcolor);
// output the image
header("Content-type: image/png");
imagepng($im);
imagedestroy($im);
?>
Código PHP:
Código:
<?php
DEFINE("SELECT_ONLINE","select count(*) from user_data where account_id>0 and online=1");
function connectdb($db, $dbaddress, $dbuser, $dbpass){
$dbconnect = mssql_connect ($dbaddress, $dbuser, $dbpass);
mssql_select_db ($db, $dbconnect);
}
connectdb('lin2world', '172.16.192.34', 'sawa', 'dfsdfFdvh');
$result = mssql_query(sprintf(SELECT_ONLINE));
$accounts = mssql_fetch_array($result);
$accounts = trim($accounts[0]);
send_announce("Now online: ".$accounts." users");
exit;
function send_announce($announce){
$buf=pack("c",70).tounicode($announce);
$cachedsocket=@fsockopen("172.16.192.3","2012",$errno,$errstr,1) or die($notconnected);
fwrite($cachedsocket,pack("s",(strlen($buf)+2)).$buf);
$len=unpack("v",fread($cachedsocket,2));
$rid=unpack("c",fread($cachedsocket,1));
for($i=0;$i<(($len[1]-4)/4);$i++){
$read=unpack("i",fread($cachedsocket,4));
$rs.=$read[1];
}
fclose($cachedsocket);
}
function tounicode($string){
$rs="";
for($i=0;$i<strlen($string);$i++)
$rs.=$string[$i].chr(0);
return($rs.chr(0).chr(0));
}
?>
|