LoGD Standardrelease steht hier zum Download zur Verfügung!

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

<?php
    
// Zimmer.php - Hier kommen die Zimmer-Klassen der Module für das Wohnviertel hinein.
    // Die als "Basismodul" gekennzeichneten Klasen sollten nie entfernt werden - sie gehören zur Ausgangsversion!

    // Die Daten des aktuellen Hauses sind immer über $haus verfügbar!
    // Mit $this->back lässt sich die Navigation vereinfachen

define('KINDER',(bool) getsetting("kindermod",false));    // Wenn Kindermod installiert ist bitte in der nhmaster auf aktiv stellen!

class zimmer {
        
// MASTER-KLASSE - NUR VERÄNDERN WENN IHR EUCH WIRKLICH SICHER SEID!!!
    
var $id$name$level$label$linker$aktiv;
    var 
$gold 0;
    var 
$gems 0;

    function 
einlesen($daten) {
        
$this->id            $daten['zimmerid'];
        
$this->name     $daten['name'];
        
$this->linker    $daten['link'];
        
$this->label    $daten['label'];
        
$this->level    $daten['level'];
        
$this->aktiv    $daten['aktiv'];
        
$this->gold        $daten['gold'];
        
$this->gems        $daten['gems'];
        if(empty(
$this->level)) $this->level 0;
    }    
// Ende Funktion

    
function finddata($id) {
        
$sql "SELECT * FROM `zimmer` WHERE zimmerid = ".$id." LIMIT 1";
        
$result db_query($sql) or die(db_error(LINK));
        
$this->einlesen(db_fetch_assoc($result));
    }    
// Ende Funktion

    
function adminausgabe() {
        
$ausgabe  "<form action='nhmaster.php?op=zimmerweiter&zimmer=".$this->id."' method='POST'>\n";
        
$ausgabe .= "<table cellspacing=4 cellpadding=2><tr class='trhead'><td>Eigenschaft</td><td>Wert/Inhalt</td></tr>";
        
$ausgabe .= "<tr class='trdark'><td>ID - Unveränderbar!</td><td><div style='background-color=black; color=white; border=1px #CCCCCC solid;'>".$this->id."</div></td></tr>\n";
        
$ausgabe .= "<tr class='trlight'><td>Name - Unveränderbar!</td><td><div style='background-color=black; color=white; border=1px #CCCCCC solid;'>".$this->name."</div></td></tr>\n";
        
$ausgabe .= "<tr class='trdark'><td>Link</td><td><input name='linker' size='40' value='".$this->linker."'></td></tr>\n";
        
$ausgabe .= "<tr class='trlight'><td>Label</td><td><input name='label' size='32' maxlength='32' value='".$this->label."'></td></tr>\n";
        
$ausgabe .= "<tr class='trdark'><td>Level</td><td><input name='level' size='3' value='".$this->level."'></td></tr>\n";
        
$ausgabe .= "<tr class='trlight'><td>Aktiv</td><td><select name='aktiv'>\n<option ".($this->aktiv?"selected":"")." value='1'>Ja</option><option ".(!$this->aktiv?"selected":"")." value='0'>Nein</option></select></td></tr>\n";
        
$ausgabe .= "<tr class='trdark'><td>Gold-Baukosten</td><td><input name='gold' size='6' maxlength='7' value='".$this->gold."'></td></tr>\n";
        
$ausgabe .= "<tr class='trlight'><td>Gems-Baukosten</td><td><input name='gems' size='3' maxlength='4' value='".$this->gems."'></td></tr>\n";
        
$ausgabe .= "<tr><td><input type='submit' value='Abschicken'></td><td><input type='reset' value='Zurücksetzten'></td></tr>\n";
        
$ausgabe .= "</table></form>\n";
        
addnav("","nhmaster.php?op=zimmerweiter&zimmer=".$this->id);
        return 
$ausgabe;
    }
}    
// Ende Klasse


class office extends zimmer {
    
// Büro zur Überwachung der Schlüssel etc.
    // Basismodul!
    
var $back;
        
// Konstruktor
    
function office() {
        
$this->back ="nhouses.php?op=drin&go=".$_GET['go'];
        switch(
$_GET['act']) {
            case 
"upgrade":     $this->upgrade();            break;
            case 
"goupgrade"$this->goupgrade();        break;
            case 
"takekey":        $this->takekey();            break;
            case 
"givekey":        $this->givekey();            break;
            case 
"rename":        $this->benennen();         break;
            case 
"desc":            $this->desc();                 break;
            case 
"zimmerdrin":$this->zimmerdrin();     break;
            case 
"zimmerbau":    $this->zimmerbau();     break;
            case 
"abbau":            $this->abbau();             break;
            case 
"verkauf":        redirect("nhouses.php?op=verkaufen"); break;
            default:                     
$this->basis();
        }    
// Ende Switch
    
}    // Ende Konstruktor

        // Methoden
    
function basis() {
        global 
$session$haus;
        if (
$session['user']['acctid']==$haus->besitzerid){
            
output("`B`b`c".$haus->name."`b, `Bein ".$haus->level->name."`&`n`n `b`BD`}e`Ain Arbeitszimm`}e`Br`b `n`n`c`");
            
output("`ZD`au`A g`}e`Bhst in dein Arbeitszimmer. Ein großer Schreibtisch steht inmitten des Raumes. Dahinter ein großer bequemer Sessel.`n");
            
output("Sogleich setzt du dich hinein, siehst die Post durch und erledigst sonstige Verwaltungangelegenheiten des Ha`}u`As`ae`Zs`n`n");
            
output("`b`ZS`ac`Ah`}a`Btzübersicht:`b `^Gold: ".$haus->gold." `Bvorhanden, noch Platz für `^".schatz::goldleft()."`B;");
            
output("`#Edelsteine: ".$haus->gems." `Bvorhanden, noch Platz für `#".schatz::gemsleft()."`B`n`n");
            
output("`ZI`an`A d`}e`Binem Haus befinden sich insgesammt `^".count($haus->ausbauten)."`B zusätzliche Zimmer - auf der aktuellen Stufe kannst du also noch `^");
            
output($haus->level->zimmer - (count($haus->ausbauten))."`B weitere Zimmer anbauen. `i`6(".count($haus->ausbauten)." von ".$haus->level->zimmer.")`i`0`n`n");
            
$chat="Mit deinen Mietern besprechen";
                
addnav("Das Haus");
                    
addnav("`BH`}a`Aus ausbau`}e`Bn",$this->back."&act=upgrade");
                    
addnav("`BH`}a`Aus umbenenn`}e`Bn",$this->back."&act=rename");
                    
addnav("`}Be`Aschreibung ände`}r`Bn",$this->back."&act=desc");
                    
addnav("`BH`}a`Aus verkauf`}e`Bn",$this->back."&act=verkauf");
                
addnav("Die Zimmer");
                    if(
count($haus->ausbauten) > 0addnav("`BA`}n`Agebaute Zimm`}e`Br",$this->back."&act=zimmerdrin");
                    if(
count($haus->ausbauten) < $haus->level->zimmeraddnav("`BZ`}i`Ammer anbau`}e`Bn",$this->back."&act=zimmerbau");
                
addnav("Die Bewohner");
                    
addnav("`BE`}i`Anlad`}e`Bn",$this->back."&act=givekey");
                    
addnav("`BH`}e`Arauswerf`}e`Bn",$this->back."&act=takekey");
        }else{
            
output("`B`b`c".$haus->name."`b, `Bein ".$haus->level->name."`n `b`ZD`aa`As`} A`Brbeitszimmer des Hausbesit`}z`Ae`ar`Zs.`b `c`");
            
output("`ZD`au`A g`}e`Bhst in dein Arbeitszimmer. Ein großer Schreibtisch steht inmitten des Raumes. Dahinter ein großer bequemer Se`}s`As`ae`Zl.`n");
            
output("`ZM`ai`At`} N`Beid siehst du dich um. Dein Vermieter sitzt auf dem Sessel hinter dem Schreibtisch und sieht von einem Pergament auf, das er gerade gelese`}n `Ah`aa`Zt");
            
$chat="`ZM`ai`At`} d`Bem Hausbesitzer bespre`}c`Ah`ae`Zn";
        }
        
viewcommentary("office-".$haus->id,"$chat:",30,"meint");
        
output("`n`n`n<table border='0'><tr><td>`2`bDie Schlüssel:`b `0</td></tr><tr><td valign='top'>",true);
        
$sql "SELECT items.*,accounts.acctid AS aid,accounts.name AS besitzer FROM items LEFT JOIN accounts ON accounts.acctid=items.owner WHERE value1=".$haus->id." AND class='Schlüssel' ORDER BY id ASC";
        
$result db_query($sql) or die(db_error(LINK));
        for (
$i=1;$i<=db_num_rows($result);$i++){
            
$item db_fetch_assoc($result);
            if (
$item['besitzer']==""){
                
output("`n`2".$i.": `4`iVerloren`i`0");
            }else{
                
output("`n`2$i: `&".$item['besitzer']."`0");
            }
            if (
$item['aid']==$haus->besitzeridoutput(" (`ZD`ae`Ar`} E`Bigentümer) ");
            if (
$item['hvalue']>&& $item['owner']>0output(" `ischläft `}h`Ai`ae`Zr`i");
        }
        
output("</td><tr></table>",true);
        
addnav("Im Haus");
            
addnav("`BZ`}u`Arück zum Fl`}u`Br","nhouses.php?op=drin");
    }    
// Ende Funktion

    
function zimmerdrin() {
        global 
$haus;
        
output("`ZI`an`A d`}e`Binem Haus befinden sich `^".count($haus->ausbauten)."`B zusätzliche Zimmer - auf der aktuellen Stufe kannst du also noch `^");
        
output($haus->level->zimmer - (count($haus->ausbauten))."`B weitere Zimmer anb`}a`Au`ae`Zn. `i`6(".count($haus->ausbauten)." von ".$haus->level->zimmer.")`i`0`n");
        
output("`ZF`ao`Al`}g`Bende Zimmer sind bereits in diesem Haus gebaut:`0`n`n");
        
output("<table border='1' cellspacing='2' cellpadding='2' align='center'><tr class='trhead'>
        <td>Nr</td><td>Name</td><td>Ab Level</td><td>Gold</td><td>Gems</td><td>ops</td></tr>"
,true);
        foreach(
$haus->ausbauten as $key=>$val) {
            
$zimmer = new zimmer;
            
$zimmer->finddata($val);
            
$b = ($key%2==0?"trlight":"trdark");
            
$c = ($key%2==0?"`9":"`^");
            
output("<tr class='$b'><td>$c".$val."</td><td>$c".$zimmer->label."</td><td>$c".$zimmer->level."</td><td>$c".$zimmer->gold."</td><td>$c"
            
.$zimmer->gems."</td><td><a href='".$this->back."&act=abbau&zid=".$zimmer->id."'>entfernen</td></tr>",true);
            
addnav("",$this->back."&act=abbau&zid=".$zimmer->id);
        }
        
output("</table>",true);
        if(
count($haus->ausbauten) < $haus->level->zimmeraddnav("`BZ`}i`Ammer anbau`}e`Bn",$this->back."&act=zimmerbau");
        
addnav("`BZ`}u`Arück ins Arbeitszimm`}e`Br",$this->back);
    }    
// Ende Funktion

    
function zimmerbau() {
        global 
$haus$session;
        if(empty(
$_GET['bau'])) {
            
$sql "SELECT * FROM `zimmer` WHERE aktiv = 1 ";
            for(
$i=0;$icount($haus->ausbauten);$i++) {
                
$sql .= "AND `zimmerid` <> ".$haus->ausbauten[$i]." ";
            }    
// Ende FOR
            
$result db_query($sql) or die(db_error(LINK));
            if(
db_num_rows($result) > 0) {
                
output("`ZF`ao`Al`}g`Bende Zimmer können noch angebaut werden:`n`n`0");
                
output("<table border='1' cellspacing='2' cellpadding='2' align='center'><tr class='trhead'><td>Nr</td><td>Name</td><td>Gold</td><td>Gems</td><td>Ops</td></tr>",true);
                
//output("<table border='1' cellspacing='2' cellpadding='2' align='center'><tr class='trhead'><td>Nr</td><td>Name</td><td>Ops</td></tr>",true);
                
for($i=0;$i db_num_rows($result);$i++) {
                    
$row db_fetch_assoc($result);
                    
$zimmer = new zimmer;
                    
$zimmer->einlesen($row);
                    
$b = ($i%2==0?"trlight":"trdark");
                    
$c = ($i%2==0?"`9":"`^");
                    
output("<tr class='$b'><td>$c".$zimmer->id."</td><td>$c".$zimmer->label."</td><td>$c".$zimmer->gold."</td><td>$c".$zimmer->gems."</td><td><a href='".$this->back."&act=zimmerbau&bau=true&zid=".$zimmer->id."'>Bau</a></td></tr>",true);
                    
//output("<tr class='$b'><td>$c".$zimmer->id."</td><td>$c".$zimmer->label."</td><td><a href='".$this->back."&act=zimmerbau&bau=true&zid=".$zimmer->id."'>Bau</a></td></tr>",true);
                    
addnav("",$this->back."&act=zimmerbau&bau=true&zid=".$zimmer->id);
                }    
// Ende FOR
                
output("</table>",true);
            } else {
                
output("`ZE`as`A s`}t`Behen keine weiteren Ausbauten zur Verfü`}g`Au`an`Zg.");
            }    
// Ende ELSE
        
} else {
            
$zimmer = new zimmer;
            
$zimmer->finddata($_GET['zid']);
            if(
$session['user']['gold'] >= $zimmer->gold && $session['user']['gems'] >= $zimmer->gems) {
                
output("`ZD`au`A b`}a`Bust das Zimmer ".$zimmer->label." `Bin dein Haus `}e`Ai`an`Z!`n");
                if(
$zimmer->gold == && $zimmer->gems == 0) {
                    
output("`ZD`aa`A d`}i`Beses Zimmer kostenlos ist, musst du nichts bezah`}l`Ae`an`Z!");
                } else {
                    
output("`ZD`aa`Af`}ü`Br bezahlst du `^".$zimmer->gold." `BGoldstücke und `#".$zimmer->gems."`B Edelsteine`0`n");
                    
$session['user']['gold'] -= $zimmer->gold;
                    
$session['user']['gems'] -= $zimmer->gems;
                }
                
$haus->ausbauten[(count($haus->ausbauten)+1)] = $zimmer->id;
            }    else {
                
output("`ZD`au`A h`}a`Bst leider nicht genügend Gold und/oder Edelsteine, um dieses Zimmer zu ba`}u`Ae`an`Z!`0");
            }    
// Ende ELSE
        
}    // Ende ELSE
        
addnav("`BZ`}u`Arück ins Arbeitszimm`}e`Br",$this->back);
    }    
// Ende Funktion

    
function abbau() {
        global 
$haus;
        if(empty(
$_GET['zid'])) redirect($this->back);
        if(
$_GET['validate'] == 'ja') {
            
$zimmer = new zimmer;
            
$zimmer->finddata($_GET['zid']);
            
output("`ZD`aa`As`} Z`Bimmer `#\"".$zimmer->label."\" `Bwird nun entf`}e`Ar`an`Zt.");
            
$key array_search($_GET['zid'],$haus->ausbauten);
            unset(
$haus->ausbauten[$key]);
        } else {
            
$zimmer = new zimmer;
            
$zimmer->finddata($_GET['zid']);
            
output("`ZM`aö`Ac`}h`Btest du das Zimmmer `#\"".$zimmer->label."\" `Bwirklich aus deinem Haus entfernen? Alle investierten Mittel gehen dann verlo`}r`Ae`an`Z!");
            
addnav("`BA`}k`Ation`}e`Bn");
            
addnav("`BJ`}a,`A entferne`}n`B!",$this->back."&act=abbau&zid=".$_GET['zid']."&validate=ja");
        }
        
addnav("`BZ`}u`Arü`}c`Bk");
        
addnav("`BA`}r`Abeitszimm`}e`Br",$this->back);
    }    
// Ende Funktion

    
function desc() {
        global 
$haus;
        if (!
$_POST['desc']){
            
output("`ZH`ai`Ae`}r`B kannst du die Beschreibung für dein Haus ändern.`n`nDie aktuelle Beschreibung lautet:`0".$haus->text."`0`n");
            
output("`0<form action='".$this->back."&act=desc' method='POST'>",true);
            
output("`n`ZG`ae`Ab`}e`B eine Beschreibung für dein Haus ein:`n<input name='desc' maxlength='250' size='50'>`n",true);
            
output("<input type='submit' class='button' value='Abschicken'>",true);
            
addnav("",$this->back."&act=desc");
        }else{
            
output("`ZD`ai`Ae`} B`Beschreibung wurde geändert.`n`0".stripslashes($_POST['desc'])."`2.");
            
$haus->text $_POST['desc'];
        }
        
addnav("`BZ`}u`Arück ins Arbeitszimm`}e`Br",$this->back);
    }    
// Ende Funktion

    
function benennen() {
        global 
$session$haus;
        if (!
$_POST['housename']){
            
output("`ZD`aa`As`} H`Baus umbenennen kostet `^1000`2 Gold und `#1`2 Edelstein.`n`n");
            
output("`0<form action='".$this->back."&act=rename' method='POST'>",true);
            
output("`ZG`ae`Ab`}e`B einen neuen Namen für dein Haus ein: <input name='housename' maxlength='25'>`n",true);
            
output("<input type='submit' class='button' value='Umbenennen'>",true);
            
addnav("",$this->back."&act=rename");
        }else{
            if (
$session['user']['gold']<1000 || $session['user']['gems']<1){
                
output("`ZD`aa`As`} k`Bannst du nicht beza`}h`Al`ae`Zn.");
            }else{
                
output("`ZD`ae`Ai`}n`B Haus `@".$haus->name."`B heißt jetzt `@".stripslashes($_POST['housename'])."`B.");
                
$haus->name $_POST['housename'];
                
$session['user']['gold']-=1000;
                
$session['user']['gems']-=1;
            }
        }
        
addnav("`BZ`}u`Arück zum Arbeitszimm`}e`Br",$this->back);
    } 
// Ende Funktion

    
function upgrade() {
        global 
$session$haus;
        
output("`c`b`BH`}a`Ausausb`}a`Bu`b`c`n");
        
output("`ZD`ae`Ai`}n`B Haus hat das Level:`$ ".$haus->level->level."`B, damit ist es ein ".$haus->level->name."!`n");
        if(
$haus->level->level ausbaustufe::levels()) {
            
$next = new ausbaustufe($haus->level->level 1);
            
output("`ZD`ae`Ar`} n`Bächste Ausbau würde also`$ ".$next->gold."`B Gold und `$ ".$next->gems." `BEdelsteine kosten.`n");
            if(
$session['user']['gold']>=$next->gold && $session['user']['gems']>=$next->gems) {
                
output("`ZD`au`A h`}a`Bst genug `^Gold und `^Edelsteine`B dabei, um dein Haus auf Stufe`$ ".$next->name." `Bauszuba`}u`Ae`an`Z!");
                
addnav("`ZA`au`As`}b`Bau auf Stufe ".$next->level,$this->back."&act=goupgrade&von=user");
            } else {
                
output("`ZA`ab`Ae`}r`B leider hast du nicht genug d`}a`Ab`ae`Zi.");
            }
            if(
$haus->gold >= $next->gold && $haus->gems >= $next->gems) {
                
output("`n`n`ZD`ae`As`} w`Beiteren wären im Haus genügend Goldstücke und Edelsteine, um den Ausbau zu finanzi`}e`Ar`ae`Zn.`n");
                
addnav("`ZA`au`As`}b`Bau auf Stufe".$next->level." aus dem Hausschatz",$this->back."&act=goupgrade&von=haus");
            } else {
                
output("`n`n`ZD`ae`As`} w`Beiteren wären im Haus leider nicht genügend Goldstücke und Edelst`}e`Ai`an`Ze.`n");
            }
        } else {
            
output(" `b`ZD`aa`Am`}i`Bt hat es bis auf weiteres das maximale Level errei`}c`Ah`at`Z!`b");
        }
        
addnav("`BZ`}u`Arück ins Arbeitszimm`}e`Br",$this->back);
    }    
// Ende Funktion

    
function goupgrade() {
        global 
$session$haus;
        
$next = new ausbaustufe($haus->level->level 1);
        
$addkeys=$next->keys $haus->level->keys;
        
output("`ZD`ae`Ai`}n`B Haus wurde auf die Stufe`$ ".$next->name." `Bausgebaut.`nEs hat jetzt neue Funktio`}n`Ae`an`Z!`n");
        
output("`ZN`au`An`} k`Bannst du zusätzlich ".($next->zimmer $haus->level->zimmer)." weitere Zimmer anba`}u`Ae`an`Z!`n`n");
        
output("`ZA`au`Aß`}e`Brdem bekommst du`$ ".$addkeys." `Bneue Schlüs`}s`Ae`al`Z!`n");
        if(
$_GET['von']=="haus") {
            
output("`ZD`au`A b`}e`Bzahlst die Kosten direkt aus dem Haussc`}h`Aa`at`Zz.");
            
$haus->gold -= $next->gold;
            
$haus->gems -= $next->gems;
        } else {
            
output("`ZD`au`A b`}e`Bzahlst die Kosten von dem Vermögen, das du bei dir tr`}ä`Ag`as`Zt.");
            
$session['user']['gold']-=$next->gold;
            
$session['user']['gems']-=$next->gems;
        }
        for (
$i=$haus->level->keys+1;$i $next->keys;$i++){
            
$sql "INSERT INTO items (name,owner,class,value1,value2,gold,gems,description) VALUES ('Hausschlüssel',".$haus->besitzerid.",'Schlüssel',".$haus->id.",".$i.",0,0,'Schlüssel für Haus Nummer ".$haus->id."')";
            
db_query($sql);
            if (
db_affected_rows(LINK)<=0output("`\$Fehler`^: Dein Inventar konnte nicht aktualisiert werden! Bitte benachrichtige den Admin. ");
        }
        
$haus->levelup();
        
addnav("`BZ`}u`Arück ins Arbeitszimm`}e`Br",$this->back);
    }    
// Ende Funktion

    
function takekey() {
        global 
$session;
        global 
$haus;
        if (!
$_POST['ziel']){
            
$sql "SELECT items.*,accounts.acctid AS aid,accounts.login AS itembesitzer FROM items LEFT JOIN accounts ON accounts.acctid=items.owner WHERE value1=".$haus->id." AND class='Schlüssel' ORDER BY id ASC";
            
$amt "";
//            $sql = "SELECT owner FROM items WHERE value1=".$haus->id." AND class='Schlüssel' ORDER BY value2 ASC";
            
$result db_query($sql) or die(db_error(LINK));
            
output("<form action='".$this->back."&act=takekey' method='POST'>",true);
            
output("`ZW`ae`Am`} w`Billst du den Schlüssel wegneh`}m`Ae`an`Z? <select name='ziel'>",true);
            for (
$i=0;$i<db_num_rows($result);$i++){
                
$item db_fetch_assoc($result);
//                $sql = "SELECT acctid,name,login FROM accounts WHERE acctid=".$item['owner']." ORDER BY login DESC";
//                $result = db_query($sql) or die(db_error(LINK));
//                $row = db_fetch_assoc($result);
                
if ($amt != $item['aid'] && $item['aid'] != $haus->besitzerid)
                    
output("<option value=\"".rawurlencode($item['itembesitzer'])."\">".preg_replace("'[`].'","",$item['itembesitzer'])."</option>",true);
                
$amt = (int)$item['aid'];
            }
            
output("</select>`n`n",true);
            
output("<input type='submit' class='button' value='Schlüssel abnehmen'></form>",true);
            
addnav("",$this->back."&act=takekey");
        }else{
            
$sql "SELECT acctid,name,login,gold,gems FROM accounts WHERE login='".$_POST['ziel']."' AND locked=0";
            
$result db_query($sql);
            
$row db_fetch_assoc($result);
            
output("`ZD`au`A v`}e`Brlangst den Schlüssel von `&".$row['name']."`B zu`}r`Aü`ac`Zk.`n");
            
//$sql = "SELECT owner FROM items WHERE value1=".$haus->id." AND class='Schlüssel' AND owner<>.".$haus->besitzer." ORDER BY id ASC";
            //$result = db_query($sql) or die(db_error(LINK));
            
$goldgive=round($haus->gold/(db_num_rows($result)+1));
            
$gemsgive=round($haus->gems/(db_num_rows($result)+1));
            
systemmail($row['acctid'],"`ZS`ac`Ah`}l`Büssel zurückverlangt!`0","`&".$session['user']['name']."`B hat den Schlüssel zu Haus Nummer `b".$haus->id."`b (".$haus->name."`B) zurückverlangt. Du bekommst `^".$goldgive."`B Gold auf die Bank und `#".$gemsgive."`B Edelsteine aus dem gemeinsamen Schatz ausbeza`}h`Al`at`Z!");
            
output($row['name']."`B bekommt `^".$goldgive."`B Gold und `#".$gemsgive."`B Edelsteine aus dem gemeinsamen Sc`}h`Aa`at`Zz.");
            
$sql "UPDATE items SET owner=".$haus->besitzerid.",hvalue=0 WHERE owner=".$row['acctid']." AND class='Schlüssel' AND value1=".$haus->id;
            
db_query($sql);
            
$sql "UPDATE accounts SET goldinbank=goldinbank+$goldgive,gems=gems+$gemsgive WHERE acctid=".$row['acctid'];
            
db_query($sql);
            
$haus->gold -= $goldgive;
            
$haus->gems -= $gemsgive;
            
$sql "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'office-".$haus->id."',".$session['user']['acctid'].",'/me `^nimmt ".$row['name']."`^ einen Schlüssel ab. ".$row['name']."`^ bekommt einen Teil aus dem Schatz.')";
            
db_query($sql) or die(db_error(LINK));
        }
        
addnav("`BZ`}u`Arück zum Arbeitszimm`}e`Br",$this->back);
    }    
// Ende Funktion

    
function givekey() {
        global 
$session$haus;
        if (!
$_POST['ziel']) {
            
output("`ZE`ai`An`}e`Bn Schlüssel für dieses Haus hat:`n`n");
            
$sql "SELECT items.*,accounts.name AS besitzer FROM items LEFT JOIN accounts ON accounts.acctid=items.owner WHERE value1=".$haus->id." AND class='Schlüssel' AND owner<>".$session['user']['acctid']." ORDER BY value2 ASC";
            
$result db_query($sql) or die(db_error(LINK));
            for (
$i=0;$i db_num_rows($result);$i++){
                
$item db_fetch_assoc($result);
                
output("`c`& ".$item['besitzer']."`0`c");
            }
            
$sql "SELECT value2 FROM items WHERE value1=".$haus->id." AND class='Schlüssel' AND owner=".$haus->besitzerid." ORDER BY id ASC";
            
$result db_query($sql) or die(db_error(LINK));
            if (
db_num_rows($result)>0) {
                
output("`n`ZD`au`A k`}a`Bnnst noch `b".db_num_rows($result)."`b Schlüssel verg`}e`Ab`ae`Zn.");
                
output("<form action='".$this->back."&act=givekey' method='POST'>",true);
                
output("`ZA`an`A w`}e`Bn willst du einen Schlüssel übergeben? <input name='ziel'>`n"true);
                
output("<input type='submit' class='button' value='Übergeben'></form>",true);
                
output("`n`n`ZW`ae`An`}n`B du einen Schlüssel vergibst, wird der Schatz des Hauses gemeinsam genutzt. Du kannst einem Mitbewohner zwar jederzeit den Schlüssel wieder wegnehmen, ");
                
output("aber er wird dann einen gerechten Anteil aus dem gemeinsamen Schatz beko`}m`Am`ae`Zn.");
                
addnav("",$this->back."&act=givekey");
            }else{
                
output("`n`ZD`au`A h`}a`Bst keine Schlüssel mehr übrig. Vielleicht kannst du in der Jägerhütte noch einen nachmachen las`}s`Ae`an`Z?");
            }
        } else {
            if (
$_GET['subfinal']==1){
                
$sql "SELECT acctid,name,login,lastip,emailaddress,dragonkills,level,sex FROM accounts WHERE name='".addslashes(rawurldecode(stripslashes($_POST['ziel'])))."' AND locked=0";
            } else {
                
$ziel stripslashes(rawurldecode($_POST['ziel']));
                
$name="%";
                for (
$x=0;$x strlen($ziel);$x++){
                    
$name.=substr($ziel,$x,1)."%";
                }
                
$sql "SELECT acctid,name,login,lastip,emailaddress,dragonkills,level,sex FROM accounts WHERE name LIKE '".addslashes($name)."' AND locked=0";
            }
            
$result db_query($sql);
            if (
db_num_rows($result) == 0) {
                
output("`ZE`as`A g`}i`Bbt niemanden mit einem solchen Namen. Versuchs noc`}h`Am`aa`Zl.");
            } elseif(
db_num_rows($result) > 100) {
                
output("`ZE`as`A g`}i`Bbt über 100 Krieger mit einem ähnlichen Namen. Bitte sei etwas gen`}a`Au`ae`Zr.");
            } elseif(
db_num_rows($result) > 1) {
                
output("`ZE`as`A g`}i`Bbt mehrere mögliche Krieger, denen du einen Schlüssel übergeben ka`}n`An`as`Zt.`n");
                
output("<form action='".$this->back."&act=givekey&subfinal=1' method='POST'>",true);
                
output("`ZW`ae`An`} g`Benau meinst du? <select name='ziel'>",true);
                for (
$i=0;$i db_num_rows($result);$i++){
                    
$row db_fetch_assoc($result);
                    
output("<option value=\"".rawurlencode($row['name'])."\">".preg_replace("'[`].'","",$row['name'])."</option>",true);
                }
                
output("</select>`n`n",true);
                
output("<input type='submit' class='button' value='Schlüssel übergeben'></form>",true);
                
addnav("",$this->back."&act=givekey&subfinal=1");
            } else {
                
$row db_fetch_assoc($result);
                
$sql "SELECT owner FROM items WHERE owner=".$row['acctid']." AND value1=".$haus->id." AND class='Schlüssel' ORDER BY id ASC";
                
$result db_query($sql) or die(db_error(LINK));
                
$item db_fetch_assoc($result);
                if (
$row['login'] == $session['user']['login']) {
                    
output("`ZD`au`A k`}a`Bnnst dir nicht selbst einen Schlüssel g`}e`Ab`ae`Zn.");
                } elseif (
$item['owner']==$haus->besitzerid) {
                    
output("`2".$row['name']."`B hat bereits einen Schlüs`}s`Ae`al`Z!");
                } elseif (
$row['level']<&& $row['dragonkills']<1){
                    
output("`2".$row['name']."`B ist noch nicht lange genug um Dorf, als dass du ".($row['sex']?"ihr":"ihm")." vertrauen könntest. Also beschließt du, noch eine Weile zu beobac`}h`At`ae`Zn.");
                } else {
                    
$sql "SELECT value2 FROM items WHERE value1=".$haus->id." AND class='Schlüssel' AND owner=".$haus->besitzerid." ORDER BY id ASC LIMIT 1";
                    
$result db_query($sql) or die(db_error(LINK));
                    
$knr db_fetch_assoc($result);
                    
$knr=$knr['value2'];
                    
output("`ZD`au`A ü`}b`Bergibst `&".$row['name']."`B einen Schlüssel für dein Haus. Du kannst den Schlüssel zum Haus jederzeit wieder wegnehmen, aber ".$row['name']."`B wird dann ");
                    
output("einen gerechten Anteil aus dem gemeinsamen Schatz des Hauses beko`}m`Am`ae`Zn.`n");
                    
systemmail($row['acctid'],"`BSchlüssel erhalten!`0","`&".$session['user']['name']."`B hat dir einen Schlüssel zu Haus Nummer `b".$haus->id."`b (".$haus->name."`B) gegeben!");
                    
$sql "UPDATE items SET owner=".$row['acctid'].",hvalue=0 WHERE owner=".$haus->besitzerid." AND class='Schlüssel' AND value1=".$haus->id." AND value2=$knr";
                    
db_query($sql);
                    
$sql "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'office-".$haus->id."',".$session['user']['acctid'].",'/me `Bgibt ".$row['name']."`B einen Schlüssel.')";
                    
db_query($sql) or die(db_error(LINK));
                }
            }
        }
        
addnav("`BZ`}u`Arück zum Arbeitszimm`}e`Br",$this->back);
    }    
// Ende Funktion
// Ende Klasse

class schlafzimmer extends zimmer {
    
// Das Schlafzimmer - verbinge Zeit mit einem Partner oder logge dich einfach sicher aus.
    // Basisklasse!
    
var $back;

        
// Konstruktor
    
function schlafzimmer() {
        
$this->back ="nhouses.php?op=drin&go=".$_GET['go'];
        switch(
$_GET['act']) {
            case 
'logout':         $this->logout(); break;

            default:                     
$this->basis(); break;

        }    
// Ende Switch
    
}    // Ende Funktion

    
function logout() {
        global 
$session;
        if (
$session['user']['housekey']!=$session['housekey']){
            
$sql "UPDATE items SET hvalue=".$session['housekey']." WHERE value1=".(int)$session['housekey']." AND owner=".$session['user']['acctid']." AND class='Schlüssel'";
            
db_query($sql) or die(sql_error($sql));
        }
        
debuglog("logged out in a house");
        
$session['user']['location']=2;
        
$session['user']['loggedin']=0;
        
$sql "UPDATE accounts SET loggedin=0,location=2 WHERE acctid = ".$session['user']['acctid'];
        
db_query($sql) or die(sql_error($sql));
        
$session=array();
        
redirect("index.php");
    }    
// Ende Funktion

    
function basis() {
        global 
$haus$session;
        
output("`B`b`c".$haus->name."`b, `Bein ".$haus->level->name."`B`n`n `b`BD`}e`Ai`an Schlafzim`Am`}e`Br`b`c`n");
        if(
$session['user']['marriedto']>0){
            
$lover lover('name`, `acctid`, `login');
            
output("`ZD`au`A b`}e`Btrittst das Schlafzimmer von `^".$lover['name']."`B und dir.`n Ein großes Bett steht im Raum, sowie einige Schränke und andere Alltagsgegenstände.");
            
output("Aber im allgemeinen ist diese Zimmer gemütlicher eingerichtet, als der Rest des Hauses, um ein paar schöne Stunden zu zweit verbringen zu kö`}n`An`ae`Zn");
            if(
$session['user']['sex']==0) {
                
$male=$session['user']['acctid'];
                
$female=$lover['acctid'];
            } else {
                
$male=$lover['acctid'];
                
$female=$session['user']['acctid'];
            }
            
$gesammt="haus-".$haus->id."privat-".$male."_".$female;
//############################## Kindermod-Bereich ##############################//
            
if(KINDER===true) {    // Entsprechende Konstante wird ganz oben definiert!
                
switch($_GET['act']) {
                    case 
'geschuetzt':
                    
$lover lover('name`, `sex');
                    
output("`ZA`al`As ".$lover['name']. "`B, eigentlich nur für kurz, in euren Schlafgemächern vorbei schaut ziehst Du ".($lover['sex']?'sie':'ihn')." ins Bett und ihr liebt euch den ganzen restlichen Tag heiss und innig.");
                    
output("`nIhr bleibt schmussend noch ein wenig li`}e`Ag`ae`Zn.`n`n");
                    break;

                    case 
'kind':
                    
$lover lover('*');
                    if(
$session['user']['sex'] != $lover['sex'])    $kindokay true;
                    else 
$kindokay false;

                    if(
$session['user']['superuser'] >= 2$session['user']['sexheute'] = 0;

                    if(
$session['user']['sexheute'] + $lover['sexheute'] < 6) {
                        
debuglog("`Bhatte mit " $lover['acctid'] . "-" $lover['name'] . " sex.");
                        if(
$lover['acctid'] < $session['user']['acctid']) {
                            
$spielera $lover['acctid'];
                            
$spielerb $session['user']['acctid'];
                        } else {
                            
$spielera $session['user']['acctid'];
                            
$spielerb $lover['acctid'];
                        }
                        
$sqlsex "SELECT * FROM sexwermitwem WHERE spielera = $spielera AND spielerb = $spielerb";
                        
$resultsex db_query($sqlsex) or die(db_error(LINK));
                        if(
$rowsex db_fetch_assoc($resultsex))
                            
$sqlsex "UPDATE sexwermitwem SET sexzahl = sexzahl + 1 WHERE spielera = ".$spielera." AND spielerb = ".$spielerb;
                        else
                            
$sqlsex "INSERT INTO sexwermitwem VALUES($spielera, $spielerb, 1)";

                        
db_query($sqlsex) or die(db_error(LINK));

                        if(
$kindokay) {
                            if(
$session['user']['sex'])
                                
$empf $session['user']['ssempf'];
                            else
                                
$empf $lover['ssempf'];

                        
$sql "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'$gesammt', ".$session['user']['acctid'].",'/me `&hat mit ".$lover[name]." `&geschlafen.')";
                        
$result db_query($sql) or die(db_error(LINK));
                        if(
$session['user'][ssstatus] == && $lover[ssstatus] == 0) {
                            if(
e_rand()%== $empf)
                                
$schwanger true;
                            else
                                if(
e_rand()%== $empf)
                                    
$schwanger true;
                                else
                                    
$schwanger false;
                            }
                        } else {
                            
$sql "INSERT INTO commentary values(0, 'inn-" $_GET[sop] . "', " $session['user']['acctid'] . ", '/me `Bhat mit " $lover[name] . " `Bgeschlafen',now())";
                            
$result db_query($sql) or die(db_error(LINK));
                        }
                        
$session['user']['sexheute']++;
                        
$session['user']['charm'] += 1;

                        
$sql2 "UPDATE accounts set charm = charm + 1, sexheute = sexheute + 1 WHERE acctid ='".$lover['acctid']."'";
                        
db_query($sql2) or die(db_error(LINK));

                        if(
$schwanger) {
                            if(
$session['user']['sex'])    {
                                
// frau
                                
debuglog("`Bist von " $lover['acctid'] . "-" $lover['name'] . " schwanger");
                                
$session['user']['ssstatus'] = 1;
                                
$session['user']['sstritte'] = 0;
                                
$session['user']['ssmonat'] = 19;
                                
$session['user']['sserzeug'] = $lover['acctid'];

                                
$sql2 "UPDATE accounts set charm = charm + 10 WHERE acctid=".$lover['acctid'];
                                
db_query($sql2) or die(db_error(LINK));
                                
$session['user']['charm'] += 10;
                            } else {
                                
debuglog("hat " $lover['acctid'] . "-" $lover['name'] . " geschwängert");
                                
$sql2 "UPDATE accounts set charm = charm + 10, ssstatus = 1, ssmonat = 19, sstritte = 0, sserzeug = " $session['user']['acctid'] . " WHERE acctid='".$lover['acctid']."'";
                                
db_query($sql2) or die(db_error(LINK));
                                
$session['user']['charm'] += 10;
                            }
                        }
                        if(
$session['user']['superuser'] > 2) {
                            
$bufflist unserialize(stripslashes($lover['bufflist']));
                            
$bufflist['goettlichersex'] = array("name"=>"`%Göttliches Andenken","rounds"=>100,"wearoff"=>"Die Errinerung verfliegt für heute!","atkmod"=>1.75,"roundmsg"=>"`ZD`au`A d`}e`Bnkst immer noch an den göttlich intimen Stunde`}n`A.`a.`Z.","activate"=>"offense");
                            
$sql2 "update accounts set sexgoettlich = 100, bufflist = '" addslashes(serialize($bufflist)) . "' WHERE acctid='".$lover['acctid']."'";
                            
db_query($sql2) or die(db_error(LINK));
                        }
                        if(
$lover['superuser'] > 2) {
                            
$session['user']['sexgoettlich'] = 100;
                            
$session['bufflist']['goettlichersex'] = array("name"=>"`BGöttliches Andenken","rounds"=>100,"wearoff"=>"`ZD`ai`Ae`} E`Brrinerung verfliegt für he`}u`At`ae`Z!","atkmod"=>1.75,"roundmsg"=>"`ZD`au`A d`}e`Bnkst immer noch an den göttlich intimen Stunde`}n`A.`a.`Z.","activate"=>"offense");
                        }
                    } else {
                        
output("`n`n`ZI`ar`Ag`}e`Bndwie seit ihr nicht in der Stimmung daz`}u`A.`a.`Z.`n");
                    }

                    if(
$session['user']['superuser'] >= 2) {
                        
output("`n`nDebug`n");
                        
output("`BS`}e`Ax heute: " $session['user']['sexheute'] . "`n");
                        
output("`BS`}e`Ax gesamt: " $session['user'][sexgesamt] . "`n");
                        
output("BE`}m`Apfängnis: " $empf "`n");
                    }
                    break;

                    default:
                    
addnav("`BS`}i`Ach Lieb`}e`Bn");
                    
addnav("`BG`}e`Aschüt`}z`Bt",$this->back."&act=geschuetzt");
                    
addnav("`BU`}n`Ageschüt`}z`Bt",$this->back."&act=kind");
                    break;
                }    
// Ende Switch
                
output("`n");
            }    
// Ende IF
//############################# /Kindermod-Bereich ##############################//
            
viewcommentary($gesammt,"Hinzufügen",25);
        } else {
        
output("`ZD`au`A b`}e`Btrittst dein Schlafzimmer. Ein gemütlicher Raum mit einem Bett nur für d`}i`Ac`ah`Z!");
        }
        
addnav("Schlafzimmer");
        
addnav("`BL`}o`Ag O`}u`Bt",$this->back."&act=logout");
        
addnav("Im Haus");
        
addnav("`BZ`}u`Arück zum Fl`}u`Br","nhouses.php?op=drin");
    }    
// Ende Funktion
}    // Ende Klasse

class schatz extends zimmer {
    
// Die Schatzkammer, hie rlagern Gold und Edelsteine!
    // Basisklasse!
    
var $back$goldleft$gemsleft$maxtotake;

        
// Konstruktor
    
function schatz() {
        global 
$haus$session;
        
$this->back ="nhouses.php?op=drin&go=".$_GET['go'];
        
$this->goldleft $this->goldleft();
        
$this->gemsleft $this->gemsleft();
        
$this->maxtotake = (getsetting("transferreceive",3) - $session['user']['transferredtoday']) * ($session['user']['level']*getsetting("transferperlevel",25));
        switch(
$_GET['act']) {
            case 
'gebegold':         $this->gebegold(); break;
            case 
'nehmegold':        $this->nehmegold();    break;
            case 
'gebegems':        $this->gebegems(); break;
            case 
'nehmegems':        $this->nehmegems(); break;
            case 
'allesnehmen'$this->allesnehmen(); break;

            default:                            
$this->basis(); break;
        }    
// Ende Switch
    
}    // Ende Funktion

    
function gemsleft() {
        global 
$haus;
        return 
$haus->level->gemschest $haus->gems;
    }    
// Ende Funktion

    
function goldleft() {
        global 
$haus;
        return 
$haus->level->goldchest $haus->gold;
    }    
// Ende Funktion

    
function basis() {
        global 
$haus$session;
        
output("`B`b`c".$haus->name."`b, `Bein ".$haus->level->name."`B`n `n`b`BD`}i`Ae Schatzkamm`}e`Br`b`n`n `c`");
        if (
$haus->textoutput("`0`c".$haus->text."`c`n");
        
output("`ZD`au`A u`}n`Bd deine Mitbewohner haben `^".$haus->gold."`B Goldstücke und `#".$haus->gems."`B Edelsteine im Haus gela`}g`Ae`ar`Zt.`n");
        
output("`ZD`aa`Am`}i`Bt ist in der Schatztuhe noch platz für `^".$this->goldleft." `BGoldstücke und `#".$this->gemsleft."`B Edelst`}e`Ai`an`Ze.`n`n");
        
viewcommentary("schatz-".$haus->id,"`BI`}n`As`a Hausbuch eintra`Ag`}e`Bn:",30,"merkt an");
        
addnav("Gold");
        
addnav("`BD`}e`Aponier`}e`Bn",$this->back."&act=gebegold");
        
addnav("`BM`}i`Atnehm`}e`Bn",$this->back."&act=nehmegold");
        
addnav("Edelsteine");

        
addnav("`BD`}e`Aponier`}e`Bn",$this->back."&act=gebegems");
        
addnav("`BM`}i`Atnehm`}e`Bn",$this->back."&act=nehmegems");
        
addnav("Im Haus");
            
addnav("`BZ`}u`Arück in den Fl`}u`Br","nhouses.php?op=drin");
    }    
// Ende Funktion

    
function gebegold() {
        global 
$haus$session;
        
$maxout $session['user']['level']*getsetting("maxtransferout",25);
        if (!
$_POST['gold']){
            
$transleft $maxout $session['user']['amountouttoday'];
            
output("`ZD`au`A d`}a`brfst heute noch `^$transleft`B Gold deponieren und in der Schatztruhe ist noch Platz für weitere `^".($haus->level->goldchest $haus->gold)."`B Gold.`n");
            
output("`2<form action='".$this->back."&act=gebegold' method='POST'>",true);
            
output("`ZW`ai`Ae`}v`Biel Gold deponie`}r`Ae`an`Z? <input type='gold' name='gold'>`n`n",true);
            
output("<input type='submit' class='button' value='Deponieren'>",true);
            
addnav("",$this->back."&act=gebegold");
        }else{
            
$amt=abs((int)$_POST['gold']);
            if (
$amt>$session['user']['gold']){
                
output("`ZS`ao`A v`}i`Bel Gold hast du nicht d`}a`Ab`ae`Zi.");
            }else if((
$haus->level->goldchest $haus->gold)==0){
                
output("`ZD`ae`Ar`} S`Bchatz ist `}v`Ao`al`Zl.");
            }else if(
$amt>($haus->level->goldchest $haus->gold)){
                
output("`ZD`au`A g`}i`Bbst alles, aber du bekommst beim besten Willen nicht so viel in den Sc`}h`Aa`at`Zz.");
            }else if (
$amt<0){
                
output("`ZW`ae`An`}n`B du etwas aus dem Schatz nehmen willst, versuche nicht, etwas negatives hineinz`}u`At`au`Zn.");
            }else if (
$session['user']['amountouttoday']+$amt $maxout) {
                
output("`ZD`au`A d`}a`Brfst nicht mehr als `^$maxout`B Gold pro Tag deponi`}e`Ar`ae`Zn.");
            }else{
                
$haus->gold+=$amt;
                
$session['user']['gold']-=$amt;
                
$session['user']['amountouttoday']+= $amt;
                
output("`ZD`au`A h`}a`Bst `^$amt`B Gold deponiert. Insgesamt befinden sich jetzt `^".$haus->gold."`B Gold im `}H`Aa`au`Zs.");
                
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'schatz-".$haus->id."',".$session['user']['acctid'].",'/me `Bdeponiert `^$amt`B Gold.')";
                
db_query($sql) or die(db_error(LINK));
            }
        }
        
addnav("`BZ`}u`Arück zur Schatzkamm`}e`Br",$this->back."&go=schatz");
    }    
// Ende Funktion

    
function nehmegold() {
        global 
$haus$session;
        
$maxtfer $session['user']['level']*getsetting("transferperlevel",25);
        if (empty(
$_POST['gold'])){
            
$transleft getsetting("transferreceive",3) - $session['user']['transferredtoday'];
            
output("`ZE`as`A b`}e`Bfindet sich `^".$haus->gold."`B Gold in der Schatztruhe des Hauses.`nDu darfst heute noch $transleft x bis zu `^$maxtfer`B Gold mitne`}h`Am`ae`Zn.`n");
            
output("`ZD`au`A k`}a`Bnnst auch all dein heute noch aufnehmbares Gold in einem Rutsch mitnehmen. Das wären dann: `^".$this->maxtotake." `BGoldst`}ü`Ac`ak`Ze.`n");
            
output("`B<form action='".$this->back."&act=nehmegold' method='POST'>",true);
            
output("`ZW`ai`Ae`}v`Biel Gold mitneh`}m`Ae`an`Z? <input type='gold' name='gold'>`n`n",true);
            
output("<input type='submit' class='button' value='Mitnehmen'>",true);
            
addnav("",$this->back."&act=nehmegold");
            
addnav("`BA`}l`Ales Gold nehm`}e`Bn (`^".$this->maxtotake."`9)",$this->back."&act=allesnehmen");
        }else{
            
$amt=abs((int)$_POST['gold']);
            if (
$amt>$haus->gold){
                
output("`ZS`ao`A v`}i`Bel Gold ist nicht me`}h`Ar `ad`Za.");
            }else if (
$maxtfer<$amt){
                
output("`ZD`au`A d`}a`Brfst maximal `^$maxtfer`B Gold auf einmal ne`}h`Am`ae`Zn.");
            }else if (
$amt<0){
                
output("`ZW`ae`An`}n`B du etwas in den Schatz legen willst, versuche nicht, etwas negatives herauszune`}h`Am`ae`Zn.");
            }else if(
$session['user']['transferredtoday']>=getsetting("transferreceive",3)){
                
output("`ZD`au`A h`}a`Bst heute schon genug Gold bekommen. Du wirst bis morgen warten mü`}s`As`ae`Zn.");
            }else{
                
$haus->gold-=$amt;
                
$session['user']['gold']+=$amt;
                
$session['user']['transferredtoday']++;
                
output("`ZD`au`A h`}ast `^$amt`B Gold genommen. Insgesamt befindet sich jetzt noch `^".$haus->gold."`B Gold im `}H`Aa`au`Zs.");
                
$sql "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'schatz-".$haus->id."',".$session['user']['acctid'].",'/me `\$nimmt `^$amt`\$ Gold.')";
                
db_query($sql) or die(db_error(LINK));
            }
        }
        
addnav("`BZ`}u`Arück zur Schatzkamm`}e`Br",$this->back."&go=schatz");
    }    
// Ende Funktion

    
function gebegems() {
        global 
$haus$session;
        if (!
$_POST['gems']){
            
output("`ZI`an`A d`}e`Br Schatztruhe ist noch Platz für weitere `^".($haus->level->gemschest $haus->gems)."`B Edelst`}e`Ai`an`Ze.`n");
            
output("`2<form action='".$this->back."&act=gebegems' method='POST'>",true);
            
output("`ZW`ai`Ae`}v`Biele Edelsteine deponie`}r`Ae`an`Z? <input type='gems' name='gems'>`n`n",true);
            
output("<input type='submit' class='button' value='`BD`}e`Aponier`}e`Bn'>",true);
            
addnav("",$this->back."&act=gebegems");
        }else{
            
$amt=abs((int)$_POST['gems']);
            if (
$amt>$session['user']['gems']){
                
output("`ZS`ao`A v`}i`Bele Edelsteine hast du n`}i`Ac`ah`Zt.");
            }else if((
$haus->level->gemschest $haus->gems)==0){
                
output("`ZD`ae`Ar`} S`Bchatz ist `}v`Ao`al`Zl.");
            }else if(
$amt>($haus->level->gemschest $haus->gems)){
                
output("`ZD`au `Ag`}i`Bbst alles, aber du bekommst beim besten Willen nicht so viel in den Sc`}h`Aa`at`Zz.");
            }else if (
$amt<0){
                
output("`ZW`ae`An`}n`B du etwas aus dem Schatz nehmen willst, versuche nicht, etwas negatives hineinz`}u`At`au`Zn.");
            }else{
                
$haus->gems+=$amt;
                
$session['user']['gems']-=$amt;
                
output("`ZD`au`A h`}a`Bst `#$amt`B Edelsteine deponiert. Insgesamt befinden sich jetzt `#".$haus->gems."`B Edelsteine im `}H`Aa`au`Zs.");
                
$sql "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'schatz-".$haus->id."',".$session['user']['acctid'].",'/me `@deponiert `#$amt`@ Edelsteine.')";
                
db_query($sql) or die(db_error(LINK));
            }
        }
        
addnav("`BZ`}u`Arück zur Schatzkamm`}e`Br",$this->back."&go=schatz");
    }    
// Ende Funktion

    
function nehmegems() {
        global 
$haus$session;
        if (!
$_POST['gems']){
            
output("`ZE`as`A b`}e`Bfinden sich `#".$haus->gems."`B Edelsteine in der Schatztruhe des Ha`}u`As`ae`Zs.`n`n");
            
output("`2<form action='".$this->back."&act=nehmegems' method='POST'>",true);
            
output("`ZW`ai`Ae`}v`Biele Edelsteine mitneh`}m`Ae`an`Z? <input type='gems' name='gems'>`n`n",true);
            
output("<input type='submit' class='button' value='`BM`}i`At`aneh`Am`}e`Bn'>",true);
            
addnav("",$this->back."&act=nehmegems");
        }else{
            
$amt=abs((int)$_POST['gems']);
            if (
$amt>$haus->gems){
                
output("`ZS`ao`A v`}i`Bele Edelsteine sind nicht me`}h`Ar `ad`Za.");
            }else if (
$amt<0){
                
output("`ZW`ae`An`}n`B du etwas in den Schatz legen willst, versuche nicht, etwas negatives herauszune`}h`Am`ae`Zn.");
            }else{
                
$haus->gems-=$amt;
                
$session['user']['gems']+=$amt;
                
output("`ZD`au`A h`}a`Bst `#$amt`B Edelsteine genommen. Insgesamt befinden sich jetzt noch `#".$haus->gems."`B Edelsteine im `}H`Aa`au`Zs.");
                
$sql "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'schatz-".$haus->id."',".$session['user']['acctid'].",'/me `\$nimmt `#$amt`\$ Edelsteine.')";
                
db_query($sql) or die(db_error(LINK));
            }
        }
        
addnav("`BZ`}u`Arrck zur Schatzkamm`}e`Br",$this->back."&go=schatz");
    }    
// Ende Funktion

    
function allesnehmen() {
        global 
$haus$session;
        if(
$this->maxtotake $haus->gold$this->maxtotake $haus->gold;
        
$session['user']['gold'] += $this->maxtotake;
        
$saetze ceil($this->maxtotake / ($session['user']['level']*getsetting("transferperlevel",25)));
        
$haus->gold -= $this->maxtotake;
        
output("`ZD`au`A n`}i`Bmmst dir alles noch aufzunehmende Gold: `^".$this->maxtotake." `BTaler.`n Damit verbrauchst du `^ $saetze Sätze an Gold, die du nehmen dar`}f`As`at`Z!");
        
$session['user']['transferredtoday'] += $saetze;
        
addnav("`BZ`}u`Ar`aück zum Schatzkam`Am`}e`Br",$this->back);
        
$sql "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'schatz-".$haus->id."',".$session['user']['acctid'].",'/me `\$nimmt sich seinen Tagessatz von `^".$this->maxtotake." Goldstücken.')";
        
db_query($sql) or die(db_error(LINK));
    }    
// Ende Funktion
}    // Ende Klasse

class gemeinschaftsraum extends zimmer {
            
// Konstruktor
    
function gemeinschaftsraum() {
        
$this->basis();
    }    
// Ende Funktion

    
function basis() {
        global 
$haus;
        
output("`B`b`c".$haus->name."`b, `Bein ".$haus->level->name."`B`n `bDer Gemeindschafts`}r`Aa`au`Zm`b `c`n");
        
output("`ZD`au`A b`}e`Btrittst den Gemeindschaftsraum des Hauses. Hier können sich die Bewohner in Ruhe unterha`}l`At`ae`Zn.");
        
output("`ZI`an`A d`}e`Br Ecke prasselt ein warme Kaminfeuer und einige bequeme Sessel laden dazu ein, hier ein wenig zu verweile`}n`A.`a.`Z.`n`n");
        
viewcommentary("gem_raum-".$haus->id,"`ZM`ai`At`} d`Beinen Mitbewohnen unterha`}l`At`ae`Zn",25);
        
addnav("`BZ`}u`Arück zum Fl`}u`Br","nhouses.php?op=drin");
    }    
// Ende Funtion
}    // Ende Klasse

class kueche extends zimmer {
    var 
$back;
    
// Konstruktor
    
function kueche() {
        
$this->back ="nhouses.php?op=drin&go=".$_GET['go'];
        
$this->basis();
     }   
// Ende Funktion

    
function basis() {
        global 
$haus$session;
        
output("`B`b`c".$haus->name."`b, `&ein ".$haus->level->name."`B`n `b`BD`}i`Ae Küc`}h`Be`b `c`n");
        
output("`ZD`au`A b`}e`Btrittst die Küche des Hauses, schaust dich um und durchsuchst sogleich die Schränke nach etwas essbarem.");
        
output("Ein kleiner Ofen spendet die nötige Wärme in der Küche und dient ebenso als 'Backofen'... `n Du setzt dich davor und geniest deine Mahl`}z`Ae`ai`Zt. `n`n");
        
output("`b`c`BI`}n`A d`aer Kü`Ac`}h`Be`c`b`n`n");
        
output("`ZE`as`A i`}s`Bt jetzt `^".getgametime()."`B Uhr, und du befindest dich in der Küche.`n");
        
output("Es ziemlich still in der Küche, du siehst dich ein wenig um und genießt die ruhige Atmosp`}h`Aä`ar`Ze.`n`n`n");
        
$kitchen "kitchen-".$haus->id;
        
$link $this->back;
        switch(
$_GET['act']){
      
// drinks
            
case "saft":
            
$saft "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&holt eine Karaffe voller Orangensaft hervor und schüttet ein.')";
            
db_query($saft) or die(db_error(LINK));
            
redirect($link);
            break;

            case 
"tee":
            
$tee "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&hat einen Kessel Tee zubereitet.')";
            
db_query($tee) or die(db_error(LINK));
            
redirect($link);
            break;

            case 
"kaffe":
            
$kaffe "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&hat vor, noch eine Weile wach zu bleiben, und sich deshalb eine Kanne Kaffee zubereitet.')";
            
db_query($kaffe) or die(db_error(LINK));
            
redirect($link);
            break;

            case 
"ale":
            if(
$session['user']['drunkenness']<=66) {
                
$ale "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&ist in Partystimmung und sticht ein Fäßchen Ale an!')";
                
db_query($ale) or die(db_error(LINK));
                
$session['user']['drunkenness']+=33;
                
redirect($link);
            } else {
                
output("`ZD`au`A h`}a`Bst für heute genug Getrunken, schlafe erstmal deinen Rausch `}a`Au`as`Z!");
            }
            break;

            case 
"wein":
            if(
$session['user']['drunkenness']<=76)    {
                
$wein "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&möchte etwas feiern und entkorkt eine Flasche leckeren Rotweines.')";
                
db_query($wein) or die(db_error(LINK));
                
$session['user']['drunkenness']+=38;
                
redirect($link);
            } else{
                
output("`ZD`au`A h`}a`Bst für heute genug Getrunken, schlafe erstmal deinen Rausch `}a`Au`as`Z!");
            }
            break;
            
// end of drinks
      // meals
            
case "frustuck":
            
$frustuck "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&hat Brötchen geholt und Eier gekocht. Sobald jemand den Tisch deckt, gibt es Frühstück!')";
            
db_query($frustuck) or die(db_error(LINK));
            
redirect($link);
            break;

            case 
"mittagessen":
            
$mittagessen "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&hat Hunger bekommen und einen kurzen Mittagssnack zubereitet.')";
            
db_query($mittagessen) or die(db_error(LINK));
            
redirect($link);
            break;

            case 
"abendessen":
            
$abendessen "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&stellt sich für zwei Stunden in die Küche und kocht für alle ein herrliches Mahl!')";
            
db_query($abendessen) or die(db_error(LINK));
            
redirect($link);
            break;

            case 
"snack":
            
$snack "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$kitchen."',".$session['user']['acctid'].",'/me `&braucht mal was für zwischendurch.')";
            
db_query($snack) or die(db_error(LINK));
            
redirect($link);
            break;
      
// end of meals
   
}    // Ende SWITCH
      
viewcommentary($kitchen,"`ZM`ai`At`} d`Beinen Mitbewohnen unterha`}l`At`ae`Zn",25);
   
// kitchen nav
   
addnav("Getränke");
   
addnav("`BS`}a`Aft",$this->back."&act=saft");
   
addnav("`BT`}e`Ae",$this->back."&act=tee");
   
addnav("`BK`}a`Aff`}e`Be",$this->back."&act=kaffe");
   
addnav("`BA`}l`Ae",$this->back."&act=ale");
   
addnav("`BW`}e`Ain",$this->back."&act=wein");
   
addnav("Mahlzeiten");
   
addnav("`BF`}r`Aühstü`}c`Bk",$this->back."&act=frustuck");
   
addnav("`BM`}i`Attagess`}e`Bn",$this->back."&act=mittagessen");
   
addnav("`BA`}b`Aendess`}e`Bn",$this->back."&act=abendessen");
   
addnav("`BS`}n`Aa`}c`Bk",$this->back."&act=snack");
   
addnav("`BZ`}u`Arü`}c`Bk");
    
addnav("`BZ`}u`Arück zum Fl`}u`Br","nhouses.php?op=drin");
   }   
// Ende Funtion
}    // Ende Klasse

class lagune extends zimmer {
    var 
$back;
        
// Konstruktor
    
function lagune() {
        
$this->back ="nhouses.php?op=drin&go=".$_GET['go'];
        
$this->basis();
    } 
// Ende Funktion

    
function basis() {
        global 
$haus$session;
        
addcommentary();
            
// Verheiratet?
        
if($session['user']['marriedto']==$haus->besitzerid || $session['user']['acctid']==$haus->besitzerid && $session['user']['marriedto']){
            
output('`ZD`au`A t`}r`Bittst durch eine unscheinbare Tür auf den Weg zur blauen Lagune. '.'Es ist angenehm warm, kein Wunder, denn in dem schön verstecktem Ort scheint die '.'Sonne immerfort. Der Sand ist weich und warm, und das Wasser hell und klar. Es wirkt '.'einladend.`n');
            
output('Am anderen Ufer siehst du die hellen Wasserfälle, alles ist in '.'liebevolles Licht getaucht und du spürst, hier kannst du dich hingeben, '.'denn keiner stört euch `}h`Ai`ae`Zr.`n');
            
$lagune "lagune-".$haus->id;
            switch(
$_GET['act'])    {
                case 
"soap":
                
$soap "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session['user']['acctid'].",'/me `&cremt Dir zärtlich den Rücken ein.')";
                
db_query($soap) or die(db_error(LINK));
                
redirect($this->back);
                break;

                case 
"shampoo":
                
$shampoo "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session['user']['acctid'].",'/me `&wäscht sich die Haare um Dir zu gefallen.')";
                
db_query($shampoo) or die(db_error(LINK));
                
redirect($this->back);
                break;

                case 
"stroke":
                
$stroke "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session['user']['acctid'].",'/me `&streichelt zärtlich über Deine duftende Haut.')";
                
db_query($stroke) or die(db_error(LINK));
                
redirect($this->back);
                break;

                case 
"love":
                
$love "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session['user']['acctid'].",'/me `&zieht Dich zärtlich zu sich ins Wasser um Dich zu fühlen!')";
                
db_query($love) or die(db_error(LINK));
                
redirect($this->back);
                break;

                case 
"duft":
                
$duft "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session['user']['acctid'].",'/me `&macht Kerzen und Duftöl ins Wasser, um Dich "."zu verwöhnen.')";
                
db_query($duft) or die(db_error(LINK));
                
redirect($this->back);
                break;
            }    
// Ende Switch
            
viewcommentary($lagune,"sich gegenseitig verwöhnen:",20,"flüstert zärtlich");
                
// lagune nav
            
addnav("Was willst du tun?");
            
addnav("`BE`}i`Ancrem`}e`Bn",$this->back."&act=soap");
            
addnav("`BH`}a`Aarewasch`}e`Bn",$this->back."&act=shampoo");
            
addnav("`BS`}t`Areiche`}l`Bn",$this->back."&act=stroke");
            
addnav("`BL`}i`Aeben (Geschütz`}t`B)",$this->back."&act=love");
            
addnav("`BD`}u`Aftkerz`}e`Bn",$this->back."&act=duft");
        }else{
            
output("`ZD`au`A r`}ü`Bttelst ein wenig an der Tür - verschlo`}s`As`ae`Zn.`n");
            
output("`ZT`aj`Aa`}, i`Bn der privaten Lagune hast du eben nichts zu su`}c`Ah`ae`Zn.");
        }    
// Ende ELSE
        
addnav("`BZ`}u`Arück zum Fl`}u`Br","nhouses.php?op=drin");
    }    
// Ende Funktion
// Ende Klasse

class kinderzimmer extends zimmer {
    var 
$back;
    
// Buffs:
    
var $buffA = array("name" => "`BKinderfreude"
                
,"roundmsg" => "Die Freude über dein Kind gibt dir Kraft"
                
,"wearoff" => "Die starke Freude verblasst."
                
,"rounds" => "75"
                
,"atkmod" => "1.10"
                
,"survivenewday" => "0"
                
,"activate" => "roundstart");
    var 
$buffB = array("name" => "`BKinderglück"
                
,"roundmsg" => "Das glückliche Lächelnd deines Kindes macht dich aufmerksamer"
                
,"wearoff" => "Die Erinnerung an das Lächeln deines Kinder verblasst"
                
,"rounds" => "75"
                
,"defmod" => "1.10"
                
,"survivenewday" => "0"
                
,"activate" => "roundstart");
    var 
$buffC = array("name" => "`BAngst ums Kind"
                
,"roundmsg" => "Die Angst um dein Kind lässt dich unaufmerksamer Kämpfen"
                
,"wearoff" => "Du bist dir nun sicher, das es deinem Kind gut geht"
                
,"rounds" => "75"
                
,"atkmod" => "0.95"
                
,"defmod" => "0.95"
                
,"survivenewday" => "0"
                
,"activate" => "roundstart");
    function 
kinderzimmer() {
        
$this->back "nhouses.php?op=drin&go=".$_GET['go'];
        
$this->basis();
    }    
// Ende Funktion

    
function basis() {
        global 
$session;
            
// Maximal ein eigenes Kind abrufen, nur zur bestimmung ob Elter oder nicht.
        
if(KINDER) {
            
$kinder = (bool) db_num_rows(db_query("SELECT id FROM `kinder` WHERE mama=".$session['user']['acctid']." OR papa=".$session['user']['acctid']." LIMIT 1"));
            if(
$_GET['machen']=="kind") {
                
output("`ZD`au`A g`}e`Bhtst zu deinem Kind und beschäftigst dich eine Weile mi`}t `Ai`ah`Zm.`n");
                switch(
e_rand(0,5)) {
                    case 
0:
                    
output("`ZD`ai`Ar`} b`Bleibt noch einige Zeit im Gedächtnis hängen, wie sher sich dein Kind über deinen Besuch fr`}e`Au`at`Ze.");
                    
$session['bufflist']['kind'] = $this->buffB;
                    break;

                    case 
1:
                    
output("`ZD`au`A s`}p`Bielst eine Weile mit deinem Kind unf fühlst dich danach ebenso gut, wie dein Sprössling se`}l`Ab`as`Zt.");
                    
$session['bufflist']['kind'] = $this->buffA;
                    break;

                    case 
2:
                    
output("`ZZ`aw`Aa`}r`B beschäftigst du dich eine Weile mit deinem Kind, aber irgendwie wirst du danach das gefühl nicht los, das es sich gerade nicht wohl f`}ü`Ah`al`Zt.");
                    
$session['bufflist']['kind'] = $this->buffC;
                    break;

                    default:
                    
output("`ZD`au`A k`}ü`Bmmerst dich eine Weile um dein Kind und bemerkst dabei gar nicht, wie schnell die Zeit ver`}g`Ae`ah`Zt.");
                    
$session['user']['turns']--;
                }    
// Ende SWITCH
            
} elseif($kinder==true) {
                
output("`ZD`au`A b`}e`Btrittst das Kinderzimmer und entdeckst sofort dein Kind, das friedlich vor sich hin sp`}i`Ae`al`Zt.`n");
                
output("`ZM`aö`Ac`}h`Btest du dich nicht ein wenig mit ihm beschäfti`}g`Ae`an`Z?");
                
addnav("`BM`}i`At deinem Kind spiel`}e`Bn",$this->back."&machen=kind");
            } else {
                
output("`ZD`aa`A d`}u`B keine Kinder hast, siehst du auch keinen Sinn darin, ins Kinderzimmer zu g`}e`Ah`ae`Zn.");
            }
        } else {
            
output("`ZD`aa`A e`}s`B in dieser Welt keine Kinder gibt, braucht man auch keine Kinderzi`}m`Am`ae`Zr.");
        }
        
addnav("`BZ`}u`Arück zum Fl`}u`Br","nhouses.php?op=drin");
    }    
// Ende Funktion
}    // Ende Klasse
?>