Vraag & Antwoord

Webprogrammeren & scripting

hulp bij een voudig php script

Anoniem
sdk
12 antwoorden
  • Ik heb een kant en klaar script van iemand gekregen. Ik heb dit vervolgens uitgebreid met een paar andere variable settings.

    Ik weet neit veel van php. Ik kan het lezen omdat ik html (wie niet) kan.

    Er is een probleem. Op de 1 of adnere manier staat er dat:

    als type = dm–> laat alleen scorelimit zien.

    Ik kan niet terugvinden waar ik dit uit kan breiden met laat alleen scorelimit, timelimit zien.

    Wie helpt.
  • denk dat het in dit stuk staat

    [code:1:eefab7b86f]CENTER>
    <FONT color=white><?=removefunchars($sof2->m_servervars["sv_hostname"])?></FONT><BR>
    <FONT color=white><?echo $serveradr . ":" . $serverport; ?></FONT><BR>
    <FONT color=white><?=$sof2->m_servervars["sv_currentclients"]?>/<?=$sof2->m_servervars["sv_maxclients"]?></FONT><BR>
    <FONT color=white>Map name : <?=$sof2->m_servervars["mapname"]?><BR><BR>
    <?
    if (file_exists($mapsdir . $sof2->m_servervars["mapname"] . '.jpg')) {
    echo "<IMG SRC=\"maps/{$sof2->m_servervars["mapname"]}.jpg\">";}
    else { echo "<IMG SRC=\"maps
    nd.jpg\">"; };?>
    </CENTER>
    <? if (strtolower($sof2->m_servervars["g_gametype"]) != dm) { ?>
    <div align="center">
    <table width="629" border="0" align="center" bgcolor="#000000">
    <tr>
    <td width="623" align="center"><p><font color="#FFFFFF" size="5"><strong>
    <?
    if ($sof2->blue < $sof2->red) {
    echo "Red leads Blue by ";
    echo $sof2->red - $sof2->blue;
    };
    if ($sof2->blue > $sof2->red) {
    echo "Blue leads Red by ";
    echo $sof2->blue - $sof2->red;
    };
    if ($sof2->blue == $sof2->red) {
    echo "Game tied at {$sof2->blue}";
    };
    echo "<br><font size=\"2\">Scorelimit : {$sof2->m_servervars["scorelimit"]}";
    echo "<br><font size=\"2\">Timelimit : {$sof2->m_servervars["timelimit"]}";
    echo "<br><font size=\"2\">Friendly fire : ";
    if ($sof2->m_servervars["g_friendlyfire"] == 1) {
    echo "ON"; }
    else { echo "OFF"; }
    echo "<br><font size=\"2\">Game version : {$sof2->m_servervars["gameversion"]}";
    echo "<br><font size=\"2\">Download enabled? : ";
    if ($sof2->m_servervars["sv_allowdownload"] == 1) {
    echo "ON"; }
    else { echo "OFF"; }
    ?>[/code:1:eefab7b86f]

    website met dit testscript:

    http://www.djdjnet.com/dcc/phpSOF2/index2.php
  • Vertel eens duidelijk wat je probleem is (met voorbeeldje of zo), hier kunnen we geen touw aan vast knopen.

    Hint: tik wat rustiger, dan staan de letters ook in de juiste volgorde. Leest wel zo makelijk voor ons…
  • Als ik mijn server gewoon op de mapcycle heb is het gametype ctf=capture de vlag.

    Maar als het in de late uurtjes (of vroege) rustig is zet ik hem even op dm (= deathmatch).

    helaas laat de website dan bijna alle gegevens weg
    Nu staat er:

    Game tied at 0
    Scorelimit : 20
    Timelimit : 20
    Friendly fire : ON
    Game version : OSP v0.3g beta
    Download enabled : Yes

    Op dm staat er:

    Scorelimit : 20

    hij slaat de rest dus over. Ik wil echter dat hij alleen g_friendlyfire overslaat omdat je dat niet bij DM hebt. De rest echter wel!

    ( denk dat dit het rotzakje is:

    <? if (strtolower($sof2->m_servervars["g_gametype"]) != dm) { ?>
    <div align="center">

    )
  • [quote:21766db12f="Bill Gates"]Hint: tik wat rustiger, dan staan de letters ook in de juiste volgorde. Leest wel zo makelijk voor ons…[/quote:21766db12f]

    Ja dat komt dus door dat spel. Je hebt dan geen tijd om rustig te typen dus nu typ ik automatisch supersnel. Helaas zitten er wel fouten in, inagme heb je geen tijd te herstellen. Iedereen op msn is er al aan gewend bij mij.
  • Als je wilt dat je alleen die Friendly Fire overslaat moet je dus dat if-statement later plaatsen (net voor die Friendly Fire dus).

    [quote:21a5d88aad]Ja dat komt dus door dat spel. Je hebt dan geen tijd om rustig te typen dus nu typ ik automatisch supersnel. Helaas zitten er wel fouten in, inagme heb je geen tijd te herstellen. Iedereen op msn is er al aan gewend bij mij.[/quote:21a5d88aad]Dat is geen excuus, het verhaal zou stukken duidelijker zijn als je je tekst gewoon nog een keer doorleest.
  • JA zoeits dacht ik ook al maar ik snap de structuur neit helemaal. Er staat als gametype= dm en dan de hele lijst. Het is voor mij dus een mysterie hoe hij erbij komt om alleen scorelimit te pakken, deze staat namelijk in het midden van de 5 variabelen.
  • [quote:185842ef4c="sdk"]Er staat als gametype= dm en dan de hele lijst. Het is voor mij dus een mysterie hoe hij erbij komt om alleen scorelimit te pakken, deze staat namelijk in het midden van de 5 variabelen.[/quote:185842ef4c]
    Nee, er staat als gametype [b:185842ef4c]!=[/b:185842ef4c] (ongelijk aan) dm laat dan alles zien. Waarschijnlijk staat daaronder nog een [i:185842ef4c]else[/i:185842ef4c] statement wat je aan kan vullen met wat extra gegegevens. En zo niet dan zal het ergens anders in de code terugkomen (even verder zoeken dus).

    Btw. je zegt dat je het script gekregen hebt. Kan de gulle gever je niet helpen dan?
  • Die bleek het uit een clanhosting pakket te hebben.
  • [code:1:8b9f2bc81c]<? } else {
    echo "<center>";
    echo "<br><font size=\"2\">Scorelimit : {$sof2->m_servervars["scorelimit"]}";
    echo "<table>";
    echo "<tr>";
    echo "<td bgcolor=\"#778051\">";
    echo "<table>";
    echo "<tr>";
    echo "<td width=\"400\" colspan=\"2\" background=\"green.jpg\"><font color=\"#FFFFFF\"><B>PLAYERS</B><BR>";
    echo "<font color=\"#FFFFFF\" size=\"1\">players {$sof2->totaldm}</font></font></td>";
    echo "</tr>";
    $i=1;
    while($sof2->dmarray[$i][3] <> "") {
    echo "<tr>";
    echo "<td bgcolor=\"#000000\"><font color=\"#FFFFFF\"><strong>{$sof2->dmarray[$i][3]}</strong></font><br> <font color=\"#CCCCCC\" size=\"1\">ping ";
    echo ": {$sof2->dmarray[$i][2]}</font><br> </td>";
    echo " <td valign=\"top\" bgcolor=\"#000000\"> ";
    echo "<div align=\"right\"><font color=\"#FFFFFF\"><strong>{$sof2->dmarray[$i][1]}</strong></font></div></td>";
    echo " </tr>";
    $i++;
    }
    echo "</font></td></tr></table></table>";
    echo "<table>";
    echo "<tr><td width=\"500\" bgcolor=\"#000000\"><font color=\"#CCCCCC\" size=\"2\">SPECTATORS : ";
    $i=1;
    while($sof2->specarray[$i][2] <> "") {
    echo $sof2->specarray[$i][2] . " [" . $sof2->specarray[$i][1] . "], ";
    $i++;
    }
    echo "</table>";
    echo "</center>";
    } ?>[/code:1:8b9f2bc81c]
  • hier staat het dus. Ik heb het nu uitgebreid tot.

    [code:1:99f56d753c]<? } else {
    echo "<center>";
    echo "<br><font size=\"2\">Scorelimit : {$sof2->m_servervars["scorelimit"]}";
    echo "<br><font size=\"2\">Timelimit : {$sof2->m_servervars["timelimit"]}";
    echo "<br><font size=\"2\">Friendly fire : ";
    echo "<br><font size=\"2\">Game version : {$sof2->m_servervars["gameversion"]}";
    echo "<br><font size=\"2\">Download enabled : ";
    if ($sof2->m_servervars["sv_allowDownload"] == 1) {
    echo "Yes"; }
    else { echo "No"; }
    echo "<table>";[/code:1:99f56d753c]

    maar er staat ergens een fout want hij laat gewoon friendlyfire : (niks)
    zien. Ik denk dus dat ik een soort fout met haakjes heb en dat hij daardoor maar gewoon het eerste deel laat staan. Iemand een tip?
  • Kijk nou eens in de code die je plaatst… Natuurlijk staat er niets achter Friendly Fire aangezien er in de code ook niets staat dat het erachter kan plaatsen…

    :roll:

    - Bas

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.

Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord