Hej Jimmi.
Det var lige hvad jeg kunne bruge, tak skal du have. Har stadig nogle ting der skal laves endnu. Og så har jeg et problem, nu hvor den nye funktion er sat iværk .....
Har du lyst til at hjælpe her også.
Den første server på listen, virker som den skal. Server info kommer og der kommer en liste over spillere på serveren. Men når jeg vælger nr. 2 på listen, så kommer der kun server info. Ikke nogle spillere selv om der er spillere på serveren. Tror du, du kan hjælpe mig med det ???
Når fejlen er blevet lavet, så skal den sidste ting tilføjes listen. En søge funktion. Se der er jeg hel væk. Søge funktionen skal kunne søge på alle serverene på listen og finde ud af om den pågældende spiller som man søger efter, spiller på en af serverene på listen.... Tror du det kan lade sig gøre ???
Med Venlig Hilsen
Jesper.
Ps. Du har allerede gjort rigeligt, men man kan jo altid håbe på du har tid og lyst til at hjælpe en som mig.... På forhånd tak skal du have.
Her er koden :
<?php
$server_id = $_GET['serverid'];
$serverip = "";
$serverport = "";
switch($server_id) {
case(1):
$serverip = "213.115.128.51";
$serverport = "27015";
break;
case(2):
$serverip = "stivan.gaming.nu";
$serverport = "27015";
break;
}
//Forbinder serveren
$fp = fsockopen("udp://".$serverip, $serverport);
if(!$fp) {
echo "<b>Kunne ikke forbinde til serveren</b>";
} else {
//Sender en query om at få detaljer om serveren
$send="\\377\\377\\377\\377details".chr(0);
fwrite($fp,$send);
$tmp=fgets($fp,5);
//Sætter alle standard værdi'erne
$text=""; $count=0;
$antal = 0;
$Servernavn = '';
$Servermap = '';
$Serverdir = '';
$Servertype = '';
$Serveractiveclient = '';
$Servermaxclient = '';
$Servertyp = '';
$Serveros = '';
$Serverpass = '';
//Går svaret igennem
do {
$antal++;
$tmp=fgets($fp,1);
//De forskellige informationer sættes
if ($count == 1) {
$Servernavn = $Servernavn.$tmp;
}
if ($count == 2) {
$Servermap = $Servermap.$tmp;
}
if ($count == 3) {
$Serverdir = $Serverdir.$tmp;
}
if ($count == 4) {
$Servertype = $Servertype.$tmp;
}
if ($count == 5) {
if ($antal == 1) {
$Serveractiveclient = $Serveractiveclient.ord($tmp);
}
if ($antal == 2) {
$Servermaxclient = $Servermaxclient.ord($tmp);
}
if ($antal == 4) {
$Servertyp = $Servertyp.chr(ord($tmp));
}
if ($antal == 5) {
$Serveros = $Serveros.chr(ord($tmp));
}
if ($antal == 6) {
$Serverpass = $Serverpass.ord($tmp);
}
}
$text=$tmp;
if (!ord($tmp)) { $count++; $text.=""; $antal = 0; }
} while ($count<11);
//Password og OS rettes til et tekst
$Serverpass = 'Kræves ikke';
if ($Serverpass == '1') {
$Serverpass = 'Kræves';
}
$Serveros = 'Windows';
if ($Serveros == 'l') {
$Serveros = 'Linux';
}
//Informationen skrives
echo '<table bgcolor="black" height=100% width=100% valign=top><tr><td>';
echo '<table align=center width="400" style="border:1px solid #652a2a ; background-color : black ; color : white ;
font : Garamond ; font-size : x-small">';
echo '<tr><td colspan="2" align="center"><h2>'.$Servernavn.'</h2></td></tr>';
echo '<tr><td colspan="2" align="left"><b>Information:</b></td></tr>';
echo '<tr><td width="50">Map:</td><td>'.$Servermap.'</td></tr>';
echo '<tr><td>Type:</td><td>'.$Servertype.'</td></tr>';
echo '<tr><td>Spillere:</td><td>'.$Serveractiveclient.' af '.$Servermaxclient.'</td></tr>';
echo '<tr><td>Kode:</td><td>'.$Serverpass.'</td></tr>';
echo '<tr><td>OS:</td><td>'.$Serveros.'</td></tr>';
echo '</table>';
//Begynder at hente spillere
echo '<table align=center width="400" style="border:1px solid #652a2a ; color : white ; font : Garamond ; font-size : x-small">';
echo '<tr><td colspan="3" align="left"><b>Spillere:</b></td></tr>';
echo '<tr><td>Id</td><td>Navn</td><td>Frags</td></tr>';
//Sender en query om at få spillere på serveren
$countantal = 2;
$sidstelinje = 0;
$activespillere = 1;
$send="\\377\\377\\377\\377players".chr(0);
fwrite($fp,$send);
$tmp=fgets($fp,5);
echo $tmp;
$text=""; $count=0;
$antal = 0;
$spillere = array();
$spillernr = -1;
//Går svaret igennem
do {
$antal++;
$tmp=fgets($fp,1);
if ($count == 1) {
if ($antal == 8) {
//Finder ud af hvor mange aktive der er på serveren og putter det ind i en variabel
$countantal = ord($tmp) * 4 + 1;
$activespillere = ord($tmp);
}
//Udskriver de forskellige informationer om spillerne
if ($antal == 9) {
$spillernr = $spillernr + 1;
$spillere[$spillernr] = array();
$spillere[$spillernr][2] = ord($tmp);
$sidstelinje = $count;
}
if ($antal > 9) {
$spillere[$spillernr][1] = $spillere[$spillernr][1].str_replace("'", "'", $tmp);
}
} else {
if ($antal == 5) {
$spillernr = $spillernr + 1;
$spillere[$spillernr] = array();
$spillere[$spillernr][2] = ord($tmp);
$sidstelinje = $count;
}
if ($antal > 5) {
$spillere[$spillernr][1] = $spillere[$spillernr][1].str_replace("'", "'", $tmp);
}
if ($antal == 1 AND $sidstelinje+1 == $count) {
$spillere[$spillernr][0] = ord($tmp);
}
}
$text = $text.$tmp;
if (!ord($tmp)) { $count++; $text.="<br>"; $antal = 0; }
} while ($count<$countantal);
//Skriver hvis der ikke er nogle på serveren
if ($activespillere == 0) {
echo "<tr><td colspan='3' align='center'>Ingen aktive spillere</td></tr>";
} else {
//Udskriver spillerne hvis der er nogle
for ($i = 0; $i < sizeof($spillere); $i++) {
echo "<tr><td>".$spillere[$i][2]."</td><td>".$spillere[$i][1]."</td><td>".$spillere[$i][0]."</td></tr>";
}
}
echo "</table>";
//Lukker forbindelsen til serveren
fclose($fp);
};
echo '<table align=center width="400" style="border:1px solid #652a2a ; color : white ; font : Garamond ; font-size : x-small">';
echo '<tr><td align=center valign=middle><a href="halflife://213.115.128.51:27015"><font color=white>Click & Frag</font></a></td></tr>';
echo '</table></td></tr></table>';
?>
Håber det er forståligt. 8)