| Autor | Zpráva | ||
|---|---|---|---|
| Xer0 Profil * |
#1 · Zasláno: 14. 7. 2010, 13:02:09
Zdravím,
chci si udělat status na CS:S server ale nějak mi nejde udělat on-line hráči a maximánlí počet hráčů. Tady tento kód mi zjistí Mapu a podle mapy si dokážu udělat i ON/OFF ale když upravuji cokoliv tak ti hráči nejdou. Zde je kód který používám: <?php
function source_query($ip) {
$cut = explode(":", $ip);
$HL2_address = $cut[0];
$HL2_port = $cut[1];
$HL2_command = "\377\377\377\377TSource Engine Query\0";
$HL2_socket = fsockopen("udp://".$HL2_address, $HL2_port, $errno, $errstr,3);
fwrite($HL2_socket, $HL2_command); $JunkHead = fread($HL2_socket,4);
$CheckStatus = socket_get_status($HL2_socket);
if($CheckStatus["unread_bytes"] == 0)
{
return 0;
}
$do = 1;
while($do) {
$str = fread($HL2_socket,1);
$HL2_stats.= $str;
$status = socket_get_status($HL2_socket);
if($status["unread_bytes"] == 0)
{
$do = 0;
}
}
fclose($HL2_socket);
$x = 0;
while ($x <= strlen($HL2_stats))
{
$x++;
$result.= substr($HL2_stats, $x, 1);
}
$result = urlencode($result); // the output
return $result;
}
function server_info($string) {
$string = str_replace('%07','',$string);
$string = str_replace("%00","|||",$string);
$sinfo = urldecode($string);
$sinfo = explode('|||',$sinfo);
$info['hostname'] = $sinfo[0];
$info['map'] = $sinfo[1];
return $info;
}
$ip = "77.78.98.53:27040";
$query = source_query($ip);
$q = format_source_query($query);
echo "Název: ".$q['hostname'];
echo "<br />";
echo "Mapa: ".$q['map']; |
||
| Xer0 Profil * |
#2 · Zasláno: 14. 7. 2010, 13:03:00
Promiňte za druhý post ale na 55 řádku je funkce format_source_query tak to má být funkce server_info.
|
||
|
Časová prodleva: 15 let
|
|||
0