Есть код который выводит ник игрока, его счет и время проведенное на сервер CS 1.6 как сделать чтобы выводило steamid игрока PHP: <?php $player_list = monitor_server_cs_fulll("80.93.184.193", 27017, halflife, players); // измените ай-пи 192.168.0.89 на свой!!!! //------------------////////////////---------------------------------------------------- function monitor_server_cs_fulll($ip, $port, $game, $request) { $fp = @fsockopen("udp://$ip", $port, $errno, $errstr, 1); if (!$fp) { return FALSE; } stream_set_timeout($fp, 1, 0); stream_set_blocking($fp, true); if ($request == "players") { $challenge = "\xFF\xFF\xFF\xFF\x57".$challenge_code; } fwrite($fp, $challenge); $buffer = fread($fp, 4096); if (!$buffer) { fclose($fp); return FALSE; } $buffer = trim(substr($buffer, 4)); fclose($fp); if (!trim($buffer)) { return FALSE; } //---------------------------------------------------------+ //---------------------------------------------------------+ if ($request == "players") { $player_number = 0; $position = 2; do { $player_number++; $player[$player_number]['id'] = ord($buffer[$position]); $position ++; while($buffer[$position] != "\x00" && $position < 4000) { $player[$player_number]['name'] .= $buffer[$position]; $position ++; } $player[$player_number]['score'] = (ord($buffer[$position + 1])) + (ord($buffer[$position + 2]) * 256) + (ord($buffer[$position + 3]) * 65536) + (ord($buffer[$position + 4]) * 16777216); if ($player[$player_number]['score'] > 2147483648) { $player[$player_number]['score'] -= 4294967296; } $time = substr($buffer, $position + 5, 4); if (strlen($time) < 4) { return FALSE; } list(,$time) = unpack("f", $time); $time = mktime(0, 0, $time); $player[$player_number]['time'] = date("H:i:s", $time); $position += 9; } while ($position < strlen($buffer)); return $player; } } //------------------////////////////---------------------------------------------------- if (!$player_list) { echo "<div style='text-align:center'>Нет игроков или сервер не отвечает</div></body></html>"; return; } if (isset($player_list[1][score]) ) { $monitor_show_score = 1; } if (isset($player_list[1][time]) ) { $monitor_show_time = 1; } echo "<table class='players_table' cellpadding='3'> <tr> <td style='text-align:center'><b>Имя Игрока</b><br /><br /></td> <td style='height:30px'><br /><br /></td>"; if ($monitor_show_score ) { echo "<td style='width:60px; text-align:center'><b>Фраги </b><br /><br /></td>"; } if ($monitor_show_time) { echo "<td style='width:90px; text-align:center'><b>Время в игре </b><br /><br /></td>"; } echo "</tr>"; print_r($player_list); foreach ($player_list as $key=>$player) { if (function_exists("mb_convert_encoding")) { $player[name] = htmlspecialchars($player[name], ENT_QUOTES); $player[name] = @mb_convert_encoding($player[name],"HTML-ENTITIES","auto"); } else { $player[name] = htmlentities($player[name], ENT_QUOTES); } echo "<tr><td class='players_row'> $player[name] </td><td class='players_spacer'><br /></td>"; if ($monitor_show_score) { echo "<td class='players_row'> $player[score] </td>"; } if ($monitor_show_time) { echo "<td class='players_row'> $player[time] </td>"; } echo "</tr>\r\n"; } echo "</table><div style='height:30px'><br /></div>"; ?>
невозможно гугли аддон на амх который будет писать стимид отдельно в бд , а дальше при выводе можно будет показывать стимид. вроде это так делалось , уверен что готовые решения есть