LoGD Standardrelease steht hier zum Download zur Verfügung!

Zeige Source: /forest.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: /forest.php

<?php

// 24072004

require_once "common.php";
$balance getsetting("creaturebalance"0.33);

// Handle updating any commentary that might be around.
addcommentary();

//savesetting("creaturebalance","0.33");
if ($_GET[op]=="darkhorse"){
    
$_GET[op]="";
    
$session[user][specialinc]="darkhorse.php";
}
if (
$_GET[op]=="castle"){
    
$_GET[op]="";
    
$session[user][specialinc]="castle.php";
}
$fight false;
page_header("Der Wald");
if (
$session[user][superuser]>&& $_GET[specialinc]!=""){
  
$session[user][specialinc] = $_GET[specialinc];
}
if (
$session[user][specialinc]!=""){
  
//echo "$x including special/".$session[user][specialinc];
    
    
output("`]`c`bEtwas Besonderes!`c`b`n`n`0");
    
$specialinc $session[user][specialinc];
    
$session[user][specialinc] = "";
    include(
"special/".$specialinc);
    if (!
is_array($session['allowednavs']) || count($session['allowednavs'])==0) {
        
forest(true);
        
//output(serialize($session['allowednavs']));
    
}
    
page_footer();
    exit();
}
if (
$_GET[op]=="run"){
    if (
e_rand()%== 0){
        
output ("`c`b`&Du bist erfolgreich vor deinem Gegner geflohen!`0`b`c`n");
        
$session[user][reputation]--;
        
$_GET[op]="";
    }else{
        
output("`c`b`äDir ist es nicht gelungen deinem Gegner zu entkommen!`0`b`c");
    }
}
//Komplette Heilung by Morpheus
if ($_GET[op]=="heal"){
   
$config unserialize($session['user']['donationconfig']);
   if (
$config['healer'] || $session[user][acctid]==getsetting("hasegg",0)) $golinda 1;
   
$loglev log($session[user][level]);
   
$cost = ($loglev * ($session[user][maxhitpoints]-$session[user][hitpoints])) + ($loglev*10);
   if (
$golinda$cost *= .5;
   
$nc=100;
   
$newcost=round($nc*$cost/100,0);
   
$session[user][gold]-=$newcost;
   
$session[user][hitpoints]=$session[user][maxhitpoints];
   
$_GET[op]="";
}
//Komplette Heilung Ende
if ($_GET[op]=="dragon"){
    
addnav("Was tun?");
    
addnav("Weiter gehen","dragon.php");
    
addnav("Lieber wieder zurück","inn.php");
output("`c<table width='700'><tr><td align='justify'>`i`1
Schon seit längerem fordern dich die Kämpfe gegen die Waldkreaturen nicht mehr wirklich heraus. Selbst dein Meister hat beschlossen, dass er dir nichts mehr beibringen kann und so hast du dich aufgemacht um eine Herausforderung zu suchen, die deiner würdig ist. Du willst etwas vollbringen, von dem die Leute noch lange reden und über das die Barden des Landes Lieder und Gedichte schreiben. 
Und diese epische Heldentat liegt irgendwo dort draußen, das weißt du mit Sicherheit. Du hast dich tief in den Wald vorgewagt. Die Bäume stehen dicht beieinander und lassen kaum Licht durch das Blätterdach fallen. Immer wieder knackt oder raschelt es im Unterholz, doch deine geschulten Sinne erkennen schnell, dass darin keine Gefahr für dich liegt, sondern es sich nur um harmlose, kleine Waldtiere handelt. Leise und vorsichtig kämpfst du dich weiter voran.`i`n`n</td></tr></table>`c"
,true);
    
$session[user][seendragon]=1;
}
if (
$_GET[op]=="search"){
    
checkday();
  if (
$session[user][turns]<=0){
    
output("`ä`bDu bist zu müde um heute den Wald weiter zu durchsuchen. Vielleicht hast du morgen mehr Energie dazu.`b`0");
    
$_GET[op]="";
  }else{
      
$session[user][drunkenness]=round($session[user][drunkenness]*.9,0);
      
$specialtychance e_rand()%7;
      if (
$specialtychance==0){
          
output("`]`c`bEtwas Besonderes!`c`b`n`n`0");
            if (
$handle opendir("special")){
              
$events = array();
              while (
false !== ($file readdir($handle))){
                  if (
strpos($file,".php")>0){
                        
// Skip the darkhorse if the horse knows the way
                      
if ($session['user']['hashorse'] > && 
                            
$playermount['tavern'] > &&
                          
strpos($file"darkhorse") !== false) {
                          continue;
                      }
                      
array_push($events,$file);
                    }
                }
                
$x e_rand(0,count($events)-1);
                if (
count($events)==0){
                  
output("`b`äArrr, dein Administrator hat entschieden, dass es dir nicht erlaubt ist, besondere Ereignisse zu haben.  Beschwer dich bei ihm, nicht beim Programmierer.");
                }else{
                  
$y $_GET[op];
                    
$_GET[op]="";
                  
//echo "$x including special/".$events[$x];
                  
include("special/".$events[$x]);
                    
$_GET[op]=$y;
                }
            }else{
              
output("`c`b`äFEHLER!!!`b`c`&Es ist nicht möglich die besonderen Ereignisse zu öffnen! Bitte benachrichtige den Administrator!!");
            }
          if (
$nav==""forest(true);
      }else{
      
$session[user][turns]--;
          
$battle=true;
            if (
e_rand(0,2)==1){
                
$plev = (e_rand(1,5)==1?1:0);
                
$nlev = (e_rand(1,3)==1?1:0);
            }else{
              
$plev=0;
                
$nlev=0;
            }
            if (
$_GET['type']=="slum"){
              
$nlev++;
                
output("`GDu steuerst den Abschnitt des Waldes an, von dem du weißt, dass sich dort Feinde aufhalten, die dir ein bisschen angenehmer sind.`0`n");
    
//            $session[user][reputation]--;
            
}
            if (
$_GET['type']=="thrill"){
              
$plev++;
                
output("`áDu steuerst den Abschnitt des Waldes an, in dem sich Kreaturen deiner schlimmsten Albträume aufhalten, in der Hoffnung dass Du eine findest die verletzt ist.`0`n");
    
//            $session[user][reputation]++;
            
}
            
$targetlevel = ($session['user']['level'] + $plev $nlev );
            if (
$targetlevel<1$targetlevel=1;
            
$sql "SELECT * FROM creatures WHERE creaturelevel = $targetlevel ORDER BY rand(".e_rand().") LIMIT 1";
            
$result db_query($sql) or die(db_error(LINK));
            
$badguy db_fetch_assoc($result);
            
$expflux round($badguy['creatureexp']/10,0);
            
// more XP per DK
//            $badguy['creatureexp']+=round($session['user']['dragonkills']/300 * $badguy['creatureexp']);

            
$expflux e_rand(-$expflux,$expflux);
            
$badguy['creatureexp']+=$expflux;

            
//make badguys get harder as you advance in dragon kills.
            //output("`#Debug: badguy gets `%$dk`# dk points, `%+$atkflux`# attack, `%+$defflux`# defense, +`%$hpflux`# hitpoints.`n");
            
$badguy['playerstarthp']=$session['user']['hitpoints'];
            
$dk 0;
            while(list(
$key$val)=each($session[user][dragonpoints])) {
                if (
$val=="at" || $val=="de"$dk++;
            }
            
$dk += (int)(($session['user']['maxhitpoints']-
                (
$session['user']['level']*10))/5);
            if (!
$beta$dk round($dk 0.250);
            else 
$dk round($dk,0);

            
$atkflux e_rand(0$dk);
            if (
$beta$atkflux min($atkfluxround($dk/4));
            
$defflux e_rand(0, ($dk-$atkflux));
            if (
$beta$defflux min($deffluxround($dk/4));
            
$hpflux = ($dk - ($atkflux+$defflux)) * 5;
            
$badguy['creatureattack']+=$atkflux;
            
$badguy['creaturedefense']+=$defflux;
            
$badguy['creaturehealth']+=$hpflux;
            if (
$beta) {
                
$badguy['creaturedefense']*=0.66;
                
$badguy['creaturegold']*=(1+(.05*$dk));
                if (
$session['user']['race']==4$badguy['creaturegold']*=1.1;
            } else {
                if (
$session['user']['race']==4$badguy['creaturegold']*=1.2;
            }
            
$badguy['diddamage']=0;
            
$session['user']['badguy']=createstring($badguy);
            if (
$beta) {
                if (
$session['user']['superuser']>=3){
                    
output("Debug: $dk dragon points.`n");
                    
output("Debug: +$atkflux attack.`n");
                    
output("Debug: +$defflux defense.`n");
                    
output("Debug: +$hpflux health.`n");
                } 
            }
        }
    }
}
if (
$_GET[op]=="fight" || $_GET[op]=="run"){
    
$battle=true;
}
if (
$battle){
  include(
"battle.php");
//    output(serialize($badguy));
    
if ($victory){
        if (
getsetting("dropmingold",0)){
            
$badguy[creaturegold]=e_rand($badguy[creaturegold]/4,3*$badguy[creaturegold]/4);
        }else{
            
$badguy[creaturegold]=e_rand(0,$badguy[creaturegold]);
        }
        
$expbonus round(
            (
$badguy[creatureexp] *
                (
.25 *
                    (
$badguy[creaturelevel]-$session[user][level])
                )
            ) - 
$badguy[creatureexp],0
        
);
//        output("`n`i`&$badguy[creaturelose]`0`i`n"); 
        
output("`n`b`&Du hast $badguy[creaturename] erledigt!`0`b`n");
        
output("`GDu erbeutest `f`b$badguy[creaturegold]`b`G Goldstücke!`n");
        if (
$badguy['creaturegold']) {
            
//debuglog("received {$badguy['creaturegold']} gold for slaying a monster.");
        
}

        
//find something
        
$findit=e_rand(1,27);
        if (
$findit == 2) { //gem
            
output("`pDu findest `bEINEN EDELSTEIN!`b`n`0");
              
$session['user']['gems']++;
              
//debuglog("found a gem when slaying a monster.");
        
}
        if (
$findit == 5$session['user']['donation']+=1;

        if (
$findit == 20 && e_rand(1,4)==3){ // item
            
$sql="SELECT * FROM items WHERE owner=0 AND (class='Beute.Prot' OR class='Zaub.Prot') ORDER BY rand(".e_rand().") LIMIT 1";
            
$result db_query($sql) or die(db_error(LINK));
            
$row2 db_fetch_assoc($result);
            if (
$row2[name]){
                if (
$row2['class']=="Beute.Prot"){
                    
$sql="INSERT INTO items(name,class,owner,gold,gems,description) VALUES ('".addslashes($row2[name])."','Beute',".$session[user][acctid].",$row2[gold],$row2[gems],'".addslashes($row2[description])."')";
                }else if (
$row2['class']=="Zaub.Prot"){
                    
$row2[description].=" (gebraucht)";
                    
$row2[value1]=e_rand(1,$row2[value2]);
                    
$row2[gold]=$row2[gold]*(($row2[value1]+1)/($row2[value2]+1));
                    
$sql="INSERT INTO items(name,class,owner,gold,gems,value1,value2,hvalue,description,buff) VALUES ('".addslashes($row2[name])."','Zauber',".$session[user][acctid].",$row2[gold],0,$row2[value1],$row2[value2],$row2[hvalue],'".addslashes($row2[description])."','".addslashes($row2[buff])."')";
                }else{
                    
$sql "UPDATE items SET owner=".$session[user][acctid]." WHERE id=$row2[id]";
                }
                
db_query($sql) or die(sql_error($sql));
                
output("`n`3Beim Durchsuchen von $badguy[creaturename] `3findest du `&$row2[name]`3! ($row2[description])`n`n`#");
            }
        }
        if (
$findit == 25 && e_rand(1,6)==2){ // armor
            
$sql "SELECT * FROM armor WHERE defense<=".$session[user][level]." ORDER BY rand(".e_rand().") LIMIT 1";
            
$result2 db_query($sql) or die(db_error(LINK));
            if (
db_num_rows($result2)>0){
                
$row2 db_fetch_assoc($result2);
                
$row2['value']=round($row2['value']/10);
                
$sql="INSERT INTO items(name,class,owner,gold,value1,description) VALUES ('".addslashes($row2[armorname])."','Rüstung',".$session[user][acctid].",$row2[value],$row2[defense],'Gebrauchte Level $row2[level] Rüstung mit $row2[defense] Verteidigung.')";
                
db_query($sql) or die(sql_error($sql));
                
output("`n`3Beim Durchsuchen von $badguy[creaturename] `3findest du die Rüstung `&$row2[armorname]`3!`n`n`0");
            }
        }
        if (
$findit == 26 && e_rand(1,6)==2){ // weapon
            
$sql "SELECT * FROM weapons WHERE damage<=".$session[user][level]." ORDER BY rand(".e_rand().") LIMIT 1";
            
$result2 db_query($sql) or die(db_error(LINK));
            if (
db_num_rows($result2)>0){
                
$row2 db_fetch_assoc($result2);
                
$row2['value']=round($row2['value']/10);
                
$sql="INSERT INTO items(name,class,owner,gold,value1,description) VALUES ('".addslashes($row2[weaponname])."','Waffe',".$session[user][acctid].",$row2[value],$row2[damage],'Gebrauchte Level $row2[level] Waffe mit $row2[damage] Angriffswert.')";
                
db_query($sql) or die(sql_error($sql));
                
output("`n`3Beim Durchsuchen von $badguy[creaturename] `3findest du die Waffe `&$row2[weaponname]`3!`n`n`0");
            }
        }

        if (
$expbonus>0){
          
output("`c`f*** Durch die hohe Schwierigkeit des Kampfes erhältst du zusätzlich `&$expbonus Erfahrungspunkte!`f `n($badguy[creatureexp] + ".abs($expbonus)." = ".($badguy[creatureexp]+$expbonus).") `c");
        }else if (
$expbonus<0){
          
output("`c`f*** Weil dieser Kampf so leicht war, verlierst du `&".abs($expbonus)." Erfahrungspunkte!`f `n($badguy[creatureexp] - ".abs($expbonus)." = ".($badguy[creatureexp]+$expbonus).") `c");
        }
        
output("`c`fDu bekommst insgesamt `&".($badguy[creatureexp]+$expbonus)." Erfahrungspunkte`f!***`n`c`0");
        
$session[user][gold]+=$badguy[creaturegold];
        
$session[user][experience]+=($badguy[creatureexp]+$expbonus);
        
$creaturelevel $badguy[creaturelevel];
        
$_GET[op]="";
        
//if ($session[user][hitpoints] == $session[user][maxhitpoints]){
        
if ($badguy['diddamage']!=1){
            if (
$session[user][level]>=getsetting("lowslumlevel",4) || $session[user][level]<=$creaturelevel){
                
output("`n`b`c`Ç~~ Perfekter Kampf! ~~`&`n`bDu erhältst eine Extrarunde!`c`0`n");
                
$session[user][turns]++;
                if (
$expbonus>0){
                    
$session['user']['donation']+=1;
                }
            }else{
                
output("`b`c`Ç~~ Perfekter Kampf! ~~`b`&`nEin schwierigerer Kampf hätte dir eine extra Runde gebracht.`c`n`0");
            }
        }
        
$dontdisplayforestmessage=true;
        
addhistory(($badguy['playerstarthp']-$session['user']['hitpoints'])/max($session['user']['maxhitpoints'],$badguy['playerstarthp']));
        
$badguy=array();
    }else{
        if(
$defeat){
            
addnav("Tägliche News","news.php");
            
$sql "SELECT taunt FROM taunts ORDER BY rand(".e_rand().") LIMIT 1";
            
$result db_query($sql) or die(db_error(LINK));
            
$taunt db_fetch_assoc($result);
            
$taunt str_replace("%s",($session[user][sex]?"sie":"ihn"),$taunt[taunt]);
            
$taunt str_replace("%o",($session[user][sex]?"sie":"er"),$taunt);
            
$taunt str_replace("%p",($session[user][sex]?"ihr":"sein"),$taunt);
            
$taunt str_replace("%x",($session[user][weapon]),$taunt);
            
$taunt str_replace("%X",$badguy[creatureweapon],$taunt);
            
$taunt str_replace("%W",$badguy[creaturename],$taunt);
            
$taunt str_replace("%w",$session[user][name],$taunt);
            
addhistory(1);
            
addnews("`1".$session[user][name]."`4 wurde im Wald von $badguy[creaturename] niedergestreckt.`n$taunt");
            
$session[user][alive]=false;
            
debuglog("lost {$session['user']['gold']} gold when they were slain in the forest");
            
$session[user][gold]=0;
            
$session[user][hitpoints]=0;
            
$session[user][experience]=round($session[user][experience]*.9,0);
            
$session[user][badguy]="";
            
output("`b`áDu wurdest von `&$badguy[creaturename]`á besiegt!`n");
            
output("`&Dein ganzes Gold wurde dir abgenommen!`n");
            
output("`&10% deiner Erfahrung hast du verloren!`n");
            
output("Du kannst morgen weiter kämpfen.");
            
            
page_footer();
        }else{
          
fightnav();
        }
    }
}

if (
$_GET[op]==""){
    
// Need to pass the variable here so that we show the forest message
    // sometimes, but not others.
    
forest($dontdisplayforestmessage);
}

page_footer();

function 
addhistory($value){
/*
    global $session,$balance;
    $history = unserialize($session['user']['history']);
    $historycount=50;
    for ($x=0;$x<$historycount;$x++){
        if (!isset($history[$x])) $history[$x]=$balance;
    }
    array_shift($history);
    array_push($history,$value);
    $history = array_values($history);
    for ($x=0;$x<$historycount;$x++){
        $history[$x] = round($history[$x],4);
        if ($session['user']['superuser']>=3) output("History: {$history[$x]}`n");
    }
    $session['user']['history']=serialize($history);
 */
}
?>