LoGD Standardrelease steht hier zum Download zur Verfügung!

Zeige Source: /logd/pilzsuche.php

Hier klicken für den Source, ODER
Weitere Dateien, von denen du den Quelltext sehen kannst:
(Das Lesen des Source, um sich spielerische Vorteile zu verschaffen, ist nicht erlaubt. Solltest du Schwachstellen oder Fehler entdecken, bist du als Spieler verpflichtet, diese zu melden.)

Source von: /logd/pilzsuche.php

<?php

/*********************************
*                                *
*  Der Pilzwald (pilzsuche.php)  *
*        Idee: Veskara           *
*    Programmierung: Linus       *
*   für alvion-logd.de/logd      *
*      im Dezember 2007          *
*                                *
**********************************/

/* SQL:
CREATE TABLE `pilze` (acctid INT(11) NOT NULL DEFAULT '0',
            `hasel` INT(11) NOT NULL DEFAULT '0',
            `gift` INT(11) NOT NULL DEFAULT '0',
            `feigen` INT(11) NOT NULL DEFAULT '0',
            `hasen` INT(11) NOT NULL DEFAULT '0',
            `baum` INT(11) NOT NULL DEFAULT '0',
            `insekt` INT(11) NOT NULL DEFAULT '0',
            `leucht` INT(11) NOT NULL DEFAULT '0',
            `alvion` INT(11) NOT NULL DEFAULT '0',
            `goetter` INT(11) NOT NULL DEFAULT '0',
            `gold` INT(11) NOT NULL DEFAULT '0',
              PRIMARY KEY (`acctid`)
            ) TYPE=MyISAM COMMENT='Tabelle für die Pilzsuche';


ALTER TABLE `accounts` ADD pilzsuche ENUM('0','1') NOT NULL DEFAULT '0',
        ADD kristalle INT(11) NOT NULL DEFAULT '0';

PHP:

newday.php:
-----------
suche:
        $session['user']['transferredtoday'] = 0;

füge danach ein:
        $session['user']['pilzsuche']='0';


dragon.php:
-----------
im nochange-Array zweimal eingügen:
                        ,"kristalle"=>1

*/

require_once "common.php";
global 
$session;
page_header("Der Pilzwald");

switch(
$_GET['op']) {
    case 
"":
        
$out="`pDir ist ei`*n wenig un`2heimlich, `*wie du hie`pr so durch`* die wohl `2dunkelste `*Ecke des W`paldes  str`*eifst, die`2 du hattes`*t finden k`pönnen. Abe`*r dieses `2Pech kannt`*est du ja `pbereits un`*d bleibst `2erst einma`*l seufzend`p stehen. W`*arum nicht`2 einfach d`*as Beste d`paraus mach`*en? Immerh`2in hattest`* du nichts`p Besseres `*zu tun und`2 auf einma`*l sticht d`pir auch et`*was ins Au`2ge.  `n
Direkt `*neben dir `pwächst ein`* prächtige`2r Fliegenp`*ilz aus de`pm Boden un`*d erweckt `2in dir die`* Frage ob `pes hier wo`*hl noch an`pdere und v`*or allem e`2ssbare Pil`*ze gibt.  `n
Du`p bist dir `*dessen bew`2usst, dass`* es dich e`ptwas Zeit `*kosten wür`2de aber ei`*ne schlech`pte Idee wä`*re es besti`2mmt nicht `*auf Pilzsu`pche zu geh`*en, nicht `2wahr?`n `n"
;
        if(
$session['user']['pilzsuche']){
            
$out.="Du hast heute schon Pilze gesucht. Du bist zu müde weiter durch den Pilzwald zu streifen.`n";
            
addnav("Zurück","wstueck.php");
        } else {
            if(
$session['user']['turns']>=3){
                
$out.="Du hast noch ".$session['user']['turns']." Runden übrig. Wieviele Runden möchtest du einsetzen? Bedenke das jeder Schritt durch den Pilzwald drei Runden kosten wird!`n";
                
$out.="<form action='pilzsuche.php?op=start' method='POST'>Wieviel <u>R</u>unden möchtest du einsetzen? <input name='runden' id='runden' accesskey='r' width='3'> (mindestens 3 Runden)`n";
                
$out.='<script language="JavaScript">document.getElementById("runden").focus();</script>'
                
addnav("","pilzsuche.php?op=start");
                
addnav("Zurück","wstueck.php");
            } else {
                
$out.="Du hast nicht genügend Runden übrig um Pilze suchen zu können.`n";
                
addnav("Zurück","wstueck.php");
            }
        }
        break;
    case 
"start":
        
$out="`2Auf einmal`* schreckst`p du zurück`*. Irgendet`2was hatte `*sich doch `peben in de`*inem Augen`2winkel bew`*egt oder b`pildest du `*dir das et`2wa nur ein`*? `n
Falsch ge`pdacht. Unmi`*ttelbar vor`2 deinen er`*staunten A`pugen wacke`*lt der Flie`2genpilz kr`*äftig hin `pund her be`*vor er auf`2 einmal mi`*t einem Sa`ptz nach ob`*en hüpft u`2nd auf zwe`*i dünnen B`peinchen zu`*m Stehen k`2ommt. Völl`*ig perplex`p starrst d`*u nun auf `2den laufe`*nden Pilz,`p der dich `*wohl seine`2rseits ans`*tarrt. Du `pjedoch erk`*ennst nur `2einem schm`*alen Stric`ph, der woh`*l den Mund`2 darstellt`*, der Rest`p schien un`*ter dem Hut`2 versteckt`* zu sein. `n
Au`pf einmal n`*uschelt es`2 dir etwas`* zu: `&Nichts da. Wer Pilze will, der soll löhnen, muss schließlich selbst von irgendwas leben. Schau nicht so entsetzt und zeig mir lieber was du mir bieten kannst, damit ich dir erlauben kann in meinem Pilzwald umher zu streifen. `*Meint `pdas komisc`*he Männlei`2n mit frec`*hem Grinse`pn.`n`n`c<img src='http://www.alvion-logd.de/logd/images/pilz2.gif'>`c`n`n"
;

        if(
$_POST['runden']>$session['user']['turns']){
            
$out.="So viele Runden hast du nicht mehr übrig!`n";
            
addnav("Zurück","pilzsuche.php");
        } elseif (
$_POST['runden']<3){
            
$out.="Du musst mindestens drei Runden einsetzen!`n";
            
addnav("Zurück","pilzsuche.php");
        } else {
            
$schritte=floor($_POST['runden']/3);
            
$abzug=$schritte*3;
            
$out.="Du kannst für den Einsatz von $abzug Runden $schritte Schritte durch den Pilzwald wandern.`nMöchtest du nun Pilze suchen?`n";
            
addnav("Ja, Pilze suchen","pilzsuche.php?op=start2&schritte=$schritte&abzug=$abzug");
            
addnav("Nein, zurück","pilzsuche.php");

        }
        break;
    case 
"start2":
        
$out="`*Nachdem du`p entsprech`*ende Runde`2n als Trib`*ut gezahlt`p hast, nic`*kt der`2 Fliegenpi`*lz auf zwe`pi Beinen u`*nd wirkt a`2uf einmal `*ganz und g`par nicht m`*ehr so unf`2reundlich w`*ie vorher: 
`&Habt Spaß und fallt nicht über herausragende Baumwurzeln, `*ruft er di`pr noch lac`*hend zu un`2d ist auch`* schon hint`per irgend ei`*nem Busch `2verschwund`*en.`n`n"
;

        
$session['user']['turns']-=$_GET['abzug'];
        
$session['user']['pilzsuche']='1';
        
$sql="SELECT * FROM `pilze` where `acctid`='".$session['user']['acctid']."'";
        
$result=db_query($sql) or die(db_error(LINK));
        if(!
db_num_rows($result)) db_query("INSERT INTO `pilze` (`acctid`) VALUES ('".$session['user']['acctid']."')") or die(db_error(LINK));
        
addnav("".$_GET['schritte']." x Pilze suchen","pilzsuche.php?op=suche&schritte=".($_GET['schritte']-1)."");
        if(
$_GET['schritte']>=3addnav("Pilzfeld abräumen","pilzsuche.php?op=abraeumen&schritte=".($_GET['schritte']-1)."");
        break;
        
    case 
"abraeumen":
        
$out="";
        
$pilze = array(
            
1=>array("Haselröhrling","hasel"),
            
2=>array("Giftmorchel","gift"),
            
3=>array("Feigenfiesling","feigen"),
            
4=>array("Hasenschwämmchen","hasen"),
            
5=>array("Baumfungi","baum"),
            
6=>array("Insektentäubling","insekt"),
            
7=>array("Leuchtender Nachtpilz","leucht"),
            
8=>array("Alvionsteinpilz","alvion"),
            
9=>array("Götterwulstling","goetter"),
            
10=>array("Goldener Pilz","gold")
        );
        
        
$ab_pilz=array("1"=>0"2"=>0"3"=>0"4"=>0"5"=>0"6"=>0"7"=>0"8"=>0"9"=>0"10"=>0);
        
$count=$_GET['schritte'];        
        
$out.="Für eine lange Wanderung durch den Pilzwald hast du keine Zeit, so drischt du ".($count+1)." mal auf den Waldboden ein und sammelst auf was vor deinen Füßen liegt. ";
        for (
$count=$count;$count>0;$count--){
            switch(
mt_rand(1,3)){
            case 
"1":
                break;
            case 
"2":
            case 
"3":
                
$zufall=mt_rand(1,100);
                if(
$zufall>=99)    $pilz=10;
                elseif(
$zufall>=97$pilz=9;
                elseif(
$zufall>=94$pilz=8;
                elseif(
$zufall>=89$pilz=7;
                elseif(
$zufall>=83$pilz=6;
                elseif(
$zufall>=76$pilz=5;
                elseif(
$zufall>=64$pilz=4;
                elseif(
$zufall>=50$pilz=3;
                elseif(
$zufall>=30$pilz=2;
                else 
$pilz=1;
//                print_r($pilz);
                
$ab_pilz[$pilz]++;
                break;                
            }
        }
//        print_r($ab_pilz);
//        $out.="".$ab_pilz[1]." ".$pilze[1][0].", ".$ab_pilz[2]." ".$pilze[2][0].", ".$ab_pilz[3]." ".$pilze[3][0].", ".$ab_pilz[4]." ".$pilze[4][0].", ".$ab_pilz[5]." ".$pilze[5][0].", ".$ab_pilz[6]." ".$pilze[6][0].", ".$ab_pilz[7]." ".$pilze[7][0].", ".$ab_pilz[8]." ".$pilze[8][0].", ".$ab_pilz[9]." ".$pilze[9][0].", ".$ab_pilz[10]." ".$pilze[10][0]." gefunden. ";

        
db_query("UPDATE `pilze` SET `".$pilze['1']['1']."`=`".$pilze['1']['1']."`+".$ab_pilz[1].", 
         `"
.$pilze['2']['1']."`=`".$pilze['2']['1']."`+".$ab_pilz[2].",
         `"
.$pilze['3']['1']."`=`".$pilze['3']['1']."`+".$ab_pilz[3].",
         `"
.$pilze['4']['1']."`=`".$pilze['4']['1']."`+".$ab_pilz[4].",
         `"
.$pilze['5']['1']."`=`".$pilze['5']['1']."`+".$ab_pilz[5].",
         `"
.$pilze['6']['1']."`=`".$pilze['6']['1']."`+".$ab_pilz[6].",
         `"
.$pilze['7']['1']."`=`".$pilze['7']['1']."`+".$ab_pilz[7].",
         `"
.$pilze['8']['1']."`=`".$pilze['8']['1']."`+".$ab_pilz[8].",
         `"
.$pilze['9']['1']."`=`".$pilze['9']['1']."`+".$ab_pilz[9].",
         `"
.$pilze['10']['1']."`=`".$pilze['10']['1']."`+".$ab_pilz[10]."
        WHERE `acctid`='"
.$session['user']['acctid']."'");

        
$out.="`n`n<table align='center'>";
        
$out.="<tr><td>Du hast</td></tr><tr><td>&nbsp;</td></tr>";
        for(
$i=1;$i<=10;$i++){
            
$out.="<tr><td>".$pilze[$i]['0']."</td><td>".$ab_pilz[$i]."</td></tr>";
        }
        
$out.="<tr><td>&nbsp;</td></tr><tr><td>gefunden, und in deinem Besitz befinden sich nun:</td></tr><tr><td>&nbsp;</td></tr>";

        
$sql="SELECT * FROM `pilze` WHERE `acctid`='".$session['user']['acctid']."'";
        
$result=db_query($sql) or die(db_error(LINK));
        
$row=db_fetch_assoc($result);

//        $out.="</table>`n";
//        $out.="<table align='center'>";
        
for($i=1;$i<=10;$i++){
            
$out.="<tr><td>".$pilze[$i]['0']."</td><td>".$row[$pilze[$i]['1']]."</td></tr>";
        }
        
$out.="</table>";

        
addnav("Zurück","wstueck.php");
        break;
        
    case 
"suche":
        
$out="";
        
$pilze = array(
            
1=>array("Haselröhrling","hasel"),
            
2=>array("Giftmorchel","gift"),
            
3=>array("Feigenfiesling","feigen"),
            
4=>array("Hasenschwämmchen","hasen"),
            
5=>array("Baumfungi","baum"),
            
6=>array("Insektentäubling","insekt"),
            
7=>array("Leuchtender Nachtpilz","leucht"),
            
8=>array("Alvionsteinpilz","alvion"),
            
9=>array("Götterwulstling","goetter"),
            
10=>array("Goldener Pilz","gold")
        );

        
$sql="SELECT * FROM `pilze` WHERE `acctid`='".$session['user']['acctid']."'";
        
$result=db_query($sql) or die(db_error(LINK));
        
$row=db_fetch_assoc($result);

        
$out.="`pMit aufmer`*ksamen Aug`2en tastest`* du den Wa`pldboden ab`* in der Ho`2ffnung, da`*ss sich di`pr ein Pilz`*hütchen ze`2igen würde.`* Es dauer`pt nicht ei`*nmal lange`2 bis du auf`* einmal ve`prsteckt zwi`*schen den h`2erausragend`*en Wurzeln `peines mächt`*igen Baume`2s einen p`*rächtig au`pssehenden `*Pilz entdeck`2st. Ohne zu`* zögern sch`pneidest du`* ihn ab.`n`n ";

        switch(
mt_rand(1,3)){
            case 
"1":
                
$out.="`2Wovon haben wir zu B`*eginn noch gesproche`pn? Von deinem sprich`*wörtlichen Pech? Tj`2a leider bewirkt dei`*n Pech, dass du nich`pt einmal den kleinst`*en Hügel gefunden ha`2st unter dem sich hä`*tte ein Pilz verstec`pken können.`n`n";
                break;
            case 
"2":
            case 
"3":
                
$zufall=mt_rand(1,100);
                if(
$zufall>=99)    $pilz=10;
                elseif(
$zufall>=97$pilz=9;
                elseif(
$zufall>=94$pilz=8;
                elseif(
$zufall>=89$pilz=7;
                elseif(
$zufall>=83$pilz=6;
                elseif(
$zufall>=76$pilz=5;
                elseif(
$zufall>=64$pilz=4;
                elseif(
$zufall>=50$pilz=3;
                elseif(
$zufall>=30$pilz=2;
                else 
$pilz=1;
                
$row[$pilze[$pilz]['1']]++;
                
db_query("UPDATE `pilze` SET `".$pilze[$pilz]['1']."`=`".$pilze[$pilz]['1']."`+1 WHERE `acctid`='".$session['user']['acctid']."'") or die(db_error(LINK));
                
$out.="`*Du kannst `2mit Freude`*n feststel`plen, dass `*sich nun `2ein`^ ".$pilze[$pilz]['0']." `2in dein`*em Besitz`p befindet.`n`n`n";
                break;
        }
        if(
$_GET['schritte']>0addnav("".$_GET['schritte']." x Pilze suchen","pilzsuche.php?op=suche&schritte=".($_GET['schritte']-1)."");
        else 
addnav("Zurück","wstueck.php");

        
$out.="<table align='center'>";
        for(
$i=1;$i<=10;$i++){
            
$out.="<tr><td>".$pilze[$i]['0']."</td><td>".$row[$pilze[$i]['1']]."</td></tr>";
        }
        
$out.="</table>";

        break;

}
output($out,true);

// addnav("Zurück","wstueck.php");
// addnav("Zum Dorf","village.php");

page_footer();

?>