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: 14 let
|
0