Ik wil graag een pagina hebben waar je een overzicht krijgt van het spel en alle spelers enz. Ik heb al bij scripts gekeken maar die werkte niet (mssn omdat het cod1 is?)

Waar kan ik vinden hoe ik dit moet maken?
Volgens mij had de COD server daar een appart protocol/poort voor, maar weet het niet zeker meer. Misschien dat deze zoekresultaten iets opleveren.
Tzal jelmer weer eens niet zijn die een oplossing weet :P

Ik heb de squery.com geprobeert maar als ik een server van game-monitor.com selecteer (die het doet) krijg ik een error...
Wat zijn jullie dom zeg

zoek even in de scriptdatabase. Uiteraard weet Phphulp hier voor een degelijke antwoord!
Ik had doe va COD al wat aangepast, maar ik was niet niet helemaal tevreden (vandaar dat ie hier niet tussen de scripts staat), maar hier heb je 'm:

<?php

$ip = "83.98.179.152"; //ip van de server
$port = 28960; //De poort van de server standaard is: 28960

function color($text){
$text = eregi_replace('\^0', '<font color="gray">',$text);
$text = eregi_replace('\^1', '<font color="red">',$text);
$text = eregi_replace('\^2', '<font color="green">',$text);
$text = eregi_replace('\^3', '<font color="yellow">',$text);
$text = eregi_replace('\^4', '<font color="blue">',$text);
$text = eregi_replace('\^5', '<font color="lightblue">',$text);
$text = eregi_replace('\^6', '<font color="pink">',$text);
$text = eregi_replace('\^7', '<font color="black">',$text);
$text = eregi_replace('\^8', '<font color="darkblue">',$text);
$text = eregi_replace('\^9', '<font color="darkred">',$text);
return $text;
}

function tel($text){
$texta = explode("^", $text);
$aantal = count($texta);
return $aantal-1;
}

function view($find, $in, $type = ''){
$position = array_search ($find, $in);
if($type == ''){
return htmlentities($in[$position+1]);
}elseif($type == 'l'){
return strtolower($in[$position+1]);
}elseif($type == 'b'){
if($in[$position+1] == '0'){
return 'On';
}else{
return 'Off';
}
}else{
if($in[$position+1] == '0'){
return 'No';
}else{
return 'Yes';
}
}
}

$con = fsockopen("udp://".$ip, $port);

fwrite($con, "ÿÿÿÿ". chr (0x02). "getstatus". chr (0x00));

fread($con, 4);

$status = socket_get_status($con);

# Als geen verbinding:

if($status["unread_bytes"] == 0){
exit("De server is down...");
}

# Als wel verbinding:

$empfangen = "";
while($status["unread_bytes"] != 0){
$empfangen .= fread($con, 1);
$status = socket_get_status($con);
}

fclose($con);

$daten = explode("\n", $empfangen);
$rules = explode("\\",$daten[1]);

$hostname = view('sv_hostname', $rules);
$aantal = tel($hostname);
$hostname = color($hostname);

$playercount = count ($daten);
$playercount = $playercount-3;

echo "<div align='center'>\n";

echo "<table width='400'>\n";

echo "<tr><td colspan='2' align='center'><h1>CoD2 Server Status:</h1></td></tr>\n";

echo "<tr><th>Servername:</th><td>" . $hostname;
for ($i=0; $i<$aantal; $i++){
echo "</font>";
}
echo "</td></tr>\n";

echo "<tr><th>Server-IP:</th><td>" . $ip . ":" . $port . "</td></tr>\n";

echo "<tr><th>Gametype:</th><td>" . view('g_gametype', $rules) . "</font></td></tr>\n";

echo "<tr><th>Friendly fire:</th><td>" . view('scr_friendlyfire', $rules, 'b') . "</td></tr>\n";

echo "<tr><th>Killcam:</th><td>" . view('scr_killcam', $rules, 'b') . "</td></tr>\n";

echo "<tr><th>Voice:</th><td>" . view('sv_voice', $rules, 'b') . "</td></tr>\n";

echo "<tr><th>Version:</th><td>" . view('shortversion', $rules) . "</td></tr>\n";

echo "<tr><th>Password:</th><td>" . view('pswrd', $rules, 'c') . "</td></tr>\n";

echo "<tr><th>Players:</th><td>" . $playercount . "/" . view('sv_maxclients', $rules) . "</td></tr>\n";

echo "<tr><th>Current map:</th><td>" . view('mapname', $rules, 'l') . "</td></tr>\n";

echo "<tr><td colspan='2' align='center'>";
if (file_exists("image/" . view('mapname', $rules, 'l') . ".jpg")){
echo "<img alt='" . view('mapname', $rules, 'l') . "' width='300' src='image/" . view('mapname', $rules, 'l') . ".jpg' /><br />" . view('mapname', $rules, 'l');
}else{
echo "<img width='300' alt='" . view('mapname', $rules, 'l') . "' src='image/custom.jpg' /><br />" . view('mapname', $rules, 'l');
}
echo "</td></tr>\n";

echo "</table>";

# Playerinfo
$score = '';

foreach($daten as $k => $v){
if($k > 1 && !empty($v)){
$playerinfo = explode('"',$v);
$aantal = tel($playerinfo[1]);
$end = '';
for ($i=0; $i<$aantal; $i++){
$end .= "</font>";
}
$playerinfo[1] = color($playerinfo[1]) . $end;
$playerinfo[0] = explode(" ",$playerinfo[0]);
$ping[$k] = $playerinfo[0][1];
$score[$k] = $playerinfo[0][0];
$nick[$k] = $playerinfo[1];
}
}

if(isset($_GET['orderby'])){
$orderby = $_GET['orderby'];
}else{
$orderby = 'score';
}

switch($orderby){
case 'ping':
$order = $ping;
break;
case 'nickname':
$order = $nick;
break;
default:
$order = $score;
break;
}

echo "<table width='400'>\n";
echo "<tr><th><a href='?orderby=score'>Score</a></th><th><a href='?orderby=nickname'>Nickname</a></th><th><a href='?orderby=ping'>Ping</a></th></tr>";
if(is_array($order)){
arsort($order);
foreach($order as $k => $v){
echo "<tr><td align='center'>" . $score[$k] . "</td><td align='center'>" . $nick[$k] . "</td><td align='center'>" . $ping[$k] . "</td></tr>\n";
}
}
echo "</table>\n";

echo "</div>";

?>
Eris schreef op 09.01.2006 19:37
Wat zijn jullie dom zeg

zoek even in de scriptdatabase. Uiteraard weet Phphulp hier voor een degelijke antwoord!

LOL! Iemand is hier trots op PHPhulp ^^
ik heb het over cod2 en deze werkt daar niet voor :)

edit = Zo dom zijn wij dus niet eris
Woopie100 schreef op 09.01.2006 19:53
ik heb het over cod2 en deze werkt daar niet voor :)


Die van mij?

Ik heb 'm aangepast voor cod2 probeer eens, je zal zien dat het werkt...
raar dan denk ik dat het aan de server ligt :) ik ga wel ff een server downloaden waar alles mag :P
Boaz: Schitterend ! Hij werkt :)

Het lag aan de server dat het niet werkte :( maargoed hij werkt :) bedankt iedereen voor jullie hulp :)

1 vraagje : kan je ook de deaths bekijken? :P
Nee, daarvoor moet je server statistieken hebben die aan de hand van de logfile gemaakt worden.

Reageren