Quellcodeviewer der Dragonslayer-Edition
Quellcodeviewer der Dragonslayer-Edition : 0.9.7+jt ext (GER)


Anmerkung: Dies ist nur ein Auszug aus dem Source. Um das jeweils aktuelle, vollständige Release zu erhalten, ist eine Anfrage mit gültiger Email-Adresse erforderlich. Ebenso sollte darin die Serveradresse bzw. sonstiger Verwendungszweck aufgeführt sein. Was wir uns unbedingt verbitten, ist Diebstahl unserer Arbeit ohne Nennung des Copyrights.

Falls beim Lesen des Source ein Bug entdeckt werden sollte, bitten wir um sofortige Meldung per Anfrage!


./houses.php

zurück

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:
414:
415:
416:
417:
418:
419:
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435:
436:
437:
438:
439:
440:
441:
442:
443:
444:
445:
446:
447:
448:
449:
450:
451:
452:
453:
454:
455:
456:
457:
458:
459:
460:
461:
462:
463:
464:
465:
466:
467:
468:
469:
470:
471:
472:
473:
474:
475:
476:
477:
478:
479:
480:
481:
482:
483:
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
505:
506:
507:
508:
509:
510:
511:
512:
513:
514:
515:
516:
517:
518:
519:
520:
521:
522:
523:
524:
525:
526:
527:
528:
529:
530:
531:
532:
533:
534:
535:
536:
537:
538:
539:
540:
541:
542:
543:
544:
545:
546:
547:
548:
549:
550:
551:
552:
553:
554:
555:
556:
557:
558:
559:
560:
561:
562:
563:
564:
565:
566:
567:
568:
569:
570:
571:
572:
573:
574:
575:
576:
577:
578:
579:
580:
581:
582:
583:
584:
585:
586:
587:
588:
589:
590:
591:
592:
593:
594:
595:
596:
597:
598:
599:
600:
601:
602:
603:
604:
605:
606:
607:
608:
609:
610:
611:
612:
613:
614:
615:
616:
617:
618:
619:
620:
621:
622:
623:
624:
625:
626:
627:
628:
629:
630:
631:
632:
633:
634:
635:
636:
637:
638:
639:
640:
641:
642:
643:
644:
645:
646:
647:
648:
649:
650:
651:
652:
653:
654:
655:
656:
657:
658:
659:
660:
661:
662:
663:
664:
665:
666:
667:
668:
669:
670:
671:
672:
673:
674:
675:
676:
677:
678:
679:
680:
681:
682:
683:
684:
685:
686:
687:
688:
689:
690:
691:
692:
693:
694:
695:
696:
697:
698:
699:
700:
701:
702:
703:
704:
705:
706:
707:
708:
709:
710:
711:
712:
713:
714:
715:
716:
717:
718:
719:
720:
721:
722:
723:
724:
725:
726:
727:
728:
729:
730:
731:
732:
733:
734:
735:
736:
737:
738:
739:
740:
741:
742:
743:
744:
745:
746:
747:
748:
749:
750:
751:
752:
753:
754:
755:
756:
757:
758:
759:
760:
761:
762:
763:
764:
765:
766:
767:
768:
769:
770:
771:
772:
773:
774:
775:
776:
777:
778:
779:
780:
781:
782:
783:
784:
785:
786:
787:
788:
789:
790:
791:
792:
793:
794:
795:
796:
797:
798:
799:
800:
801:
802:
803:
804:
805:
806:
807:
808:
809:
810:
811:
812:
813:
814:
815:
816:
817:
818:
819:
820:
821:
822:
823:
824:
825:
826:
827:
828:
829:
830:
831:
832:
833:
834:
835:
836:
837:
838:
839:
840:
841:
842:
843:
844:
845:
846:
847:
848:
849:
850:
851:
852:
853:
854:
855:
856:
857:
858:
859:
860:
861:
862:
863:
864:
865:
866:
867:
868:
869:
870:
871:
872:
873:
874:
875:
876:
877:
878:
879:
880:
881:
882:
883:
884:
885:
886:
887:
888:
889:
890:
891:
892:
893:
894:
895:
896:
897:
898:
899:
900:
901:
902:
903:
904:
905:
906:
907:
908:
909:
910:
911:
912:
913:
914:
915:
916:
917:
918:
919:
920:
921:
922:
923:
924:
925:
926:
927:
928:
929:
930:
931:
932:
933:
934:
935:
936:
937:
938:
939:
940:
941:
942:
943:
944:
945:
946:
947:
948:
949:
950:
951:
952:
953:
954:
955:
956:
957:
958:
959:
960:
961:
962:
963:
964:
965:
966:
967:
968:
969:
970:
971:
972:
973:
974:
975:
976:
977:
978:
979:
980:
981:
982:
983:
984:
985:
986:
987:
988:
989:
990:
991:
992:
993:
994:
995:
996:
997:
998:
999:
1000:
1001:
1002:
1003:
1004:
1005:
1006:
1007:
1008:
1009:
1010:
1011:
1012:
1013:
1014:
1015:
1016:
1017:
1018:
1019:
1020:
1021:
1022:
1023:
1024:
1025:
1026:
1027:
1028:
1029:
1030:
1031:
1032:
1033:
1034:
1035:
1036:
1037:
1038:
1039:
1040:
1041:
1042:
1043:
1044:
1045:
1046:
1047:
1048:
1049:
1050:
1051:
1052:
1053:
1054:
1055:
1056:
1057:
1058:
1059:
1060:
1061:
1062:
1063:
1064:
1065:
1066:
1067:
1068:
1069:
1070:
1071:
1072:
1073:
1074:
1075:
1076:
1077:
1078:
1079:
1080:
1081:
1082:
1083:
1084:
1085:
1086:
1087:
1088:
1089:
1090:
1091:
1092:
1093:
1094:
1095:
1096:
1097:
1098:
1099:
1100:
1101:
1102:
1103:
1104:
1105:
1106:
1107:
1108:
1109:
1110:
1111:
1112:
1113:
1114:
1115:
1116:
1117:
1118:
1119:
1120:
1121:
1122:
<?php

//20050708

/******************************************
 *
 * Author: Daniel Rathjen <webmaster@chaosonline.de>
 * Version: 1.0
 * Server: biosLoGD Experimental Server
 * URL: http://logd.chaosonline.de
 *
 * This is a rewrite of anpera's houses script:
 *   Author: anpera
 *   Email:logd@anpera.de
 *   URL: http://www.anpera.net/forum/viewtopic.php?t=323
 * This script still consists of his ideas and parts of his code, so all homages to him please ;)
 *
 * Purpose: Same as the old houses script...
 *
 * Features:
 *        - Build house (if allowed)
 *        - Buy house (if allowed)
 *        - Sell house (if allowed)
 *        - Sleeping in a house
 *        - Storing gold in a house (module 'treasury')
 *        - Adding useful modules (rooms)
*********************************************************************/

/*********************************************************************
 * MODIFIZIERT DURCH
 * Admin @ Dreythal
 * Oktober 2014              
*********************************************************************/

require_once('common.php');
require_once(
'housefunctions.php');
checkday();

if (isset(
$_GET['location']))
{
    
$sql 'SELECT * FROM houseconfig WHERE locid="'.(int)$_GET['location'].'"';
    
$result db_query($sql);
    
$session['user']['specialmisc'] = db_fetch_assoc($result);
}

elseif (!
is_array($session['user']['specialmisc']))
{
$session['user']['specialmisc'] = unserialize($session['user']['specialmisc']);}

page_header($session['user']['specialmisc']['locname']);

// ok, now show the page...
switch ($_GET['op'])
{
    case 
'leave'// leave
        
$location $session['user']['specialmisc']['location'];
        
$session['user']['specialmisc'] = '';
        
redirect($location);

    case 
'newday'// log in
        
output('`lIm Haus zu ruhen ist doch weit angenehmer als draußen auf dem Feld der Stille.`0');
        
        
$session['user']['location'] = 0;

        
$sql "UPDATE items SET hvalue=0 WHERE hvalue > 0 AND owner=".$session['user']['acctid']." AND class='Schlüssel'";
        
db_query($sql) or die(sql_error($sql));

        
addnav('Zeige...');
        
addnav('N?... heutige Neuigkeiten','news.php');
        
        
addnav('Zurück');
        
        
// stay in house...
        
if ($session['user']['housekey']==$session['user']['specialmisc']['houseid'])
        {
addnav('H?... ins Haus','houses.php?op=drin&module=');}

        else 
// check for housekey
        
{
            
$sql 'SELECT COUNT(*) AS zahl FROM items WHERE class="Schlüssel" AND owner='.$session['user']['acctid'].' AND value1="'.$session['user']['specialmisc']['houseid'].'"';
            
$result db_query($sql);
            
$row db_fetch_assoc($result);

            
// stay in house...
            
if ($row['zahl']>0)
            {
addnav('H?... ins Haus','houses.php?op=drin&module=');}

            else
            
output('`n`nDir wurde inzwischen der Schlüssel für das Haus abgenommen, daher kannst du nicht dorthin zurückkehren!');
        }
        
        
addnav('S?... in die Stadt','houses.php?op=leave');
        break;

    case 
'bio'// look at the house from outdoor
        
$sql "SELECT houseid, housename, description FROM houses WHERE houseid='{$_GET['id']}'";
        
$result db_query($sql) or die(db_error(LINK));

        if (!(
$row=db_fetch_assoc($result)))
        
redirect("houses.php");

        
output('<span style="color: #FF8040;">D</span><span style="color: #F98542;">u</span><span style="color: #F38B45;"> </span><span style="color: #EE9048;">b</span><span style="color: #E8964B;">e</span><span style="color: #E39B4D;">s</span><span style="color: #DDA150;">c</span><span style="color: #D8A653;">h</span><span style="color: #D2AC56;">l</span><span style="color: #CDB159;">i</span><span style="color: #C7B75B;">e</span><span style="color: #C2BC5E;">ß</span><span style="color: #BCC261;">t</span><span style="color: #B7C764;">,</span><span style="color: #B1CD66;"> </span><span style="color: #ACD269;">d</span><span style="color: #A6D86C;">i</span><span style="color: #A1DD6F;">r</span><span style="color: #9BE372;"> </span><span style="color: #96E874;">d</span><span style="color: #90EE77;">a</span><span style="color: #8BF37A;">s</span><span style="color: #85F97D;"> </span><span style="color: #80FE7F;">Haus mit der Nummer <span style="color: #FF8040;">'.$row['houseid'].' <span style="color: #80FE7F;">etwas näher anzusehen. </span>',true);

        if(
$row['description']!='')
        {
            
output('<span style="color: #80FE7F;">Über dem Eingang von '.$row['housename'].' <span style="color: #80FE7F;">steht geschrieben:`n`n`l'.$row['description'].'`n`n',true);
        }

        else
        {
output('<span style="color: #80FE7F;">Es trägt den Namen \'`%'.$row['housename'].'<span style="color: #80FE7F;">\'.',true);}

        
$sql 'SELECT * FROM items WHERE class="Möbel" AND value1="'.$_GET['id'].'" ORDER BY id ASC';
        
$result db_query($sql);

        
output(' <span style="color: #80FE7F;">Du riskierst einen Blick durch eines der Fenster. </span>',true);

        if (
db_num_rows($result)>0)
        {
            
$comma false;
            
output('<span style="color: #80FE7F;">Du kannst etwas Inventar erkennen:`n`n</span>',true);

            while (
$row2 db_fetch_assoc($result))
            {
output('`l<li>'.$row2['name'].'`0</li>',true);}
        }

        else
        {
output('<span style="color: #80FE7F;">Das Haus hat allerdings nicht wirkllich etwas zu bieten. Uninteressant.',true);}

        if (
$_GET['id']==$session['user']['housekey'])
        {
            
addnav('Haus...');
            
addnav('... betreten','houses.php?op=drin&id='.$_GET['id'].'');
        }
        
        
addnav('Zurück');
        
addnav('ins '.$session['user']['specialmisc']['locname'].'','houses.php');

        break;

    case 
'build'// build a house
        // show build startpage
        
if (empty($_GET['act']))
        {
            if (
$session['user']['housekey']>0)
            {
                
output("`@Du 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.");
            }

            elseif (
$session['user']['dragonkills']<getsetting('mindkbuild','1') || ($session['user']['dragonkills']==getsetting('mindkbuild','1') && $session['user']['level']<getsetting('minlevelbuild','5')))
            {
                
output("`@Du hast noch nicht genug Erfahrung, um ein eigenes Haus bauen zu können. Du kannst aber eventuell bei einem Freund einziehen, wenn er dir einen Schlüssel für sein Haus gibt.");
            }

            elseif (
$session['user']['turns']<1)
            {
output("`@Du bist zu erschöpft, um heute noch irgendetwas zu bauen. Warte bis morgen.");}

            elseif (
$session['user']['house']>0)
            {
                
$sql 'SELECT houseid, gemprice, goldprice FROM houses WHERE status="build" AND owner="'.$session['user']['acctid'].'" AND locid="'.$session['user']['specialmisc']['locid'].'"';

                
$result db_query($sql) or die(db_error(LINK));

                if (
$row db_fetch_assoc($result))
                {
                    
output('<span style="color: #FF8040;">D</span><span style="color: #F98542;">u</span><span style="color: #F38B45;"> </span><span style="color: #EE9048;">b</span><span style="color: #E8964B;">e</span><span style="color: #E39B4D;">g</span><span style="color: #DDA150;">i</span><span style="color: #D8A653;">b</span><span style="color: #D2AC56;">s</span><span style="color: #CDB159;">t</span><span style="color: #C7B75B;"> </span><span style="color: #C2BC5E;">d</span><span style="color: #BCC261;">i</span><span style="color: #B7C764;">c</span><span style="color: #B1CD66;">h</span><span style="color: #ACD269;"> </span><span style="color: #A6D86C;">z</span><span style="color: #A1DD6F;">u</span><span style="color: #9BE372;">r</span><span style="color: #96E874;"> </span><span style="color: #90EE77;">B</span><span style="color: #8BF37A;">a</span><span style="color: #85F97D;">u</span><span style="color: #80FE7F;">stelle auf deinem Grundstück mit der Nummer <span style="color: #FF8040;">'.$row['houseid'].'<span style="color: #80FE7F;">.`n`n

                            <span style="color: #FF8040;">U</span><span style="color: #F98542;">m</span><span style="color: #F48A45;"> </span><span style="color: #EF8F47;">d</span><span style="color: #E9954A;">a</span><span style="color: #E49A4D;">s</span><span style="color: #DF9F4F;"> </span><span style="color: #D9A552;">H</span><span style="color: #D4AA55;">a</span><span style="color: #CFAF57;">u</span><span style="color: #CAB45A;">s</span><span style="color: #C4BA5D;"> </span><span style="color: #BFBF5F;">f</span><span style="color: #BAC462;">e</span><span style="color: #B4CA65;">r</span><span style="color: #AFCF67;">t</span><span style="color: #AAD46A;">i</span><span style="color: #A5D96D;">g</span><span style="color: #9FDF6F;"> </span><span style="color: #9AE472;">z</span><span style="color: #95E975;">u</span><span style="color: #8FEF77;"> </span><span style="color: #8AF47A;">s</span><span style="color: #85F97D;">t</span><span style="color: #7FFF7F;">ellen, musst du noch `%'
.$row['goldprice'].' <span style="color: #7FFF7F;">Gold und `1'.$row['gemprice'].' <span style="color: #7FFF7F;">Edelsteine investieren.`n`n

                            <span style="color: #FF8040;">M</span><span style="color: #F98542;">ö</span><span style="color: #F38B45;">c</span><span style="color: #EE9048;">h</span><span style="color: #E8964B;">t</span><span style="color: #E39B4D;">e</span><span style="color: #DDA150;">s</span><span style="color: #D8A653;">t</span><span style="color: #D2AC56;"> </span><span style="color: #CDB159;">d</span><span style="color: #C7B75B;">u</span><span style="color: #C2BC5E;"> </span><span style="color: #BCC261;">n</span><span style="color: #B7C764;">u</span><span style="color: #B1CD66;">n</span><span style="color: #ACD269;"> </span><span style="color: #A6D86C;">a</span><span style="color: #A1DD6F;">n</span><span style="color: #9BE372;"> </span><span style="color: #96E874;">d</span><span style="color: #90EE77;">e</span><span style="color: #8BF37A;">i</span><span style="color: #85F97D;">n</span><span style="color: #80FE7F;">em Haus weiterbauen?`n`n</span>'
,true);

                    
output('<form action="houses.php?op=build&act=build2" method="POST">
                            <input type="gold" name="gold"> Gold zahlen`n`n
                            <input type="gems" name="gems"> Edelsteine zahlen`n`n
                            <input type="submit" class="button" style="cursor: pointer;" value="Bau fortsetzen">'
,true);

                    
addnav('','houses.php?op=build&act=build2');
                }

                else
                {
                    
output('`@Dir fällt ein, dass die Baustelle deines neuen Hauses ja ganz woanders ist. Hier gibt es leider nichts zu tun.');
                }
            }

            elseif (!
checkbuild())
            {
                
output('<span style="color: #FF8040;">D</span><span style="color: #F98542;">u</span><span style="color: #F38B45;"> </span><span style="color: #ED9148;">b</span><span style="color: #E7974B;">i</span><span style="color: #E29C4E;">s</span><span style="color: #DCA251;">t</span><span style="color: #D6A854;"> </span><span style="color: #D0AE57;">n</span><span style="color: #CBB35A;">i</span><span style="color: #C5B95D;">c</span><span style="color: #BFBF60;">h</span><span style="color: #B9C562;">t</span><span style="color: #B3CB65;"> </span><span style="color: #AED068;">b</span><span style="color: #A8D66B;">e</span><span style="color: #A2DC6E;">r</span><span style="color: #9CE271;">e</span><span style="color: #97E774;">c</span><span style="color: #91ED77;">h</span><span style="color: #8BF37A;">t</span><span style="color: #85F97D;">i</span><span style="color: #80FE80;">gt, hier zu bauen. Du musst dir erst eine Baugenehmigung holen. Diese erhältst du im Bauamt.</span>',true);
            }

            else
            {
                
$goldcost $session['user']['specialmisc']['defaultgoldprice'];
                
$gemcost $session['user']['specialmisc']['defaultgemprice'];

                
output("`@Du siehst ein schönes Fleckchen für ein Haus und überlegst dir, ob du nicht selbst eines bauen solltest, anstatt ein vorhandenes zu kaufen oder noch länger in Kneipe und Feldern zu übernachten. Ein Haus zu bauen würde dich `^$goldcost Gold`@ und `#$gemcost Edelsteine`@ kosten. Du musst 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"
.(module_installed('treasury')?" und einen Lagerplatz für einen Teil deiner Reichtümer":"").". Ein gestartetes Bauvorhaben kann nicht abgebrochen werden.`n`nWillst du mit dem Hausbau beginnen?");

                
addnav("Hausbau beginnen","houses.php?op=build&act=start");
            }
        }

        elseif (
$_GET['act']=="start")  // start building a house
        
{
            
$sql "INSERT INTO houses (owner,status,goldprice,gemprice,housename,locid) VALUES ('{$session['user']['acctid']}','build','{$session['user']['specialmisc']['defaultgoldprice']}','{$session['user']['specialmisc']['defaultgemprice']}','{$session['user']['login']}s Haus','{$session['user']['specialmisc']['locid']}')";

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

            if (
db_affected_rows(LINK)==0)
            
redirect("houses.php");

            
$session['user']['house'] = db_insert_id(LINK);

            
output("`@Du erklärst das Fleckchen Erde zu deinem Besitz und kannst mit dem Bau von Hausnummer `^{$session['user']['house']}`@ beginnen.`n`n");
            
output("`0<form action=\"houses.php?op=build&act=build2\" method='POST'>",true);
            
output("`nGib einen Namen für dein Haus ein: <input name='housename' maxlength='30'>`n",true);
            
output("`nWieviel Gold anzahlen? <input type='gold' name='gold'>`n",true);
            
output("`nWieviele Edelsteine? <input type='gems' name='gems'>`n",true);
            
output("<input type='submit' class='button' value='Bauen'>",true);

            
addnav("","houses.php?op=build&act=build2");
        }

        elseif (
$_GET[act]=="build2"// continue building a house
        
{
            
$sql "SELECT houseid, housename, goldprice, gemprice, status FROM houses WHERE status='build' AND owner=".$session['user']['acctid'];

            
$result db_query($sql) or die(db_error(LINK));
            
$row db_fetch_assoc($result);
            
$paidgold=(int)$_POST['gold'];
            
$paidgems=(int)$_POST['gems'];

            if (!empty(
$_POST['housename']))
            {
$housename=stripslashes($_POST['housename']);}

            else
            {
$housename=stripslashes($row['housename']);}

            if (
$session['user']['gold']<$paidgold || $session['user']['gems']<$paidgems)
            {
output('`$`bSoviel Gold, wie du investieren möchtest, hast du gar nicht dabei.`b`0');}

            elseif (
$session['user']['turns']<1)
            {
output('`$`bDu hast für heute keine Lust mehr, an deinem Haus zu arbeiten.`b`0');}

            elseif (
$paidgold<|| $paidgems<0)
            {
output('`$`bÜberdenke besser noch einmal deine Eingaben. Schummeln is\' nich\'!`b`0');}

            else
            {
                
output('<span style="color: #FF8040;">D</span><span style="color: #F98542;">u</span><span style="color: #F48A45;"> </span><span style="color: #EF8F47;">s</span><span style="color: #E9954A;">e</span><span style="color: #E49A4D;">t</span><span style="color: #DF9F4F;">z</span><span style="color: #D9A552;">t</span><span style="color: #D4AA55;"> </span><span style="color: #CFAF57;">d</span><span style="color: #CAB45A;">e</span><span style="color: #C4BA5D;">n</span><span style="color: #BFBF5F;"> </span><span style="color: #BAC462;">B</span><span style="color: #B4CA65;">a</span><span style="color: #AFCF67;">u</span><span style="color: #AAD46A;"> </span><span style="color: #A5D96D;">d</span><span style="color: #9FDF6F;">e</span><span style="color: #9AE472;">i</span><span style="color: #95E975;">n</span><span style="color: #8FEF77;">e</span><span style="color: #8AF47A;">s</span><span style="color: #85F97D;"> </span><span style="color: #7FFF7F;">Hauses \'`%'.$session['user']['login'].'s Haus<span style="color: #7FFF7F;">\' durch eine Investition von `%'.$paidgold.' <span style="color: #7FFF7F;">Gold und `1'.$paidgems.' <span style="color: #7FFF7F;">Edelsteinen fort. Du verlierst hierdurch eine Nebelwaldrunde.</span>`n`n',true);

                
$row['goldprice'] -= $paidgold;
                
$session['user']['gold'] -= $paidgold;
                
$session['user']['turns']--;

                if (
$row['goldprice'] < 0)
                {
                    
output('<span style="color: #FF8040;">D</span><span style="color: #F98542;">u</span><span style="color: #F38B45;"> </span><span style="color: #EE9048;">h</span><span style="color: #E8964B;">a</span><span style="color: #E39B4D;">s</span><span style="color: #DDA150;">t</span><span style="color: #D8A653;"> </span><span style="color: #D2AC56;">d</span><span style="color: #CDB159;">e</span><span style="color: #C7B75B;">n</span><span style="color: #C2BC5E;"> </span><span style="color: #BCC261;">k</span><span style="color: #B7C764;">o</span><span style="color: #B1CD66;">m</span><span style="color: #ACD269;">p</span><span style="color: #A6D86C;">l</span><span style="color: #A1DD6F;">e</span><span style="color: #9BE372;">t</span><span style="color: #96E874;">t</span><span style="color: #90EE77;">e</span><span style="color: #8BF37A;">n</span><span style="color: #85F97D;"> </span><span style="color: #80FE7F;">Goldpreis für den Bau abbezahlt und erhältst gegebenenfalls zu viel bezahltes Gold zurück.</span>`n`n',true);

                    
$session['user']['gold'] -= $row['goldprice'];
                    
$row['goldprice'] = 0;
                }

                
$row['gemprice'] -= $paidgems;
                
$session['user']['gems'] -= $paidgems;

                if (
$row['gemprice'] < 0)
                {
                    
output('<span style="color: #FF8040;">D</span><span style="color: #F98542;">u</span><span style="color: #F38B45;"> </span><span style="color: #EE9048;">h</span><span style="color: #E8964B;">a</span><span style="color: #E39B4D;">s</span><span style="color: #DDA150;">t</span><span style="color: #D8A653;"> </span><span style="color: #D2AC56;">d</span><span style="color: #CDB159;">e</span><span style="color: #C7B75B;">n</span><span style="color: #C2BC5E;"> </span><span style="color: #BCC261;">k</span><span style="color: #B7C764;">o</span><span style="color: #B1CD66;">m</span><span style="color: #ACD269;">p</span><span style="color: #A6D86C;">l</span><span style="color: #A1DD6F;">e</span><span style="color: #9BE372;">t</span><span style="color: #96E874;">t</span><span style="color: #90EE77;">e</span><span style="color: #8BF37A;">n</span><span style="color: #85F97D;"> </span><span style="color: #80FE7F;">Edelsteinpreis für den Bau abbezahlt und erhältst gegebenenfalls zu viel bezahlte Edelsteine zurück.</span>`n`n',true);

                    
// subtract negative value - so ist an addition ;)
                    
$session['user']['gems'] -= $row['gemprice'];
                    
$row['gemprice'] = 0;
                }

                
// finished building house
                
if ($row['gemprice']==&& $row['goldprice']==0)
                {
                    
output('`1Glückwunsch, du hast dein Haus fertiggestellt! Du bekommst zu deinem Haus `%'.getsetting('newhousekeys',5).' `1Schlüssel überreicht, von denen du `%'.(getsetting('newhousekeys',5)-1).' `1an andere weitergeben kannst.');
                    
                    
$session['user']['housekey']=$row['houseid'];
                    
$row['status'] = 'ready';

                    
addnews('<span style="color: #FF8040;">D</span><span style="color: #F98542;">a</span><span style="color: #F38B45;">s</span><span style="color: #EE9048;"> </span><span style="color: #E8964B;">B</span><span style="color: #E39B4D;">a</span><span style="color: #DDA150;">u</span><span style="color: #D8A653;">a</span><span style="color: #D2AC56;">m</span><span style="color: #CDB159;">t</span><span style="color: #C7B75B;"> </span><span style="color: #C2BC5E;">z</span><span style="color: #BCC261;">u</span><span style="color: #B7C764;"> </span><span style="color: #B1CD66;">D</span><span style="color: #ACD269;">r</span><span style="color: #A6D86C;">e</span><span style="color: #A1DD6F;">y</span><span style="color: #9BE372;">t</span><span style="color: #96E874;">h</span><span style="color: #90EE77;">a</span><span style="color: #8BF37A;">l</span><span style="color: #85F97D;"> </span><span style="color: #80FE7F;">beglückwünscht <span style="color: #FF8040;">'.$session['user']['name'].' <span style="color: #80FE7F;">zu '.($session['user']['sex']?'ihrem':'seinem').' neuen Haus \'`%'.$row['housename'].'<span style="color: #80FE7F;">\'!</span>',true);
                    
$sql '';

                    for (
$i=1;$i<getsetting('newhousekeys',10);$i++)
                    {
                        
$sql .= ",('Hausschlüssel',".$session['user']['acctid'].",'Schlüssel',{$row['houseid']},$i,0,0,'Schlüssel für Haus Nummer {$row['houseid']}')";
                    }

                    if (
$sql!='')
                    {
                        
$sql 'INSERT INTO items (name,owner,class,value1,value2,gold,gems,description) VALUES '.substr($sql,1);
                        
db_query($sql);

                        if (
db_affected_rows(LINK)==0)
                        
output("`\$Fehler`^: Dein Inventar konnte nicht aktualisiert werden! Bitte benachrichtige den Admin.");
                    }
                }

                else
                {
                    
output('<span style="color: #FF8040;">U</span><span style="color: #F98542;">m</span><span style="color: #F38B45;"> </span><span style="color: #EE9048;">i</span><span style="color: #E8964B;">n</span><span style="color: #E39B4D;"> </span><span style="color: #DDA150;">d</span><span style="color: #D8A653;">e</span><span style="color: #D2AC56;">i</span><span style="color: #CDB159;">n</span><span style="color: #C7B75B;"> </span><span style="color: #C2BC5E;">H</span><span style="color: #BCC261;">a</span><span style="color: #B7C764;">u</span><span style="color: #B1CD66;">s</span><span style="color: #ACD269;"> </span><span style="color: #A6D86C;">e</span><span style="color: #A1DD6F;">i</span><span style="color: #9BE372;">n</span><span style="color: #96E874;">z</span><span style="color: #90EE77;">i</span><span style="color: #8BF37A;">e</span><span style="color: #85F97D;">h</span><span style="color: #80FE7F;">en zu können, musst du noch `%'.$row['goldprice'].' <span style="color: #80FE7F;">Gold und `1'.$row['gemprice'].' <span style="color: #80FE7F;">Edelsteine investieren.</span>',true);
                }

                
$sql 'UPDATE houses SET goldprice="'.$row['goldprice'].'",gemprice="'.$row['gemprice'].'",housename="'.addslashes($housename).'",status="'.$row['status'].'" WHERE houseid="'.$row['houseid'].'"';

                
db_query($sql);
            }
        }

        
addnav('Zurück...');
        
addnav('W?... ins Wohnviertel','houses.php');
        
addnav('S?... in die Stadt','houses.php?op=leave');
        break;
        
// end of building house

    // burgling houses part 1
    
case 'einbruch':
        
// player did not choose a house yet
        
if (empty($_GET['id']))
        {
            if (!empty(
$_POST['search']))
            {
                
// search for house number...
                
if (strcspn($_POST['search'],"0123456789")<=1)
                {
$search "houses.houseid='".(int)$_POST['search']."' AND ";}

                
// search for house name
                
else
                {
                    
$search "%";

                    for (
$x=0$x<strlen($_POST['search']); $x++)
                    {
$search .= $_POST['search']{$x}."%";}

                    
$search "houses.housename LIKE '".$search."' AND ";
                }
            }

            else
            {
$search '';}

            
$ppp=25// Player Per Page to display

            
if (empty($_GET['limit']))
            {
$page 0;}

            else
            {
                
$page = (int)$_GET['limit'];

                
addnav('Vorherige Seite','houses.php?op=einbruch&limit='.($page-1));
            }

            
$limit = ($page*$ppp).','.($ppp+1);

            
output('<span style="color: #FF8040;">V</span><span style="color: #F98542;">e</span><span style="color: #F38B45;">r</span><span style="color: #ED9148;">s</span><span style="color: #E7974B;">t</span><span style="color: #E29C4E;">o</span><span style="color: #DCA251;">h</span><span style="color: #D6A854;">l</span><span style="color: #D0AE57;">e</span><span style="color: #CBB35A;">n</span><span style="color: #C5B95D;"> </span><span style="color: #BFBF60;">s</span><span style="color: #B9C562;">i</span><span style="color: #B3CB65;">e</span><span style="color: #AED068;">h</span><span style="color: #A8D66B;">s</span><span style="color: #A2DC6E;">t</span><span style="color: #9CE271;"> </span><span style="color: #97E774;">d</span><span style="color: #91ED77;">u</span><span style="color: #8BF37A;"> </span><span style="color: #85F97D;">d</span><span style="color: #80FE80;">ich um und suchst dir ein geeignetes Objekt für deinen Raubzug aus. Du wirst allerdings nie wissen, wie viele Bewohner gerade im Haus sind und wie sehr sie Widerstand leisten würden. Überlege dir also lieber zweimal, ob du ein Haus ausrauben möchtest. Willst du weiterhin wirklich in ein Haus einbrechen? Wenn ja, in welches?</span>`n`n',true);

            
output('<form action="houses.php?op=einbruch" method="POST"><span style="color: #FF8040;">N</span><span style="color: #F98542;">a</span><span style="color: #F38B45;">c</span><span style="color: #ED9148;">h</span><span style="color: #E7974B;"> </span><span style="color: #E29C4E;">H</span><span style="color: #DCA251;">a</span><span style="color: #D6A854;">u</span><span style="color: #D0AE57;">s</span><span style="color: #CBB35A;">n</span><span style="color: #C5B95D;">a</span><span style="color: #BFBF60;">m</span><span style="color: #B9C562;">e</span><span style="color: #B3CB65;"> </span><span style="color: #AED068;">o</span><span style="color: #A8D66B;">d</span><span style="color: #A2DC6E;">e</span><span style="color: #9CE271;">r</span><span style="color: #97E774;"> </span><span style="color: #91ED77;">N</span><span style="color: #8BF37A;">u</span><span style="color: #85F97D;">m</span><span style="color: #80FE80;">mer <input name="search" value="'.$_POST['search'].'"> <input type="submit" class="button" style="cursor: pointer;" value="suchen"></form></span>',true);

            
addnav('','houses.php?op=einbruch');

            if (
$session['user']['pvpflag']=='5013-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 border="1" align="center" cellpadding="3" cellspacing="3" width="75%"><tr class="trhead">
                    <td width="15%">`c`bHausnr.`b`c</td>
                    <td width="35%">`bHausname`b</td>
                    <td width="35%">`bEigentümer`b</td></tr>'
,true);

            
// get possible targets
            
$sql "SELECT houses.houseid, houses.housename,accounts.name FROM houses LEFT JOIN accounts ON accounts.acctid=houses.owner WHERE $search houses.status='ready' AND houses.owner!=".$session['user']['acctid']." AND houses.locid='{$session['user']['specialmisc']['locid']}' ORDER BY houses.houseid ASC LIMIT $limit";

            
$result db_query($sql) or die(db_error(LINK));

            
// no houses found
            
if (db_num_rows($result)==0)
            {
output('<tr><td colspan="3">`c`^`iHier gibt es zur Zeit keine bewohnten Häuser.`i`c`0</td></tr>',true);}

            else
            {
                
// more than one page to display
                
if (db_num_rows($result)>$ppp)
                
addnav('Nächste Seite','houses.php?op=einbruch&limit='.($page+1));

                for (
$i=0$i<db_num_rows($result); $i++)
                {
                      
$row db_fetch_assoc($result);

                    
output('<tr><td>`c'.$row['houseid'].'`c</td>
                                <td><a title="in dieses Haus einbrechen" href="houses.php?op=einbruch&id='
.$row['houseid'].'">`%'.$row['housename'].'`0</a></td>
                                <td>'
.$row['name'].'</td></tr>',true);

                    
addnav('','houses.php?op=einbruch&id='.$row['houseid'].'');
                }
            }

            
output('</table>',true);

            
addnav('Zurück');
            
addnav('W?ins Wohnviertel','houses.php');
        }

        
// a house has already been chosen
        
else
        {
            if (
$session['user']['turns']==|| $session['user']['playerfights']==0)
            {
                
output('`nDu bist wirklich schon zu müde, um ein Haus zu überfallen.');
                
addnav('Zurück','houses.php');
            }

            else
            {
                
output('<span style="color: #FF8040;">V</span><span style="color: #F98542;">o</span><span style="color: #F38B45;">r</span><span style="color: #ED9148;">s</span><span style="color: #E7974B;">i</span><span style="color: #E29C4E;">c</span><span style="color: #DCA251;">h</span><span style="color: #D6A854;">t</span><span style="color: #D0AE57;">i</span><span style="color: #CBB35A;">g</span><span style="color: #C5B95D;"> </span><span style="color: #BFBF60;">n</span><span style="color: #B9C562;">ä</span><span style="color: #B3CB65;">h</span><span style="color: #AED068;">e</span><span style="color: #A8D66B;">r</span><span style="color: #A2DC6E;">s</span><span style="color: #9CE271;">t</span><span style="color: #97E774;"> </span><span style="color: #91ED77;">d</span><span style="color: #8BF37A;">u</span><span style="color: #85F97D;"> </span><span style="color: #80FE80;">dich dem Haus Nummer <span style="color: #FF8040;">'.$_GET['id'].'<span style="color: #80FE80;">.</span>',true);

                
$session['user']['specialmisc']['houseid'] = $_GET['id'];
                
// check if user has a key of this house
                
$sql "SELECT COUNT(id) AS zahl FROM items WHERE owner=".$session['user']['acctid']." AND class='Schlüssel' AND value1=".(int)$_GET['id'];
                
$result db_query($sql) or die(db_error(LINK));
                
$row db_fetch_assoc($result);

                if (
$row['zahl']>0)
                {
                    
// use key to enter house
                    
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, den du dabei hast.`nWolltest du wirklich gerade in ein Haus einbrechen, für das du einen Schlüssel hast?");

                    
addnav("Haus betreten","houses.php?op=drin&id={$_GET['id']}");
                    
addnav("Zurück",'houses.php?op=leave');
                }

                else
                {
                    
// fight against guard
                    
output(' <span style="color: #80FE80;">Dummerweise erregst du durch deine auffällig unauffällige Art die Aufmerksamkeit eines zufällig patroullierenden Wachmanns.</span>',true);

                    
$result getpvpdata('a.maxhitpoints','a.maxhitpoints DESC',1);

                    if (
db_num_rows($result)>0)
                    {
                        
// somebody is in the house so let's weaken the guard
                        
$row db_fetch_assoc($result);
                        
                        
$badguy = array('creaturename'      => 'Wachmann',
                                        
'creaturelevel'     => $session['user']['level'],
                                        
'creatureweapon'    => 'Holzknüppel',
                                        
'creatureattack'    => $session['user']['attack'],
                                        
'creaturedefense'   => $session['user']['defence'],
                                        
'creaturehealth'    => abs($session['user']['maxhitpoints']-$row['maxhitpoints'])+1,
                                        
'diddamage'         => 0);
                    }

                    else
                    {
                        
// nobody in the house - full power to the guard!
                        
$badguy = array('creaturename'      => 'Wachmann',
                                        
'creaturelevel'     => $session['user']['level'],
                                        
'creatureweapon'    => 'Eisenknü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;
                }
            }
        } 
        
        break;        

    
// player wants (or is made wanting ;)) to fight
    
case 'fight':
        
$fight true;
        break;

    
// player tries to run away during fight
    
case 'run':
        
$badguy createarray($session['user']['badguy']);
        
// fight against guard
        
if ($badguy['creaturename']=='Stadtwache')
        {
output("`%Die Wache lässt dich nicht entkommen!`n");}

        
// fight against pet
        
else
        {
output("`%".$badguy['creaturename']."`% lässt dich nicht entkommen!`n");}

        
$fight=true;
        break;

    
// burgling house part 2
    
case 'einbruch2':
        
$badguy createarray($session['user']['badguy']);
        
$fightpet false;

        
// check for pet
        
if ($badguy['creaturename']=='Stadtwache')
        {
            
$sql 'SELECT accounts.petid AS pet, items.name, items.buff FROM accounts LEFT JOIN items ON accounts.petid=items.id WHERE accounts.house='.$session['user']['specialmisc']['houseid'].' AND accounts.petfeed > NOW()';

            
$result db_query($sql);

            if (
$row db_fetch_assoc($result))
            {
                if (
$row['pet']>0)
                {
                    
$petbuff unserialize($row['buff']);
                    
$badguy = array('creaturename'=>$row['name'],
                                        
'creaturelevel'=>$session['user']['level'],
                                        
'creatureweapon'=>$petbuff['name'],
                                        
'creatureattack'=>$petbuff['atkmod'],
                                        
'creaturedefense'=>$petbuff['defmod'],
                                        
'creaturehealth'=>$petbuff['regen'],
                                        
'diddamage'=>0);
                    
$session['user']['badguy'] = createstring($badguy);
                    
$fight $fightpet true;
                    
output('`$Gerade willst du ins Haus schleichen, als du hinter dir plötzlich ein Knurren vernimmst.`0`n');
                }
            }
        }

        if (!
$fightpet)
        {
            
addnav('Du...');
            
addnav('... flüchtest','houses.php?op=leave');

            
// fight against player
            
$result getpvpdata('COUNT(*) AS athome','',0);
            
$row db_fetch_assoc($result);

            
// somebody at home, so lets fight...
            
if ($row['athome']>0)
            {
                if (
$row['athome']==1)
                
output('<span style="color: #FF8040;">S</span><span style="color: #F98542;">c</span><span style="color: #F38B45;">h</span><span style="color: #EE9048;">r</span><span style="color: #E8964B;">e</span><span style="color: #E39B4D;">c</span><span style="color: #DDA150;">k</span><span style="color: #D8A653;">,</span><span style="color: #D2AC56;"> </span><span style="color: #CDB159;">l</span><span style="color: #C7B75B;">a</span><span style="color: #C2BC5E;">s</span><span style="color: #BCC261;">s</span><span style="color: #B7C764;"> </span><span style="color: #B1CD66;">n</span><span style="color: #ACD269;">a</span><span style="color: #A6D86C;">c</span><span style="color: #A1DD6F;">h</span><span style="color: #9BE372;">!</span><span style="color: #96E874;"> </span><span style="color: #90EE77;">D</span><span style="color: #8BF37A;">u</span><span style="color: #85F97D;"> </span><span style="color: #80FE7F;">siehst dich plötzlich einem Hausbewohner gegenüber, der seine Waffe hebt. Und sich auf dich stürzt...</span>',true);

                else
                
output('<span style="color: #FF8040;">S</span><span style="color: #F98542;">c</span><span style="color: #F38B45;">h</span><span style="color: #EE9048;">r</span><span style="color: #E8964B;">e</span><span style="color: #E39B4D;">c</span><span style="color: #DDA150;">k</span><span style="color: #D8A653;">,</span><span style="color: #D2AC56;"> </span><span style="color: #CDB159;">l</span><span style="color: #C7B75B;">a</span><span style="color: #C2BC5E;">s</span><span style="color: #BCC261;">s</span><span style="color: #B7C764;"> </span><span style="color: #B1CD66;">n</span><span style="color: #ACD269;">a</span><span style="color: #A6D86C;">c</span><span style="color: #A1DD6F;">h</span><span style="color: #9BE372;">!</span><span style="color: #96E874;"> </span><span style="color: #90EE77;">D</span><span style="color: #8BF37A;">u</span><span style="color: #85F97D;"> </span><span style="color: #80FE7F;">siehst dich plötzlich '.$row['athome'].' Hausbewohnern gegenüber, die ihre Waffe heben. Und sich auf dich stürzen...</span>',true);

                
addnav('... kämpfst','houses.php?op=einbruch3&id='.$session['user']['specialmisc']['houseid'].'');
            }

            
// yeah, lets take away everything valuable
            
else
            {
                
output('Du hast Glück, denn es scheint niemand daheim zu sein. Das wird sicher ein Kinderspiel.');
                
                
addnav('... steigst ein','houses.php?op=klauen&id='.$session['user']['specialmisc']['houseid'].'');
            }
        }

        break;

    
// burgling house part 3
    
case 'einbruch3':
        
// finally go to pvp.php for fighting
        
$result getpvpdata('a.login','a.maxhitpoints',1);
        
$row db_fetch_assoc($result);
        
redirect('pvp.php?act=attack&bg=2&name='.rawurlencode($row['login']));
        break;

    
// robbing something
    
case 'klauen':
        if (empty(
$_GET['id']))
        {
            
output("Und jetzt? Bitte benachrichtige den Admin. Ich weiß nicht, was ich jetzt tun soll...");

            
addnav("Zurück","houses.php?op=leave");
            break;
        }

        
$sql "SELECT owner FROM houses WHERE houseid=".$session['user']['specialmisc']['houseid']." ORDER BY houseid ASC";
        
$result db_query($sql) or die(db_error(LINK));
        
$hdata db_fetch_assoc($result);

        
addnav("Zurück",'houses.php?op=leave');

        
// if treasury-module is installed, gimme some money...
        
if ($mid module_builtin('treasury',$session['user']['specialmisc']['houseid']))
        {
            
$goldinhouse getmoduledata($mid,'gold',$session['user']['specialmisc']['houseid']);
            
$gemsinhouse getmoduledata($mid,'gems',$session['user']['specialmisc']['houseid']);

            
// found money, so take 5-15% of it
            
if ($goldinhouse || $gemsinhouse 0)
            {
                
$getgold e_rand($goldinhouse*0.05,$goldinhouse*0.15);
                
$getgems e_rand($gemsinhouse*0.05,$gemsinhouse*0.15);

                
// bugfix for 1 gold-exploit (user deposits 1 gold, bad guy always gets 0)
                
if ($getgold==0)
                
$getgold $goldinhouse;

                if (
$getgems==0)
                
$getgems $gemsinhouse;

                
$session['user']['gold'] += $getgold;
                
$session['user']['gems'] += $getgems;

                
// take the money away from house
                
setmoduledata($mid,'gold',$goldinhouse-$getgold,$session['user']['specialmisc']['houseid']);
                
setmoduledata($mid,'gems',$gemsinhouse-$getgems,$session['user']['specialmisc']['houseid']);

                
// inform both affected players
                
if ($getgold && $getgems 0)
                
$str "`^$getgold Gold`@ und `%$getgems Edelsteine`@";

                elseif (
$getgold 0)
                
$str "`^$getgold Gold`@";

                else
                
$str "`%$getgems Edelsteine`@";

                
output("`@Es gelingt dir, $str aus dem Schatz zu klauen!");

                
$mailadd $newsadd '';

                
// if user got too less money, destroy furniture
                
if ($getgold $session['user']['level']*10 && $goldinhouse 2500)
                {
                    
// chance of 5%+X to destroy furniture...
                    
$chance e_rand(1,21);
                    
$left500 floor((2500-$goldinhouse)/500);

                    if (
$chance <= $left500)
                    {
                        
// check if there's furniture to destroy
                        
$sql 'SELECT id,name FROM items WHERE class="Möbel" AND value1="'.$session['user']['specialmisc']['houseid'].'" ORDER BY RAND('.e_rand().') LIMIT 1';
                        
$result db_query($sql) or die(db_error(LINK));

                        if (
$row db_fetch_assoc($result))
                        {
                            
output('`nDu lässt deiner Enttäuschung über die miese Beute freien Lauf und zerstörst dabei `^'.$row['name'].'`@.');

                            
$sql 'DELETE FROM items WHERE id="'.$row['id'].'"';
                            
db_query($sql);
                            
$mailadd " sowie `^{$row['name']} `2zerstört`6";
                            
$newsadd " und zerstört dabei Möbel";
                        }
                    }
                }

                
addnews("`6".$session['user']['name']."`6 erbeutet Gold bei einem Einbruch$newsadd!");

                if (
$getgold && $getgems 0)
                
$str "`^$getgold Gold`6 und `%$getgems Edelsteine`6";

                elseif (
$getgold 0)
                
$str "`^$getgold Gold`6";

                else
                
$str "`%$getgems Edelsteine`6";

                
systemmail($hdata['owner'],"`\$Einbruch!`0","`6Jemand ist in dein Haus eingebrochen und hat $str erbeutet$mailadd!");

                
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'house-".$session['user']['specialmisc']['houseid']."',".$hdata['owner'].",'/me `6entdeckt, dass bei einem Einbruch $str gestohlen$mailadd wurden.')";
                
db_query($sql) or die(db_error(LINK));
                break;
            }
        }

        
// got no money... damn!
        
output('`@Leider findest du nichts, das du stehlen könntest.');

        
// chance of 5% to destroy furniture...
        
if (e_rand(1,21)<=5)
        {
            
// check if there's furniture to destroy
            
$sql 'SELECT id,name FROM items WHERE class="Möbel" AND value1="'.$session['user']['specialmisc']['houseid'].'" ORDER BY RAND('.e_rand().') LIMIT 1';

            
$result db_query($sql) or die(db_error(LINK));

            if (
$row db_fetch_assoc($result))
            {
                
output('Du lässt deiner Enttäuschung freien Lauf und zerstörst dabei `^'.$row['name'].'`@.');

                
addnews("`6".$session['user']['name']."`6 zerstört Möbel bei einem Einbruch!");

                
systemmail($hdata['owner'],"`\$Einbruch!`0","`6Jemand ist in dein Haus eingebrochen und hat `^{$row['name']} `2zerstört`6!");

                
$sql 'DELETE FROM items WHERE id="'.$row['id'].'"';
                
db_query($sql);

                
$sql="INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'house-".$session['user']['specialmisc']['houseid']."',".$hdata['owner'].",'/me `6entdeckt, dass bei einem Einbruch `^{$row['name']} `2zerstört`6 wurde.')";
                
db_query($sql) or die(db_error(LINK));
            }
        }

        break;
        
// end of robbing something

    // buy a house - we don't do it here anymore, so it's useless...
    
case 'buy':

    
// sell a house - same as buy...
    
case 'sell':

    
// player wants to enter a house
    
case 'enter':
        
output('`n`c<span style="color: #FF8040;">D</span><span style="color: #F48A45;">u</span><span style="color: #E9954A;"> </span><span style="color: #DF9F4F;">h</span><span style="color: #D4AA55;">a</span><span style="color: #CAB45A;">s</span><span style="color: #BFBF5F;">t</span><span style="color: #B4CA65;"> </span><span style="color: #AAD46A;">z</span><span style="color: #9FDF6F;">u</span><span style="color: #95E975;"> </span><span style="color: #8AF47A;">f</span><span style="color: #7FFF7F;">olgenden Häus<span style="color: #80FF80;">e</span><span style="color: #8CF279;">r</span><span style="color: #99E573;">n</span><span style="color: #A6D86C;"> </span><span style="color: #B2CC66;">Z</span><span style="color: #BFBF5F;">u</span><span style="color: #CCB259;">g</span><span style="color: #D8A653;">a</span><span style="color: #E5994C;">n</span><span style="color: #F28C46;">g</span><span style="color: #FE803F;">:</span>`c`n`n',true);

        
// delete possible user-in-house-flags
        
$sql "UPDATE items SET hvalue=0 WHERE hvalue>0 AND owner=".$session['user']['acctid']." AND class='Schlüssel'";
        
db_query($sql) or die(sql_error($sql));
        
        
// search houses the player can enter
        
$sql "SELECT i.value1,h.housename,a.name AS ownername FROM items i LEFT JOIN houses h ON i.value1=h.houseid LEFT JOIN accounts a ON a.acctid=h.owner WHERE i.owner=".$session['user']['acctid']." AND i.class='Schlüssel' AND h.locid='{$session['user']['specialmisc']['locid']}' GROUP BY i.value1 ORDER BY i.id ASC";
        
        
$result db_query($sql) or die(db_error(LINK));

        
output('<table border="1" align="center" cellpadding="3" cellspacing="3" width="75%"><tr class="trhead">
                <td width="15%">`c`bHausnr.`b`c</td>
                <td width="35%">`bHausname`b</td>
                <td width="35%">`bEigentümer`b</td></tr>'
,true);

        
$ppp 25// Player Per Page +1 to display

        
if (empty($_GET['limit']))
        {
$page 0;}

        else
        {
            
$page = (int)$_GET['limit'];
            
addnav('Vorherige Straße','houses.php?op=enter&limit='.($page-1));
        }

        
$limit = ($page*$ppp).','.($ppp+1);

        
// show link to own house at the top
        
if ($session['user']['house']>&& $session['user']['housekey']>0)
        {
            
$sql 'SELECT houseid,housename FROM houses WHERE houseid="'.$session['user']['house'].'" AND locid="'.$session['user']['specialmisc']['locid'].'" ORDER BY houseid DESC LIMIT '.$limit.'';

            
$result2 db_query($sql) or die(db_error(LINK));

            if (
$row2 db_fetch_assoc($result2))
            {
                
output('<tr><td>`c'.$row2['houseid'].'`c</td>
                            <td><a href="houses.php?op=drin&id='
.$row2['houseid'].'">`%'.$row2['housename'].'`0</a></td>
                            <td>`iDu bist Eigentümer dieses Hauses.`i</td></tr>'
,true);

                
addnav('','houses.php?op=drin&id='.$row2['houseid'].'');
            }
        }

        
// house is not ready yet
        
elseif ($session['user']['house']>0)
        {
output('<tr><td colspan="3">`&`iDein Haus ist noch im Bau oder steht zum Verkauf`i`0</td></tr>',true);}

        if (
db_num_rows($result)>$ppp)
        
addnav('Nächste Seite','houses.php?op=enter&limit='.($page+1));

        if (
db_num_rows($result)==0)
        {
output('<tr><td colspan="3">`&`iDu hast keinen Schlüssel`i`0</td></tr>',true);}

        
// show houses
        
else
        {
            for (
$i=0;$i<db_num_rows($result);$i++)
            {
                
$item db_fetch_assoc($result);

                
// don't show own house - we did this before ;)
                
if ($item['value1']!=$session['user']['house'])
                {
                    
output('<tr><td align="center">'.$item['value1'].'</td>
                            <td><a href="houses.php?op=drin&id='
.$item['value1'].'">'.$item['housename'].'</a></td><td>',true);

                    if (
$item['ownername']!='')
                    
output($item['ownername'].'`0');

                    else
                    
output('`iverlassen`i');

                    
output('</td></tr>',true);
                    
addnav('','houses.php?op=drin&id='.$item['value1'].'');
                }
            }
        }

        
output('</table>',true);

        
addnav('Zurück...');
        
addnav('W?... ins Wohnviertel','houses.php');
        
addnav('S?... in die Stadt','houses.php?op=leave');
        break;

    
// main part: player has entered a house. let's start with modules...
    
case 'drin':
        if (empty(
$session['user']['specialmisc']['houseid']))
        {
$session['user']['specialmisc']['houseid'] = $_GET['id'];}

        
// flag if default navs should be shown or not
        
$shownavs false;

        
// any module selected? then show it...
        
if (!empty($_GET['module']))
        {
            
$sql 'SELECT modulefile, modulename FROM housemodules WHERE moduleid="'.$_GET['module'].'"';
            
$result db_query($sql);

            if (
$row db_fetch_assoc($result))
            {
                if (
$_GET['module']==getsetting('defaulthousemodule','1'))
                
$shownavs true;

                
$session['user']['specialmisc']['modulefile'] = $row['modulefile'];
                
$session['user']['specialmisc']['modulename'] = $row['modulename'];
            }

            else 
redirect('houses.php?op=drin');
        }

        
// no module selected - get the default module
        
elseif (empty($session['user']['specialmisc']['modulefile']) || isset($_GET['module']))
        {
            
$sql 'SELECT modulefile, modulename FROM housemodules WHERE moduleid="'.getsetting('defaulthousemodule','1').'"';
            
$result db_query($sql);

            if (
$row db_fetch_assoc($result))
            {
                
$shownavs true;
                
$session['user']['specialmisc']['modulefile'] = $row['modulefile'];
                
$session['user']['specialmisc']['modulename'] = $row['modulename'];
            }

            else
            
redirect('houses.php');
        }

        elseif (
getmoduleid($session['user']['specialmisc']['modulename'])==getsetting('defaulthousemodule','1'))
        {
$shownavs true;}

        
// so for now, show module!
        
require_once('housemodules/'.$session['user']['specialmisc']['modulefile']);
        
$function 'module_show_'.$session['user']['specialmisc']['modulename'];
        
$function();

        
// if module doesn't set any navs, it's the default module - so set navs now!
        
if ($shownavs || !is_array($session['allowednavs']) || count($session['allowednavs'])==0)
        {
            
// get modulenavs now
            
if ($session['user']['specialmisc']['houseid']==$session['user']['house'])
            {
$for 'owner';}

            else
            
$for 'guest';

            
$modules = array();
            
$lastcategory '';
            
$sql 'SELECT hm.moduleid, hm.linkcategory, hm.linktitle
                        FROM housemodules hm
                        LEFT JOIN housemoduledata hmd
                        ON hmd.moduleid=hm.moduleid
                        AND hmd.houseid="'
.$session['user']['specialmisc']['houseid'].'"
                        AND hmd.name="#activated#"
                        WHERE (hm.built_in="1" OR hmd.value="1")
                        AND hm.moduleid!="'
.getsetting('defaulthousemodule','1').'"
                        AND FIND_IN_SET("'
.$for.'",hm.showto)>0
                        ORDER BY hm.linkorder ASC'
;
            
$result db_query($sql);

            while (
$row db_fetch_assoc($result))
            {
                if (
$lastcategory!=$row['linkcategory'] && $row['linkcategory']!='')
                {
                    
addnav($row['linkcategory']);
                    
$lastcategory $row['linkcategory'];
                }

                
addnav($row['linktitle'],'houses.php?op=drin&module='.$row['moduleid']);
            }

            
/*
            if ($lastcategory!='Sonstiges')
            addnav('Sonstiges');
            */

            
addnav('Zurück...');
            
addnav('W?... ins Wohnviertel','houses.php');
            
addnav('S?... in die Stadt','houses.php?op=leave');
        }

        break;

    
// show the start page of houses script
    
default:
        if (!empty(
$session['user']['specialmisc']['houseid']))
        {
            
$session['user']['specialmisc']['houseid'] = 0;
            
$session['user']['specialmisc']['modulefile'] = '';
            
$session['user']['specialmisc']['modulename'] = '';
        }

        
// check if you have a key for a house located here
        
$sql "SELECT COUNT(i.id) AS keycount FROM items i LEFT JOIN houses h ON h.houseid=i.value1 WHERE i.owner=".$session['user']['acctid']." AND i.class='Schlüssel' AND h.locid='{$session['user']['specialmisc']['locid']}'";
        
$result db_query($sql) or die(db_error(LINK));
        
$row db_fetch_assoc($result);

        
// search own house
        
if ($session['user']['house'])
        {
            
$sql 'SELECT locid FROM houses WHERE houseid='.$session['user']['house'];
            
$result db_query($sql);
            
$ownhouse db_fetch_assoc($result);
        }

        
addnav('Haus...');

       
// add link to enter house if found any (and if player has a key naturally)
        
if ($row['keycount']>|| ($ownhouse['locid']==$session['user']['specialmisc']['locid'] && $session['user']['housekey']>0))
        
addnav('... betreten','houses.php?op=enter');

        
output('`%`b`c'.$session['user']['specialmisc']['locname'].'`c`b`n
                <span style="color: #FF8040;">D</span><span style="color: #F98542;">u</span><span style="color: #F38B45;"> </span><span style="color: #EE9048;">b</span><span style="color: #E8964B;">e</span><span style="color: #E39B4D;">g</span><span style="color: #DDA150;">i</span><span style="color: #D8A653;">b</span><span style="color: #D2AC56;">s</span><span style="color: #CDB159;">t</span><span style="color: #C7B75B;"> </span><span style="color: #C2BC5E;">d</span><span style="color: #BCC261;">i</span><span style="color: #B7C764;">c</span><span style="color: #B1CD66;">h</span><span style="color: #ACD269;"> </span><span style="color: #A6D86C;">i</span><span style="color: #A1DD6F;">n</span><span style="color: #9BE372;">s</span><span style="color: #96E874;"> `%'
.$session['user']['specialmisc']['locname'].'</span> <span style="color: #90EE77;">D</span><span style="color: #8BF37A;">r</span><span style="color: #85F97D;">e</span><span style="color: #80FE7F;">ythals, wo ein Teil der Bevölkerung wohnt. Hier siehst du viele verschiedene Baustile und fast jedes Haus versprüht auf seine eigene Art und Weise einen gewissen Charme.</span>`n`n',true);

        
// search house
        
if (!empty($_POST['search']))
        {
            if (
strcspn($_POST['search'],"0123456789")<=1)
            {
$search "houseid=".(int)$_POST['search']." AND ";}

            else
            {
                
$search="%";

                for (
$x=0$x<strlen($_POST['search']); $x++)
                {
$search .= substr($_POST['search'],$x,1)."%";}

                
$search "housename LIKE '".$search."' AND ";
            }
        }

        else
        {
$search "";}

        
// show pages (streets)
        
$ppp=30// Player Per Page +1 to display

        
if (empty($_GET['limit']))
        {
$page 0;}

        else
        {
            
$page = (int)$_GET['limit'];
            
addnav("Vorherige Straße","houses.php?limit=".($page-1));
        }

        
$limit = ($page*$ppp).",".($ppp+1);

        
$sql "SELECT houses.houseid,houses.status,houses.owner,houses.housename,accounts.name AS schluesselinhaber FROM houses LEFT JOIN accounts ON accounts.acctid=houses.owner    WHERE $search houses.locid='{$session['user']['specialmisc']['locid']}'    ORDER BY houseid ASC LIMIT $limit";

        
output('<form action="houses.php" method="POST"><span style="color: #FF8040;">N</span><span style="color: #F98542;">a</span><span style="color: #F38B45;">c</span><span style="color: #ED9148;">h</span><span style="color: #E7974B;"> </span><span style="color: #E29C4E;">H</span><span style="color: #DCA251;">a</span><span style="color: #D6A854;">u</span><span style="color: #D0AE57;">s</span><span style="color: #CBB35A;">n</span><span style="color: #C5B95D;">a</span><span style="color: #BFBF60;">m</span><span style="color: #B9C562;">e</span><span style="color: #B3CB65;"> </span><span style="color: #AED068;">o</span><span style="color: #A8D66B;">d</span><span style="color: #A2DC6E;">e</span><span style="color: #9CE271;">r</span><span style="color: #97E774;"> </span><span style="color: #91ED77;">N</span><span style="color: #8BF37A;">u</span><span style="color: #85F97D;">m</span><span style="color: #80FE80;">mer <input name="search" value="'.$_POST['search'].'"> <input type="submit" class="button" style="cursor: pointer;" value="suchen"></form></span>',true);

        
addnav('','houses.php');

        
output('<table border="1" align="center" cellpadding="3" cellspacing="3" bgcolor="transparent" width="75%"><tr class="trhead">
                <td width="15%">`c`bHausnr.`b`c</td>
                <td width="35%">`bHausname`b</td>
                <td width="35%">`bEigentümer`b</td>
                <td width="15%">`c`bStatus`b`c</td></tr>'
,true);

        
$result db_query($sql) or die(db_error(LINK));

        if (
db_num_rows($result)>$ppp)
        
addnav("Nächste Straße","houses.php?limit=".($page+1)."&location=".urlencode($location));

        
// no houses found
        
if (db_num_rows($result)==0)
        {
output('<tr><td colspan="4">`c`i`b`$Hier gibt es noch keine Häuser.`b`i`c`0</td></tr>',true);}

        
// list houses
        
else
        {
            for (
$i=0$i<db_num_rows($result); $i++)
            {
                
$row db_fetch_assoc($result);
                
//$bgcolor=($i%2==1?"trlight":"trdark");

                
output('<tr><td>`c'.$row['houseid'].'`c</td>
                            <td><a href="houses.php?op=bio&id='
.$row['houseid'].'">`l'.$row['housename'].'`0</a></td>
                            <td>'
.$row['schluesselinhaber'].'</td><td>`c',true);

                
addnav('','houses.php?op=bio&id='.$row['houseid'].'');

                if (
$row['status']=='build')
                {
                    if (
$row['owner']>0)
                    
output('`$im Bau`0');

                    else
                    
output('`*Bauruine`0');
                }

                elseif (
$row['status']=='ready')
                {
                    if (
$row['owner']>0)
                    
output('`_bewohnt`0');

                    else
                    
output('`xverlassen`0');
                }

                elseif (
$row['status']=='sell')
                
output('`7zum Verkauf`0');

                
output('`c</td></tr>',true);
            }
        }

        
output('</table>',true);

        
/*
        // player owns a house
        if ($session['user']['housekey']>0)
        {output("`nStolz schwingst du den Schlüssel zu deinem Haus im Gehen hin und her.");}
        */

        // show link for building a house
        
if ($session['user']['housekey']==0)
        {
            if ((
$session['user']['house']==|| $ownhouse['locid']==$session['user']['specialmisc']['locid']) && $session['user']['specialmisc']['build']==1)

            
addnav('... bauen','houses.php?op=build');
        }

        
// show link for pvp
        
if (getsetting('pvp',1)==&& $session['user']['specialmisc']['rob']==1)
        
addnav('... ausrauben','houses.php?op=einbruch');

        
/*
        if ($session['user']['superuser'])
        {
            addnav('`6Admin/Mod`0');
            addnav('G?zur Grotte','superuser.php');
        }
        */

        
addnav('Zurück');
        
addnav('S?... in die Stadt','houses.php?op=leave');
        break; 
// we really don't need it, but... why not? :D
}

// let's fight, boy!
if ($fight)
{
    if (
count($session['bufflist'])>&& is_array($session['bufflist']) || $_GET['skill']!='')
    {
        
$_GET['skill'] = '';
        
$session['user']['buffbackup'] = serialize($session['bufflist']);
        
$session['bufflist']=array();

        
output(' <span style="color: #80FE80;">Die ungewohnte Umgebung verhindert den Einsatz deiner besonderen Fähigkeiten.</span>',true);
    }

    include 
'battle.php';

    if (
$victory)
    {
        
addnav('Weiter');
        
addnav('H?zum Haus','houses.php?op=einbruch2&id='.$session['user']['specialmisc']['houseid'].'');

        
addnav('Zurück...');
        
addnav('W?... ins Wohnviertel','houses.php');
        
addnav('S?... in die Stadt','houses.php?op=leave');

        
// check for pet
        
if ($badguy['creaturename']=='Stadtwache')
        {
            
output('`n`@`bDu hast den Wachmann besiegt. Nun steht dir bis zum Zielobjekt deines geplanten Einbruchs niemand mehr im Wege. Du erhältst für deinen Sieg ein paar Erfahrungspunkte.`b');

            
$session['user']['experience'] += $session['user']['level']*10;
            
$session['user']['turns']--;
        }

        else
        {
output('`n`b`@Dein Gegner "'.$badguy['creaturename'].'" zieht sich geschlagen zurück und gibt den Weg zum Haus frei.`b`0');}

        
$badguy=array();
    }

    elseif (
$defeat)
    {
        
// check for pet
        
if ($badguy['creaturename']=='Stadtwache')
        {
            
output("`n`\$Die Stadtwache hat dich besiegt und geschnappt. Du kommst jetzt für 2 Tage in Haft wegen versuchtem Hausfriedensbruch!");
            
$session['user']['hitpoints']=1;
            
$session['user']['prison']=1;
            
$session['user']['prisondays']=2;
            
$session['user']['badguy']="";

            
addnews("`%".$session['user']['name']."`3 wurde von der Stadtwache bei einem Einbruch geschnappt und ins Gefängnis gesteckt.");

            
addnav("Strafe absitzen","kerker.php");
        }

        else
        {
            
output('`n`$'.$badguy['creaturename'].'`$ hat dich besiegt. Du liegst schwer verletzt am Boden!`nDu verlierst 3 Charmepunkte und fast alle Lebenspunkte.');
            
$session['user']['hitpoints'] = 1;
            
$session['user']['charm'] -= 3;

            
addnews("`%".$session['user']['name']."`3 stieß bei einem Einbruch auf unerwartete Gegenwehr und verletzte sich schwer.");
            
addnav('Davonkriechen',"houses.php?op=leave");
        }

        
$session['user']['badguy'] = '';
    }

    else
    {
fightnav(false,true);}
}

output('`n`n`c`b`%&copy; by Chaosmaker`b`c`0',true);

$session['user']['location']=2;

page_footer();
?>
0.9.7+jt ext (GER)