<?php
include("b.php");
for ($i=0;$i<$count;$i++)
{
echo "player: ".$data[$i]['player'].", <strong>score</strong> ".$data[$i]['score']."<br>";
}
$data = GetPlayers("51.254.29.46", "30465");
$count = count($data);
for ($i=0;$i<$count;$i++) {
echo "player: ".$data[$i]['player'].", <strong>score</strong> ".$data[$i]['score']."<br>";
}
?>
<?php
function GetPlayers($server_ip, $server_port) {
$fp = fsockopen('udp://'.$server_ip, $server_port, $errno, $errstr);
stream_set_timeout($fp, 5);
if (!$fp) return false;
$packet = 'SAMP';
$packet .= chr(strtok($ip, '.'));
$packet .= chr(strtok('.'));
$packet .= chr(strtok('.'));
$packet .= chr(strtok('.'));
$packet .= chr($port & 0xFF);
$packet .= chr($port >> 8 & 0xFF);
fwrite($fp, $packet.'c');
fread($fp, 11);
$players = ord(fread($fp, 2));
$start = 0;
if ($players > 0) {
for ($i=0;$i<$players;$i++) {
$strlen = ord(fread($fp, 1));
$player = fread($fp, $strlen);
$score = ord(fread($fp, 4));
$data[$start]['player'] = $player;
$data[$start]['score'] = $score;
$start++;
}
}
fclose($fp);
return 1;
}
?>
$ip = 51.254.29.46; $port = 30465; $fp = fsockopen('udp://' . $ip, $port, $errno, $errstr); if (!$fp) { echo "<div class=\"message error\" style=\"margin: 10px 10px 5px 10px;\"><center><p><b>Error. Check data.</b></p></center></div>"; } else { $packet = 'SAMP'; $packet .= chr(strtok($ip, '.')); $packet .= chr(strtok('.')); $packet .= chr(strtok('.')); $packet .= chr(strtok('.')); $packet .= chr($port & 0xFF); $packet .= chr($port >> 8 & 0xFF); fwrite($fp, $packet.'i'); fread($fp, 11); $is_passworded = ord(fread($fp, 1)); $plr_count = ord(fread($fp, 2)); $max_plrs = ord(fread($fp, 2)); $strlen = ord(fread($fp, 4)); $hostname = fread($fp, $strlen); $strlen = ord(fread($fp, 4)); $gamemode = fread($fp, $strlen); $strlen = ord(fread($fp, 4)); $mapname = fread($fp, $strlen); echo ' <tr><td bgcolor="#2B5486" colspan="2" align="center"><b>' . $hostname . '</b></td></tr>'."\n"; echo ' <tr><td bgcolor="#2B5486" width="100">Players: </td><td bgcolor="#2B5486" width="250">' . $plr_count . ' / ' . $max_plrs . '</td></tr>'."\n"; echo ' <tr><td bgcolor="#2B5486">GameMode: </td><td bgcolor="#2B5486">' . $gamemode . '</td></tr>'."\n"; echo ' <tr><td bgcolor="#2B5486">Map name: </td><td bgcolor="#2B5486">' . $mapname . '</td></tr>'."\n"; if ($is_passworded) { echo ' <tr><td bgcolor="#2B5486">Locked: </td><td bgcolor="#2B5486">Yes</td></tr>'."\n"; } else { echo ' <tr><td bgcolor="#2B5486">Locked: </td><td bgcolor="#2B5486">No</td></tr>'."\n"; } fwrite($fp, $packet.'c'); fread($fp, 11); $plr_count = ord(fread($fp, 2)); if ($plr_count > 0) { echo ' </table><br>'."\n"; echo ' <table width="350" bgcolor="#000000" cellpadding="4" cellspacing="1" align="center">'."\n"; echo ' <tr><td bgcolor="#2B5486" colspan="2" align="center"><b>Players info</b></td></tr>'."\n"; echo ' <tr><td bgcolor="#2B5486" align="left" width="250"><b>Vardas</b></td></tr>'."\n"; for ($i=0; $i<$plr_count; $i++) { $strlen = ord(fread($fp, 1)); $plrname = fread($fp, $strlen); $score = ord(fread($fp, 4)); echo ' <tr><td bgcolor="#2B5486">' . $plrname . ' - '.$score.'</td></tr>'."\n"; } } fclose($fp); } |