anoniem Geplaatst: 7 november 2004 Delen Geplaatst: 7 november 2004 ik ben een beginnende PHP'er en ik zit met een probleem. Ik heb op mijn pc een server draaien((nog) niet 24/7) met een php met de status van mijn call of duty server. Hij geeft als gametype dingen aan als dm en bel. Dit kan bets, mensen begrijpen het toch wel, maar ik wil graag ipv dm DeathMatch en ipv bel Behind Enemy Lines. Ik heb nu[code:1:e36c8d2574]if($gametype == bel){ $gametype = "Behind Enemy Lines"; } elseif($gametype = dm) { $gametype == "DeathMatch"; } elseif($gametype = tdm) { $gametype == "Team DeathMatch"; } else{$gametype = $gametype;}[/code:1:e36c8d2574]Dit wil ik nog verder uitbreiden, maar ik krijg het nog niet aan de praat. Hoe krijg ik het voormekaar dat hij het wel vervangt. Voor geinterreseerde de voledige code:[code:1:e36c8d2574]<? ############################ ## Hieronder ff wijzigen! ## ############################ $st_ip = "213.134.230.168"; //ip van de server $st_port = 28969; //De poort van de server standaard is: 28960 ############################## ## Hieronder niet Wijzigen! ## ################################################################ ## Maak voor de opmaak een CSS bestand maar ga niet wijzigen! ## ################################################################ function color($text) { $text = eregi_replace('\^0', '<font color="black">',$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="white">',$text); $text = eregi_replace('\^8', '<font color="darkgreen">',$text); $text = eregi_replace('\^9', '<font color="lightgray">',$text); return $text; } function tel($text) { $texta = explode("^", $text); $aantal = count($texta); return $aantal-1; } if(!$_GET["ip"]) { $s_port = $st_port; $s_ip = $st_ip; } elseif(!$_GET["port"]) { $ex = explode(":",$_GET["ip"]); if($ex[1] == ""){$ex[1] = 28960;} $s_port = $ex[1]; $s_ip = $ex[0]; } else {$s_port = $_GET["port"]; $s_ip = $_GET["ip"]; } $s_con = fsockopen("udp://".$s_ip, $s_port); fwrite($s_con, "ÿÿÿÿ". chr (0x02). "getstatus". chr (0x00)); fread($s_con, 4); $status = socket_get_status($s_con); // Geen verbinding if($status["unread_bytes"] == 0) { exit("De server is down..."); } $empfangen = ""; do { $empfangen .= fread($s_con, 1); $status = socket_get_status($s_con); } while($status["unread_bytes"] != 0); fclose($s_con); $daten = explode("\n", $empfangen); $rules = explode("\\",$daten[1]); $find_pos = array_search ("sv_hostname", $rules); $hostname = $rules[$find_pos+1] . "\n"; $aantal = tel($hostname); $hostname = color($hostname); $find_pos = array_search ("mapname", $rules); $mapname = $rules[$find_pos+1]; $mapname = strtolower($mapname); $playercount = count ($daten); $playercount = $playercount-3; $find_pos = array_search ("sv_maxclients", $rules); $maxplayers = $rules[$find_pos+1] . "\n"; $find_pos = array_search ("g_gametype", $rules); $gametype = $rules[$find_pos+1] . "\n"; $find_pos = array_search ("scr_killcam", $rules); $killcam = $rules[$find_pos+1] . "\n"; if($killcam == 1){$killcam = "on";} else{$killcam = "off";} $find_pos = array_search ("shortversion", $rules); $version = $rules[$find_pos+1] . "\n"; $find_pos = array_search ("pswrd", $rules); $password = $rules[$find_pos+1] . "\n"; if($password == 1){$password = "Yes";} else{$password = "No";} $find_pos = array_search ("sv_punkbuster", $rules); $punkbuster = $rules[$find_pos+1] . "\n"; if($punkbuster == 1){$punkbuster = "On";} else{$punkbuster = "Off";} ############################## ## Gametype namen aanpassen ## ############################## if($gametype == bel){ $gametype = "Behind Enemy Lines"; } elseif($gametype = dm) { $gametype == "DeathMatch"; } elseif($gametype = tdm) { $gametype == "Team DeathMatch"; } else{$gametype = $gametype;} echo "<link type='text/css' rel='stylesheet' href='style.css'>"; echo "<br><div align='center'>"; echo "<table border='1' cellspacing='0' width='400'>"; echo "<tr>"; echo "<td>"; echo "<center><h2>Call of Duty Server Stats:</h2></center>"; echo "<b>Servername:</b> " . $hostname . "<br>"; for ($i=0; $i<$aantal; $i++) { echo "</font>"; } echo "<b>Server-IP:</b> " . $s_ip . ":" . $s_port . "<br>"; echo "<b>Gametype:</b> " . $gametype . "</font><br>"; echo "<b>Killcam:</b> " . $killcam . "<br>"; echo "<b>Version:</b> " . $version . "<br>"; echo "<b>Password:</b> " . $password . "<br>"; echo "<b>Punkbuster:</b> " . $punkbuster . "<br>"; echo "<b>Players:</b> " . $playercount . " / " . $maxplayers . "<br>"; echo "<b>Current map:</b> " . $mapname . "<br><br>"; if (file_exists("image/" . $mapname . ".jpg")) { echo "<center><img width='366' src='image/" . $mapname . ".jpg'><br>" . $mapname . "<br><br><center>"; } else { echo "<center><img width='366' src='image/custom.jpg'><br>A Custom Map / No image available<br><br></center>"; } echo "</td></tr></table><br>"; // Speler informatie echo "<table cellspacing='0' width='400' border='1'>"; if ($playercount !=0){ echo "<tr>"; echo "<td><center>Nickname</center></td>"; echo "<td><center>Score</center></font></td>"; echo "<td><center>Ping</center></font></td>"; echo "</tr>"; $x = 1; while ($x <= $playercount) { $x++; $playerinfo = explode('"',$daten[$x]); $aantal = tel($playerinfo[1]); $playerinfo[1] = color($playerinfo[1]); $gegevens = explode(" ",$playerinfo[0]); $score = $gegevens[0]; $ping = $gegevens[1]; echo "<tr>"; echo "<td>" . $playerinfo[1] . ""; for ($i=0; $i<$aantal; $i++) { echo "</font>"; } echo "</td>"; echo "<td><center>" . $score . "</center></font></td>"; echo "<td><center>" . $ping . "</center></font></td>"; echo "</tr>"; } echo "</table>"; } else { echo "<tr><td>No players are on this server</tr></td>"; echo "</table>"; } if($_GET["ip"]) { echo "<center><br><a href='cod.php?ip=" . $_GET["ip"] . "&port=" . $_GET["port"] . "'>Refresh</a></center> "; } else { echo "<center><br><a href='cod.php'>Refresh</a></center> "; } ?>[/code:1:e36c8d2574] Quote Link naar reactie
anoniem Geplaatst: 7 november 2004 Auteur Delen Geplaatst: 7 november 2004 Het zit hem hierin: } elseif($gametype = dm) typfoutje met je = :) ik denk zelfs dat je bedoelt: } else if ($gametype == "dm") Quote Link naar reactie
anoniem Geplaatst: 7 november 2004 Auteur Delen Geplaatst: 7 november 2004 zit het hem in :D elseif / else if :D dm / "dm" :D = / == ??? Quote Link naar reactie
anoniem Geplaatst: 7 november 2004 Auteur Delen Geplaatst: 7 november 2004 als ik enkel = doe, dan neemt ie de eerste als ik dubbel == doe, dan slaat hij alles over. Quote Link naar reactie
anoniem Geplaatst: 7 november 2004 Auteur Delen Geplaatst: 7 november 2004 Achter een if of een elseif gebruik je dubbel ==, achter een uitvoering of definitie ($a=b) enkel =. Niet else if maar elseif Edit: dm is een tekstwaarde, dus moet hij tussen aanhalingstekens. Edit 2: [url=http://nl2.php.net/manual/nl/control-structures.elseif.php]Zie hier.[/url] Quote Link naar reactie
anoniem Geplaatst: 7 november 2004 Auteur Delen Geplaatst: 7 november 2004 [quote:a7530cf441="ANNErd"]ik ben een beginnende PHP'er en ik zit met een probleem. Ik heb op mijn pc een server draaien((nog) niet 24/7) met een php met de status van mijn call of duty server. Hij geeft als gametype dingen aan als dm en bel. Dit kan bets, mensen begrijpen het toch wel, maar ik wil graag ipv dm DeathMatch en ipv bel Behind Enemy Lines. Ik heb nu[code:1:a7530cf441]if($gametype == bel){ $gametype = "Behind Enemy Lines"; } elseif($gametype = dm) { $gametype == "DeathMatch"; } elseif($gametype = tdm) { $gametype == "Team DeathMatch"; } else{$gametype = $gametype;}[/code:1:a7530cf441]Dit wil ik nog verder uitbreiden, maar ik krijg het nog niet aan de praat. Hoe krijg ik het voormekaar dat hij het wel vervangt.[/quote:a7530cf441] Een switch-statement is toch wel overzichtelijker/beter onderhoudbaar [code:1:a7530cf441] switch ($gametype) { case 'bel': $gametype = 'Behind Enemy Lines'; break; case 'dm': $gametype = 'DeathMatch'; break; case 'tdm': $gametype = 'Team DeathMatch'; break; } [/code:1:a7530cf441] [quote:a7530cf441="ANNErd"] [code:1:a7530cf441]... [/code:1:a7530cf441][/quote:a7530cf441] Niet gecheckt. Quote Link naar reactie
anoniem Geplaatst: 17 november 2004 Auteur Delen Geplaatst: 17 november 2004 het probleem was [code:1:37fe2f9895]$gametypeconnect = $gametype;[/code:1:37fe2f9895]dat miste, en daardoor werkte het niet..... Quote Link naar reactie
anoniem Geplaatst: 17 november 2004 Auteur Delen Geplaatst: 17 november 2004 Beter laat dan nooit zullen we maar zeggen ;) Verplaatst van "Programmeren" naar "[b:6c51f06cfc]Web[/b:6c51f06cfc]programmeren & scripting". Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen