Webboard

Pełna wersja: Wyświetlanie nicków graczy online
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam staram się zrobić listę graczy online jaka jest tutaj
[attachment=12977]

Generalnie interesuje mnie na start sam Nick gracza
Używam biblioteki? GameQ.php stąd KLIK
Generalnie chce uzyskać efekt taki o
[attachment=12978]

KOD index.php
Kod PHP:
<?php
error_reporting
(E_ALL);


require_once 
'GameQ.php';

/*  Konfiguracja */
$ip'137.74.1.45';
$port='27036';
$game='cs';

/* Konfiguracja koniec ...*/

$gq = new GameQ();
$gq->addServer('serwer', array($game$ip$port));
$gq->setOption('timeout'250);
$gq->setFilter('normalise');
$gq->setFilter('sortplayers''gq_ping');
$results $gq->requestData();

if(
$results['serwer']['gq_hostname']==""
{
 
  $hostname "Serwer Pad³:/";
 
  $players "x";
 
  $playersmax "x";
 
  $map "Offline";

else
{
 
  $hostname $results['serwer']['gq_hostname'];
 
  $players $results['serwer']['gq_numplayers'];
 
  $playersmax $results['serwer']['gq_maxplayers'];
 
  $map $results['serwer']['gq_mapname'];
}
if(isset(
$_GET['online']) && $_GET['online'])
{
//print_r($results['serwer']);
echo '<table>';
 for (
$i 0$i $players$i++)
 {
 
$online $results['serwer']['players'][$i]['name'];

 echo 
"

 <tr>
 <td>
$i</td>
 <td>
$online</td>
 </tr>
 "
;
 
 }
 echo 
'</table>';
}
else
{
echo 
'<br>';
echo 
'Aktualnie online: '.$players.'/'.$playersmax.'&nbsp;Rozgrywana mapa: '.$map;
}

?>
Zerknij do mojej tabeli serwerow
Zielonego pojęcia nie mam, jakbym mógł chociaż prosić o funkcje z serverboard.php, na której mógłbym się wzorować.

#edit
znalazłem takie coś, ale niestety nie działa u mnie php 5.6



Inaczej sam skrypt działa, dodaje <table> etc. ale nie wpisuje nicków.

Obecny skrypt
Kod PHP:
<?php
error_reporting
(E_ALL);


require_once 
'GameQ.php';

/*  Konfiguracja */
$ip'137.74.1.45';
$port='27036';
$game='cs';

/* Konfiguracja koniec ...*/

$gq = new GameQ();
$gq->addServer('serwer', array($game$ip$port));
$gq->setOption('timeout'250);
$gq->setFilter('normalise');
$gq->setFilter('sortplayers''gq_ping');
$results $gq->requestData();

if(
$results['serwer']['gq_hostname']==""
{
 
  $hostname "Serwer Pad³:/";
 
  $players "x";
 
  $playersmax "x";
 
  $map "Offline";

else
{
 
  $hostname $results['serwer']['gq_hostname'];
 
  $players $results['serwer']['gq_numplayers'];
 
  $playersmax $results['serwer']['gq_maxplayers'];
 
  $map $results['serwer']['gq_mapname'];
}
echo 
"<table>";
for (
$i 0$i $players$i++)
{
 
$gracze $results['serwer'][$i]['gq_name'];
 echo 
"
 <tr>
 <td>"
;
 echo 
$gracze;
 echo 
"</td>
 </tr>
 "
;
}
echo 
"</table>";

?>
[attachment=12980]
Dodaj
Kod:
echo '<pre>';
var_dump($results);
echo '</pre>';
Po requestData i pokaż co wyświetli.
To się wyświetliło
Kod:
array(1) {
  ["serwer"]=>
  array(122) {
    ["_tutor_debug_level"]=>
    string(1) "0"
    ["_tutor_examine_time"]=>
    string(3) "0.5"
    ["_tutor_hint_interval_time"]=>
    string(4) "10.0"
    ["_tutor_look_angle"]=>
    string(2) "10"
    ["_tutor_look_distance"]=>
    string(3) "200"
    ["_tutor_message_character_display_time_coefficient"]=>
    string(4) "0.07"
    ["_tutor_message_minimum_display_time"]=>
    string(1) "1"
    ["_tutor_message_repeats"]=>
    string(1) "5"
    ["_tutor_view_distance"]=>
    string(4) "1000"
    ["address"]=>
    string(15) "127.0.0.1:27036"
    ["aesp_version"]=>
    string(3) "1.3"
    ["allow_spectators"]=>
    string(1) "1"
    ["amx_client_languages"]=>
    string(1) "8"
    ["amx_language"]=>
    string(2) "pl"
    ["amx_nextmap"]=>
    string(8) "de_dust2"
    ["amx_timeleft"]=>
    string(5) "08:08"
    ["amxbans_ssversion"]=>
    string(3) "0.4"
    ["amxbans_version"]=>
    string(8) "Gm 1.5.1"
    ["amxmodx_version"]=>
    string(5) "1.8.2"
    ["coop"]=>
    string(1) "0"
    ["deathmatch"]=>
    string(1) "1"
    ["decalfrequency"]=>
    string(2) "30"
    ["dedicated"]=>
    string(1) "d"
    ["dp_version"]=>
    string(7) "0.9.391"
    ["edgefriction"]=>
    string(1) "2"
    ["game_descr"]=>
    string(14) "Counter-Strike"
    ["game_dir"]=>
    string(7) "cstrike"
    ["gq_address"]=>
    string(11) "137.74.1.45"
    ["gq_dedicated"]=>
    string(1) "d"
    ["gq_gametype"]=>
    bool(false)
    ["gq_hostname"]=>
    string(42) "Cs-NaPlusie.eu[Only DD2] @ serwerygier.com"
    ["gq_mapname"]=>
    string(8) "de_dust2"
    ["gq_maxplayers"]=>
    int(16)
    ["gq_mod"]=>
    string(7) "cstrike"
    ["gq_numplayers"]=>
    int(1)
    ["gq_online"]=>
    bool(true)
    ["gq_password"]=>
    int(0)
    ["gq_port"]=>
    string(5) "27036"
    ["gq_prot"]=>
    string(6) "source"
    ["gq_type"]=>
    string(2) "cs"
    ["hostage_debug"]=>
    string(1) "0"
    ["hostage_stop"]=>
    string(1) "0"
    ["hostname"]=>
    string(42) "Cs-NaPlusie.eu[Only DD2] @ serwerygier.com"
    ["humans_join_team"]=>
    string(3) "any"
    ["jtp10181"]=>
    string(5) "chute"
    ["killassist_version"]=>
    string(4) "1.2b"
    ["map"]=>
    string(8) "de_dust2"
    ["max_players"]=>
    int(16)
    ["max_queries_sec"]=>
    string(1) "1"
    ["max_queries_sec_global"]=>
    string(1) "1"
    ["max_queries_window"]=>
    string(1) "1"
    ["metamod_version"]=>
    string(7) "1.21p37"
    ["mp_allowmonsters"]=>
    string(1) "0"
    ["mp_autokick"]=>
    string(1) "0"
    ["mp_autokick_timeout"]=>
    string(2) "-1"
    ["mp_autoteambalance"]=>
    string(1) "0"
    ["mp_buytime"]=>
    string(8) "0.250000"
    ["mp_c4timer"]=>
    string(2) "35"
    ["mp_chattime"]=>
    string(1) "1"
    ["mp_consistency"]=>
    string(1) "1"
    ["mp_fadetoblack"]=>
    string(1) "0"
    ["mp_flashlight"]=>
    string(1) "1"
    ["mp_footsteps"]=>
    string(1) "1"
    ["mp_forcecamera"]=>
    string(1) "1"
    ["mp_forcechasecam"]=>
    string(1) "0"
    ["mp_fragsleft"]=>
    string(1) "0"
    ["mp_freezetime"]=>
    string(1) "2"
    ["mp_friendlyfire"]=>
    string(1) "0"
    ["mp_ghostfrequency"]=>
    string(3) "0.1"
    ["mp_hostagepenalty"]=>
    string(1) "2"
    ["mp_kickpercent"]=>
    string(4) "0.66"
    ["mp_limitteams"]=>
    string(1) "0"
    ["mp_logdetail"]=>
    string(1) "3"
    ["mp_logfile"]=>
    string(1) "1"
    ["mp_logmessages"]=>
    string(1) "1"
    ["mp_mapvoteratio"]=>
    string(4) "0.66"
    ["mp_maxrounds"]=>
    string(1) "0"
    ["mp_mirrordamage"]=>
    string(1) "0"
    ["mp_playerid"]=>
    string(1) "0"
    ["mp_roundtime"]=>
    string(1) "3"
    ["mp_startmoney"]=>
    string(3) "800"
    ["mp_timeleft"]=>
    string(1) "0"
    ["mp_timelimit"]=>
    string(2) "25"
    ["mp_tkpunish"]=>
    string(1) "0"
    ["mp_windifference"]=>
    string(1) "1"
    ["mp_winlimit"]=>
    string(1) "0"
    ["num_players"]=>
    int(1)
    ["num_rules"]=>
    int(29791)
    ["os"]=>
    string(1) "l"
    ["password"]=>
    int(0)
    ["pausable"]=>
    string(1) "0"
    ["players"]=>
    array(1) {
      [0]=>
      array(7) {
        ["id"]=>
        int(0)
        ["name"]=>
        string(14) "Cs-NaPlusie.eu"
        ["score"]=>
        int(0)
        ["time"]=>
        float(264900.46875)
        ["gq_name"]=>
        string(14) "Cs-NaPlusie.eu"
        ["gq_score"]=>
        int(0)
        ["gq_ping"]=>
        bool(false)
      }
    }
    ["protocol"]=>
    int(47)
    ["secure"]=>
    int(1)
    ["sv_accelerate"]=>
    string(1) "5"
    ["sv_aim"]=>
    string(1) "0"
    ["sv_airaccelerate"]=>
    string(2) "10"
    ["sv_allowupld"]=>
    string(1) "1"
    ["sv_alltalk"]=>
    string(1) "1"
    ["sv_bounce"]=>
    string(1) "1"
    ["sv_cheats"]=>
    string(1) "0"
    ["sv_clienttrace"]=>
    string(1) "1"
    ["sv_contact"]=>
    string(12) "twoj@amxx.pl"
    ["sv_friction"]=>
    string(1) "4"
    ["sv_gravity"]=>
    string(3) "800"
    ["sv_logblocks"]=>
    string(1) "1"
    ["sv_maxrate"]=>
    string(5) "25000"
    ["sv_maxspeed"]=>
    string(3) "320"
    ["sv_minrate"]=>
    string(1) "0"
    ["sv_password"]=>
    string(1) "0"
    ["sv_proxies"]=>
    string(1) "1"
    ["sv_restart"]=>
    string(1) "0"
    ["sv_restartround"]=>
    string(1) "0"
    ["sv_stepsize"]=>
    string(2) "18"
    ["sv_stopspeed"]=>
    string(2) "75"
    ["sv_uploadmax"]=>
    string(3) "0.5"
    ["sv_voiceenable"]=>
    string(1) "1"
    ["sv_wateraccelerate"]=>
    string(2) "10"
    ["sv_waterfriction"]=>
    string(1) "1"
    ["utor_bomb_viewable_check_interval"]=>
    string(3) "0.5"
    ["version"]=>
    int(0)
    ["vtc_version"]=>
    string(2) "80"
  }
}
Zamiast tego fora możesz zrobić foreach na sewer.players, bo chyba to próbujesz zrobić
Kod PHP:
foreach ($results['serwer']['players'] as $player) {
echo 
$player['name']; // etc

Mój mistrz, dziękuje bardzo.