Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

Wyświetlanie nicków graczy online

PHP  Założony przez  Patryk Stefański.

Witam staram się zrobić listę graczy online jaka jest tutaj
   

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

KOD index.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
<?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>";

?>
   
Dodaj
echo '<pre>';
var_dump($results);
echo '</pre>';
Po requestData i pokaż co wyświetli.
To się wyświetliło
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ć
foreach ($results['serwer']['players'] as $player) {
echo 
$player['name']; // etc

Mój mistrz, dziękuje bardzo.



Użytkownicy przeglądający ten wątek:

2 gości