Alle Dateien, die hier eingesehen werden können, sind unter der GNU GPL lizenziert. Wenn du etwas darin findest, das du gerne hättest, so schreibe mir doch bitte eine Anfrage damit ich, wenn ich es rausgeben will, alle Änderungen raussuchen könnte. Denn ich übernehme keine Verantwortung, solltest du was rausnehmen und es geht nicht. Und Support deswegen geb ich schon gar nicht.
Solltest du eine Schwachstelle im Code finden, sei es eine kritische Lücke oder eine Möglichkeit zu cheaten, dann bitte ich dich, mir das mitzuteilen. Solltest du beim cheaten erwischt werden, werde ich deinen Account eigenhändig löschen & bannen; Solltest du meinen Server angreifen, so werde ich meine Rechtsschutzversicherung kontaktieren.
Verzeichnisse:
<?php
/*
* Version: 26.04.2004
* Author: anpera
* Email: logd@anpera.de
*
* Purpose: Houses for storing gold and gems and for a save place to sleep (logout)
*
* Features: Build house, sell house, buy house, share house with others, private chat-area, PvP
*
* Every warrior can have his own house. He can build it with his own hands or buy one that was sold (or left) before.
* In a house he can store some of his gems and gold and houses are the savest place for log out.
* The player can give keys to other players. So he is able to share his gems and gold for example
* with his wife or he can make up a clan house. A player can only have one house but unlimited keys.
* Each house has its own private chat area.
* Other players can rob a house if they beat the guard and all players that are sleeping in the house.
*
*
* SEE INSTRUCTIONS FOR INSTALLATION AT http://www.anpera.net/forum/viewtopic.php?t=323
*
* adjusted by Durandil for multiple rooms on 2004-05-10 ff (see comments beginning with 'pk'
* adjusted by Siwi for partner bathroom
*
* Needs a field added to the SQL table using this SQL command (done by code below as well):
* ALTER TABLE `accounts`
ADD `house3` INT (10) unsigned NOT NULL AFTER `house`,
ADD `pkey`INT (10) unsigned NOT NULL AFTER `housekey` ,
ADD `housesleep` INT (10) unsigned NOT NULL AFTER `pkey` ;
*
* Ok, lets do the code...
*/
require_once("common.php");
addcommentary();
checkday();
// Uncomment the following lines to allow script to automatically create missing DB field:
require_once("durscripts.php");
/*adddbfieldifne("accounts","housesleep","INT (10) unsigned","pkey");
adddbfieldifne("houses3","housepic","TEXT","description");
adddbfieldifne("houses3","vacationlock","TINYINT (4) unsigned","status1");
adddbfieldifne("furniture","furnpic","TEXT","description");
adddbfieldifne("furniture","contributor","TEXT","dkneeded");
*/
// Settings by pk:
$showroomimages=TRUE;
$showownersleepstatus1=TRUE;
$showsiwispartnerbath=TRUE;
$ownerdefendsownhouse=TRUE;
$houseslistperroad=16;
$houseslistcolumns=4;
// base values for pricing and chest size:
$goldcost=50000;
$gemcost=50;
// all other values are controlled by banksettings
//not needed v
if($session[user][slainby]!="")
{ page_header("Du wurdest besiegt!");
output("`\$Du wurdest in ".$session[user][killedin]."`\$ von `%".$session[user][slainby]."`\$ besiegt und um alles Gold beraubt, das du bei dir hattest. Das kostet dich 5% deiner Erfahrung. Meinst du nicht es ist Zeit für Rache?");
addnav("Weiter",$REQUEST_URI);
$session[user][slainby]="";
$session['user']['donation']+=1;
page_footer();
}
// ^
page_header("Villenviertel");
// $victory=0;
function show_furniture($house3,$acctid,$partnerid,$room)
{ if(($room==6) || ($room==7))
{ $sqlfurnitem = "SELECT * FROM items WHERE hvalue=$house3 AND class='Möbel2' AND value2='$room' AND (owner='$acctid' OR owner='$partnerid')";
} else {
$sqlfurnitem = "SELECT * FROM items WHERE hvalue=$house3 AND class='Möbel2' AND value2='$room'";
}
$resultfurnitem = db_query($sqlfurnitem) or die(db_error(LINK));
if(db_num_rows($resultfurnitem)>0)
{ output("<table width='100%'><tr><td colspan='2'>",true);
switch($room)
{ case 8: output("`n`n`2Auf der Veranda stehen bereits die ersten Möbel:"); break;
case 7: output("`n`n`2In diesem Bad stehen bereits ein paar Möbel:"); break;
case 6: output("`n`n`2Damit das Schlafzimmer nicht ganz so karg aussieht, hast du hier herein gestellt:"); break;
case 5: output("`n`n`2Lange willst du dich hier nicht aufhalten, trotzdem hast du etwas hier herein gestellt, damit es nicht ganz so leer aussieht:"); break;
case 4: output("`n`n`2Erfreut betrachtest du die Möbel, die hier untergebracht wurden:"); break;
case 3: output("`n`n`2Das Gemeinschaftszimmer würde gemütlich eingerichtet mit:"); break;
case 2: output("`n`n`2Um die Atmosphäre beim Lesen ein wenig zu verschönern, steht hier:"); break;
case 1: output("`n`n`2In diesem Bad stehen bereits ein paar Möbel:"); break;
case 0: default: output("`n`n`2Hier stehen gerade ein paar Möbel herum, die noch nicht eingeräumt worden sind:"); break;
}
output("</td></tr>",true);
for($i=0; $i<db_num_rows($resultfurnitem); $i++)
{ $furnitem = db_fetch_assoc($resultfurnitem);
$sqlfurn = "SELECT * FROM furniture WHERE furnid=$furnitem[value1]";
$resultfurn = db_query($sqlfurn) or die(db_error(LINK));
$furn = db_fetch_assoc($resultfurn);
//output("`n`&$furn[name]: `7$furn[description]");
output("<tr><td>",true);
if (file_exists($furn[furnpic])) { $pic=$furn[furnpic]; } else { $pic="images/furn-misc.gif"; }
output("<img src='$pic' width='60' height='50' title='Hergestellt von $furn[contributor].'/>",true);
output("</td><td>`&$furn[furnname]: `7$furn[description]</td></tr>",true);
}
output("</table>",true);
addnav("Einrichtung");
addnav("Umräumen","houses2.php?op=movefurniture&from=$room");
addnav("Entsorgen","houses2.php?op=trashfurniture&from=$room");
} else
{ switch($room)
{ case 8: output("`n`n`&Deine Veranda sieht noch ziemlich leer aus, weil du noch keine Möbel gekauft hast."); break;
case 7: output("`n`n`&Das Badezimmer ist wirklich nur für eine schnelle Katzenwäsche geeignet, da hier noch die Möbel fehlen."); break;
case 6: output("`n`n`&Außer ein paar Fellen auf dem Boden ist Dein Schlafzimmer noch ziemlich leer."); break;
case 5: output("`n`n`&Auf dem Boden siehst Deinen Reichtum verstreut herumliegen. Wäre es nicht mal an der Zeit, einen Tresor zu kaufen?"); break;
case 4: output("`n`n`&Wer gerne im Stehen aus der Hand isst, ist in dieser Küche gut aufgehoben, denn Möbel gibt es hier nicht."); break;
case 3: output("`n`n`&Auf lange Gespräche in diesem Raum hast du nicht recht Lust, weil du dich hier nicht einmal setzen kannst."); break;
case 2: output("`n`n`&Ein Bücherregal und ein Sessel - schön und gut, aber ein paar Möbel mehr wären sicherlich auch nicht schlecht."); break;
case 1: output("`n`n`&Das Badezimmer ist wirklich nur für eine schnelle Katzenwäsche geeignet, da hier noch die Möbel fehlen."); break;
case 0: default: output("`n`n`&"); break;
}
}
}
function display_roomlist($room)
{ addnav("Zimmer");
addnav("Wohnzimmer","houses2.php?op=commonroom");
addnav("Küche","houses2.php?op=kitchen");
addnav("Tresorraum","houses2.php?op=treasure");
addnav("Schlafzimmer","houses2.php?op=partner");
addnav("Badezimmer","houses2.php?op=bath");
addnav("Bibliothek","houses2.php?op=reading");
addnav("Gerümpelkammer","houses2.php?op=stuff");
addnav("Flur","houses2.php?op=drin");
}
function get_roomop($room)
{ switch($room)
{ case 8: return "porch"; break;
case 7: return "couplebath"; break;
case 6: return "partner"; break;
case 5: return "treasure"; break;
case 4: return "kitchen"; break;
case 3: return "commonroom"; break;
case 2: return "reading"; break;
case 1: return "bath"; break;
case 0: default: return "drin"; break;
}
}
if($_GET['op']=="newday")
{
output("`2Gut erholt wachst du im Haus auf und bist bereit für einen neuen Tag.");
$session[user][location]=5;
//pk BEGIN
$session[user][location]=5;
$sql="SELECT acctid,housesleep FROM accounts WHERE acctid=".$session[user][acctid]." ORDER BY acctid DESC";
$result=db_query($sql)or die(db_error(LINK));
if(db_num_rows($result)>0)
{
$row=db_fetch_assoc($result);
$session[pkey]=$row[housesleep];
if($session[pkey]>0)
{
display_roomlist(0);
addnav("Sonstiges");
}
}
//pk END
$sql="UPDATE items SET hvalue=0 WHERE hvalue>0 AND owner=".$session[user][acctid]." AND class='Schlüssel3'";
db_query($sql)or die(sql_error($sql));
$sql="UPDATE houses3 SET vacationlock=0 WHERE owner=".$session[user][acctid];
db_query($sql)or die(sql_error($sql));
display_roomlist($room);
addnav("Sonstiges");
addnav("Nachrichten","news.php");
addnav("Wohngebiet","houses2.php?op=enter");
addnav("Zurück nach Villenviertel","village.php");
redirect("houses2.php?op=partner");
}
else if($_GET['op']=="build")
{
if($_GET[act]=="start")
{
$sql="INSERT INTO houses3 (owner,status1,gold,gems,housename) VALUES (".$session[user][acctid].",0,0,0,'".$session[user][login]."s Haus')";
db_query($sql)or die(db_error(LINK));
if(db_affected_rows(LINK) <= 0)
redirect("houses2.php");
$sql="SELECT * FROM houses3 WHERE status1=0 AND owner=".$session[user][acctid]." ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
$session[user][house3]=$row[houseid];
output("`TDu `öer`.kl`tär`mst das Fleckchen Erde zu deinem Besitz und kannst mit dem Bau von Hausnummer `&$row[houseid] `mb`teg`.in`öne`Tn.`n`n");
output("`0<form action='houses2.php?op=build&act=build2' method='POST'>",true);
output("`n`TGe`öbe `.ei`tne`mn Namen für dein `tHa`.us `öei`Tn: <input name='housename' maxlength='25'>`n",true);
output("`n`TWi`öev`.ie`tl C`maro a`tnz`.ah`öle`Tn? <input type='gold' name='gold'>`n",true);
output("`n`TWi`öev`.ie`tle `mEdelstein`te z`.ah`öle`Tn? <input type='gems' name='gems'>`n",true);
output("<input type='submit' class='button' value='Bauen'>",true);
addnav("","houses2.php?op=build&act=build2");
}
else if($_GET[act]=="build2")
{
$sql="SELECT * FROM houses3 WHERE status1=0 AND owner=".$session[user][acctid]." ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
$paidgold=(int)$_POST['gold'];
if($_POST['housename']>"")
{
$housename=stripslashes($_POST['housename']);
}else{
$housename=stripslashes($row[housename]);
}
$paidgems=(int)$_POST['gems'];
if($session[user][gold]<$paidgold || $session[user][gems]<$paidgems)
{
output("`4Du hast nicht genug dabei!");
addnav("Nochmal","houses2.php?op=build");
}
else if($session[user][turns]<1)
{
output("`4Du bist zu müde, um heute noch an deinem Haus zu arbeiten!");
}
else if($paidgold<0 || $paidgems<0)
{
output("`4Versuch hier besser nicht zu beschummeln.");
}else{
output("`TDu `öba`.us`tt f`mür `&$paidgold`m Caro und `#$paidgems`m Edelsteine an deinem H`tau`.s \"`&$housename `ö \".`T..`n");
$row[gold]+=$paidgold;
$session[user][gold]-=$paidgold;
output("`n`&Du verlierst eine Runde.");
$session[user][turns]--;
if($row[gold]>$goldcost)
{
output("`n`&Du hast alle nötigen Caro bezahlt und bekommst die überschüssigen Caro zurück.");
$session[user][gold]+=$row[gold]-$goldcost;
$row[gold]=$goldcost;
}
$row[gems]+=$paidgems;
$session[user][gems]-=$paidgems;
if($row[gems]>$gemcost)
{
output("`n`&Du hast die kompletten Edelsteinkosten bezahlt und bekommst überschüssige Edelsteine zurück.");
$session[user][gems]+=$row[gems]-$gemcost;
$row[gems]=$gemcost;
}
$goldtopay=$goldcost-$row[gold];
$gemstopay=$gemcost-$row[gems];
$done=round(100-((100*$goldtopay/$goldcost)+(100*$gemstopay/$gemcost))/2);
output("`n`TDe`öin `.Ha`tus `mist damit zu `\$$done%`m fertig. Du musst noch `&$goldtopay`m Caro und `#$gemstopay `mEdelsteine bezahlen, bis du einziehe`tn k`.an`öns`Tt.");
if($row[gems] >= $gemcost && $row[gold] >= $goldcost)
{
output("`n`n`b`AGlückwunsch!`b `TDe`öin `.Ha`tus `mist fertig. Du bekommst `b`&10`b `mSchlüssel überreicht, von denen du 9 an andere weitergeben kannst, und besitzt nun dein eigenes klei`tne`.s H`öei`Tm.");
$row[gems]=0;
$row[gold]=0;
$session[user][pkey]=$row[houseid];
$row[status1]=1;
addnews("`2".$session[user][name]."`3 hat das Haus `2$row[housename]`3 in Villenviertel fertiggestellt.");
//$sql="";
for($i=1; $i<10; $i++)
{
$sql="INSERT INTO items (name,owner,class,value1,value2,gold,gems,description) VALUES ('HausSchlüssel3',".$session[user][acctid].",'Schlüssel3',$row[houseid],$i,0,0,'Schlüssel für Haus Nummer $row[houseid] in Villenviertel.')";
db_query($sql);
if(db_affected_rows(LINK) <= 0)
output("`\$Fehler`^: Dein Inventar konnte nicht aktualisiert werden! Bitte benachrichtige den Admin. ");
}
}
$sql="UPDATE houses3 SET gold=$row[gold],gems=$row[gems],housename='".addslashes($housename)."',status1=".(int)$row[status1]." WHERE houseid=$row[houseid]";
db_query($sql);
}
}else{
if($session[user][pkey]>0)
{
output("`TDu hast bereits Zugang zu einem fertigen Haus und brauchst kein zweites. Wenn du ein neues oder ein eigenes Haus bauen willst, musst du erst aus deinem jetzigen Zuhause ausziehen.");
}
else if($session[user][dragonkills]<0 || ($session[user][dragonkills]==0 && $session[user][level]<5))
{
output("`TDu hast noch nicht genug Erfahrung, um ein eigenes Haus bauen zu können. Du kannst aber bei einem Freund einziehen, wenn er dir einen Schlüssel für sein Haus gibt.");
}
else if($session[user][turns]<1)
{
output("`TDu hast keine Zeit mehr, um heute noch irgendetwas zu bauen. Warte bis morgen.");
}
else if($session[user][house3]>0)
{
$sql="SELECT * FROM houses3 WHERE status1=0 AND owner=".$session[user][acctid]." ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
output("`TDu `öbe`.si`tch`mtigst die Baustelle deines neuen Hauses mit der Hausnummer `&$row[houseid]`T.`n`n");
$goldtopay=$goldcost-$row[gold];
$gemstopay=$gemcost-$row[gems];
$done=round(100-((100*$goldtopay/$goldcost)+(100*$gemstopay/$gemcost))/2);
output("`TE`ös `.i`ts`mt zu `\$$done%`m fertig. Du musst noch `&$goldtopay`m Caro und `#$gemstopay `mEdelsteine beza`th`.l`öe`Tn.`n`TW`öi`.l`tl`mst du jetzt weiter ba`tu`.e`ön`T?`n`n");
output("`0<form action='houses2.php?op=build&act=build2' method='POST'>",true);
output("`n`TW`öi`.e`tv`miele Caro zah`tl`.e`ön`T? <input type='gold' name='gold'>`n",true);
output("`n`TW`öi`.e`tv`miele Edelste`ti`.n`öe`T? <input type='gems' name='gems'>`n",true);
output("<input type='submit' class='button' value='Bauen'>",true);
addnav("","houses2.php?op=build&act=build2");
}else{
output("`c`TSc`öho`.n l`tan`mge hast du das Grundstück ins Auge gefasst und nun ist es Zeit, endlich ein Haus darauf zu bauen.`n
Ein Haus zu bauen würde dich `^$goldcost Caro`m und `#$gemcost Edelsteine`m kosten. Du mußt das nicht auf einmal bezahlen, sondern könntest immer wieder mal für einen kleineren Betrag ein Stück
weiter bauen. Wie schnell du zu deinem Haus kommst, hängt also davon ab, wie oft und wieviel du bezahlst.`n
Du kannst in deinem zukünftigen Haus alleine wohnen, oder es mit anderen teilen. Es bietet einen sicheren Platz zum Übernachten und einen Lagerplatz für einen Teil deiner Reichtümer.
Ein gestartetes Bauvorhaben kann nicht abgebroche`tn w`.er`öde`Tn.`n`n`TWi`öll`.st `tdu `mmit dem Hausbau b`teg`.in`öne`Tn?`c`0");
addnav("Hausbau beginnen","houses2.php?op=build&act=start");
}
}
addnav("Zurück zum Wohngebiet","houses2.php");
addnav("Zurück zum Villenviertel","village.php");
}
else if($_GET['op']=="einbruch")
{
if(!$_GET[id])
{
$ppp=$houseslistperroad; // Player Per Page to display
if(!$_GET[limit])
{ $page=0;
}else
{ $page=(int)$_GET[limit];
addnav("Vorherige Seite","houses2.php?op=einbruch&limit=".($page-1)."");
}
$limit="".($page*$ppp).",".($ppp+1);
$sql="SELECT * FROM houses3 WHERE status1=1 AND vacationlock=0 AND owner<>".$session[user][acctid]." ORDER BY houseid ASC LIMIT $limit";
output("`c`b`^Einbruch`b`c`0`n
`@Du siehst dich um und suchst dir ein bewohntes Haus für einen Einbruch aus.
Leider kannst du nicht erkennen, wieviele Bewohner sich gerade darin aufhalten und wie stark diese sind. So ein Einbruch ist also sehr riskant.`nFür welches Haus entscheidest du dich?`n`n");
if($session['user']['pvpflag']=="2013-10-06 00:42:00") output("`n`&(Du hast PvP-Immunität gekauft. Diese verfällt, wenn du jetzt angreifst!)`0`n`n");
output("<table cellspacing=0 cellpadding=2 align='center'><tr><td>`bHausNr.`b</td><td>`bName`b</td><td>`bEigentümer`b</td></tr>",true);
$result=db_query($sql)or die(db_error(LINK));
if(db_num_rows($result)>$ppp)
addnav("Nächste Seite","houses2.php?op=einbruch&limit=".($page+1)."");
if(db_num_rows($result)==0)
{
output("<tr><td colspan=4 align='center'>`&`iEs gibt momentan keine bewohnten Häuser`i`0</td></tr>",true);
}else{
for($i=0; $i<db_num_rows($result); $i++)
{
$row=db_fetch_assoc($result);
$bgcolor=($i%2==1?"trlight" : "trdark");
// output("<tr class='$bgcolor'><td align='right'>$row[houseid]</td><td><a href='houses2.php?op=einbruch&id=$row[houseid]'>$row[housename]</a></td><td>",true);
$sql="SELECT name FROM accounts WHERE acctid=$row[owner] ORDER BY acctid DESC";
$result2=db_query($sql)or die(db_error(LINK));
$row2=db_fetch_assoc($result2);
output("$row2[name]</td></tr>",true);
// addnav("","houses2.php?op=einbruch&id=$row[houseid]");
}
}
output("</table>",true);
addnav("Umkehren","houses2.php");
}else{
if($session[user][turns]<1 || $session[user][playerfights] <= 0)
{
output("`nDu bist wirklich schon zu müde, um ein Haus zu überfallen.");
addnav("Zurück","houses2.php");
}else{
output("`2Du näherst dich vorsichtig Haus Nummer $_GET[id].");
$session[pkey]=$_GET[id];
// Abfrage, ob Schlüssel vorhanden!!
$sql="SELECT id FROM items WHERE owner=".$session[user][acctid]." AND value1=".(int)$_GET[id]." AND class='Schlüssel3' ORDER BY id DESC";
$result2=db_query($sql)or die(db_error(LINK));
$row2=db_fetch_assoc($result2);
if(db_num_rows($result2)>0)
{ output(" An der Haustür angekommen suchst du etwas, um die Tür möglichst unauffällig zu öffnen. Am besten dürfte dafür der Hausschlüssel geeignet sein, ");
output(" den du einstecken hast.`nWolltest du wirklich gerade in ein Haus einbrechen, für das du einen Schlüssel hast?");
addnav("Haus betreten","houses2.php?op=drin&id=$_GET[id]");
addnav("Zurück zum Villenviertel","village.php");
}else{ // Wache besiegen
output("Deine gebückte Haltung und der schleichende Gang machen eine Stadtwache aufmerksam...`n");
$pvptime =getsetting("pvptimeout",600);
$pvptimeout = date("Y-m-d H:i:s",strtotime("-$pvptime seconds"));
$days = getsetting("pvpimmunity",5);
$exp = getsetting("pvpminexp",1500);
$sql = "SELECT acctid,level,hitpoints,login,pkey FROM accounts WHERE "
. "(locked=0) AND (alive=1 AND location=2) AND (laston < '".date("Y-m-d H:i:s",strtotime("-".getsetting("LOGINTIMEOUT",900)." sec"))
. "' OR loggedin=0) AND (age > $days OR dragonkills > 0 OR pk > 0 OR experience > $exp) AND "
. "(acctid <> ".$session[user][acctid].") AND (pvpflag <> '2013-10-06 00:42:00') AND "
. "(pvpflag < '$pvptimeout') ORDER BY hitpoints DESC";
$result=db_query($sql)or die(db_error(LINK));
$hp=0;
$count=0;
// count chars at home and find strongest
if(db_num_rows($result))
{ for($i=0; $i<db_num_rows($result); $i++)
{ $row = db_fetch_assoc($result);
$sql = "SELECT value1 FROM items WHERE value1=".(int)$session[pkey]." AND owner=$row[acctid] AND class='Schlüssel3' AND hvalue=".(int)$session[pkey]." ORDER BY id";
$result2=db_query($sql)or die(db_error(LINK));
if(db_num_rows($result2)>0 || (int)$row[pkey]==(int)$session[pkey])
{ if($row[hitpoints]>$hp)
{ $hp=(int)$row[hitpoints];
$count++;
}
}
db_free_result($result2);
}
}
$uhp = ($session[user][maxhitpoints]>$session[user][hitpoints])?$session[user][maxhitpoints]:$session[user][hitpoints];
if($count>0)
{ $badguy=array("creaturename"=>"Stadtwache","creaturelevel"=>$session[user][level],"creatureweapon"=>"Holzknüppel","creatureattack"=>$session[user][attack],"creaturedefense"=>$session[user][defence],"creaturehealth"=>abs($session[user][maxhitpoints]-$hp)+1,"diddamage"=>0);
}else
{ $badguy=array("creaturename"=>"Stadtwache","creaturelevel"=>$session[user][level],"creatureweapon"=>"starker Holzknüppel","creatureattack"=>$session[user][attack],"creaturedefense"=>$session[user][defence],"creaturehealth"=>abs($session[user][maxhitpoints]),"diddamage"=>0);
$session[user][playerfights]--;
}
$session[user][badguy]=createstring($badguy);
$fight=true;
}
}
}
}
elseif($_GET['op']=="fight")
{
$fight=true;
}
elseif($_GET['op']=="run")
{
output("`%Die Wache lässt dich nicht entkommen!`n");
$fight=true;
}
else if($_GET['op']=="einbruch2")
{
// Spieler besiegen
$pvptime=getsetting("pvptimeout",600);
$pvptimeout=date("Y-m-d H:i:s",strtotime("-$pvptime seconds"));
$days=getsetting("pvpimmunity",5);
$exp=getsetting("pvpminexp",1500);
$sql="SELECT acctid,name,hitpoints,defence,attack,level,laston,loggedin,login,pkey,housesleep FROM accounts WHERE
(locked=0) AND
(alive=1 AND location=2) AND
(laston < '".date("Y-m-d H:i:s",strtotime("-".getsetting
("LOGINTIMEOUT",900)." sec"))."' OR loggedin=0) AND
(age > $days OR dragonkills > 0 OR pk > 0 OR experience > $exp)
AND (acctid <> ".$session[user][acctid].") AND
(pvpflag <> '2013-10-06 00:42:00') AND (pvpflag < '$pvptimeout') ORDER BY hitpoints DESC";
$result=db_query($sql)or die(db_error(LINK));
$athome=0;
$name="";
$hp=0;
// count chars at home and find strongest
for($i=0; $i<db_num_rows($result); $i++)
{ $row = db_fetch_assoc($result);
$sql = "SELECT value1 FROM items WHERE value1=".(int)$session[pkey]." AND owner=$row[acctid] AND hvalue=".(int)$session[pkey]." ORDER BY id";
$result2 = db_query($sql)or die(db_error(LINK));
if((db_num_rows($result2)>0) || ($row[housesleep]==(int)$session[pkey]) || (($row[pkey]==(int)$session[pkey]) && ($ownerdefendsownhouse)))
{ $athome++;
if($row[hitpoints]>$hp)
{ $hp=$row[hitpoints];
$name=$row[login];
}
}
db_free_result($result2);
}
addnav("Flüchte","village.php");
if($athome>0)
{ output("`n Dir kommen $athome misstrauische Bewohner schwer bewaffnet entgegen. Der wahrscheinlich Stärkste von ihnen wird sich jeden Augenblick auf dich stürzen,
wenn du die Situation nicht sofort entschärfst.");
addnav("Kämpfe","pvp.php?act=attack&bg=2&name=$name");
} else
{ output(" Du hast Glück, denn es scheint niemand daheim zu sein. Das wird sicher ein Kinderspiel.");
addnav("Einsteigen","houses2.php?op=klauen&id=$session[pkey]");
}
}
else if($_GET['op']=="klauen")
{ if(!$_GET[id])
{ output("Und jetzt? Bitte benachrichtige den Admin. Ich weiß nicht, was ich jetzt tun soll...");
addnav("Zurück zum Villenviertel","village.php");
} else
{ addnav("Zurück zum Villenviertel","village.php");
$sql="SELECT * FROM houses3 WHERE houseid=".$session[pkey]." ORDER BY houseid ASC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
$wasnu=e_rand(1,3);
switch($wasnu)
{ case 1:
$getgems=0;
$getgold=e_rand(0,round($row[gold]/10));
$sql="UPDATE houses3 SET gold=gold-$getgold WHERE houseid=$row[houseid]";
db_query($sql)or die(db_error(LINK));
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'house3-treasure-".$row[houseid]."',".$session[user][acctid].",'/me `\$klaut `#$getgold`\$ Gold aus dem Hausschatz!')";
db_query($sql)or die(db_error(LINK));
break;
case 2:
$getgems=e_rand(0,round($row[gems]/10));
$getgold=e_rand(0,round($row[gold]/10));
$sql="UPDATE houses3 SET gold=gold-$getgold,gems=gems-$getgems WHERE houseid=$row[houseid]";
db_query($sql)or die(db_error(LINK));
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'house3-treasure-".$row[houseid]."',".$session[user][acctid].",'/me `\$klaut `#$getgold`\$ Gold und `#$getgems`\$ Edelsteine aus dem Hausschatz!')";
db_query($sql)or die(db_error(LINK));
break;
case 3:
$getgems=e_rand(0,round($row[gems]/10));
$getgold=0;
$sql="UPDATE houses3 SET gems=gems-$getgems WHERE houseid=$row[houseid]";
db_query($sql)or die(db_error(LINK));
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'house3-treasure-".$row[houseid]."',".$session[user][acctid].",'/me `\$klaut `#$getgems`\$ Edelsteine aus dem Hausschatz!')";
db_query($sql)or die(db_error(LINK));
break;
}
$session[user][gold]+=$getgold;
$session[user][gems]+=$getgems;
output("`@Es gelingt dir, `^$getgold `@Gold und `#$getgems `@Edelsteine aus dem Schatz zu klauen!");
addnews("`6".$session[user][name]."`6 erbeutet `#$getgems`6 Edelsteine und `^$getgold`6 Gold bei einem Einbruch im Villenviertel!");
systemmail($row[owner],"`\$Einbruch!`0","`\${$session['user']['name']}`\$ ist in dein arkanisches Haus eingebrochen und hat `^$getgold`\$ Gold und `#$getgems`\$ Edelsteine erbeutet!");
}
}
else if($_GET['op']=="fight")
{ $battle=true;
}
else if($_GET['op']=="run")
{ output("`\$Dein Stolz verbietet es dir, vor diesem Kampf wegzulaufen!`0");
$_GET['op']="fight";
$battle=true;
}
else if($_GET['op']=="buy")
{ /*
if ( $session[user][house3]>0) {
output("`@Du hast bereits ein Haus und brauchst kein zweites. Wenn du ein anderes Haus haben willst, musst du erst aus deinem jetzigen Zuhause ausziehen.");
} else
*/
if(!$_GET[id])
{
$ppp=$houseslistperroad; // Player Per Page to display
if(!$_GET[limit])
{ $page=0;
} else
{ $page=(int)$_GET[limit];
addnav("Vorherige Seite","houses2.php?op=buy&limit=".($page-1)."");
}
$limit="".($page*$ppp).",".($ppp+1);
$sql="SELECT * FROM houses3 WHERE status1=2 OR status1=3 OR status1=4 ORDER BY houseid ASC LIMIT $limit";
output("`c`b`^Leerstehende Häuser`b`c`0`n");
output("<table cellspacing=0 cellpadding=2 align='center'><tr><td>`bHausNr.`b</td><td>`bName`b</td><td>`bGold`b</td><td>`bEdelsteine`b</td><td>`bBemerkung`b</td></tr>",true);
$result=db_query($sql)or die(db_error(LINK));
if(db_num_rows($result)>$ppp)
addnav("Nächste Seite","houses2.php?op=buy&limit=".($page+1)."");
if(db_num_rows($result)==0)
{
output("<tr><td colspan=4 align='center'>`&`iEs stehen momentan keine Häuser zum Verkauf`i`0</td></tr>",true);
}
else
{
for($i=0; $i<db_num_rows($result); $i++)
{
$row=db_fetch_assoc($result);
$bgcolor=($i%2==1?"trlight" : "trdark");
output("<tr class='$bgcolor'><td align='right'>$row[houseid]</td><td><a href='houses2.php?op=buy&id=$row[houseid]'>$row[housename]</a></td><td align='right'>$row[gold]</td><td align='right'>$row[gems]</td><td>",true);
if($row[status1]==3)
{
output("`4Verlassen`0");
}
else if($row[status1]==4)
{
output("`\$Bauruine`0");
}
else if($row[owner]==0)
{
output("`^Maklerverkauf`0");
}
else
{
output("`6Privatverkauf`0");
}
output("</td></tr>",true);
addnav("","houses2.php?op=buy&id=$row[houseid]");
}
}
output("</table>",true);
}
else
{
$sql="SELECT * FROM houses3 WHERE houseid=".(int)$_GET[id]." ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
if($session[user][acctid]==$row[owner])
{
output("`öDu hängst doch zu sehr an deinem Haus und beschließt, es noch nicht zu verkaufen.");
$session[user][pkey]=$row[houseid];
$sql="UPDATE houses3 SET gold=0,gems=0,status1=1 WHERE houseid=$row[houseid]";
db_query($sql);
}
else if($session[user][gold]<$row[gold] || $session[user][gems]<$row[gems])
{
output("`öDieses edle Haus übersteigt wohl deine finanziellen Mittel.");
}
else
{
output("`öGlückwunsch zu deinem neuen Haus!`n`n");
$session[user][gold]-=$row[gold];
$session[user][gems]-=$row[gems];
$session[user][house3]=$row[houseid];
output("`öDu übergibst `^$row[gold]`ö Caro und `#$row[gems]`ö Edelsteine an den Verkäufer, und dieser händigt dir dafür einen Satz Schlüssel für Haus `b$row[houseid]`b aus.");
if($row[owner]>0)
{
$sql="UPDATE accounts SET goldinbank=goldinbank+$row[gold],gems=gems+$row[gems],house3=0,pkey=0 WHERE acctid=$row[owner]";
db_query($sql);
systemmail($row[owner],"`@Haus verkauft!`0","`&{$session['user']['name']}`2 hat dein Haus gekauft. Du bekommst `^$row[gold]`2 Gold auf die Bank und `#$row[gems]`2!");
$session[user][pkey]=$row[houseid];
}
if($row[status1]==3)
{
$sql="UPDATE houses3 SET status1=1,owner=".$session[user][acctid]." WHERE houseid=$row[houseid]";
db_query($sql);
$sql="UPDATE items SET owner=".$session[user][acctid]." WHERE owner=0 and value1=$row[houseid] AND class='Schlüssel3'";
output(" `4Bitte bedenke, dass du ein verlassenes Haus gekauft hast, zu dem vielleicht noch andere einen Schlüssel haben!");
$session['user']['pkey']=$row['houseid'];
}
else if($row[status1]==4)
{
$sql="UPDATE houses3 SET status1=0,owner=".$session[user][acctid]." WHERE houseid=$row[houseid]";
output(" `4Bitte bedenke, dass du eine Bauruine gekauft hast, die du erst fertigbauen musst!");
}
else
{
$sql="UPDATE houses3 SET gold=0,gems=0,status1=1,owner=".$session[user][acctid]." WHERE houseid=$row[houseid]";
db_query($sql);
$sql="UPDATE items SET owner=".$session[user][acctid]." WHERE value1=$row[houseid] AND class='Schlüssel3'";
$session[user][pkey]=$row[houseid];
}
db_query($sql);
}
}
addnav("Zurück zum Wohnviertel","houses2.php");
addnav("Zurück zum Villenviertel","village.php");
}
else if($_GET['op']=="sell")
{
$sql="SELECT * FROM houses3 WHERE houseid=".$session[user][pkey]." AND vacationlock=0 ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
$halfgold=round($goldcost/3);
$halfgems=round($gemcost/3);
if($_GET[act]=="sold")
{
if(!$_POST[gold] && !$_POST[gems])
{
output("`TDu `öde`.nk`tst `mernsthaft darüber nach, dein Häuschen zu verkaufen. Wenn du selbst einen Preis festlegst, bedenke, dass er auf einmal bezahlt werden muss
und vom Käufer nicht in Raten abgezahlt werden kann. Außerdem kannst du weder ein neues Haus bauen, noch in diesem Haus wohnen, bis es verkauft ist.
Du bekommst dein Geld erst, wenn das Haus verkauft ist. Der Verkauf läßt sich abbrechen, indem du selbst das Haus von di`tr k`.au`öfs`Tt.
`n`TWe`önn `.du `tso`mfort Geld sehen willst, musst du dein Haus für `^$halfgold`m Caro und `#$halfgems`m Edelsteine an einen Makler ve`trk`.au`öfe`Tn.");
output("`0<form action='houses2.php?op=sell&act=sold' method='POST'>",true);
output("`n`TW`öi`.e`tv`miel Gold willst du verlan`tg`.e`ön`T? <input type='gold' name='gold'>`n",true);
output("`n`TW`öi`.e`tv`miele Edelsteine soll das Haus kos`tt`.e`ön`T? <input type='gems' name='gems'>`n",true);
output("<input type='submit' class='button' value='Anbieten'>",true);
addnav("","houses2.php?op=sell&act=sold");
addnav("An den Makler","houses2.php?op=sell&act=makler");
}
else
{
$halfgold=(int)$_POST[gold];
$halfgems=(int)$_POST[gems];
if(($halfgold<$goldcost/40 && $halfgems<$gemcost/10) || ($halfgold==0 && $halfgems<$gemcost/2) || ($halfgold<$goldcost/20 && $halfgems==0))
{
output("`öDu solltest vielleicht erstmal wieder zu klarem Verstand kommen, bevor du über einen Preis nachdenkst. Wie? Du bist bei klarem Verstand? Das glaubt dir so kein Mensch.");
addnav("Neuer Preis","houses2.php?op=sell&act=sold");
}
else if($halfgold>$goldcost*2 || $halfgems>$gemcost*4)
{
output("`öBei so einem hohen Preis bist du dir nicht sicher, ob du wirklich verkaufen sollst. Überlege es dir nochmal.");
addnav("Neuer Preis","houses2.php?op=sell&act=sold");
}
else
{
output("`öDein Haus steht ab sofort für `^$halfgold`ö Gold und `#$halfgems`ö Edelsteine zum Verkauf. Du und alle Mitbewohner habt den Schatz des Hauses gleichmäßig
unter euch aufgeteilt und deine Untermieter haben ihre Schlüssel abgegeben.");
// Gold und Edelsteine an Bewohner verteilen und Schlüssel einziehen
$sql="SELECT owner FROM items WHERE value1=$row[houseid] AND class='Schlüssel3' AND owner<>$row[owner] ORDER BY id ASC";
$result=db_query($sql)or die(db_error(LINK));
$amt=db_num_rows($result);
$goldgive=round($row[gold]/($amt+1));
$gemsgive=round($row[gems]/($amt+1));
$session[user][gold]+=$goldgive;
$session[user][gems]+=$gemsgive;
// $sql="";
for($i=0; $i<db_num_rows($result); $i++)
{
$item=db_fetch_assoc($result);
$sql="UPDATE accounts SET goldinbank=goldinbank+$goldgive,gems=gems+$gemsgive WHERE acctid=$item[owner]";
db_query($sql);
systemmail($item[owner],"`@Rauswurf!`0","`&{$session['user']['name']}`2 hat das Haus `b$row[housename]`b`2 verkauft, in dem du als Untermieter gewohnt hast. Du bekommst `^$goldgive`2 Gold auf die Bank und `#$gemsgive`2 Edelsteine aus dem gemeinsamen Schatz ausbezahlt!");
}
$sql="UPDATE items SET owner=$row[owner] WHERE class='Schlüssel3' AND value1=$row[houseid]";
db_query($sql);
// Variablen setzen und Datenbank updaten
$row[gold]=$halfgold;
$row[gems]=$halfgems;
$session[user][pkey]=0;
$sql="UPDATE houses3 SET gold=$row[gold],gems=$row[gems],status1=2 WHERE houseid=$row[houseid]";
db_query($sql);
}
}
}
else if($_GET[act]=="makler")
{
output("`@Dem Makler entfährt ungewollt ein freudiges Glucksen, als er dir `^$halfcost`@ Gold und die `#$halfcost`@ Edelsteine vorzählt.`n`n
Ab sofort steht dein Haus zum Verkauf und du kannst ein neues bauen, woanders mit einziehen, oder ein anderes Haus kaufen.");
// Gold und Edelsteine an Bewohner verteilen und Schlüssel einziehen
$sql="SELECT owner FROM items WHERE value1=$row[houseid] AND class='Schlüssel3' AND owner<>$row[owner] ORDER BY id ASC";
$result=db_query($sql)or die(db_error(LINK));
$goldgive=round($row[gold]/(db_num_rows($result)+1));
$gemsgive=round($row[gems]/(db_num_rows($result)+1));
$sessoin[user][gold]+=$goldgive;
$session[user][gems]+=$gemsgive;
//$sql="";
for($i=0; $i<db_num_rows($result); $i++)
{
$item=db_fetch_assoc($result);
$sql="UPDATE accounts SET goldinbank=goldinbank+$goldgive,gems=gems+$gemsgive WHERE acctid=$item[owner]";
db_query($sql);
systemmail($item[owner],"`@Rauswurf!`0","`&{$session['user']['name']}`2 hat das Haus `b$row[housename]`b`2 verkauft, in dem du als Untermieter gewohnt hast. Du bekommst `^$goldgive`2 Gold auf die Bank und `#$gemsgive`2 Edelsteine aus dem gemeinsamen Schatz ausbezahlt!");
}
$sql="UPDATE items SET owner=0 WHERE class='Schlüssel3' AND value1=$row[houseid]";
db_query($sql);
// Variablen setzen und Datenbank updaten
$row[gold]=$goldcost-$halfgold;
$row[gems]=$gemcost;
$session[user][gold]+=$halfgold;
$session[user][gems]+=$halfgems;
$session[user][house3]=0;
$session[user][pkey]=0;
$session[user][donation]+=1;
$sql="UPDATE houses3 SET owner=0,gold=$row[gold],gems=$row[gems],status1=2 WHERE houseid=$row[houseid]";
db_query($sql);
}
else
{
output("`@Gebe einen Preis für dein Haus ein, oder lass einen Makler den Verkauf übernehmen. Der schmierige Makler würde dir sofort `^$halfgold`@ Gold und `#$halfgems`@ Edelsteine geben.
Wenn du selbst verkaufst, kannst du vielleicht einen höheren Preis erzielen, musst aber auf dein Geld warten, bis jemand kauft.`nAlles, was sich noch im Haus befindet, wird
gleichmässig unter allen Bewohnern aufgeteilt.`n`n");
output("`0<form action='houses2.php?op=sell&act=sold' method='POST'>",true);
output("`nWieviel Gold verlangen? <input type='gold' name='gold'>`n",true);
output("`nWieviele Edelsteine? <input type='gems' name='gems'>`n`n",true);
output("<input type='submit' class='button' value='Für diesen Preis verkaufen'></form>",true);
addnav("","houses2.php?op=sell&act=sold");
addnav("An den Makler","houses2.php?op=sell&act=makler");
}
addnav("Zurück zum Wohnviertel","houses2.php");
addnav("Zurück zum Villenviertel","village.php");
// pk BEGIN
} // ZIMMER//
else if($_GET['op']=="commonroom")
{
// Gemeinschaftsraum .....................
if($_GET[id])
$session[pkey]=(int)$_GET[id];
if(!$session[pkey])
redirect("houses2.php");
$sql="SELECT * FROM houses3 WHERE houseid=".$session[pkey]." ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
output("`ö`b`c$row[housename] `)(Im Wohnzimmer)`c`b`n");
if($row[description])
output("`0`c$row[description]`c`n");
output("`.Es ist jetzt `6".getgametime()."`. Uhr, und du befindest dich im Wohnzimmer.`0`n`n");
//VIEWCOMMENTARY
viewcommentary("house3gem-".$row[houseid],"Mit Mitbewohnern reden:",15,"sagt");
//VIEWCOMMENTARY end
display_roomlist(3);
show_furniture($session[pkey],$session[user][acctid],$session[user][marriedto],3);
}
else if($_GET['op']=="couplebath")
{
// Badezimmer Blaue Lagune .............................
if($_GET[id])
$session[pkey]=(int)$_GET[id];
if(!$session[pkey])
redirect("houses2.php");
$sql="SELECT * FROM houses3 WHERE houseid=".$session[pkey]." ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
output("`b`c`½$row[housename] `)(Das Badezimmer für Paare)`c`b`n");
if($row[description])
output("`0`c$row[description]`c`n");
if(($session[user][marriedto]>0))
{
$partnerexists=TRUE;
if(strcmp($session[user][acctid],$session[user][marriedto])>0)
{
$chat="hcbath-".$session[pkey]."-".$session[user][acctid]."_".$session[user][marriedto];
}
else
{
$chat="hcbath-".$session[pkey]."-".$session[user][marriedto]."_".$session[user][acctid];
}
if($_GET[act]!="")
{
switch($_GET[act])
{
case "soap":
$hasdowhat="/me seift Dir zärtlich den Rücken ein.";
break;
case "shampoo":
$hasdowhat="/me wäscht sich die Haare.";
break;
case "stroke":
$hasdowhat="/me streichelt zärtlich über Deine duftende Haut.";
break;
default: $hasdowhat="/me macht etwas unbegreifliches.";
break;
}
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$chat."',".$session[user][acctid].",'".$hasdowhat."')";
db_query($sql)or die(db_error(LINK));
redirect("houses2.php?op=couplebath");
}
output("`¾Hi`½er `¼ka`»nnst Du ungestört mit `^$lover`» ein langes Bad nehmen, ohne von einem Mitbewohner überrascht z`»u w`¼er`½de`¾n.`0`n`n");
viewcommentary($chat,"Sich gegenseitig verwöhnen und plaudern:",15,"sagt");
}
else
{
output("`¾Wä`½rs`¼t D`»u verheiratet oder hättest einen Flirt, könntest Du hier mit Deinem Partner ungestört ein langes Bad nehmen, ohne stundenlang das Bad für eure Mitbewohner zu blockieren. Naja alleine baden hat ja `»au`¼ch `½wa`¾s!`n`n");
}
addnav("Aktionen");
addnav("Seife","houses2.php?op=couplebath&act=soap");
addnav("Haarewaschen","houses2.php?op=couplebath&act=shampoo");
addnav("Streicheln","houses2.php?op=couplebath&act=stroke");
display_roomlist(7);
show_furniture($session[pkey],$session[user][acctid],$session[user][marriedto],7);
}
else if($_GET['op']=="partner")
{
// Schlafzimmer .............................
if($_GET[id])
$session[pkey]=(int)$_GET[id];
if(!$session[pkey])
redirect("houses2.php");
$sql="SELECT * FROM houses3 WHERE houseid=".$session[pkey]." ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
output("`Ì`b`c$row[housename] `)(Das Schlafzimmer)`c`b`n");
if($row[description])
output("`0`c$row[description]`c`n");
if ($showroomimages)
// output("<img src='images/house-candle.gif' width='62' height='100' align='right'/>",true);
if($_GET[act]=="logout")
{
if(($session[user][pkey]!=$session[pkey]) || ($showownersleepstatus1==TRUE))
// pk: Optional Schlafstatus1 des Besitzers anzeigen
{ $sql="UPDATE items SET hvalue=".$session[pkey]." WHERE value1=".(int)$session[pkey]." AND owner=".$session[user][acctid]." AND class='Schlüssel3'";
db_query($sql)or die(sql_error($sql));
}
$session['user']['loggedin']=0;
$session['user']['location']=5;
$sql="UPDATE accounts SET loggedin=0,location=5,housesleep=".$session[pkey]." WHERE acctid = ".$session[user][acctid];
db_query($sql)or die(sql_error($sql));
$session=array();
redirect("index.php");
}
// Nun Ehepartner raussuchen
$partnerexists=FALSE;
$lover="";
$loverID=$session[user][marriedto];
$loved=$session[user][login];
$lovedID=$session[user][acctid];
if($session[user][marriedto]>0)
{
$sql="SELECT acctid,login,marriedto FROM accounts WHERE acctid=$loverID AND marriedto=$lovedID ORDER BY acctid DESC";
$result=db_query($sql)or die(db_error(LINK));
if(db_num_rows($result)>0)
{
$row=db_fetch_assoc($result);
$lover=$row[login];
}
}
if($loverID==4294967295)
{
if($sesssion[user][sex]==0)
{
$lover="Violet";
}
else
{
$lover="Seth";
}
}
if(($loverID>0) && ($session[user][charisma]>0))
{
if(strcmp($session[user][acctid],$session[user][marriedto])<0)
{
$chat="hflirt-".$session[pkey]."-".$session[user][acctid]."_".$session[user][marriedto];
}
else
{
$chat="hflirt-".$session[pkey]."-".$session[user][marriedto]."_".$session[user][acctid];
}
$partnerexists=TRUE;
$partnersleeps=FALSE;
// Liste der schlafenden Personen
$sql = "SELECT * FROM houses3 WHERE houseid=".$session[pkey]." ORDER BY houseid DESC";
$result = db_query($sql)or die(db_error(LINK));
$row = db_fetch_assoc($result);
$sql="SELECT * FROM items WHERE value1=$session[pkey] AND class='Schlüssel3' 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);
$sql="SELECT acctid,name FROM accounts WHERE acctid=$item[owner] ORDER BY login DESC";
$result2=db_query($sql)or die(db_error(LINK));
$row2=db_fetch_assoc($result2);
if(($row2[name]!="") && ($item['hvalue']>0) && ($row2[acctid]==$loverID))
//{ output("`2$row2[name] schläft gerade hier.`0`n"); }
{
$partnersleeps=TRUE;
}
}
if($partnersleeps==FALSE)
{
output("`ÁHi`Ìer `Íkannst Du dich mit `^$lover`Í ungestört unterhalten, ohne eure Mitbewohner zu stö`Ìre`Án.`n`n");
viewcommentary($chat,"Mit Partner reden:",15);
}
else
{
output("`ÁWü`Ìrd`Íe `^$lover`Í nicht schlafen, könntet ihr euch hier ungestört unterhalten, ohne eure Mitbewohner zu stö`Ìre`Án.`n`n");
viewcommentary($chat,"In's Ohr flüstern:",15);
}
}
else
{
if(($loverID>0) && ($session[user][charisma]>0))
{
output("`Á`^$lover`Á mu`Ìßt`Íe den ganzen Tag auf der Arbeit schon so viel erzählen und ist jetzt zu müde für weitere Unterhaltungen, ansonsten könntet ihr euch hier unterhalten, ohne eure Mitbewohner zu stö`Ìre`Án.`n`n");
}
else
{
output("`ÁWä`Ìrs`Ít Du nicht solo, könntest Du dich hier mit Deinem Partner ungestört unterhalten, ohne eure Mitbewohner zu stören. So hast Du immerhin ein Zimmer ganz für dich alle`Ìin`Áe!`n`n");
}
}
addnav("Aktionen");
addnav("Einschlafen","houses2.php?op=partner&act=logout");
if($partnerexists && $showsiwispartnerbath)
{
addnav("`uBaden gehen","houses2.php?op=couplebath");
}
display_roomlist(6);
show_furniture($session[pkey],$session[user][acctid],$session[user][marriedto],6);
}
else if($_GET['op']=="stable")
{
// Stall ,,....................................
if($_GET[id])
$session[pkey]=(int)$_GET[id];
if(!$session[pkey])
redirect("houses2.php");
$sql="SELECT * FROM houses3 WHERE houseid=".$session[pkey]." ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
output("`2`b`c$row[housename]`c`b`n");
if($row[description])
output("`0`c$row[description]`c`n");
$sql="SELECT acctid,name FROM accounts ORDER BY acctid DESC";
$result=db_query($sql)or die(db_error(LINK));
$mountcount=0;
$mountlist="";
for($i=1; $i <= db_num_rows($result); $i++)
{ $acct=db_fetch_assoc($result);
$sql2 = "SELECT owner FROM items WHERE owner=$acct[acctid] AND value1='".$session[pkey]."' AND class='Schlüssel3'";
$result2 = db_query($sql2)or die(db_error(LINK));
if(db_num_rows($result2)>0)
{ $sql3="SELECT mountname FROM mounts_usr WHERE acctid=$acct[acctid]";
$result3=db_query($sql3)or die(db_error(LINK));
if(db_num_rows($result3)>0)
{ $horse=db_fetch_assoc($result3);
$mountlist .= "`n`&$acct[name]: `7$horse[mountname]";
$mountcount++;
}
}
}
if($mountcount==0)
{
output("`2Du gehst zur Haustüre heraus und in den Stall, der hinten an das Haus angebaut ist. Hier sieht noch alles ganz frisch eingerichtet und ungenutzt aus, was wohl daran liegt, dass niemand in diesem Haus ein Tier besitzt.`n");
}
else
{
output("`2Du gehst zur Haustüre heraus und in den Stall, der hinten an das Haus angebaut ist. Hier siehst Du die Tiere Deiner Mitbewohner bzw. deren leere Boxen.`n");
output($mountlist);
}
addnav("Zurück in das Haus","houses2.php?op=drin");
addnav("Zurück zum Wohnviertel","houses2.php");
addnav("Zurück zum Villenviertel","village.php");
}
else if($_GET['op']=="porch")
{
// Veranda .....................................
if($_GET[id])
$session[pkey]=(int)$_GET[id];
if(!$session[pkey])
redirect("houses2.php");
$sql="SELECT * FROM houses3 WHERE houseid=".$session[pkey]." ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
output("`2`b`c$row[housename] `)(Veranda)`c`b`n");
if($row[description])
output("`0`c$row[description]`c`n");
output("`¯Wi`¡ll`ëko`Ëmmen auf der Veranda dieses Hauses. Hier stehen Kaffee und Kuchen für dich bereit, und wenn Du Glück hast, sind gerade auch Gäste in de`ër N`¡äh`¯e.`n`n`¯E`¡s `ëi`Ëst jetzt `^".getgametime()."`Ë U`ëh`¡r`¯.`0`n`n`n");
viewcommentary("hguests-".$row[houseid],"Mit den Gästen plaudern:",15);
addnav("Zurück in das Haus","houses2.php?op=drin");
addnav("Zurück zum Wohnviertel","houses2.php");
addnav("Zurück zum Villenviertel","village.php");
show_furniture($session[pkey],$session[user][acctid],$session[user][marriedto],8);
}
else if($_GET['op']=="kitchen")
{
// Küche .....................................
if($_GET[id])
$session[pkey]=(int)$_GET[id];
if(!$session[pkey])
redirect("houses2.php");
$sql="SELECT * FROM houses3 WHERE houseid=".$session[pkey]." ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
output("`—`b`c$row[housename] `)(In der Küche)`c`b`n");
if($row[description])
output("`0`c$row[description]`c`n");
if ($showroomimages)
// output("<img src='images/house-coffee.gif' width='89' height='150' align='right'/>",true);
output("`CE`—s `øi`)s`7t jetzt `^".getgametime()."`7 Uhr, und du befindest dich in der Kü`)c`øh`—e`C.`0`n`n");
if($_GET[act]!="")
{
switch($_GET[act])
{
case "juice":
$hascookedwhat="/me holt eine Karaffe voller Orangensaft hervor und schüttet ein.";
break;
case "tea":
$hascookedwhat="/me hat einen Kessel Tee zubereitet.";
break;
case "coffee":
$hascookedwhat="/me hat vor, noch eine Weile wach zu bleiben, und sich deshalb eine Kanne Kaffee zubereitet.";
break;
case "ale":
$hascookedwhat="/me ist in Partystimmung und sticht ein Fäßchen Ale an!";
break;
case "wine":
$hascookedwhat="/me möchte etwas feiern und entkorkt eine Flasche leckeren Rotweines.";
break;
case "breakfast":
$hascookedwhat="/me hat Brötchen geholt und Eier gekocht. Sobald jemand den Tisch deckt, gibt es Frühstück!";
break;
case "lunch":
$hascookedwhat="/me hat Hunger bekommen und einen kurzen Mittagssnack zubereitet.";
break;
case "dinner":
$hascookedwhat="/me stellt sich für zwei Stunden in die Küche und kocht für alle ein herrliches Mahl!";
break;
case "snack":
$hascookedwhat="/me braucht mal was für zwischendurch.";
break;
default: $hascookedwhat="/me hat etwas zubereitet, was sich leider nicht so genau identifizieren lässt.";
break;
}
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'house3-kitchen-".$row[houseid]."',".$session[user][acctid].",'".$hascookedwhat."')";
db_query($sql)or die(db_error(LINK));
redirect("houses2.php?op=kitchen");
}
viewcommentary("house3-kitchen-".$row[houseid],"Über's Essen plaudern:",15);
display_roomlist(4);
show_furniture($session[pkey],$session[user][acctid],$session[user][marriedto],4);
}
else if($_GET['op']=="bath")
{
// Badezimmer ...................................
if($_GET[id])
$session[pkey]=(int)$_GET[id];
if(!$session[pkey])
redirect("houses2.php");
$sql="SELECT * FROM houses3 WHERE houseid=".$session[pkey]." ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
output("`Å`b`c$row[housename] `)(Im Badezimmer)`c`b`n");
if($row[description])
output("`0`c$row[description]`c`n");
if ($showroomimages)
// output("<img src='images/house-parfum.gif' width='150' height='117' align='right'/>",true);
output("`ÅD`uu `Ûkommst in's Badezimmer, um dich ein wenig frisch zu mach`ue`Ån.`0`n`n");
$rand=e_rand(0,10); // Was passiert im Badezimmer?
/* if($session[user][sex]==0)
{
switch($rand)
{
case 0:
output("`^Du schneidest dich beim Rasieren! Leider siehst die Wunde nicht sehr gut aus und du verlierst einen Charmpunkt!`n`n");
$session[user][charm]--;
break;
case 1:
output("`^Du rasierst dich heute besonders sorgfältig und siehst echt toll aus, dafür gewinnst Du einen Charmpunkt!`n`n");
$session[user][charm]++;
break;
default: output("`2Frisch gewaschen und rasiert bist Du jetzt fit für den Tag!`n`n");
break;
}
}
else
{
switch($rand)
{
case 0:
output("`^Du schminkst dich ein wenig zu eilig. Besonders toll sieht das nicht aus, deswegen verlierst Du einen Charmpunkt!`n`n");
$session[user][charm]--;
break;
case 1:
output("`^Du gibst Dir viel Mühe beim Schminken und siehst heute einfach umwerfend aus. Dafür gewinnst Du einen Charmpunkt!`n`n");
$session[user][charm]++;
break;
default: output("`2Frisch gewaschen und geschminkt bist Du jetzt fit für den Tag!`n`n");
break;
}
}*/
viewcommentary("house3bade-".$row[houseid],"Mit Mitbewohnern reden:",15);
display_roomlist(1);
show_furniture($session[pkey],$session[user][acctid],$session[user][marriedto],1);
}
else if($_GET['op']=="reading")
{
// Bibliothek ................................
if($_GET[id])
$session[pkey]=(int)$_GET[id];
if(!$session[pkey])
redirect("houses2.php");
$sql="SELECT * FROM houses3 WHERE houseid=".$session[pkey]." ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
output("`ö`b`c$row[housename] `)(In der Bibliothek)`c`b`n");
if($row[description])
output("`0`c$row[description]`c`n");
if ($showroomimages)
// output("<img src='images/house-bookshelf.gif' width='149' height='91' align='right'/>",true);
switch($_GET[act])
{
case "garden":
output("`2Der Geheime Garten? Klingt nach interessanter Lektüre! Du versuchst das Buch aus dem Schrank zu ziehen, doch irgendwie scheint es festgeklemmt und bewegt sich nur ein kleines Stückchen. Schon willst Du aufgeben, da merkst Du, dass sich das ganze Bücherregal verschieben läßt, wenn Du an diesem Buch ziehst!`n`nHinter dem Regal siehst Du einen kleinen Durchgang...`n`n");
addnav("Sonstiges");
addnav("Durchgang","dunelakepath.php");
break;
case "dragonkiller":
if(($session[user][bestdragonage]>0) && ($session[user][bestdragonage] <= 10))
{
output("`2Nun, Du hast schon so viele Drachen getötet, da brauchst Du so eine Lektüre bestimmt nicht mehr. Also stellst Du das Buch gleich wieder in den Schrank zurück.`n`n");
}
else
{
output("`2In nur 10 Tagen soweit zu sein, den Drachen zu töten? Das klingt allerdings vielversprechend! Allerdings auch irgendwie ein wenig unwirklich... nur 10 Tage? Ne, das glaubst Du nicht und läßt das Buch erstmal im Schrank stehen.`n`n");
}
break;
case "ponds":
output("`2Irgendwie steht Dir der Sinn heute nicht nach Do-It-Yourself-Lektüren, deswegen legst Du das Buch fast schneller wieder weg, als Du es herausgenommen hast.`n`n");
break;
case "kamasutra":
output("`2Du nimmst das Kama Sutra und verziehst dich damit in eine dunkle Ecke, um dich von den Bildern und Beschreibungen anregen zu lassen.`n");
$lover="";
$loverID=$session[user][marriedto];
$loved=$session[user][login];
$lovedID=$session[user][acctid];
if($session[user][marriedto]>0)
{
$sql="SELECT acctid,login,marriedto FROM accounts WHERE acctid=$loverID AND marriedto=$lovedID ORDER BY acctid DESC";
$result=db_query($sql)or die(db_error(LINK));
if(db_num_rows($result)>0)
{
$row=db_fetch_assoc($result);
$lover=$row[login];
}
}
if($loverID==4294967295)
{
if($sesssion[user][sex]==0)
{
$lover="Violet";
}
else
{
$lover="Seth";
}
}
if($loverID>0)
{
if(strcmp($session[user][acctid],$session[user][marriedto])<0)
{
$chat="hflirt-".$session[pkey]."-".$session[user][acctid]."_".$session[user][marriedto];
}
else
{
$chat="hflirt-".$session[pkey]."-".$session[user][marriedto]."_".$session[user][acctid];
}
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$chat."',".$session[user][acctid].",'/me hat schonmal ein wenig im Kama Sutra geblättert.')";
db_query($sql)or die(db_error(LINK));
output("`2Ob Du wohl $lover von diesem Buch erzählen solltest?`n");
}
output("`2`n");
break;
case "cooking":
output("`2Du nimmst das Helden-Kochbuch aus dem Regal und schlägst eine zufällige Seite auf.`n`n
`& Mole Poblano`n`n
`^ 6 Chile ancho (süß-scharf)`n 4 Chile pasilla (mild)`n 4 Chile mulato (rauchig, süß-scharf)`n 2 Chipotle-Chilies (geräucherte Japalenos)`n`n
`^ Die Chilies entkernen und zerkleinern. Sollten die Chilies zu scharf sein, Wasser kochen und drübergiessen, dann 30 Minuten stehen lassen.`n`n
`^ 1 Tasse Mandeln`n1 Tasse Erdnüsse`n4 EL Sesam`n 1/4 TL Nelken, gemahlen`n 1 TL Anis`n 1/2 TL Zimt`n 6 Tomaten (oder 400g-Dose)`n`n
`^ Vermischen und pürieren.`n`n
`^ 1 EL Fett erhitzen und die pürierte Masse dazugeben. 5 Minuten anschwitzen, dann 2 Tassen Brühe darübergeben.
`^ 90g Schokolade (Kuvertüre, Kochschokolade, etc.) unterrühren.
`^ Mit Salz & Pfeffer & Zucker würzen. Die Konsistenz sollte ähnlich wie flüssige Sahne sein.`n`n
`2Du überlegst, ob Du Dir das merken und in der Küche ausprobieren solltest oder besser doch nicht...`n`n");
break;
case "nekrotelicomnicon":
if($session[user][specialty]==1)
{
output("`2Du nimmst das Nekrotelicomnicon aus dem Schrank und sprichst schnell einige Schutzzauber, die Deinen Verstand schützen sollen. Dann verbringst Du die nächsten Stunden damit, das Buch gründlich zu studieren. Zumindest glaubst Du das, denn als Du es später wieder weglegst, erinnerst du dich an nichts mehr. Aber vielleicht ist das ja auch besser so...`n`n");
$exp=e_rand(1,3);
$session[user][experience]+=$exp;
}
else
{
output("`2Du nimmst das Nekrotelicomnicon aus dem Schrank und schaust Dir den Umschlag an. Doch irgendwie will es Dir nicht gelingen, dich auf die Bilder zu konzentrieren - sie verschwimmen immer wieder direkt vor Deinen Augen, wenn Du gerade glaubst Du hättest Sie verstanden. Du mußt Dir selber eingestehen, dass die Dunklen Künste nicht gerade Dein Spezialgebiet sind und stellt das Buch lieber wieder in den Schrank.`n`n");
}
break;
case "darktower":
output("`2Du nimmst dir Band I, und liest die ersten 50 Seiten. Dabei stellst du fest, wie fesselnd dieses Mammutwerk ist. Schnell stellst du es wieder zurück, bevor du nicht mehr davon loskommst. Denn dann müsstest du alle 7 Bände lesen und hättest die nächsten Tage und Wochen keine Zeit mehr, Drachen zu töten.`n`n");
break;
default:
output("`TIn `úde`Ar B`‚ib`Ãliothek steht eine Couch, auf der Du es Dir bequem machen kannst, sobald Du Dir eine Buch ausgesucht hast. Und natürlich ein Bücherschrank an der Wand, in den bereits die ersten Bücher eingerä`‚um`At s`úin`Td.`0`n`n");
break;
}
addnav("Bücher");
addnav("Alles über Gartenteiche","houses2.php?op=reading&act=ponds");
//addnav("Der Geheime Garten","houses2.php?op=reading&act=garden");
addnav("Drachentöter in 10 Tagen","houses2.php?op=reading&act=dragonkiller");
addnav("Kama Sutra","houses2.php?op=reading&act=kamasutra");
addnav("Kochen für Helden","houses2.php?op=reading&act=cooking");
addnav("Necrotelicomnicon","houses2.php?op=reading&act=nekrotelicomnicon");
addnav("The Dark Tower I-VII","houses2.php?op=reading&act=darktower");
viewcommentary("house3bibo-".$row[houseid],"Mit Mitbewohnern reden:",15);
display_roomlist(2);
show_furniture($session[pkey],$session[user][acctid],$session[user][marriedto],2);
}
else if($_GET['op']=="stuff")
{
if($_GET[id])
$session[pkey]=(int)$_GET[id];
if(!$session[pkey])
redirect("houses2.php");
$sql="SELECT * FROM houses3 WHERE houseid=".$session[pkey]." ORDER BY houseid DESC";
$result = db_query($sql)or die(db_error(LINK));
$row = db_fetch_assoc($result);
output("`2`b`c$row[housename] `2(In der Gerümpelkammer)`c`b`n");
if($row[description])
output("`0`c$row[description]`c`n");
switch($_GET[act])
{ case "trash":
addnav("Aufräumen");
if ($_GET[presentid])
{ $presentid = (int)$_GET[presentid];
$sql = "SELECT * FROM items WHERE id=$presentid ORDER BY value1 ASC";
$resultItem = db_query($sql) or die(db_error(LINK));
$item = db_fetch_assoc($resultItem);
if ($_GET["do"]=="it")
{ $sql="DELETE FROM items WHERE id=$presentid AND owner=".$session[user][acctid]." LIMIT 1";
db_query($sql);
output("`2Schweren Herzens trennst du dich von $item[name].`n`n");
} else
{ output("`2$item[name]... das ist doch ein schönes Geschenk! Willst Du es auch wirklich wegwerfen? Wäre das nicht schade?`n`n");
$lnk = "houses2.php?op=stuff&act=trash&presentid=".$presentid."&do=it";
addnav("Wegwerfen",$lnk);
}
}
addnav("Weiter stöbern","houses2.php?op=stuff");
break;
default:
output("`2Hier liegen all die Geschenke rum, die du in letzter Zeit so erhalten hast. Wenn Du magst kannst du sie aufräumen.`n`n");
$sql = "SELECT * FROM items WHERE class='Geschenk' and owner=".$session[user][acctid]." ORDER BY value1 ASC";
$result = db_query($sql) or die(db_error(LINK));
output("<table border='0'>",true);
for($i=0; $i<db_num_rows($result); $i++)
{ $item=db_fetch_assoc($result);
$lnk = "houses2.php?op=stuff&act=trash&presentid=$item[id]";
output("<tr><td>`&$item[name]`7 - $item[description] (<a href=\"$lnk\">entsorgen</a>)</td></tr>",true);
addnav("",$lnk);
}
output("</table>",true);
break;
}
display_roomlist(9);
show_furniture($session[pkey],$session[user][acctid],$session[user][marriedto],9);
}
else if($_GET['op']=="treasure")
{
// Schatzkammer .............................
if($_GET[id])
$session[pkey]=(int)$_GET[id];
if(!$session[pkey])
redirect("houses2.php");
$sql = "SELECT * FROM houses3 WHERE houseid=".$session[pkey]." ORDER BY houseid DESC";
$result = db_query($sql)or die(db_error(LINK));
$row = db_fetch_assoc($result);
output("`C`b`c$row[housename] `2(Im Tresorraum)`c`b`n");
if($row[description])
output("`0`c$row[description]`c`n");
if ($showroomimages)
//output("<img src='images/house-money1.gif' width='150' height='143' align='right'/>",true);
output("`2Du und deine Mitbewohner haben `^$row[gold]`2 Caro und `#$row[gems]`2 Edelsteine im Haus gelagert.`nEs ist jetzt `^".getgametime()."`2 Uhr.`n`n");
if($_GET[act]=="takekey")
{
if(!$_POST[ziel])
{
$sql="SELECT owner FROM items WHERE value1=$row[houseid] AND class='Schlüssel3' ORDER BY value2 ASC";
$result=db_query($sql)or die(db_error(LINK));
output("<form action='houses2.php?op=treasure&act=takekey' method='POST'>",true);
output("`2Wem willst du den Schlüssel wegnehmen? <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";
$result2=db_query($sql)or die(db_error(LINK));
$row2=db_fetch_assoc($result2);
if($amt!=$row2[acctid] && $row2[acctid]!=$row[owner])
output("<option value=\"".rawurlencode($row2['name'])." \">".preg_replace("'[`].'","",$row2['name'])."</option>",true);
$amt=$row2[acctid];
}
output("</select>`n`n",true);
output("<input type='submit' class='button' value='Schlüssel3 abnehmen'></form>",true);
addnav("","houses2.php?op=treasure&act=takekey");
}
else
{
$sql="SELECT acctid,name,login,gold,gems FROM accounts WHERE name='".addslashes(rawurldecode(stripslashes($_POST['ziel'])))."' AND locked=0";
$result2=db_query($sql);
$row2=db_fetch_assoc($result2);
output("`2Du verlangst den Schlüssel von `&$row2[name]`2 zurück.`n");
$sql="SELECT owner FROM items WHERE value1=$row[houseid] AND class='Schlüssel3' AND owner<>$row[owner] ORDER BY id ASC";
$result=db_query($sql)or die(db_error(LINK));
$goldgive=round($row[gold]/(db_num_rows($result)+1));
$gemsgive=round($row[gems]/(db_num_rows($result)+1));
systemmail($row2[acctid],"`@Schlüssel zurückverlangt!`0","`&{$session['user']['name']}`2 hat den Schlüssel zu Haus Nummer `b$row[houseid]`b ($row[housename]`2) zurückverlangt. Du bekommst `^$goldgive`2 Gold auf die Bank und `#$gemsgive`2 Edelsteine aus dem gemeinsamen Schatz ausbezahlt!");
output("$row2[name]`2 bekommt `^$goldgive`2 Caro und `#$gemsgive`2 Edelsteine aus dem gemeinsamen Schatz.");
$sql="UPDATE items SET owner=$row[owner] WHERE owner=$row2[acctid] AND class='Schlüssel3' AND value1=$row[houseid]";
db_query($sql);
$sql="UPDATE accounts SET goldinbank=goldinbank+$goldgive,gems=gems+$gemsgive WHERE acctid=$row2[acctid]";
db_query($sql);
$sql="UPDATE houses3 SET gold=gold-$goldgive,gems=gems-$gemsgive WHERE houseid=$row[houseid]";
db_query($sql);
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'house3-treasure-".$row[houseid]."',".$session[user][acctid].",'/me `^nimmt $row2[name]`^ einen Schlüssel ab. $row2[name]`^ bekommt einen Teil aus dem Schatz.')";
db_query($sql)or die(db_error(LINK));
}
addnav("Zurück zur Schatzkammer","houses2.php?op=treasure");
}
else if($_GET[act]=="giveinvitation")
{
if(!$_POST['ziel'])
{
output("`2Einladungen in dieses Haus haben:`n`n");
$sql="SELECT * FROM items WHERE value1=$row[houseid] AND class='Einladung2' 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);
$sql="SELECT acctid,name,login FROM accounts WHERE acctid=$item[owner] ORDER BY login DESC";
$result2=db_query($sql)or die(db_error(LINK));
$row2=db_fetch_assoc($result2);
if($amt!=$row2[acctid])
{
output("`c`& $row2[name]`0",true);
if($row2[acctid]==$row[owner])
output("`7 (Eigentümer)`n");
if($item[value2]!=0)
{
output("`7 (noch $item[value2] Besuche)");
}
output("`c");
}
$amt=$row2[acctid];
}
output("`n`n<form action='houses2.php?op=treasure&act=giveinvitation' method='POST'>",true);
output("An wen willst du eine Einladung verschicken? <input name='ziel'>`n",true);
if($row[owner]==$session[user][acctid])
{
output("Wieviele Besuche willst Du erlauben? ",true);
output("<select name='visitcount' size='1' width='20'>",true);
output("<option value='0'>Unendlich</option>",true);
for($j=1; $j <= 10; $j++)
{
output("<option value='$j'>$j</option>",true);
}
output("</select>`n",true);
}
else
{ output("<input name='visitcount' type='hidden' value='1'>",true);
}
output("<input type='submit' class='button' value='Übergeben'>",true);
output("</form>",true);
output("`n`nEingeladene Gäste haben nur Zutritt zur Veranda, nicht zu wichtigeren Bereichen des Hauses wie der Schatzkammer. Zudem kannst Du eine Einladung jederzeit rückgängig machen.");
addnav("","houses2.php?op=treasure&act=giveinvitation");
}
else
{
if($_GET['subfinal']==1)
{
$sql="SELECT acctid,name,login,lastip,emailaddress 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 FROM accounts WHERE name LIKE '".addslashes($name)."' AND locked=0";
}
$result2=db_query($sql);
if(db_num_rows($result2)==0)
{
output("`2Es gibt niemanden mit einem solchen Namen. Versuchs nochmal.");
}
elseif(db_num_rows($result2)>100)
{
output("`2Es gibt über 100 Bürger mit einem ähnlichen Namen. Bitte sei etwas genauer.");
}
elseif(db_num_rows($result2)>1)
{
output("`2Es gibt mehrere mögliche Bürger, denen du eine Einladung zusenden kannst.`n");
output("<form action='houses2.php?op=treasure&act=giveinvitation&subfinal=1' method='POST'>",true);
output("`2Wen genau meinst du? <select name='ziel'>",true);
for($i=0; $i<db_num_rows($result2); $i++)
{
$row2=db_fetch_assoc($result2);
output("<option value=\"".rawurlencode($row2['name'])." \">".preg_replace("'[`].'","",$row2['name'])."</option>",true);
}
output("</select>`n",true);
if($row[owner]==$session[user][acctid])
{
output("Wieviele Besuche willst Du erlauben? ",true);
output("<select name='visitcount' size='1' width='20'>",true);
output("<option value='0'>Unendlich</option>",true);
for($j=1; $j <= 10; $j++)
{
output("<option value='$j'",true);
if($_POST['visitcount']==$j)
{
output(" selected",true);
}
output(">$j</option>",true);
}
output("</select>`n`n",true);
}
else
output("<input name='visitcount' type='hidden' value='1'>",true);
output("<input type='submit' class='button' value='Einladung2 übergeben'></form>",true);
addnav("","houses2.php?op=treasure&act=giveinvitation&subfinal=1");
//addnav("","houses2.php?op=drin&act=givekey"); // why the hell was this in there?
}
else
{
$row2=db_fetch_assoc($result2);
$sql="SELECT owner FROM items WHERE owner=$row2[acctid] AND value1=$row[houseid] AND class='Einladung2' ORDER BY id ASC";
$result=db_query($sql)or die(db_error(LINK));
$item=db_fetch_assoc($result);
// output("Row2-login: $row2[login]`nItem-Owner: $item[owner]`nRow-Owner: $row[owner]`nRow2-acctId: $row2[acctid]`n`n");
if($row2[login]==$session[user][login])
{
output("`2Du kannst dir nicht selbst eine Einladung senden.");
// } elseif ($item[owner]==$row[owner]) { // was auch immer das war, es funktioniert nicht!
}
elseif($item[owner]==$row2[acctid])
{
output("`2$row2[name]`2 hat bereits eine Einladung!");
}
//elseif($session['user']['lastip']==$row2['lastip'] || ($session['user']['emailaddress']==$row2['emailaddress'] && $row2[emailaddress]))
elseif(($session['user']['emailaddress']==$row2['emailaddress'] && $row2[emailaddress]))
{
output("`2Deine Charaktere dürfen leider nicht miteinander interagieren!");
}
else
{
$sql="SELECT value2 FROM items WHERE value1=$row[houseid] AND class='Schlüssel3' AND owner=$row[owner] ORDER BY id ASC";
$result=db_query($sql)or die(db_error(LINK));
$knr=db_fetch_assoc($result);
$knr=$knr[value2];
if($_POST['visitcount']!='')
{
$vcnt=(int)$_POST['visitcount'];
}
else
{
$vcnt=5;
}
output("`2Du übergibst `&$row2[name]`2 eine Einladung für dein Haus. Du kannst die Einladung jederzeit wieder zurückziehen.`n");
systemmail($row2[acctid],"`@Einladung erhalten!`0","`&{$session['user']['name']}`2 hat dir eine Einladung geschickt. Schau doch mal auf Tee und ein Stück Kuchen in Haus Nummer `b$row[houseid]`b ($row[housename]`2) im Villenviertel vorbei!");
$sql="INSERT INTO items (name,owner,class,value1,value2,description) VALUES ('Einladung',$row2[acctid],'Einladung2',$row[houseid],$vcnt,'Einladung in Haus Nummer $row[houseid] im Villenviertel')";
db_query($sql);
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'house3-treasure-".$row[houseid]."',".$session[user][acctid].",'/me `^schickt eine Einladung an $row2[name].`^')";
db_query($sql)or die(db_error(LINK));
}
}
}
addnav("Zurück zur Schatzkammer","houses2.php?op=treasure");
}
else if($_GET[act]=="takeinvitation")
{
if(!$_POST[ziel])
{
$sql="SELECT owner FROM items WHERE value1=$row[houseid] AND class='Einladung2' ORDER BY value2 ASC";
$result=db_query($sql)or die(db_error(LINK));
output("<form action='houses2.php?op=treasure&act=takeinvitation' method='POST'>",true);
output("`2Wem willst du die Einladung wegnehmen? <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";
$result2=db_query($sql)or die(db_error(LINK));
$row2=db_fetch_assoc($result2);
if($amt!=$row2[acctid] && $row2[acctid]!=$row[owner])
output("<option value=\"".rawurlencode($row2['name'])." \">".preg_replace("'[`].'","",$row2['name'])."</option>",true);
$amt=$row2[acctid];
}
output("</select>`n`n",true);
output("<input type='submit' class='button' value='Einladung2 abnehmen'></form>",true);
addnav("","houses2.php?op=treasure&act=takeinvitation");
}
else
{
$sql="SELECT acctid,name,login,gold,gems FROM accounts WHERE name='".addslashes(rawurldecode(stripslashes($_POST['ziel'])))."' AND locked=0";
$result2=db_query($sql);
$row2=db_fetch_assoc($result2);
output("`2Du verlangst die Einladung von `&$row2[name]`2 zurück.`n");
$sql="SELECT owner FROM items WHERE value1=$row[houseid] AND class='Einladung2' AND owner<>$row[owner] ORDER BY id ASC";
systemmail($row2[acctid],"`@Einladung zurückverlangt!`0","`&{$session['user']['name']}`2 hat die Einladung in Haus Nummer `b$row[houseid]`b ($row[housename]`2) zurückverlangt!");
$sql="DELETE FROM items WHERE owner=$row2[acctid] AND class='Einladung2' AND value1=$row[houseid] LIMIT 1";
//$sql = "UPDATE items SET owner=$row[owner] WHERE owner=$row2[acctid] AND class='Schlüssel3' AND value1=$row[houseid]";
db_query($sql);
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'house3-treasure-".$row[houseid]."',".$session[user][acctid].",'/me `^nimmt $row2[name]`^ die Einladung wieder ab.')";
db_query($sql)or die(db_error(LINK));
}
addnav("Zurück zur Schatzkammer","houses2.php?op=treasure");
}
else if($_GET[act]=="givekey")
{
if(!$_POST['ziel'])
{
output("`2Einen Schlüssel für dieses Haus hat:`n`n");
$sql="SELECT * FROM items WHERE value1=$row[houseid] AND class='Schlüssel3' 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);
$sql="SELECT acctid,name,login FROM accounts WHERE acctid=$item[owner] ORDER BY login DESC";
$result2=db_query($sql)or die(db_error(LINK));
$row2=db_fetch_assoc($result2);
if($amt!=$row2[acctid])
{
output("`c`& $row2[name]`0",true);
if($row2[acctid]==$row[owner])
output(" (Eigentümer)`n");
output("`c");
}
$amt=$row2[acctid];
}
$sql="SELECT value2 FROM items WHERE value1=$row[houseid] AND class='Schlüssel3' AND owner=$row[owner] ORDER BY id ASC";
$result=db_query($sql)or die(db_error(LINK));
if(db_num_rows($result)>0)
{
output("`n`n`2Du kannst noch `b".db_num_rows($result)."`b Schlüssel vergeben.");
output("<form action='houses2.php?op=treasure&act=givekey' method='POST'>",true);
output("An wen willst du einen Schlüssel übergeben? <input name='ziel'>`n",true);
output("<input type='submit' class='button' value='Übergeben'></form>",true);
output("`n`nWenn du einen Schlüssel vergibst, wird der Schatz des Hauses gemeinsam genutzt. Du kannst einem Mitbewohner zwar jederzeit den Schlüssel wieder wegnehmen,
aber er wird dann einen gerechten Anteil aus dem gemeinsamen Schatz bekommen.");
addnav("","houses2.php?op=treasure&act=givekey");
}
else
{
output("`n`2Du hast keine Schlüssel mehr übrig. Vielleicht kannst du noch einen nachmachen lassen?");
}
}
else
{
if($_GET['subfinal']==1)
{
$sql="SELECT acctid,name,login,lastip,emailaddress 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 FROM accounts WHERE name LIKE '".addslashes($name)."' AND locked=0";
}
$result2=db_query($sql);
if(db_num_rows($result2)==0)
{
output("`2Es gibt niemanden mit einem solchen Namen. Versuchs nochmal.");
}
elseif(db_num_rows($result2)>100)
{
output("`2Es gibt über 100 Bürger mit einem ähnlichen Namen. Bitte sei etwas genauer.");
}
elseif(db_num_rows($result2)>1)
{
output("`2Es gibt mehrere mögliche Bürger, denen du einen Schlüssel übergeben kannst.`n");
output("<form action='houses2.php?op=treasure&act=givekey&subfinal=1' method='POST'>",true);
output("`2Wen genau meinst du? <select name='ziel'>",true);
for($i=0; $i<db_num_rows($result2); $i++)
{
$row2=db_fetch_assoc($result2);
output("<option value=\"".rawurlencode($row2['name'])." \">".preg_replace("'[`].'","",$row2['name'])."</option>",true);
}
output("</select>`n`n",true);
output("<input type='submit' class='button' value='Schlüssel übergeben'></form>",true);
addnav("","houses2.php?op=treasure&act=givekey&subfinal=1");
//addnav("","houses2.php?op=drin&act=givekey"); // why the hell was this in there?
}
else
{
$row2 = db_fetch_assoc($result2);
$sql = "SELECT owner FROM items WHERE owner=$row2[acctid] AND value1=$row[houseid] AND class='Schlüssel3' ORDER BY id ASC";
$result = db_query($sql)or die(db_error(LINK));
$item = db_fetch_assoc($result);
if($row2[login]==$session[user][login])
{
output("`2Du kannst dir nicht selbst einen Schlüssel geben.");
}
elseif($item[owner]==$row[owner])
{
output("`2$row2[name]`2 hat bereits einen Schlüssel!");
}
//elseif($session['user']['lastip']==$row2['lastip'] || ($session['user']['emailaddress']==$row2['emailaddress'] && $row2[emailaddress]))
elseif(($session['user']['emailaddress']==$row2['emailaddress'] && $row2[emailaddress]))
{
output("`2Deine Charaktere dürfen leider nicht miteinander interagieren!");
}
else
{
$sql="SELECT value2 FROM items WHERE value1=$row[houseid] AND class='Schlüssel3' AND owner=$row[owner] ORDER BY id ASC";
$result=db_query($sql)or die(db_error(LINK));
$knr=db_fetch_assoc($result);
$knr=$knr[value2];
output("`2Du übergibst `&$row2[name]`2 einen Schlüssel für dein Haus. Du kannst den Schlüssel zum Haus jederzeit wieder wegnehmen, aber $row2[name]`2 wird dann
einen gerechten Anteil aus dem gemeinsamen Schatz des Hauses bekommen.`n");
systemmail($row2[acctid],"`@Schlüssel erhalten!`0","`&{$session['user']['name']}`2 hat dir einen Schlüssel zu Haus Nummer `b$row[houseid]`b ($row[housename]`2) gegeben!");
$sql="UPDATE items SET owner=$row2[acctid] WHERE owner=$row[owner] AND class='Schlüssel3' AND value1=$row[houseid] AND value2=$knr";
db_query($sql);
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'house3-treasure-".$row[houseid]."',".$session[user][acctid].",'/me `^gibt $row2[name]`^ einen Schlüssel.')";
db_query($sql)or die(db_error(LINK));
}
}
}
addnav("Zurück zum Tresorraum","houses2.php?op=treasure");
}
else if($_GET[act]=="takegold")
{
$maxtfer=$session[user][level]*getsetting("transferperlevel",25);
if(!$_POST[gold])
{
$transleft=getsetting("transferreceive",3)-$session[user][transferredtoday];
if($transleft<0)
{
$transleft=0;
}
output("`2Es befindet sich `^$row[gold]`2 Caro in der Schatztruhe des Hauses.`nDu darfst heute noch $transleft x bis zu `^$maxtfer`2 Gold (insgesamt `^".$maxtfer*$transleft."`2) mitnehmen.`n");
if($transleft>0)
{
output("`2<form action='houses2.php?op=treasure&act=takegold' method='POST'>",true);
output("`nWieviel Caro mitnehmen? <input type='gold' name='gold'>`n`n",true);
output("<input type='submit' class='button' value='Mitnehmen'>",true);
}
addnav("","houses2.php?op=treasure&act=takegold");
}
else
{
$transleft=getsetting("transferreceive",3)-$session[user][transferredtoday];
$amt=abs((int)$_POST[gold]);
$tas = ceil($amt/$maxtfer);
if($amt>$row[gold])
{
output("`2So viel Caro ist nicht mehr da.");
}
else if($amt>($maxtfer*$transleft))
{
output("`2Du darfst maximal `^$maxtfer`2 Caro auf einmal nehmen (insgesamt bis zu `^".($maxtfer*$transleft)."`2).");
}
else if($amt<0)
{
output("`2Wenn du etwas in den Schatz legen willst, versuche nicht, etwas negatives herauszunehmen.");
}
else if($session[user][transferredtoday] >= getsetting("transferreceive",3))
{
output("`2Du hast heute schon genug Caro bekommen. Du wirst bis morgen warten müssen.");
}
else
{
$row[gold]-=$amt;
$session[user][gold]+=$amt;
$session[user][transferredtoday]+=$tas;
$sql="UPDATE houses3 SET gold=$row[gold] WHERE houseid=$row[houseid]";
db_query($sql)or die(db_error(LINK));
output("`2Du hast `^$amt`2 Caro genommen. Insgesamt befindet sich jetzt noch `^$row[gold]`2 Caro im Haus.");
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'house3-treasure-".$row[houseid]."',".$session[user][acctid].",'/me `\$nimmt `^$amt`\$ Gold.')";
db_query($sql)or die(db_error(LINK));
}
}
addnav("Zurück zum Tresorraum","houses2.php?op=treasure");
}
else if($_GET[act]=="givegold")
{
$maxout=$session[user][level]*getsetting("maxtransferout",25);
if(!$_POST[gold])
{
$transleft=$maxout-$session[user][amountouttoday];
if($transleft<0)
{
$transleft=0;
}
output("`2Du darfst heute noch `^$transleft`2 Caro deponieren.`n");
output("`2<form action='houses2.php?op=treasure&act=givegold' method='POST'>",true);
output("`nWieviel Caro deponieren? <input type='gold' name='gold'>`n`n",true);
output("<input type='submit' class='button' value='Deponieren'>",true);
addnav("","houses2.php?op=treasure&act=givegold");
}
else
{
$amt=abs((int)$_POST[gold]);
if($amt>$session[user][gold])
{
output("`2So viel Caro hast du nicht dabei.");
}
else if($row[gold]>round($goldcost/2))
{
output("`2Der Tresor ist voll.");
}
else if($amt>(round($goldcost/2)-$row[gold]))
{
output("`2Du gibst alles, aber du bekommst beim besten Willen nicht so viel in den Tresor.");
}
else if($amt<0)
{
output("`2Wenn du etwas aus dem Tresor nehmen willst, versuche nicht, etwas negatives hineinzutun.");
}
else if($session[user][amountouttoday]+$amt>$maxout)
{
output("`2Du darfst nicht mehr als `^$maxout`2 Caro pro Tag deponieren.");
}
else
{
$row[gold]+=$amt;
$session[user][gold]-=$amt;
$session[user][amountouttoday]+=$amt;
output("`2Du hast `^$amt`2 Caro deponiert. Insgesamt befinden sich jetzt `^$row[gold]`2 Caro im Haus.");
$sql="UPDATE houses3 SET gold=$row[gold] WHERE houseid=$row[houseid]";
db_query($sql)or die(db_error(LINK));
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'house3-treasure-".$row[houseid]."',".$session[user][acctid].",'/me `@deponiert `^$amt`@ Gold.')";
db_query($sql)or die(db_error(LINK));
}
}
addnav("Zurück zum Tresorraum","houses2.php?op=treasure");
}
else if($_GET[act]=="takegems")
{
if(!$_POST[gems])
{
output("`2Es befinden sich `#$row[gems]`2 Edelsteine im Tresor des Hauses.`n`n");
output("`2<form action='houses2.php?op=treasure&act=takegems' method='POST'>",true);
output("`nWieviele Edelsteine mitnehmen? <input type='gems' name='gems'>`n`n",true);
output("<input type='submit' class='button' value='Mitnehmen'>",true);
addnav("","houses2.php?op=treasure&act=takegems");
}
else
{
$amt=abs((int)$_POST[gems]);
if($amt>$row[gems])
{
output("`2So viele Edelsteine sind nicht mehr da.");
}
else if($amt<0)
{
output("`2Wenn du etwas in den Tresor legen willst, versuche nicht, etwas negatives herauszunehmen.");
}
else
{
$row[gems]-=$amt;
$session[user][gems]+=$amt;
$sql="UPDATE houses3 SET gems=$row[gems] WHERE houseid=$row[houseid]";
db_query($sql);
output("`2Du hast `#$amt`2 Edelsteine genommen. Insgesamt befinden sich jetzt noch `#$row[gems]`2 Edelsteine im Haus.");
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'house3-treasure-".$row[houseid]."',".$session[user][acctid].",'/me `\$nimmt `#$amt`\$ Edelsteine.')";
db_query($sql)or die(db_error(LINK));
}
}
addnav("Zurück zum Tresorraum","houses2.php?op=treasure");
}
else if($_GET[act]=="givegems")
{
if(!$_POST[gems])
{
output("`2<form action='houses2.php?op=treasure&act=givegems' method='POST'>",true);
output("`nWieviele Edelsteine deponieren? <input type='gems' name='gems'>`n`n",true);
output("<input type='submit' class='button' value='Deponieren'>",true);
addnav("","houses2.php?op=treasure&act=givegems");
}
else if($row[gems]>(2*$gemcost))
{
output("`2Der Tresor ist voll.");
}
else
{
$amt=abs((int)$_POST[gems]);
if($amt>$session[user][gems])
{
output("`2So viele Edelsteine hast du nicht.");
}
else if($amt>(2*$gemcost-$row[gems]))
{
output("`2Du gibst alles, aber du bekommst beim besten Willen nicht so viel in den Tresor.");
}
else if($amt<0)
{
output("`2Wenn du etwas aus dem Tresor nehmen willst, versuche nicht, etwas negatives hineinzutun.");
}
else
{
$row[gems]+=$amt;
$session[user][gems]-=$amt;
$sql="UPDATE houses3 SET gems=$row[gems] WHERE houseid=$row[houseid]";
db_query($sql);
output("`2Du hast `#$amt`2 Edelsteine deponiert. Insgesamt befinden sich jetzt `#$row[gems]`2 Edelsteine im Haus.");
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'house3-treasure-".$row[houseid]."',".$session[user][acctid].",'/me `@deponiert `#$amt`@ Edelsteine.')";
db_query($sql)or die(db_error(LINK));
}
}
addnav("Zurück zum Tresorraum","houses2.php?op=treasure");
}
else
{
output("`n`n`n");
viewcommentary("house3-treasure-".$row[houseid],"In das Haushaltsbuch schreiben:",15);
output("`n`n`n`2`bDie Schlüssel:`b `0");
$sql = "SELECT * FROM items WHERE value1=$session[pkey] AND class='Schlüssel3' 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);
$sql="SELECT acctid,name,locked,loggedin,laston FROM accounts WHERE acctid=$item[owner] ORDER BY login DESC";
$result2=db_query($sql)or die(db_error(LINK));
$row2=db_fetch_assoc($result2);
if($row2[name]=="")
{
output("`n`2$i: `4`iVerloren`i`0");
}
else
{
output("`n`2$i: `&$row2[name]`0");
}
if($row2[acctid]==$row[owner])
output(" (der Eigentümer) ");
if($item['hvalue']>0)
output(" `ischläft hier`i");
if(($row2[locked]==0) && ($row2[loggedin]==1) && ($row2[laston]>date("Y-m-d H:i:s",strtotime("-".getsetting("LOGINTIMEOUT",900)))))
{
output(" `i - ist im Ort oder Umgebung.`i");
}
db_free_result($result2);
}
db_free_result($result);
output("`n`n`n`2`bDie Einladungen:`b `0");
$sql="SELECT * FROM items WHERE value1=$session[pkey] AND class='Einladung2' 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);
$sql="SELECT acctid,name,locked,loggedin,laston FROM accounts WHERE acctid=$item[owner] ORDER BY login DESC";
$result2=db_query($sql)or die(db_error(LINK));
$row2=db_fetch_assoc($result2);
if($row2[name]=="")
{
output("`n`2$i: `4`iVerloren`i`0");
}
else
{
output("`n`2$i: `&$row2[name]`0");
}
if($item[value2]!=0)
{
output(" (noch $item[value2] Besuche)");
}
db_free_result($result2);
}
db_free_result($result);
addnav("Caro");
addnav("Deponieren","houses2.php?op=treasure&act=givegold");
addnav("Mitnehmen","houses2.php?op=treasure&act=takegold");
addnav("Edelsteine");
addnav("Deponieren","houses2.php?op=treasure&act=givegems");
addnav("Mitnehmen","houses2.php?op=treasure&act=takegems");
if($session[user][house3]==$session[pkey])
{
addnav("Schlüssel");
addnav("Vergeben","houses2.php?op=treasure&act=givekey");
addnav("Zurücknehmen","houses2.php?op=treasure&act=takekey");
}
addnav("Einladung");
addnav("Vergeben","houses2.php?op=treasure&act=giveinvitation");
addnav("Zurücknehmen","houses2.php?op=treasure&act=takeinvitation");
display_roomlist(5);
show_furniture($session[pkey],$session[user][acctid],$session[user][marriedto],5);
}
// pk END
}
else if($_GET['op']=="invited")
{
if($_GET[id])
$session[pkey]=(int)$_GET[id];
if(!$session[pkey])
redirect("houses2.php");
$sql="SELECT * FROM houses3 WHERE houseid=".$session[pkey]." ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
output("`2`b`c$row[housename]`c`b`n");
if($row[description])
output("`0`c$row[description]`c`n");
output("`¯Wi`¡ll`ëko`Ëmmen auf der Veranda dieses Hauses. Hier stehen Kaffee und Kuchen für dich bereit, und wenn Du Glück hast, sind die Gastgeber auch nich`ët f`¡er`¯n.");
if($_GET[detail]=="last")
{
output("`n`7Dies ist übrigens Dein letzter Besuch. Wenn Du später noch einmal wiederkommen möchtest, brauchst Du eine neue Einladung.");
}
output("`n`n`¯E`¡s `ëi`Ëst jetzt `^".getgametime()."`Ë U`ëh`¡r`¯.`0`n`n`n");
// Einladungen runterzählen, falls nicht unendlich.
if($_GET[act]!="chat")
{
$sql="SELECT owner,class,value1,value2 FROM items WHERE value1=$session[pkey] AND class='Einladung2' ORDER BY value2 ASC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
if($row[value2]>0)
{
$row[value2]--;
if($row[value2]<1)
{
$sql="DELETE FROM items WHERE value1=$session[pkey] AND class='Einladung2' LIMIT 1";
db_query($sql);
redirect("houses2.php?op=invited&act=chat&detail=last");
}
else
{
$sql="UPDATE items SET value2=$row[value2] WHERE value1=$session[pkey] AND class='Einladung2'";
db_query($sql);
}
}
redirect("houses2.php?op=invited&act=chat");
}
// Nun Rest
viewcommentary("hguests-".$row[houseid],"Mit den Gastgebern plaudern:",15);
addnav("Zurück zum Wohngebiet","houses2.php");
addnav("Zurück zum Villenviertel","village.php");
}
else if($_GET['op']=="movefurniture")
{
if($_GET[id])
$session[pkey]=(int)$_GET[id];
if(!$session[pkey])
redirect("houses2.php");
$sql="SELECT * FROM houses3 WHERE houseid=".$session[pkey]." ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);
output("`2`b`c$row[housename]`c`b`n");
if($row[description])
output("`0`c$row[description]`c`n");
switch($_GET['act'])
{
case "move":
$roomfrom=(int)$_GET[from];
$roomto=(int)$_POST[roomto];
$furnid=(int)$_POST[furnid];
$sql="UPDATE items SET value2=$roomto WHERE id=$furnid AND owner=".$session[user][acctid]." AND value2=$roomfrom AND class='Möbel2'";
db_query($sql)or die(db_error(LINK));
if(db_affected_rows(LINK) <= 0)
{
output("`2Du bist heute irgendwie nicht gut drauf, denn das Möbel gibt es gar nicht...`n`n");
}
else
{
redirect("houses2.php?op=".get_roomop($roomto));
}
break;
default: $room=(int)$_GET[from];
output("`2Du überlegst Dir, welches Möbel Du wo hin schieben möchtest...`n`n");
$sql2="SELECT * FROM items WHERE owner=".$session[user][acctid]." AND class='Möbel2' AND value2='$room'";
$result2=db_query($sql2)or die(db_error(LINK));
if(db_num_rows($result2)==0)
{
output("`#Allerdings stehen hier gar keine Möbel!`n`n");
}
else
{
output("<form action='houses2.php?op=movefurniture&act=move&from=$room' method='POST'>",true);
output("Das Möbelstück: <select name='furnid'>",true);
for($i=0; $i<db_num_rows($result2);