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!


./common.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:
1123:
1124:
1125:
1126:
1127:
1128:
1129:
1130:
1131:
1132:
1133:
1134:
1135:
1136:
1137:
1138:
1139:
1140:
1141:
1142:
1143:
1144:
1145:
1146:
1147:
1148:
1149:
1150:
1151:
1152:
1153:
1154:
1155:
1156:
1157:
1158:
1159:
1160:
1161:
1162:
1163:
1164:
1165:
1166:
1167:
1168:
1169:
1170:
1171:
1172:
1173:
1174:
1175:
1176:
1177:
1178:
1179:
1180:
1181:
1182:
1183:
1184:
1185:
1186:
1187:
1188:
1189:
1190:
1191:
1192:
1193:
1194:
1195:
1196:
1197:
1198:
1199:
1200:
1201:
1202:
1203:
1204:
1205:
1206:
1207:
1208:
1209:
1210:
1211:
1212:
1213:
1214:
1215:
1216:
1217:
1218:
1219:
1220:
1221:
1222:
1223:
1224:
1225:
1226:
1227:
1228:
1229:
1230:
1231:
1232:
1233:
1234:
1235:
1236:
1237:
1238:
1239:
1240:
1241:
1242:
1243:
1244:
1245:
1246:
1247:
1248:
1249:
1250:
1251:
1252:
1253:
1254:
1255:
1256:
1257:
1258:
1259:
1260:
1261:
1262:
1263:
1264:
1265:
1266:
1267:
1268:
1269:
1270:
1271:
1272:
1273:
1274:
1275:
1276:
1277:
1278:
1279:
1280:
1281:
1282:
1283:
1284:
1285:
1286:
1287:
1288:
1289:
1290:
1291:
1292:
1293:
1294:
1295:
1296:
1297:
1298:
1299:
1300:
1301:
1302:
1303:
1304:
1305:
1306:
1307:
1308:
1309:
1310:
1311:
1312:
1313:
1314:
1315:
1316:
1317:
1318:
1319:
1320:
1321:
1322:
1323:
1324:
1325:
1326:
1327:
1328:
1329:
1330:
1331:
1332:
1333:
1334:
1335:
1336:
1337:
1338:
1339:
1340:
1341:
1342:
1343:
1344:
1345:
1346:
1347:
1348:
1349:
1350:
1351:
1352:
1353:
1354:
1355:
1356:
1357:
1358:
1359:
1360:
1361:
1362:
1363:
1364:
1365:
1366:
1367:
1368:
1369:
1370:
1371:
1372:
1373:
1374:
1375:
1376:
1377:
1378:
1379:
1380:
1381:
1382:
1383:
1384:
1385:
1386:
1387:
1388:
1389:
1390:
1391:
1392:
1393:
1394:
1395:
1396:
1397:
1398:
1399:
1400:
1401:
1402:
1403:
1404:
1405:
1406:
1407:
1408:
1409:
1410:
1411:
1412:
1413:
1414:
1415:
1416:
1417:
1418:
1419:
1420:
1421:
1422:
1423:
1424:
1425:
1426:
1427:
1428:
1429:
1430:
1431:
1432:
1433:
1434:
1435:
1436:
1437:
1438:
1439:
1440:
1441:
1442:
1443:
1444:
1445:
1446:
1447:
1448:
1449:
1450:
1451:
1452:
1453:
1454:
1455:
1456:
1457:
1458:
1459:
1460:
1461:
1462:
1463:
1464:
1465:
1466:
1467:
1468:
1469:
1470:
1471:
1472:
1473:
1474:
1475:
1476:
1477:
1478:
1479:
1480:
1481:
1482:
1483:
1484:
1485:
1486:
1487:
1488:
1489:
1490:
1491:
1492:
1493:
1494:
1495:
1496:
1497:
1498:
1499:
1500:
1501:
1502:
1503:
1504:
1505:
1506:
1507:
1508:
1509:
1510:
1511:
1512:
1513:
1514:
1515:
1516:
1517:
1518:
1519:
1520:
1521:
1522:
1523:
1524:
1525:
1526:
1527:
1528:
1529:
1530:
1531:
1532:
1533:
1534:
1535:
1536:
1537:
1538:
1539:
1540:
1541:
1542:
1543:
1544:
1545:
1546:
1547:
1548:
1549:
1550:
1551:
1552:
1553:
1554:
1555:
1556:
1557:
1558:
1559:
1560:
1561:
1562:
1563:
1564:
1565:
1566:
1567:
1568:
1569:
1570:
1571:
1572:
1573:
1574:
1575:
1576:
1577:
1578:
1579:
1580:
1581:
1582:
1583:
1584:
1585:
1586:
1587:
1588:
1589:
1590:
1591:
1592:
1593:
1594:
1595:
1596:
1597:
1598:
1599:
1600:
1601:
1602:
1603:
1604:
1605:
1606:
1607:
1608:
1609:
1610:
1611:
1612:
1613:
1614:
1615:
1616:
1617:
1618:
1619:
1620:
1621:
1622:
1623:
1624:
1625:
1626:
1627:
1628:
1629:
1630:
1631:
1632:
1633:
1634:
1635:
1636:
1637:
1638:
1639:
1640:
1641:
1642:
1643:
1644:
1645:
1646:
1647:
1648:
1649:
1650:
1651:
1652:
1653:
1654:
1655:
1656:
1657:
1658:
1659:
1660:
1661:
1662:
1663:
1664:
1665:
1666:
1667:
1668:
1669:
1670:
1671:
1672:
1673:
1674:
1675:
1676:
1677:
1678:
1679:
1680:
1681:
1682:
1683:
1684:
1685:
1686:
1687:
1688:
1689:
1690:
1691:
1692:
1693:
1694:
1695:
1696:
1697:
1698:
1699:
1700:
1701:
1702:
1703:
1704:
1705:
1706:
1707:
1708:
1709:
1710:
1711:
1712:
1713:
1714:
1715:
1716:
1717:
1718:
1719:
1720:
1721:
1722:
1723:
1724:
1725:
1726:
1727:
1728:
1729:
1730:
1731:
1732:
1733:
1734:
1735:
1736:
1737:
1738:
1739:
1740:
1741:
1742:
1743:
1744:
1745:
1746:
1747:
1748:
1749:
1750:
1751:
1752:
1753:
1754:
1755:
1756:
1757:
1758:
1759:
1760:
1761:
1762:
1763:
1764:
1765:
1766:
1767:
1768:
1769:
1770:
1771:
1772:
1773:
1774:
1775:
1776:
1777:
1778:
1779:
1780:
1781:
1782:
1783:
1784:
1785:
1786:
1787:
1788:
1789:
1790:
1791:
1792:
1793:
1794:
1795:
1796:
1797:
1798:
1799:
1800:
1801:
1802:
1803:
1804:
1805:
1806:
1807:
1808:
1809:
1810:
1811:
1812:
1813:
1814:
1815:
1816:
1817:
1818:
1819:
1820:
1821:
1822:
1823:
1824:
1825:
1826:
1827:
1828:
1829:
1830:
1831:
1832:
1833:
1834:
1835:
1836:
1837:
1838:
1839:
1840:
1841:
1842:
1843:
1844:
1845:
1846:
1847:
1848:
1849:
1850:
1851:
1852:
1853:
1854:
1855:
1856:
1857:
1858:
1859:
1860:
1861:
1862:
1863:
1864:
1865:
1866:
1867:
1868:
1869:
1870:
1871:
1872:
1873:
1874:
1875:
1876:
1877:
1878:
1879:
1880:
1881:
1882:
1883:
1884:
1885:
1886:
1887:
1888:
1889:
1890:
1891:
1892:
1893:
1894:
1895:
1896:
1897:
1898:
1899:
1900:
1901:
1902:
1903:
1904:
1905:
1906:
1907:
1908:
1909:
1910:
1911:
1912:
1913:
1914:
1915:
1916:
1917:
1918:
1919:
1920:
1921:
1922:
1923:
1924:
1925:
1926:
1927:
1928:
1929:
1930:
1931:
1932:
1933:
1934:
1935:
1936:
1937:
1938:
1939:
1940:
1941:
1942:
1943:
1944:
1945:
1946:
1947:
1948:
1949:
1950:
1951:
1952:
1953:
1954:
1955:
1956:
1957:
1958:
1959:
1960:
1961:
1962:
1963:
1964:
1965:
1966:
1967:
1968:
1969:
1970:
1971:
1972:
1973:
1974:
1975:
1976:
1977:
1978:
1979:
1980:
1981:
1982:
1983:
1984:
1985:
1986:
1987:
1988:
1989:
1990:
1991:
1992:
1993:
1994:
1995:
1996:
1997:
1998:
1999:
2000:
2001:
2002:
2003:
2004:
2005:
2006:
2007:
2008:
2009:
2010:
2011:
2012:
2013:
2014:
2015:
2016:
2017:
2018:
2019:
2020:
2021:
2022:
2023:
2024:
2025:
2026:
2027:
2028:
2029:
2030:
2031:
2032:
2033:
2034:
2035:
2036:
2037:
2038:
2039:
2040:
2041:
2042:
2043:
2044:
2045:
2046:
2047:
2048:
2049:
2050:
2051:
2052:
2053:
2054:
2055:
2056:
2057:
2058:
2059:
2060:
2061:
2062:
2063:
2064:
2065:
2066:
2067:
2068:
2069:
2070:
2071:
2072:
2073:
2074:
2075:
2076:
2077:
2078:
2079:
2080:
2081:
2082:
2083:
2084:
2085:
2086:
2087:
2088:
2089:
2090:
2091:
2092:
2093:
2094:
2095:
2096:
2097:
2098:
2099:
2100:
2101:
2102:
2103:
2104:
2105:
2106:
2107:
2108:
2109:
2110:
2111:
2112:
2113:
2114:
2115:
2116:
2117:
2118:
2119:
2120:
2121:
2122:
2123:
2124:
2125:
2126:
2127:
2128:
2129:
2130:
2131:
2132:
2133:
2134:
2135:
2136:
2137:
2138:
2139:
2140:
2141:
2142:
2143:
2144:
2145:
2146:
2147:
2148:
2149:
2150:
2151:
2152:
2153:
2154:
2155:
2156:
2157:
2158:
2159:
2160:
2161:
2162:
2163:
2164:
2165:
2166:
2167:
2168:
2169:
2170:
2171:
2172:
2173:
2174:
2175:
2176:
2177:
2178:
2179:
2180:
2181:
2182:
2183:
2184:
2185:
2186:
2187:
2188:
2189:
2190:
2191:
2192:
2193:
2194:
2195:
2196:
2197:
2198:
2199:
2200:
2201:
2202:
2203:
2204:
2205:
2206:
2207:
2208:
2209:
2210:
2211:
2212:
2213:
2214:
2215:
2216:
2217:
2218:
2219:
2220:
2221:
2222:
2223:
2224:
2225:
2226:
2227:
2228:
2229:
2230:
2231:
2232:
2233:
2234:
2235:
2236:
2237:
2238:
2239:
2240:
2241:
2242:
2243:
2244:
2245:
2246:
2247:
2248:
2249:
2250:
2251:
2252:
2253:
2254:
2255:
2256:
2257:
2258:
2259:
2260:
2261:
2262:
2263:
2264:
2265:
2266:
2267:
2268:
2269:
2270:
2271:
2272:
2273:
2274:
2275:
2276:
2277:
2278:
2279:
2280:
2281:
2282:
2283:
2284:
2285:
2286:
2287:
2288:
2289:
2290:
2291:
2292:
2293:
2294:
2295:
2296:
2297:
2298:
2299:
2300:
2301:
2302:
2303:
2304:
2305:
2306:
2307:
2308:
2309:
2310:
2311:
2312:
2313:
2314:
2315:
2316:
2317:
2318:
2319:
2320:
2321:
2322:
2323:
2324:
2325:
2326:
2327:
2328:
2329:
2330:
2331:
2332:
2333:
2334:
2335:
2336:
2337:
2338:
2339:
2340:
2341:
2342:
2343:
2344:
2345:
2346:
2347:
2348:
2349:
2350:
2351:
2352:
2353:
2354:
2355:
2356:
2357:
2358:
2359:
2360:
2361:
2362:
2363:
2364:
2365:
2366:
2367:
2368:
2369:
2370:
2371:
2372:
2373:
2374:
2375:
2376:
2377:
2378:
2379:
2380:
2381:
2382:
2383:
2384:
2385:
2386:
2387:
2388:
2389:
2390:
2391:
2392:
2393:
2394:
2395:
2396:
2397:
2398:
2399:
2400:
2401:
2402:
2403:
2404:
2405:
2406:
2407:
2408:
2409:
2410:
2411:
2412:
2413:
2414:
2415:
2416:
2417:
2418:
2419:
2420:
2421:
2422:
2423:
2424:
2425:
2426:
2427:
2428:
2429:
2430:
2431:
2432:
2433:
2434:
2435:
2436:
2437:
2438:
2439:
2440:
2441:
2442:
2443:
2444:
2445:
2446:
2447:
2448:
2449:
2450:
2451:
2452:
2453:
2454:
2455:
2456:
2457:
2458:
2459:
2460:
2461:
2462:
2463:
2464:
2465:
2466:
2467:
2468:
2469:
2470:
2471:
2472:
2473:
2474:
2475:
2476:
2477:
2478:
2479:
2480:
2481:
2482:
2483:
2484:
2485:
2486:
2487:
2488:
2489:
2490:
2491:
2492:
2493:
2494:
2495:
2496:
2497:
2498:
2499:
2500:
2501:
2502:
2503:
2504:
2505:
2506:
2507:
2508:
2509:
2510:
2511:
2512:
2513:
2514:
2515:
2516:
2517:
2518:
2519:
2520:
2521:
2522:
2523:
2524:
2525:
2526:
2527:
2528:
2529:
2530:
2531:
2532:
2533:
2534:
2535:
2536:
2537:
2538:
2539:
2540:
2541:
2542:
2543:
2544:
2545:
2546:
2547:
2548:
2549:
2550:
2551:
2552:
2553:
2554:
2555:
2556:
2557:
2558:
2559:
2560:
2561:
2562:
2563:
2564:
2565:
2566:
2567:
2568:
2569:
2570:
2571:
2572:
2573:
2574:
2575:
2576:
2577:
2578:
2579:
2580:
2581:
2582:
2583:
2584:
2585:
2586:
2587:
2588:
2589:
2590:
2591:
2592:
2593:
2594:
2595:
2596:
2597:
2598:
2599:
2600:
2601:
2602:
2603:
2604:
2605:
2606:
2607:
2608:
2609:
2610:
2611:
2612:
2613:
2614:
2615:
2616:
2617:
2618:
2619:
2620:
2621:
2622:
2623:
2624:
2625:
2626:
2627:
2628:
2629:
2630:
2631:
2632:
2633:
2634:
2635:
2636:
2637:
2638:
2639:
2640:
2641:
2642:
2643:
2644:
2645:
2646:
2647:
2648:
2649:
2650:
2651:
2652:
2653:
2654:
2655:
2656:
2657:
2658:
2659:
2660:
2661:
2662:
2663:
2664:
2665:
2666:
2667:
2668:
2669:
2670:
2671:
2672:
2673:
2674:
2675:
2676:
2677:
2678:
2679:
2680:
2681:
2682:
2683:
2684:
2685:
2686:
2687:
2688:
2689:
2690:
2691:
2692:
2693:
2694:
2695:
2696:
2697:
2698:
2699:
2700:
2701:
2702:
2703:
2704:
2705:
2706:
2707:
2708:
2709:
2710:
2711:
2712:
2713:
2714:
2715:
2716:
2717:
2718:
2719:
2720:
2721:
2722:
2723:
2724:
2725:
2726:
2727:
2728:
2729:
2730:
2731:
2732:
2733:
2734:
2735:
2736:
2737:
2738:
2739:
2740:
2741:
2742:
2743:
2744:
2745:
2746:
2747:
2748:
2749:
2750:
2751:
2752:
2753:
2754:
2755:
2756:
2757:
2758:
2759:
2760:
2761:
2762:
2763:
2764:
2765:
2766:
2767:
2768:
2769:
2770:
2771:
2772:
2773:
2774:
2775:
2776:
2777:
2778:
2779:
2780:
2781:
2782:
2783:
2784:
2785:
2786:
2787:
2788:
2789:
2790:
2791:
2792:
2793:
2794:
2795:
2796:
2797:
2798:
2799:
2800:
2801:
2802:
2803:
2804:
2805:
2806:
2807:
2808:
2809:
2810:
2811:
2812:
2813:
2814:
2815:
2816:
2817:
2818:
2819:
2820:
2821:
2822:
2823:
2824:
2825:
2826:
2827:
2828:
2829:
2830:
2831:
2832:
2833:
2834:
2835:
2836:
2837:
2838:
2839:
2840:
2841:
2842:
2843:
2844:
2845:
2846:
2847:
2848:
2849:
2850:
2851:
2852:
2853:
2854:
2855:
2856:
2857:
2858:
2859:
2860:
2861:
2862:
2863:
2864:
2865:
2866:
2867:
2868:
2869:
2870:
2871:
2872:
2873:
2874:
2875:
2876:
2877:
2878:
2879:
2880:
2881:
2882:
2883:
2884:
2885:
2886:
2887:
2888:
2889:
2890:
2891:
2892:
2893:
2894:
2895:
2896:
2897:
2898:
2899:
2900:
2901:
2902:
2903:
2904:
2905:
2906:
2907:
2908:
2909:
2910:
2911:
2912:
2913:
2914:
2915:
2916:
2917:
2918:
2919:
2920:
2921:
2922:
2923:
2924:
2925:
2926:
2927:
2928:
2929:
2930:
2931:
2932:
2933:
2934:
2935:
2936:
2937:
2938:
2939:
2940:
2941:
2942:
2943:
2944:
2945:
2946:
2947:
2948:
2949:
2950:
2951:
2952:
2953:
2954:
2955:
2956:
2957:
2958:
2959:
2960:
2961:
2962:
2963:
2964:
2965:
2966:
2967:
2968:
2969:
2970:
2971:
2972:
2973:
2974:
2975:
2976:
2977:
2978:
2979:
2980:
2981:
2982:
2983:
2984:
2985:
2986:
2987:
2988:
2989:
2990:
2991:
2992:
2993:
2994:
2995:
2996:
2997:
2998:
2999:
3000:
3001:
3002:
3003:
3004:
3005:
3006:
3007:
3008:
3009:
3010:
3011:
3012:
3013:
3014:
3015:
3016:
3017:
3018:
3019:
3020:
3021:
3022:
3023:
3024:
3025:
3026:
3027:
3028:
3029:
3030:
3031:
3032:
3033:
3034:
3035:
3036:
3037:
3038:
3039:
3040:
3041:
3042:
3043:
3044:
3045:
3046:
3047:
3048:
3049:
3050:
3051:
3052:
3053:
3054:
3055:
3056:
3057:
3058:
3059:
3060:
3061:
3062:
3063:
3064:
3065:
3066:
3067:
3068:
3069:
3070:
3071:
3072:
3073:
3074:
3075:
3076:
3077:
3078:
3079:
3080:
3081:
3082:
3083:
3084:
3085:
3086:
3087:
3088:
3089:
3090:
3091:
3092:
3093:
3094:
3095:
3096:
3097:
3098:
3099:
3100:
3101:
3102:
3103:
3104:
3105:
3106:
3107:
3108:
3109:
3110:
3111:
3112:
3113:
3114:
3115:
3116:
3117:
3118:
3119:
3120:
3121:
3122:
3123:
3124:
3125:
3126:
3127:
3128:
3129:
3130:
3131:
3132:
3133:
3134:
3135:
3136:
3137:
3138:
3139:
3140:
3141:
3142:
3143:
3144:
3145:
3146:
3147:
3148:
3149:
3150:
3151:
3152:
3153:
3154:
3155:
3156:
3157:
3158:
3159:
3160:
3161:
3162:
3163:
3164:
3165:
3166:
3167:
3168:
3169:
3170:
3171:
3172:
3173:
3174:
3175:
3176:
3177:
3178:
3179:
3180:
3181:
3182:
3183:
3184:
3185:
3186:
3187:
3188:
3189:
3190:
3191:
3192:
3193:
3194:
3195:
3196:
3197:
3198:
3199:
3200:
3201:
3202:
3203:
3204:
3205:
3206:
3207:
3208:
3209:
3210:
3211:
3212:
3213:
3214:
3215:
3216:
3217:
3218:
3219:
3220:
3221:
3222:
3223:
3224:
3225:
3226:
3227:
3228:
3229:
3230:
3231:
3232:
3233:
3234:
3235:
3236:
3237:
3238:
3239:
3240:
3241:
3242:
3243:
3244:
3245:
3246:
3247:
3248:
3249:
3250:
3251:
3252:
3253:
3254:
3255:
3256:
3257:
3258:
3259:
3260:
3261:
3262:
3263:
3264:
3265:
3266:
3267:
3268:
3269:
3270:
3271:
3272:
3273:
3274:
3275:
3276:
3277:
3278:
3279:
3280:
3281:
3282:
3283:
3284:
3285:
3286:
3287:
3288:
3289:
3290:
3291:
3292:
3293:
3294:
3295:
3296:
3297:
3298:
3299:
3300:
3301:
3302:
3303:
3304:
3305:
3306:
3307:
3308:
3309:
3310:
3311:
3312:
3313:
3314:
3315:
3316:
3317:
3318:
3319:
3320:
3321:
3322:
3323:
3324:
3325:
3326:
3327:
3328:
3329:
3330:
3331:
3332:
3333:
3334:
3335:
3336:
3337:
3338:
3339:
3340:
3341:
3342:
3343:
3344:
3345:
3346:
3347:
3348:
3349:
3350:
3351:
3352:
3353:
3354:
3355:
3356:
3357:
3358:
3359:
3360:
3361:
3362:
3363:
3364:
3365:
3366:
3367:
3368:
3369:
3370:
3371:
3372:
3373:
3374:
3375:
3376:
3377:
3378:
3379:
3380:
3381:
3382:
3383:
3384:
3385:
3386:
3387:
3388:
3389:
3390:
3391:
3392:
3393:
3394:
3395:
3396:
3397:
3398:
3399:
3400:
3401:
3402:
3403:
3404:
3405:
3406:
3407:
3408:
3409:
3410:
3411:
3412:
3413:
3414:
3415:
3416:
3417:
3418:
3419:
3420:
3421:
3422:
3423:
3424:
3425:
3426:
3427:
3428:
3429:
3430:
3431:
3432:
3433:
3434:
3435:
3436:
3437:
3438:
3439:
3440:
3441:
3442:
3443:
3444:
3445:
3446:
3447:
3448:
3449:
3450:
3451:
3452:
3453:
3454:
3455:
3456:
3457:
3458:
3459:
3460:
3461:
3462:
3463:
3464:
3465:
3466:
3467:
3468:
3469:
3470:
3471:
3472:
3473:
3474:
3475:
3476:
3477:
3478:
3479:
3480:
3481:
3482:
3483:
3484:
3485:
3486:
3487:
3488:
3489:
3490:
3491:
3492:
3493:
3494:
3495:
3496:
3497:
3498:
3499:
3500:
3501:
3502:
3503:
3504:
3505:
3506:
3507:
3508:
3509:
3510:
3511:
3512:
3513:
3514:
3515:
3516:
3517:
3518:
3519:
3520:
3521:
3522:
3523:
3524:
3525:
3526:
3527:
3528:
3529:
3530:
3531:
3532:
3533:
3534:
3535:
3536:
3537:
3538:
3539:
3540:
3541:
3542:
3543:
3544:
3545:
3546:
3547:
3548:
3549:
3550:
3551:
3552:
3553:
3554:
3555:
3556:
3557:
3558:
3559:
3560:
3561:
3562:
3563:
3564:
3565:
3566:
3567:
3568:
3569:
3570:
3571:
3572:
3573:
<?php
ob_start
('ob_gzhandler');

/*********************************************************************
 * MODIFIZIERT DURCH
 * Admin @ Dreythal
 * September 2015
*********************************************************************/

require_once 'dbwrapper.php';
require_once 
'anticheat.php';

$pagestarttime getmicrotime();
                     
function 
useronline() //Wer ist hier online? V.1.0 by Devilzimti
{
    global 
$session,$SCRIPT_NAME;

    
$useronline '<table bgcolor="#0B0B0B"><td class="charhead" bgcolor="#4C4C4C" style="color: #EDEDED; text-align: center;" width="200"><b>Hier anwesend</b></td></tr>';

    
$sql "SELECT name,login FROM accounts WHERE (accounts.restorepage LIKE '".$SCRIPT_NAME."%"."' OR accounts.acctid=".$session['user'][acctid].") AND loggedin = 1 AND locked = 0 AND laston>'".date("Y-m-d H:i:s",strtotime("-".getsetting("LOGINTIMEOUT",900)." seconds"))."' ORDER BY login;";

    
$query =db_query($sql);

    while(
$row db_fetch_assoc($query))
    {
        
$useronline.= '<tr><td><a href="mail.php?op=write&to='.rawurlencode($row['login']).'" target="_blank" onClick="'.popup('mail.php?op=write&to='.rawurlencode($row['login'])).';return false;"><img src="images/newscroll.GIF" width="16" height="16"></a>&nbsp;';

        
$useronline.= ''.$row['name'].'</td></tr>';
    }

    
$useronline.= '</td></tr></table>';

    
$useronline appoencode($useronline,true);
    return 
$useronline;
}

$nestedtags=array();
$output='';

function 
pvpwarning($dokill=false)
{
    global 
$session;
    
$days getsetting('pvpimmunity'5);
    
$exp getsetting('pvpminexp'1500);

    if (
$session['user']['age'] <= $days &&
        
$session['user']['dragonkills'] == &&
        
$session['user']['user']['pk'] == &&
        
$session['user']['experience'] <= $exp)
    {
        if (
$dokill)
        {
            
output("`\$Warnung! Da du selbst noch vor PvP geschützt warst, aber jetzt einen anderen Spieler angreifst, hast du deine Immunität verloren!!`n`n");

            
$session['user']['pk'] = 1;
        }

        else
        {
            
output("`\$Warnung! Innerhalb der ersten $days  Tage in dieser Welt, oder bis sie $exp Erfahrungspunkte gesammelt haben, sind alle Spieler vor PvP-Angriffen geschützt. Wenn du einen anderen Spieler angreifst, verfällt diese Immunität für dich!`n`n");
        }
    }
}

function 
rawoutput($indata)
{
    global 
$output;
    
$output .= $indata "\n";
}

function 
striptag($data,$search=false)
{
//Von Eliwood
//Kleine Änderung von Harthas: Holt die Farben nun aus der Datenbank
    
if(is_bool($search))
    {
        
$sql 'SELECT code FROM appoencode WHERE allowed="1"';
        
$result db_query($sql) or die(db_error($sql));

        while (
$row db_fetch_assoc($result))
        {
$search[] = '`'.$row['code'];}

        
db_free_result($result);
    }

    
$data str_replace($search,"",$data);
    return 
$data;
}

function 
output($indata,$priv=false)
{
    global 
$nestedtags,$output;
    
$data translate($indata);
// Aprilscherz deaktiviert ;)
//    if (date("m-d")=="04-01"){
//        $out = appoencode($data,$priv);
//        if ($priv==false) $out = borkalize($out);
//        $output.=$out;
//    }else{

    
$output.=appoencode($data,$priv);

//    }

    
$output.="\n";
    return 
0;
}

function 
compress_out ($input)
{
    
//Based on old YaBBSE code (c)
    //Open-Source Project by Zef Hemel (zef@zefnet.com <mailto:zef@zefnet.com>)
    //Copyright (c) 2001-2002 The YaBB Development Team
    
if((function_exists("gzcompress")) && (function_exists("crc32")))
    {
        if(
strpos(" " $_SERVER['HTTP_ACCEPT_ENCODING'], "x-gzip"))
        {
$encode "x-gzip";}

        elseif(
strpos(" " $_SERVER['HTTP_ACCEPT_ENCODING'], "gzip"))
        {
$encode "gzip";}

        if (isset(
$encode))
        {
            
header("Content-Encoding: $encode");
            
$encode_size strlen($input);
            
$encode_crc crc32($input);
            
$out "\x1f\x8b\x08\x00\x00\x00\x00\x00";
            
$out .= substr(gzcompress($input1), 0, -4);
            
$out .= pack("V"$encode_crc);
            
$out .= pack("V"$encode_size);
        }

        else
        {
$out $input;}
    }

    else
    {
$out $input;}

    return (
$out);
}


function 
safeescape($input)
{return 
preg_replace('/([^\\\\])(["\'])/s',"\\1\\\\\\2",$input);}

//by Chaosmaker
function petitionmail($subject,$body,$petition,$from,$seen=0,$to=0,$messageid=0)
{
    
$subject safeescape($subject);
    
$subject=str_replace("\n","",$subject);
    
$subject=str_replace("`n","",$subject);
    
$body safeescape($body);

    
$sql "INSERT INTO petitionmail (petitionid,messageid,msgfrom,msgto,subject,body,sent,seen) VALUES ('".(int)$petition."','".(int)$messageid."','".(int)$from."','".(int)$to."','$subject','$body',now(),'$seen')";
    
db_query($sql);
    
$sql 'UPDATE petitions SET lastact=NOW() WHERE petitionid="'.(int)$petition.'"';
    
db_query($sql);
}
//end petitionmail

function systemmail($to,$subject,$body,$from=0,$noemail=false)
{
    
$subject safeescape($subject);
    
$subject=str_replace("\n","",$subject);
    
$subject=str_replace("`n","",$subject);
    
$body safeescape($body);
    
//echo $subject."<br>".$body;
    
$sql "SELECT prefs,emailaddress FROM accounts WHERE acctid='$to'";
    
$result db_query($sql);
    
$row db_fetch_assoc($result);
    
db_free_result($result);
    
$prefs unserialize($row['prefs']);

    if (
$prefs['dirtyemail'])
    {
        
//output("Not cleaning: $prefs[dirtyemail]");
    
}

    else
    {
        
//output("Cleaning: $prefs[dirtyemail]");
        
$subject=soap($subject);
        
$body=soap($body);
    }

    
$sql "INSERT INTO mail (msgfrom,msgto,subject,body,sent) VALUES ('".(int)$from."','".(int)$to."','$subject','$body',now())";
    
db_query($sql);
    
$email=false;

    if (
$prefs['emailonmail'] && $from>0)
    {
$email=true;}

    elseif(
$prefs['emailonmail'] && $from==&& $prefs['systemmail'])
    {
$email=true;}

    if (!
is_email($row['emailaddress']))
    
$email=false;

    if (
$email && !$noemail)
    {
        
$sql "SELECT name FROM accounts WHERE acctid='$from'";
        
$result db_query($sql);
        
$row1=db_fetch_assoc($result);
        
db_free_result($result);

        if (
$row1['name']!="")
        
$fromline="From: ".preg_replace("'[`].'","",$row1[name])."\n";

        
// We've inserted it into the database, so.. strip out any formatting
        // codes from the actual email we send out... they make things
        // unreadable
        
$body preg_replace("'[`]n'""\n"$body);
        
$body preg_replace("'[`].'"""$body);

        
mail($row['emailaddress'],"Neue LoGD Mail","Du hast eine neue Nachricht von LoGD @ http://".$_SERVER[HTTP_HOST].dirname($_SERVER[SCRIPT_NAME])." empfangen.\n\n$fromline"
            
."Betreff: ".preg_replace("'[`].'","",stripslashes($subject))."\n"
            
."Body: ".stripslashes($body)."\n"
            
."\nDu kannst diese Meldungen in deinen Einstellungen abschalten.",
            
"From: ".getsetting("gameadminemail","postmaster@localhost")
        );
    }
}

function 
isnewday($level)
{
    global 
$session;

    if (
$session['user']['superuser']<=0)
    {
        
clearnav();
        
$session['output']="";
        
page_header("FREVEL!");

        
$session['bufflist']['angrygods']=array(
            
"name"=>"Die Götter sind wütend!",
            
"rounds"=>10,
            
"wearoff"=>"Es ist den Göttern langweilig geworden, dich zu quälen.",
            
"minioncount"=>$session['user']['level'],
            
"maxgoodguydamage"=> 2,
            
"effectmsg"=>"`7Die Götter verfluchen dich und machen dir {damage}`7 Schaden!",
            
"effectnodmgmsg"=>"`7Die Götter haben beschlossen, dich erstmal nicht zu quälen.",
            
"activate"=>"roundstart",
            
"survivenewday"=>1,
            
"newdaymessage"=>"`6Die Götter sind dir immer noch böse!");

        
output("Für den Versuch, die Götter zu betrügen, wurdest du niedergeschmettert!`n`n`\$Ramius, der Gott der Toten`) erscheint dir in einer Vision. Dafür, dass du versucht hast, deinen Geist mit seinem zu messen, sagt er dir wortlos, dass du keinen Gefallen mehr bei ihm hast.`n`n`&Für den Versuch, die Götter zu besudeln, wurde ".$session['user']['name']." zu Tode gequält! (Hackversuch gescheitert).");

        
$session['user']['hitpoints']=0;
        
$session['user']['alive']=0;
        
$session['user']['soulpoints']=0;
        
$session['user']['gravefights']=0;
        
$session['user']['deathpower']=0;
        
$session['user']['experience']*=0.75;

        
addnav("Tägliche News","news.php");
        
page_footer();

        
$sql "SELECT acctid FROM accounts WHERE superuser>=3";
        
$result db_query($sql);

        while (
$row db_fetch_assoc($result))
        {
            
systemmail($row['acctid'],"`1{$session['user']['name']}`1 hat versucht, Superuser-Seiten zu hacken!","Böse(r), böse(r), böse(r) {$session['user']['name']}, du bist ein Hacker!");
        }

        exit();
    }
}

function 
forest($noshowmessage=false)
{
    global 
$session,$playermount;
    
$conf unserialize($session['user']['donationconfig']);

    
addnav('Heilung');

    if (
$conf['healer'] || $session['user']['acctid']==getsetting('hasegg',0))
    {
addnav('G?Golindas Häuschen','healer.php');}

    else
    {
addnav('H?Hütte des Heilers','healer.php');}

    
//Komplette Heilung by Morpheus
    
if ($session['user']['hitpoints']<$session['user']['maxhitpoints'])
    {
        
$config unserialize($session['user']['donationconfig']);

        if (
$config['healer'] || $session['user']['acctid']==getsetting('hasegg',0))
        
$golinda 1;

        
$loglev log($session['user']['level']);
        
$cost = ($loglev * ($session['user']['maxhitpoints']-$session['user']['hitpoints'])) + ($loglev*10);

        if (
$golinda)
        
$cost *= .5;

        
$nc=100;
        
$newcost=round($nc*$cost/100,0);

        if (
$session['user']['gold']>=$newcost)
        {
addnav('Komplettheilung ('.$newcost.' Gold)','forest.php?op=heal');}
    }
    
//Komplette Heilung Ende

    
addnav('Suche Kampf gegen...');
    
addnav('E?... etwas Ebenbürtiges','forest.php?op=search');

    if (
$session['user']['level']>1)
      
addnav('S?... etwas Schwaches','forest.php?op=search&type=slum');

    
addnav('H?... etwas Herausforderndes','forest.php?op=search&type=thrill');

    if (
$session['user']['level']>=15  && $session['user']['seendragon']==0)
    {
addnav('`x... den Herrn der Stille`0','forest.php?op=dragon');}

    if (
$session['user']['usedouthouse'] == || $session['user']['level'] == 15 || $playermount['tavern']>|| $session['user']['turns']<=|| $playermount['tavern']>&& $conf['castle'] || $conf['goldmine']>0)
    
addnav('Besuche...');
    
    if (
$session['user']['usedouthouse'] == 0)
    {
addnav('D?... den Donnerbalken','outhouse.php');}

    if (
$session['user']['level'] == 15)
    {
addnav('S?... die seltsame Lichtung','cruxis.php');}

    if (
$playermount['tavern']>0)
    
addnav('Z?... die Zwielichtige Taverne','forest.php?op=darkhorse');

    if (
$playermount['tavern']>&& $conf['castle'])
    
addnav('B?... die Burg','forest.php?op=castle');

    if (
$conf['goldmine']>0)
    
addnav('M?... die Mine ('.$conf['goldmine'].'x)','paths.php?ziel=goldmine&pass=conf');

    if (
$session['user']['turns']<=)
    
addnav('w?... die windschiefe Hütte','hexe.php');

    
addnav('Zurück');
    
addnav('in die Stadt','village.php');

    if (
$noshowmessage!=true)
    {
        
output('`n`c`7`b<span style="color: #FFFFFF;">D</span><span style="color: #F4F4F4;">e</span><span style="color: #EAEAEA;">r</span><span style="color: #DFDFDF;"> </span><span style="color: #D5D5D5;">N</span><span style="color: #CACACA;">e</span><span style="color: #C0C0C0;">b</span><span style="color: #C0C0C0;">e</span><span style="color: #CCCCCC;">l</span><span style="color: #D9D9D9;">w</span><span style="color: #E5E5E5;">a</span><span style="color: #F2F2F2;">l</span><span style="color: #FEFEFE;">d</span>`b`0`c`n',true);

        
output('<span style="color: #FFFFFF;">V</span><span style="color: #FCFCFC;">o</span><span style="color: #F9F9F9;">r</span><span style="color: #F6F6F6;">s</span><span style="color: #F3F3F3;">i</span><span style="color: #F0F0F0;">c</span><span style="color: #EDEDED;">h</span><span style="color: #EAEAEA;">t</span><span style="color: #E8E8E8;">i</span><span style="color: #E5E5E5;">g</span><span style="color: #E2E2E2;"> </span><span style="color: #DFDFDF;">u</span><span style="color: #DCDCDC;">n</span><span style="color: #D9D9D9;">d</span><span style="color: #D6D6D6;"> </span><span style="color: #D4D4D4;">d</span><span style="color: #D1D1D1;">a</span><span style="color: #CECECE;">r</span><span style="color: #CBCBCB;">a</span><span style="color: #C8C8C8;">u</span><span style="color: #C5C5C5;">f</span><span style="color: #C2C2C2;"> </span><span style="color: #BFBFBF;">bedacht, möglichst kein Geräusch zu verursachen, tauchst du in den Nebelwald ein. Er sieht beinahe aus wie ein normaler Wald, aber eben nur beinahe. Die Bäume wirken einen winzigen Tick zu düster, das Unterholz eine Winzigkeit zu lebendig. Und in deinem Augenwinkel scheint der Wald zu verschwimmen.`n`n

                <span style="color: #FFFFFF;">H</span><span style="color: #FCFCFC;">i</span><span style="color: #F9F9F9;">e</span><span style="color: #F6F6F6;">r</span><span style="color: #F4F4F4;"> </span><span style="color: #F1F1F1;">b</span><span style="color: #EEEEEE;">e</span><span style="color: #EBEBEB;">w</span><span style="color: #E9E9E9;">e</span><span style="color: #E6E6E6;">g</span><span style="color: #E3E3E3;">e</span><span style="color: #E0E0E0;">n</span><span style="color: #DEDEDE;"> </span><span style="color: #DBDBDB;">s</span><span style="color: #D8D8D8;">i</span><span style="color: #D5D5D5;">c</span><span style="color: #D3D3D3;">h</span><span style="color: #D0D0D0;"> </span><span style="color: #CDCDCD;">d</span><span style="color: #CACACA;">i</span><span style="color: #C8C8C8;">e</span><span style="color: #C5C5C5;"> </span><span style="color: #C2C2C2;">s</span><span style="color: #BFBFBF;">eltsamsten Kreaturen. Man sagt, diese Kreaturen seien, ebenso wie der Nebelwald selbst, magisch geschaffen worden. Nichtsdestotrotz können sie tödlich gefährlich werden, wenn man ihnen zu unbedarft entgegentritt.`n`n

                <span style="color: #FFFFFF;">J</span><span style="color: #FCFCFC;">e</span><span style="color: #F9F9F9;"> </span><span style="color: #F7F7F7;">t</span><span style="color: #F4F4F4;">i</span><span style="color: #F2F2F2;">e</span><span style="color: #EFEFEF;">f</span><span style="color: #EDEDED;">e</span><span style="color: #EAEAEA;">r</span><span style="color: #E8E8E8;"> </span><span style="color: #E5E5E5;">d</span><span style="color: #E3E3E3;">u</span><span style="color: #E0E0E0;"> </span><span style="color: #DEDEDE;">i</span><span style="color: #DBDBDB;">n</span><span style="color: #D9D9D9;"> </span><span style="color: #D6D6D6;">d</span><span style="color: #D4D4D4;">e</span><span style="color: #D1D1D1;">n</span><span style="color: #CFCFCF;"> </span><span style="color: #CCCCCC;">W</span><span style="color: #CACACA;">a</span><span style="color: #C7C7C7;">l</span><span style="color: #C5C5C5;">d</span><span style="color: #C2C2C2;"> </span><span style="color: #BFBFBF;">eindringst, desto nebliger wird es um dich herum. Grauweiße Nebelschwaden kriechen höher und höher, bis du schließlich irgendwann umhüllt bist von Nebel, sodass du kaum noch deine eigene Hand vor Augen sehen kannst. Was wohl passieren mag, wenn du dennoch weitergehst...`0</span>'
,true);

        if (
$session['user']['turns']<=1)
        
output('`n`n<span style="color: #FFFFFF;">A</span><span style="color: #FCFCFC;">l</span><span style="color: #F9F9F9;">s</span><span style="color: #F6F6F6;"> </span><span style="color: #F4F4F4;">d</span><span style="color: #F1F1F1;">u</span><span style="color: #EEEEEE;"> </span><span style="color: #EBEBEB;">d</span><span style="color: #E9E9E9;">e</span><span style="color: #E6E6E6;">i</span><span style="color: #E3E3E3;">n</span><span style="color: #E0E0E0;">e</span><span style="color: #DEDEDE;">n</span><span style="color: #DBDBDB;"> </span><span style="color: #D8D8D8;">n</span><span style="color: #D5D5D5;">ä</span><span style="color: #D3D3D3;">c</span><span style="color: #D0D0D0;">h</span><span style="color: #CDCDCD;">s</span><span style="color: #CACACA;">t</span><span style="color: #C8C8C8;">e</span><span style="color: #C5C5C5;">n</span><span style="color: #C2C2C2;"> </span><span style="color: #BFBFBF;">Schritt setzt, bemerkst du plötzlich etwas im Augenwinkel. Du drehst dich in die Richtung und erblickst ein windschiefes Häuschen, das aussieht, als würde es jeden Moment in sich zusammenbrechen. Seltsam, vor einem Wimpernschlag war das noch nicht da...</span>',true);
    }

    if (
$session['user']['superuser']==|| $session['user']['superuser']==6)
    {
        
output('<hr />`b`yADMIN:`b`n`0',true);
        
$d dir('special');

        while (
false !== ($entry $d->read()))
        {
            
// Skip non php files (including directories)
            
if(strpos($entry,'.php') === false)
            continue;

            
// Skip any hidden files
            
if (substr($entry,0,1)=='.')
            continue;

            
output('<a href="forest.php?specialinc='.$entry.'">`i`l'.$entry.'`i`0</a>`n'true);
            
addnav('','forest.php?specialinc='.$entry.'');
        }
    }
}

function 
borkalize($in)
{
    
$out $in;
    
$out str_replace('. ','. Bork bork. ',$out);
    
$out str_replace(', ',', bork, ',$out);
    
$out str_replace(' h',' hoor',$out);
    
$out str_replace(' v',' veer',$out);
    
$out str_replace('g ','gen ',$out);
    
$out str_replace(' p',' pere',$out);
    
$out str_replace(' qu',' quee',$out);
    
$out str_replace('n ','nen ',$out);
    
$out str_replace('e ','eer ',$out);
    
$out str_replace('s ','ses ',$out);
    return 
$out;
}

function 
getmicrotime()
{
    list(
$usec$sec) = explode(' ',microtime());
    return ((float)
$usec + (float)$sec);
}

function 
make_seed()
{
    list(
$usec$sec) = explode(' 'microtime());
    return (float) 
$sec + ((float) $usec 100000);
}

mt_srand(make_seed());

function 
e_rand($min=false,$max=false)
{
    if (
$min===false)
    return 
mt_rand();

    
$min*=1000;
    if (
$max===false)
    return 
round(mt_rand($min)/1000,0);

    
$max*=1000;
    if (
$min==$max)
    return 
round($min/1000,0);

    if (
$min<$max)
    {return 
round(@mt_rand($min,$max)/1000,0);}

    else if(
$min>$max)
    {return 
round(@mt_rand($max,$min)/1000,0);}
}

function 
is_email($email)
{return 
preg_match("/[[:alnum:]_.-]+[@][[:alnum:]_.-]{2,}.[[:alnum:]_.-]{2,}/",$email);}

function 
checkban($login=false)
{
    global 
$session;

    if (
$session['banoverride'])
    return 
false;

    if (
$login===false)
    {
        
$ip=$_SERVER[REMOTE_ADDR];
        
$id=$_COOKIE['lgi'];
    }

    else
    {
        
$sql "SELECT lastip,uniqueid,banoverride FROM accounts WHERE login='$login'";
        
$result db_query($sql) or die(db_error(LINK));
        
$row db_fetch_assoc($result);

        if (
$row['banoverride'])
        {
            
$session['banoverride']=true;
            
//echo "`nYou are absolved of your bans, son.";
            
return false;
        }

        else
        {}

        
db_free_result($result);
        
$ip=$row['lastip'];
        
$id=$row['uniqueid'];
    }

    
$sql "select * from bans where ((substring('$ip',1,length(ipfilter))=ipfilter AND ipfilter<>'') OR (uniqueid='$id' AND uniqueid<>'')) AND (banexpire='0000-00-00' OR banexpire>'".date("Y-m-d")."')";
    
//echo $sql;
    
$result db_query($sql) or die(db_error(LINK));

    if (
db_num_rows($result)>0)
    {
        
$session=array();
        
$session['message'].="`n`4Du bist einer Verbannung zum Opfer gefallen:`n";

        for (
$i=0;$i<db_num_rows($result);$i++)
        {
            
$row db_fetch_assoc($result);
            
$session['message'].=$row['banreason'];

            if (
$row['banexpire']=="0000-00-00")
            
$session['message'].="  `\$Die Verbannung ist permanent!`0";

            if (
$row['banexpire']!="0000-00-00")
            
$session['message'].="  Der Bann wird am ".date("M d, Y",strtotime($row[banexpire]))." aufgehoben `0";

            
$session['message'].="`n";
        }

        
$session['message'].="`4Wenn du willst, kannst du mit einer Anfrage nach dem Grund fragen.";
        
header("Location: index.php");
        exit();
    }

    
db_free_result($result);
}

function 
increment_specialty()
{
    global 
$session;

    if (
$session['user']['specialty']>0)
    {
        
$skillnames = array(1=>'Dunkle Künste',2=>'Mystische Kräfte',3=>'Diebeskunst',4=>'Feuer Künste',5=>'Druidenzauber',6=>'Luftmagie');
        
$skills = array(1=>'darkarts',2=>'magic',3=>'thievery',4=>'fire',5=>'druid',6=>'luft');
        
$skillpoints = array(1=>'darkartuses',2=>'magicuses',3=>'thieveryuses',4=>'fireuses',5=>'druiduses',6=>'luftuses');
        
$session['user'][$skills[$session['user']['specialty']]]++;

        
output('`n<span style="color: #FF8080;">I</span><span style="color: #F9807D;">n</span><span style="color: #F3807A;"> </span><span style="color: #ED8077;">d</span><span style="color: #E78074;">e</span><span style="color: #E28071;">i</span><span style="color: #DC806E;">n</span><span style="color: #D6806B;">e</span><span style="color: #D08068;">r</span><span style="color: #CB8065;"> </span><span style="color: #C58062;">b</span><span style="color: #BF805F;">e</span><span style="color: #B9805D;">s</span><span style="color: #B3805A;">o</span><span style="color: #AE8057;">n</span><span style="color: #A88054;">d</span><span style="color: #A28051;">e</span><span style="color: #9C804E;">r</span><span style="color: #97804B;">e</span><span style="color: #918048;">n</span><span style="color: #8B8045;"> </span><span style="color: #858042;">F</span><span style="color: #80803F;">ähigkeit `%'.$skillnames[$session['user']['specialty']].' <span style="color: #80803F;">steigst du einen Level auf. </span>',true);

        
$x = ($session['user'][$skills[$session['user']['specialty']]]) % 3;

        if (
$x == 0)
        {
            
output('<span style="color: #80803F;">Du bekommst eine `%zusätzliche <span style="color: #80803F;">Anwendung!</span>',true);
            
$session['user'][$skillpoints[$session['user']['specialty']]]++;
        }

        else
        {
            
output('<span style="color: #80803F;">Um eine weitere Anwendung zu erhalten, brauchst du nur noch `l'.(3-$x).' <span style="color: #80803F;">weitere Aufstiege!</span>',true);
        }
    }

    else
    {
        
output("`7Du wanderst ziel- und planlos durchs Leben. Du solltest eine Rast machen und einige wichtige Entscheidungen für dein weiteres Leben treffen.`n");
    }
}

function 
fightnav($allowspecial=true$allowflee=true)
{
    global 
$PHP_SELF,$session;
    
//$script = str_replace("/","",$PHP_SELF);
    
$script substr($PHP_SELF,strrpos($PHP_SELF,"/")+1);

    
addnav('Kämpfen',''.$script.'?op=fight');

    if (
$allowflee)
    {
addnav('Wegrennen',''.$script.'?op=run');}

    if (
getsetting('autofight',0))
    {
        
addnav('Automatischer Kampf');
        
addnav('5 Runden kämpfen',''.$script.'?op=fight&auto=five');
        
addnav('Bis zum bitteren Ende',''.$script.'?op=fight&auto=full');
    }

    if (
$allowspecial)
    {
/*********************************************************************
 * DUNKLE KUNST
*********************************************************************/
        
if ($session['user']['darkartuses']>0)
        {
            
addnav('`tDu`rnk`qle K`run`tst`0');
            
addnav('Skelette herbeirufen (1/'.$session['user']['darkartuses'].')',''.$script.'?op=fight&skill=DA&l=1',true);
        }

        if (
$session['user']['darkartuses']>1)
        
addnav('Voodoo (2/'.$session['user']['darkartuses'].')',''.$script.'?op=fight&skill=DA&l=2',true);

        if (
$session['user']['darkartuses']>2)
        
addnav('Geist verfluchen (3/'.$session['user']['darkartuses'].')',''.$script.'?op=fight&skill=DA&l=3',true);

        if (
$session['user']['darkartuses']>4)
        
addnav('Seele verdorren (5/'.$session['user']['darkartuses'].')',''.$script.'?op=fight&skill=DA&l=5',true);



/*********************************************************************
 * DIEBESKÜNSTE
*********************************************************************/
        
if ($session['user']['thieveryuses']>0)
        {
            
addnav('`yDi`$eb`%eskü`$ns`yte`0');
            
addnav('Beleidigen (1/'.$session['user']['thieveryuses'].')',''.$script.'?op=fight&skill=TS&l=1',true);
        }

        if (
$session['user']['thieveryuses']>1)
        
addnav('Waffe vergiften (2/'.$session['user']['thieveryuses'].')',''.$script.'?op=fight&skill=TS&l=2',true);

        if (
$session['user']['thieveryuses']>2)
        
addnav('Versteckter Angriff (3/'.$session['user']['thieveryuses'].')',''.$script.'?op=fight&skill=TS&l=3',true);

        if (
$session['user']['thieveryuses']>4)
        
addnav('Angriff von hinten`7 (5/'.$session['user']['thieveryuses'].')',''.$script.'?op=fight&skill=TS&l=5',true);



/*********************************************************************
 * MYSTISCHE KRÄFTE
*********************************************************************/
        
if ($session['user']['magicuses']>0)
        {
            
addnav('`kMy`jst`gis`fche `gKr`jäf`kte`0');
            
addnav('Regeneration (1/'.$session['user']['magicuses'].')',''.$script.'?op=fight&skill=MP&l=1',true);
        }

        if (
$session['user']['magicuses']>1)
        
addnav('Erdenfaust (2/'.$session['user']['magicuses'].')',''.$script.'?op=fight&skill=MP&l=2',true);

        if (
$session['user']['magicuses']>2)
        
addnav('Leben absaugen (3/'.$session['user']['magicuses'].')',''.$script.'?op=fight&skill=MP&l=3',true);

        if (
$session['user']['magicuses']>4)
        
addnav('Blitz Aura (5/'.$session['user']['magicuses'].')',''.$script.'?op=fight&skill=MP&l=5',true);



/*********************************************************************
 * FEUERKÜNSTE
*********************************************************************/
        
if ($session['user']['fireuses']>0)
        {
            
addnav('`%F`$e`yu`xe`!rkü`xn`ys`$t`%e`0');
            
addnav('Feuertanz (1/'.$session['user']['fireuses'].')',''.$script.'?op=fight&skill=FI&l=1',true);
        }

        if (
$session['user']['fireuses']>1)
        
addnav('Feuerwaffe (2/'.$session['user']['fireuses'].')',''.$script.'?op=fight&skill=FI&l=2',true);

        if (
$session['user']['fireuses']>2)
        
addnav('Feuerdrache (3/'.$session['user']['fireuses'].')',''.$script.'?op=fight&skill=FI&l=3',true);

        if (
$session['user']['fireuses']>4)
        
addnav('Seele verbrennen (5/'.$session['user']['fireuses'].')',''.$script.'?op=fight&skill=FI&l=5',true);



/*********************************************************************
 * DRUIDENZAUBER
*********************************************************************/
        
if ($session['user']['druiduses']>0)
        {
            
addnav('`.D`@r`6u`7i`8d`9enz`8a`7u`6b`@e`.r`0');
            
addnav('Ranken (1/'.$session['user']['druiduses'].')',''.$script.'?op=fight&skill=DR&l=1',true);
        }

        if (
$session['user']['druiduses']>1)
        
addnav('Wundheilung (2/'.$session['user']['druiduses'].')',''.$script.'?op=fight&skill=DR&l=2',true);

        if (
$session['user']['druiduses']>2)
        
addnav('Krähenruf (3/'.$session['user']['druiduses'].')',''.$script.'?op=fight&skill=DR&l=3',true);

        if (
$session['user']['druiduses']>4)
        
addnav('Druidenrache (5/'.$session['user']['druiduses'].')',''.$script.'?op=fight&skill=DR&l=5',true);



/*********************************************************************
 * LUFTMAGIE
*********************************************************************/
        
if ($session['user']['luftuses']>0)
        {
            
addnav('Luftmagie');
            
addnav('Staubwind (1/'.$session['user']['luftuses'].')',''.$script.'?op=fight&skill=LU&l=1',true);
        }

        if (
$session['user']['luftuses']>1)
        
addnav('Windschlag (2/'.$session['user']['luftuses'].')',''.$script.'?op=fight&skill=LU&l=2',true);

        if (
$session['user']['luftuses']>2)
        
addnav('Luftschild (3/'.$session['user']['luftuses'].')',''.$script.'?op=fight&skill=LU&l=3',true);

        if (
$session['user']['luftuses']>4)
        
addnav('Wirbelwind (5/'.$session['user']['luftuses'].')',''.$script.'?op=fight&skill=LU&l=5',true);



/*********************************************************************
 * SUPERUSER
*********************************************************************/
        
if ($session['user']['superuser']==6)
        {
            
addnav('`@ADMIN/MOD');
            
addnav('`aGOTTMODUS`0',''.$script.'?op=fight&skill=godmode',true);
        }

        
// spells by anpera
        
$sql="SELECT * FROM items WHERE class='Zauber' AND owner=".$session['user']['acctid']." AND value1>0 ORDER BY name ASC";
        
$result=db_query($sql) or die(db_error(LINK));

        if (
db_num_rows($result)>0)
        
addnav("Zauber");

        for (
$i=0;$i<db_num_rows($result);$i++)
        {
              
$row db_fetch_assoc($result);
            
$spellbuff=unserialize($row[buff]);

            
addnav("`v$spellbuff[name] `0(".$row[value1]."x)","$script?op=fight&skill=zauber&itemid=$row[id]");
        }
        
// end spells
    
}
}

function 
appoencode($data,$priv=false)
{
   global 
$nestedtags,$session,$appoencode;
   
/* Überarbeitet und verkleinert von Eliwood =D */
   
$output '';

   while( !((
$x=strpos($data,"`")) === false) )
    {
        
$tag=substr($data,$x+1,1);
        
$append=substr($data,0,$x);
        
$output.=($priv?$append:HTMLSpecialChars($append));
        
$data=substr($data,$x+2);

        if(
$tag == "0")
        {
            if (
$nestedtags['color'])
            
$output.="</span>";

            unset(
$nestedtags['color']);
        }

        elseif(
$tag == '`')
        {
$output.='`';}

        elseif(
$tag == 'z')
        {
            
// Zufällige Farbe - by Devilzimti
            
$appoencode_s $appoencode;
            
shuffle($appoencode_s);
            
$rand e_rand(0,count($appoencode_s));

            if (
$nestedtags['color'])
            
$output.='</span>';

            else
            
$nestedtags['color']=true;

            
$output.='<span style="color: #'.$appoencode_s[$rand]['color'].';">';
        }

        else
        {
            if(isset(
$appoencode[$tag]))
            {
                
$tagrow $appoencode[$tag];

                if(empty(
$tagrow['color']))
                {
                    if(
$nestedtags[$tagrow['tag']] && strchr($tagrow['tag']," /")==false)
                    {
                        
$output.="</".$tagrow['tag'].">";
                        unset(
$nestedtags[$tagrow['tag']]);
                    }

                    elseif(
strchr($tagrow['tag']," /")==true)
                    
$output.="<".$tagrow['tag'].">\n";

                    else
                    {
                        
$output.="<".$tagrow['tag']." ".$tagrow['style'].">";
                        
$nestedtags[$tagrow['tag']] = true;
                    }
                }

                else
                {
                    if (
$nestedtags['color'])
                    
$output.="</span>";

                    else
                    
$nestedtags['color']=true;

                    
$output.="<span style='color: #".$tagrow['color'].";'>";
                }
            }

            else
            
$output.=$tag;
        }
    }

    if (
$priv)
    
$output.=$data;

    else
    
$output.=HTMLSpecialChars($data);

    return 
$output;
}


function 
Load_Tags()
{
    global 
$db,$link;
    
/* (c) 2005 by Eliwood & Serra */
    
$result DB_Query('SELECT SQL_CACHE * FROM appoencode',LINK);
    
$tags = array();

    while(
$row DB_Fetch_Assoc($result))
    {
$tags[$row['code']] = $row;}

    return 
$tags;
}

function 
Get_Allowed_Tags()
{
    global 
$appoencode;
    
/* (c) 2005 by Eliwood & Serra */
    
while(list($key,$val) = each($appoencode))
    {
        if(
$val['allowed'] == true)
        
$list.=$val['code'];
    }

    return 
preg_quote($list);
}

// Angegebene Tags am Ende des Strings schließen
// (macht keinen Sinn bei Farben, da die nicht geschlossen werden)
function closetags($string$tags)
{
    
$tags explode('`',$tags);

    foreach (
$tags as $siht)
    {
        
$siht trim($siht);

        if (
$siht=='')
        continue;

        if (
substr_count($string,'`'.$siht)%2)
        
$string .= '`'.$siht;
    }

    return 
$string;
}

function 
templatereplace($itemname,$vals=false)
{
    global 
$template;
    @
reset($vals);

    if (!isset(
$template[$itemname]))
    
output("`bWarnung:`b Das `i$itemname`i Template wurde nicht gefunden!`n");

    
$out $template[$itemname];
    
//output($template[$itemname]."`n");

    
while (list($key,$val)=@each($vals))
    {
        if (
strpos($out,"{".$key."}")===false)
        
output("`bWarnung:`b Das `i$key`i Teil wurde im `i$itemname`i Template nicht gefunden! (".$out.")`n");

        
$out str_replace("{"."$key"."}",$val,$out);
    }

    return 
$out;
}

function 
addcharstat($title,$value=false)
{
    
// 2005 by Eliwood
    
if ($value===false)
    {
$charstat.=appoencode(templatereplace('stathead',array('title'=>$title)),true);}

    else
    {
$charstat.=appoencode(templatereplace('statrow',array('title'=>''.$title.'','value'=>''.$value.'')),true);}

    return 
$charstat;
}

function 
charstats()
{
    global 
$session,$playermount;
    
$u =& $session['user'];

    if (
$session['loggedin'])
    {
        
$u['hitpoints']=round($u['hitpoints'],0);
        
$u['experience']=round($u['experience'],0);
        
$u['maxhitpoints']=round($u['maxhitpoints'],0);

        
$exparray=array(1=>100,400,1002,1912,3140,4707,6641,8985,11795,15143,19121,23840,29437,36071,43930,55000);

        while (list(
$key,$val)=each($exparray))
        {
$exparray[$key]= round($val + ($session['user']['dragonkills']/4) * $session['user']['level'] * 100,0);}

        
$exp $session['user']['experience']-$exparray[$session['user']['level']-1];
        
$req=$exparray[$session['user']['level']]-$exparray[$session['user']['level']-1];

        
$waffei $u['weapon'].'`n(Stärke: `%'.$u['weapondmg'].'`0)';
        
$rusti $u['armor'].'`n(Stärke: `%'.$u['armordef'].'`0)';

        
$spirits=array('-6'=>'Wiedererweckt','-2'=>'Sehr schlecht','-1'=>'Schlecht','0'=>'Normal','1'=>'Gut','2'=>'Sehr gut');
        
$volk=array(1=>'`!B`xl`!u`xt`!f`xa`!l`xk`!e',2=>'`6Do`7rn`8enf`7uc`6hs',3=>'`mSi`plb`qer`pwo`mlf',4=>'`&Unbekannt');
        
//16 neue Rassen by Taikun // Text by Taikun, Text der Standartrassen sind original
//http://logdmi.plastic.hl-users.com/logd/
$races=array(
1=>'`2E`3l`4f',
2=>'`7H`6o`mc`lh`me`6l`7f',
3=>'`vD`tu`rn`tk`ve`tl`re`tl`vf',
4=>'`(O`&r`(k',
5=>'`$G`%n`$o`%m',
//6=>'Golem',
//7=>'Hobbit',
8=>'`1K`6o`%b`fo`ml`$d',
9=>'`tZ`mw`pe`mr`tg',
10=>'`&T`8r`&o`8l`&l',
11=>'`$H`7a`8lbli`7n`$g',
12=>'`8E`7c`6h`7s`8e',
13=>'Gargoyle',
//14=>'Minotaure',
15=>'`&W`(e`)r`tw`ro`ql`pf',
//16=>'Vampir',
//17=>'Zombie',
18=>'`mM`pe`mn`ps`mc`ph',
19=>'`xH`ya`$l`&bdä`$m`yo`xn',
20=>'`?D`!ä`xm`!o`?n',
//21=>'Inkubus',
22=>'`yF`&e`(li`&n`ye');

/*
22=>'Elfin',
23=>'Hochelfin',
24=>'Dunkelelfin',
25=>'`(O`&r`(k',
26=>'Gnom',
//27=>'Golem',
//28=>'Hobbit',
29=>'Kobold',
30=>'Zwergin',
31=>'`&T`8r`&o`8l`&l',
32=>'Halblingin',
33=>'Echse',
//34=>'Gargoyle',
//35=>'Minotaure',
36=>'Werwölfin',
//37=>'Vampirin',
//38=>'Zombie',
39=>'Mensch',
40=>'Halbdämonin',
41=>'Dämonin',
//42=>'Sukkubus',
0=>'Unbekannt',
50=>'Hoverschaf');
*/

        
if ($u['alive'])
        {}

        else
        {
$spirits[$u['spirits']] = 'tot';}

        
reset($session['bufflist']);
        
$atk=$u['attack'];
        
$def=$u['defence'];

        while (list(
$key,$val)=each($session['bufflist']))
        {
            
$buffs.=appoencode('`1'.$val['name'].' `l('.$val['rounds'].' Runden übrig)`n',true);

            if (isset(
$val['atkmod']))
            
$atk *= $val['atkmod'];

            if (isset(
$val['defmod']))
            
$def *= $val['defmod'];
        }

        
$atk round($atk2);
        
$def round($def2);
        
$atk = ($atk == $u['attack'] ? '' : ($atk $u['attack'] ? '' '`x')) . '`b'.$atk.'`b`0';
        
$def = ($def == $u['defence'] ? '' : ($def $u['defence'] ? '' '`x')) . '`b'.$def.'`b`0';

        if (
count($session['bufflist'])==0)
        {
$buffs.=appoencode('Keine`0',true);}



        
$charstat=appoencode(templatereplace('statstart')
        .
templatereplace('stathead',array('title'=>'Charakterinfo'))
        .
templatereplace('statrow',array('title'=>'Name',     'value'=>appoencode($u['name'],false)))
        .
templatereplace('statrow',array('title'=>'Rasse',    'value'=>''.$races[(string)$u['race']].''))
        .
templatereplace('statrow',array('title'=>'Blutlinie','value'=>''.$volk[(string)$u['volk']].'')),true);


        if (
$session['user']['alive'])
        {
            
$charstat.=appoencode(
            
templatereplace('statrow',array('title'=>'Lebenspunkte','value'=>''.$u['hitpoints'].'`0/'.$u['maxhitpoints'].''.grafbar($u['maxhitpoints'],$u['hitpoints'])))
            .
templatereplace('statrow',array('title'=>'Erfahrung','value'=>''.$u['experience'].'`0/'.$exparray[$session['user']['level']].''.grafbar($req,$exp).''))
            .
templatereplace('statrow',array('title'=>'Runden','value'=>$u['turns'])),true);
        }

        else
        {
            
$charstat.=appoencode(
             
templatereplace('statrow',array('title'=>'Seelenpunkte','value'=>''.$u['soulpoints'].''.grafbar((5*$u[level]+50),$u['soulpoints'])))
            .
templatereplace('statrow',array('title'=>'Foltern','value'=>$u['gravefights'])),true);
        }

        
$charstat.=appoencode(
        
templatereplace('stathead',array('title'=>'weitere Infos'))
        .
templatereplace('statrow',array('title'=>'Level','value'=>$u['level']))

        .(
$session['user']['alive']?templatereplace('statrow', array('title'=>'Angriff','value'=>$atk))
                                    .
templatereplace('statrow',array('title'=>'Verteidigung','value'=>$def))
                                   :
templatereplace('statrow', array('title'=>'Psyche','value'=>10 round(($u['level']-1)*1.5)))
                                    .
templatereplace('statrow',array('title'=>'Geist','value'=>10 round(($u['level']-1)*1.5))))

        .
templatereplace('statrow',array('title'=>'Stimmung','value'=>''.$spirits[(string)$u['spirits']].''))


        .
templatereplace('stathead',array('title'=>'Besitztum')),true);
        
//.templatereplace('statrow', array('title'=>'Gold',       'value'=>$u['gold']))

        //.templatereplace("stathead",array("title"=>"Weitere Infos")),true);


        
$charstat.=appoencode(
         
templatereplace('statrow', array('title'=>'Edelsteine''value'=>$u['gems']))
        .
templatereplace('statrow', array('title'=>'Gold',       'value'=>$u['gold']))
        .
templatereplace('statrow', array('title'=>'Bankkonto',  'value'=>$u['goldinbank']))
        .
templatereplace('statrow', array('title'=>'Waffe',      'value'=>$waffei))
        .
templatereplace('statrow', array('title'=>'Rüstung',    'value'=>$rusti)),true);

        
// Mounterfahrung by teruk
        
if ($playermount['mountname']!="")
        {
            
$mount unserialize($playermount['mountfeed']);
            
$charstat.=appoencode(
             
templatereplace('statrow',array('title'=>''.$playermount['mountname'].'',
                                            
'value'=>''.$mount['fortschritt'].'/'.($playermount['mountstufe']*$playermount['mountlevel']).''.grafbar(($playermount['mountstufe']*$playermount['mountlevel']),$mount['fortschritt'],40))),true);
        }

        if (
$session['user']['superuser']==|| $session['user']['superuser']==|| $session['user']['superuser']==6):
        
$charstat.=appoencode(
        
templatereplace('stathead',array('title'=>'Admin-Tool'))
        .
templatereplace('statrow',array('title'=>'Schnell-Navi','value'=>fast_nav())),true);
        endif;

        if (
$u['petid']>0)
        {
            
$sql 'SELECT * FROM items WHERE id="'.$u['petid'].'"';
            
$result db_query($sql);
            
$row db_fetch_assoc($result);

            
$pettime strtotime($u['petfeed'])-time();
            
$charstat .= appoencode(templatereplace('statrow',array('title'=>'Haustier','value'=>''.$row['name'].''.grafbar(24*3600,$pettime))),true);
        }

        if(
$session['user']['memberid']>&& $session['user']['gildenactive']==1)
        {
            
$gu =& $session['guild'];

            
/* Rang holen */
            
$rank db_fetch_assoc(db_query('SELECT rankname FROM gildenranks WHERE rankid="'.$session['user']['rankid'].'"'));

            
/* Keinen zugewiesenen Rang? Oder Rangid ungültig? Macht nichts, einfach Ranglos anzeigen. */
            
if($rank['rankname'] == '')
            
$rank['rankname'] = 'ohne Rang';

            
$charstat.=appoencode(
            
templatereplace('stathead',array('title'=>'Gildeninformationen'))
            .
templatereplace('statrow',array('title'=>'Gilde',      'value' => $gu['gildenname']))
            .
templatereplace('statrow',array('title'=>'Kürzel',     'value' => $gu['gildenprefix']))
            .
templatereplace('statrow',array('title'=>'Rang',       'value' => $rank['rankname']))
            .
templatereplace('statrow',array('title'=>'Edelsteine''value' => $gu['gems']))
            .
templatereplace('statrow',array('title'=>'Gold',       'value' => $gu['gold'])),true);
        }

        
$result db_fetch_assoc(db_query('SELECT COUNT(acctid) AS onlinecount FROM accounts WHERE locked="0" AND loggedin="1" AND laston>"'.date('Y-m-d H:i:s',strtotime('-'.getsetting('LOGINTIMEOUT',900).' seconds')).'"'));

        if (!
is_array($session['bufflist']))
        
$session['bufflist']=array();

        
$charstat.=appoencode(templatereplace('statbuff',array('title'=>'Aktionen','value'=>$buffs)),true);
        
$charstat.=appoencode(templatereplace('statend'),true);
        return 
$charstat;
    }

    else
    {
        
/* Spieler; Moderatoren; Admin; Onlineanzeige by Eliwood */
        
$onlinecount 0$users 0$mods 0$admins 0$npc 0;
        
$sql="SELECT name,superuser FROM accounts WHERE locked=0 AND loggedin=1 AND laston>'".date("Y-m-d H:i:s",strtotime(date("c")."-".getsetting("LOGINTIMEOUT",900)." seconds"))."' ORDER BY level DESC";

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

        
//$ret=appoencode(templatereplace('statstart').templatereplace('stathead',array('title'=>'Spielerschaft')),true);

        
while ($row db_fetch_assoc($result))
        {
            switch(
$row['superuser']):
                case 
0:

                case 
1:
                    
$text.='`l'.$row['name'].'`0`n';
                    
$users++;
                    break;

                case 
2:
                    
$text2.='`l'.$row['name'].'`0`n';
                    
$mods++;
                    break;

                case 
3:
                    
$text3.='`$'.$row['name'].'`0`n';
                    
$admins++;
                    break;

                case 
4:
                    
$text4.='`@'.$row['name'].'`0`n';
                    
$npc++;
                    break;

            endswitch;
            
$onlinecount++;
        }

        
$ret.=appoencode('`b`%'.$users.' Bewohner online:`b`0`n');
        
$ret.=appoencode($text.'`0');

        if (
$users==0)
        
$ret.=appoencode('`i`rkeine Spieler online`i`n');

        
$ret.=appoencode('`n`b`%'.$mods.' Moderatoren online:`b`0`n');
        
$ret.=appoencode($text2.'`0');

        if (
$mods==0)
        
$ret.=appoencode('`i`rkeine Moderatoren online`i`n');

        
$ret.=appoencode('`n`b`%'.$admins.' Admins online:`b`0`n');
        
$ret.=appoencode($text3.'`0');

        if (
$admins==0)
        
$ret.=appoencode('`i`rkeine Admins online`i`n');

        
$ret.=appoencode('`n`b`%'.$npc.' NPC online:`b`0`n');
        
$ret.=appoencode($text4.'`0');

        if (
$npc==0)
        
$ret.=appoencode('`i`rkeine NPC online`i`n');

        
db_free_result($result);
        
$ret.=(getsetting('maxonline',10)>0?grafbar(getsetting('maxonline',10),(getsetting('maxonline',10)-$onlinecount),180):'');
        return 
$ret;
    }
}

$accesskeys=array();
$quickkeys=array();

function 
addnav($text,$link=false,$priv=false,$pop=false,$newwin=false)
{
    global 
$nav,$session,$accesskeys,$REQUEST_URI,$quickkeys;
    
$text translate($text);
    
/*
    if (date("m-d")=="04-01"){
        $text = borkalize($text);
    }
    */

    
if ($link===false)
    {
$nav.=templatereplace('navhead',array('title'=>appoencode($text,$priv)));}

    elseif (
$link === '')
    {
$nav.=templatereplace('navhelp',array('text'=>appoencode($text,$priv)));}

    else
    {
        if (
$text!='')
        {
            
$extra='';

            if (
$newwin===false)
            {
                if (
strpos($link,'?'))
                {
$extra='&c='.$session['counter'].'';}

                else
                {
$extra='?c='.$session['counter'].'';}
            }

            if (
$newwin===false)
            
$extra.='-'.date('His');

            
//$link = str_replace(' ','%20',$link);
            //hotkey for the link.

            
$key='';

            if (
substr($text,1,1)=='?')
            {
                
// check to see if a key was specified up front.
                
if ($accesskeys[strtolower(substr($text01))]==1)
                {
                    
// output ("key ".substr($text,0,1)." already taken`n");
                    
$text substr($text,2);
                }

                else
                {
                    
$key substr($text,0,1);
                    
$text substr($text,2);
                    
//output("key set to $key`n");
                    
$found=false;

                    for (
$i=0;$i<strlen($text); $i++)
                    {
                        
$char substr($text,$i,1);

                        if (
$ignoreuntil == $char)
                        {
$ignoreuntil="";}

                        else
                        {
                            if (
$ignoreuntil<>"")
                            {
                                if (
$char=="<")
                                
$ignoreuntil=">";

                                if (
$char=="&")
                                
$ignoreuntil=";";

                                if (
$char=="`")
                                
$ignoreuntil=substr($text,$i+1,1);
                            }

                            else
                            {
                                if (
$char==$key)
                                {
                                    
$found=true;
                                    break;
                                }
                            }
                        }
                    }

                    if (
$found==false)
                    {
                        if (
strpos($text"__") !== false)
                        
$text=str_replace("__""(".$key.") "$text);

                        else
                        
$text="(".strtoupper($key).") ".$text;

                        
$i=strpos($text$key);
                        
// output("Not found`n");
                    
}
                }
            }

            if (
$key=="")
            {
                for (
$i=0;$i<strlen($text); $i++)
                {
                    
$char substr($text,$i,1);

                    if (
$ignoreuntil == $char)
                    {
$ignoreuntil="";}

                    else
                    {
                        if ((
$accesskeys[strtolower($char)]==1) || (strpos("abcdefghijklmnopqrstuvwxyz0123456789"strtolower($char)) === false) || $ignoreuntil<>"")
                        {
                            if (
$char=="<")
                            
$ignoreuntil=">";

                            if (
$char=="&")
                            
$ignoreuntil=";";

                            if (
$char=="`")
                            
$ignoreuntil=substr($text,$i+1,1);
                        }

                        else
                        {break;}
                    }
                }
            }

            if (
$i<strlen($text))
            {
                
$key=substr($text,$i,1);
                
$accesskeys[strtolower($key)]=1;
                
$keyrep=" accesskey=\"$key\" ";
            }

            else
            {
                
$key="";
                
$keyrep="";
            }
            
//output("Key is $key for $text`n");

            
if ($key=="")
            {
                
//$nav.="<a href=\"".HTMLSpecialChars($link.$extra)."\" class='nav'>".appoencode($text,$priv)."<br></a>";
                //$key==""; // This is useless
            
}

            else
            {
                
$text=substr($text,0,strpos($text,$key))."`H".$key."`H".substr($text,strpos($text,$key)+1);

                if (
$pop)
                {
$quickkeys[$key]=popup($link.$extra);}

                else
                {
$quickkeys[$key]="window.location='$link$extra';";}
            }

            
$nav.=templatereplace("navitem",array(
                
"text"=>appoencode($text,$priv),
                
"link"=>HTMLSpecialChars($link.$extra),
                
"accesskey"=>$keyrep,
                
"popup"=>($pop==true "target='_blank' onClick=\"".popup($link.$extra)."; return false;\"" : ($newwin==true?"target='_blank'":""))
                ));
            
//$nav.="<a href=\"".HTMLSpecialChars($link.$extra)."\" $keyrep class='nav'>".appoencode($text,$priv)."<br></a>";
        
}

        
$session['allowednavs'][$link.$extra]=true;
        
$session['allowednavs'][str_replace(" ""%20"$link).$extra]=true;
        
$session['allowednavs'][str_replace(" ""+"$link).$extra]=true;
    }
}

function 
savesetting($settingname,$value)
{
    global 
$settings;
    
loadsettings();

    if (
$value>"")
    {
        if (!isset(
$settings[$settingname]))
        {
$sql "INSERT INTO settings (setting,value) VALUES (\"".addslashes($settingname)."\",\"".addslashes($value)."\")";}

        else
        {
$sql "UPDATE settings SET value=\"".addslashes($value)."\" WHERE setting=\"".addslashes($settingname)."\"";}

        
db_query($sql) or die(db_error(LINK));
        
$settings[$settingname]=$value;

        if (
db_affected_rows()>0)
        return 
true;

        else
        return 
false;
    }

    return 
false;
}

function 
loadsettings()
{
    global 
$settings;
    
//as this seems to be a common complaint, examine the execution path of this function,
    //it will only load the settings once per page hit, in subsequent calls to this function,
    //$settings will be an array, thus this function will do nothing.

    
if (!is_array($settings))
    {
        
$settings=array();
        
$sql "SELECT * FROM settings";
        
$result db_query($sql) or die(db_error(LINK));

        for (
$i=0;$i<db_num_rows($result);$i++)
        {
            
$row db_fetch_assoc($result);
            
$settings[$row[setting]] = $row[value];
        }

        
db_free_result($result);
        
$ch=0;

        if (
$ch=&& strpos($_SERVER['SCRIPT_NAME'],"login.php"))
        {
            
//@file("http://www.mightye.org/logdserver?".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']);
        
}
    }
}

function 
getsetting($settingname,$default)
{
    global 
$settings;
    
loadsettings();

    if (!isset(
$settings[$settingname]))
    {
        
savesetting($settingname,$default);
        return 
$default;
    }

    else
    {
        if (
trim($settings[$settingname])=='')
        
$settings[$settingname]=$default;

        return 
$settings[$settingname];
    }
}

function 
showform($layout,$row,$nosave=false)
{
    global 
$output;
    
output('<table>',true);

    while(list(
$key,$val)=each($layout))
    {
        
$info split(',',$val);

        if (
$info[1]=='title')
        {
output('<tr><td colspan="2" bgcolor="#666666">`b'.$info[0].'`0`b</td></tr>',true);}

        else
        {
output('<tr><td nowrap valign="top">'.$info[0].'</td><td>',true);}

        switch (
$info[1])
        {
            case 
'title':
                break;

            case 
'enum':
                
reset($info);
                list(
$k,$v)=each($info);
                list(
$k,$v)=each($info);
                
$output.='<select name="'.$key.'">';

                while (list(
$k,$v)=each($info))
                {
                    
$optval $v;
                    list(
$k,$v)=each($info);
                    
$optdis $v;

                    
$output.="<option value='$optval'".($row[$key]==$optval?" selected":"").">".HTMLSpecialChars("$optval : $optdis")."</option>";
                }

                
$output.="</select>";
                break;

            case 
"password":
                
$output.="<input type='password' name='$key' value='".HTMLSpecialChars($row[$key])."'>";
                break;

            case 
"bool":
                
$output.="<select name='$key'>";
                
$output.="<option value='0'".($row[$key]==0?" selected":"").">Nein</option>";
                
$output.="<option value='1'".($row[$key]==1?" selected":"").">Ja</option>";
                
$output.="</select>";
                break;

            case 
"hidden":
                
$output.="<input type='hidden' name='$key' value=\"".HTMLSpecialChars($row[$key])."\">".HTMLSpecialChars($row[$key]);
                break;

            case 
"viewonly":
                
output(dump_item($row[$key]), true);
//              output(str_replace("{","<blockquote>{",str_replace("}","}</blockquote>",HTMLSpecialChars(preg_replace("'(b:[[:digit:]]+;)'","\\1`n",$row[$key])))),true);
                
break;

            case 
'int':
                
$output.='<input name="'.$key.'" value="'.HTMLSpecialChars($row[$key]).'" size="5">';
                break;

            case 
'textarea':
                
$output.='<textarea name="'.$key.'" class="input" cols="'.$info[2].'" rows="'.$info[3].'">'.HTMLSpecialChars($row[$key]).'</textarea>';
                break;

            case 
'file':
                
$output .= '<input name="'.$key.'" type="file">';
                break;

            default:
                case 
'text':
                    
$output.=('<input size="50" name="'.$key.'" maxlength="'.$info[2].'" value="'.HTMLSpecialChars($row[$key]).'">');
                    break;

            default:
            
$output.=('<input size="50" name="'.$key.'" value="'.HTMLSpecialChars($row[$key]).'">');
        }

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

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

    if (
$nosave)
    {}

    else
    
output('<input type="submit" class="button" style="cursor: pointer;" value="Speichern">',true);
}

function 
clearnav()
{
$session['allowednavs']=array();}

function 
redirect($location,$reason=false)
{
    global 
$session,$REQUEST_URI;

    if (
$location!="badnav.php")
    {
        
$session['allowednavs']=array();
        
addnav("",$location);
    }

    if (
strpos($location,"badnav.php")===false)
    
$session[output]="<a href=\"".HTMLSpecialChars($location)."\">Hier klicken</a>";

    
$session['debug'].="Redirected to $location from $REQUEST_URI.  $reason\n";
    
saveuser();
    
header("Location: $location");
    echo 
$location;
    echo 
$session['debug'];
    exit();
}

function 
loadtemplate($templatename)
{
    if (!
file_exists("templates/$templatename") || $templatename=="")
    
$templatename="dreythal.htm";

    
$fulltemplate join("",file("templates/$templatename"));
    
$fulltemplate split("<!--!",$fulltemplate);

    while (list(
$key,$val)=each($fulltemplate))
    {
        
$fieldname=substr($val,0,strpos($val,"-->"));

        if (
$fieldname!="")
        {
$template[$fieldname]=substr($val,strpos($val,"-->")+3);}
    }

    return 
$template;
}

function 
maillink()
{
    global 
$session;
    
$sql "SELECT sum(if(seen=1,1,0)) AS seencount, sum(if(seen=0,1,0)) AS notseen FROM mail WHERE msgto=\"".$session['user'][acctid]."\"";
    
$result db_query($sql) or die(mysql_error(LINK));
    
$row db_fetch_assoc($result);
    
db_free_result($result);
    
$row[seencount]=(int)$row[seencount];
    
$row[notseen]=(int)$row[notseen];

    if (
$row[notseen]>0)
    {
        return 
"<a href='mail.php' target='_blank' onClick=\"".popup("mail.php").";return false;\" class='hotmotd'>Nachrichten: $row[notseen] neu, $row[seencount] alt</a>";
    }

    else
    {     
        return 
"<a href='mail.php' target='_blank' onClick=\"".popup("mail.php").";return false;\" class='motd'>Nachrichten: $row[notseen] neu, $row[seencount] alt</a>";
    }
}

function 
motdlink()
{
    
// missing $session caused unread motd's to never highlight the link
    
global $session;

    if (
$session[needtoviewmotd])
    {
        return 
"<a href='motd.php' target='_blank' onClick=\"".popup("motd.php").";return false;\" class='hotmotd'><b>Tagesbotschaft</b></a>";
    }

    else
    {
        return 
"<a href='motd.php' target='_blank' onClick=\"".popup("motd.php").";return false;\" class='motd'><b>Tagesbotschaft</b></a>";
    }  
}

function 
page_header($title='Dreythal')
{
    global 
$header,$SCRIPT_NAME,$session,$template;
    
$nopopups['login.php']=1;
    
$nopopups['motd.php']=1;
    
$nopopups['index.php']=1;
    
$nopopups['create.php']=1;
    
$nopopups['about.php']=1;
    
$nopopups['mail.php']=1;
    
$nopopups['chat.php']=1;

    
$header $template['header'];
    
$sql "SELECT motddate FROM motd ORDER BY motditem DESC LIMIT 1";
    
$result db_query($sql);
    
$row db_fetch_assoc($result);
    
db_free_result($result);

    if ((
$row[motddate]>$session['user'][lastmotd]) && $nopopups[$SCRIPT_NAME]!=&& $session['user']['loggedin'])
    {
        
$header=str_replace("{headscript}","<script language=\"JavaScript\" type=\"text/javascript\">".popup("motd.php")."</script>",$header);
        
$session['needtoviewmotd']=true;
    }

    else
    {
        
$header=str_replace("{headscript}","",$header);
        
$session['needtoviewmotd']=false;
    }

    
$header=str_replace("{title}",$title,$header);
}

function 
popup($page)
{return 
"window.open('$page','".preg_replace("([^[:alnum:]])","",$page)."','scrollbars=yes,resizable=yes,width=700,height=400')";}

function 
page_footer()
{
    
$forumlink=getsetting('forum','http://dreythal.forumprofi.de/');

    global 
$output,$nestedtags,$header,$nav,$session,$REMOTE_ADDR,$REQUEST_URI,$pagestarttime,$dbtimethishit,$dbqueriesthishit,$quickkeys,$template,$logd_version;

    while (list(
$key,$val)=each($nestedtags))
    {
        
$output.="</$key>";
        unset(
$nestedtags[$key]);
    }

    
$script.="<script language=\"JavaScript\" type=\"text/javascript\">
    <!--
    document.onkeypress=keyevent;
    function keyevent(e)
    {
        var c;
        var target;
        var altKey;
        var ctrlKey;

        if (window.event != null)
        {
            c=String.fromCharCode(window.event.keyCode).toUpperCase();
            altKey=window.event.altKey;
            ctrlKey=window.event.ctrlKey;
        }

        else
        {
            c=String.fromCharCode(e.charCode).toUpperCase();
            altKey=e.altKey;
            ctrlKey=e.ctrlKey;
        }

        if (window.event != null)
        target=window.event.srcElement;

        else
        target=e.target;

        if (target.nodeName.toUpperCase()=='INPUT' || target.nodeName.toUpperCase()=='TEXTAREA' || altKey || ctrlKey)
        {}

        else
        {"
;
            
reset($quickkeys);

            while (list(
$key,$val)=each($quickkeys))
            {
$script.="\n if (c == '".strtoupper($key)."') { $val; return false; }";}

            
$script.="
        }
    }
    //--></script>"
;
    
// chat preview mod by Chaosmaker Modified for Ellis Colortags by Devilzimti)- start

    
$appoencode Load_Tags();
    
$cases" ";

    while(list(
$key,$val) = each($appoencode))
    {
        if(
$val['allowed'] == true)
        {
            
$cases .= "
            case \""
.$val['code']."\":\n

            if (openspan)
            output= output+\"</span>\";

            else
            openspan = true;\n

            output= output+\"<span style='color: #"
.$val['color'].";'>\";\n
            break;\n "
;
        }

        else
        {
$cases .= "\n//".$val['code']." darf hier nicht benutzt werden!\n ";}
    }

    
$script .= <<<JS
    <script type="text/javascript">
    <!--

    function appoencode(data)
    {
        var Fundstelle = -1;
        var tag = '';
        var append = '';
        var output = '<br />Vorschau: ';
        var openspan = false;

        while ((Fundstelle = data.search(/`/)) != -1)
        {
            tag = data.substr(Fundstelle+1, 1);
            append = data.substr(0,Fundstelle);
            append = append.replace(/</,'&lt;');
            append = append.replace(/>/,'&gt;');

            output = output+ append;

            if (data.length >= Fundstelle+2)
            data = data.substring(Fundstelle+2,data.length);

            else
            data = '';

            switch (tag)
            {
                case "0":
                    if (openspan)
                    output= output+"</span>";

                    openspan = false;
                    break;

                
{$cases}

                default:
                    output= output+"`"+tag;
            }
        }

        output += data;

        if (openspan)
        output += '</span>';

        return output;
    }
    //--></script>
JS;
// chat preview mod by Chaosmaker (Modified for Ellis Colortags by Devilzimti) - end

    
$footer $template['footer'];

    if (
strpos($footer,"{paypal}") || strpos($header,"{paypal}"))
    {
$palreplace="{paypal}";}

    else
    {
$palreplace="{stats}";}

    
//NOTICE
    //NOTICE Although I will not deny you the ability to remove the below paypal link, I do request, as the author of this software
    //NOTICE that you leave it in.
    //NOTICE
    
$paypalstr '<table align="center"><tr><td>';
    
$paypalstr .= '<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="nahdude81@hotmail.com">
<input type="hidden" name="item_name" value="Legend of the Green Dragon Author Donation from '
.preg_replace("/[`]./","",$session['user']['name']).'">
<input type="hidden" name="item_number" value="'
.HTMLSpecialChars($session['user']['login']).":".$_SERVER['HTTP_HOST']."/".$_SERVER['REQUEST_URI'].'">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="cn" value="Your Character Name">
<input type="hidden" name="cs" value="1">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="tax" value="0">
<input type="image" title="dem Erfinder von LoGD (MightyE) spenden" src="images/paypal1.gif" name="submit">
</form>'
;
    
$paysite getsetting("paypalemail""");

    if (
$paysite != "")
    {
        
$paypalstr .= '</td><td>';
        
$paypalstr .= '<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">
        <input type="hidden" name="cmd" value="_xclick">
        <input type="hidden" name="business" value="'
.$paysite.'">
<input type="hidden" name="item_name" value="Spende für Dreythal von '
.preg_replace("/[`]./","",$session['user']['name']).'">
<input type="hidden" name="item_number" value="'
.HTMLSpecialChars($session['user']['login']).":".$_SERVER['HTTP_HOST']."/".$_SERVER['REQUEST_URI'].'">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="cn" value="Dein Charaktername">
<input type="hidden" name="cs" value="1">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="tax" value="0">
<input type="image" title="dem Dreythal-Gründer spenden" src="images/paypal2.gif" name="submit">
</form>'
;
    }

    
$paypalstr .= '</td></tr></table>';
    
//   $paypalstr .= '</td></tr><tr><td span="2" align="right" valign="top"><a href="http://www.anpera.net" target="_blank"><img src="images/anpnet-klein.gif" alt="Sponsor" border="0"></a></td></tr></table>';

    
$footer=str_replace($palreplace,(strpos($palreplace,"paypal")?"":"{stats}").$paypalstr,$footer);
    
$header=str_replace($palreplace,(strpos($palreplace,"paypal")?"":"{stats}").$paypalstr,$header);
    
//NOTICE
    //NOTICE Although I will not deny you the ability to remove the above paypal link, I do request, as the author of this software
    //NOTICE that you leave it in.
    //NOTICE
    
$header=str_replace("{nav}",$nav,$header);
    
$footer=str_replace("{nav}",$nav,$footer);

    
$header str_replace("{motd}"motdlink(), $header);
    
$footer str_replace("{motd}"motdlink(), $footer);
    
$header str_replace("{forum}""<a href='$forumlink' target='_blank' class='motd'>Forum</a>"$header);
    
$footer str_replace("{forum}""<a href='$forumlink' target='_blank' class='motd'>Forum</a>"$footer);

    if (
$session['user']['acctid']>0)
    {
        
$header=str_replace("{mail}",maillink(),$header);
        
$footer=str_replace("{mail}",maillink(),$footer);
        
$header=str_replace("{useronline}",useronline(),$header);
        
$footer=str_replace("{useronline}",useronline(),$footer);
        
$header=str_replace("{chat}","<a href='chat.php' target='_blank' class='motd' onClick=\"".popup("chat.php").";return false;\">Chat</a>",$header);
        
$footer=str_replace("{chat}","<a href='chat.php' target='_blank' class='motd' onClick=\"".popup("chat.php").";return false;\">Chat</a>",$footer);
    }

    else
    {
        
$header=str_replace("{mail}","",$header);
        
$footer=str_replace("{mail}","",$footer);
        
$header=str_replace("{useronline}","",$header);
        
$footer=str_replace("{useronline}","",$footer);
        
$header=str_replace("{chat}","",$header);
        
$footer=str_replace("{chat}","",$footer);
    }

    
$header=str_replace("{petition}","<a href='petition.php' onClick=\"".popup("petition.php").";return false;\" target='_blank' align='right' class='motd'>Hilfe anfordern</a>",$header);
    
$footer=str_replace("{petition}","<a href='petition.php' onClick=\"".popup("petition.php").";return false;\" target='_blank' align='right' class='motd'>Hilfe anfordern</a>",$footer);

    if (
$session['user']['superuser']>=4)
    {
        
// $sql = "SELECT count(petitionid) AS c,status FROM petitions GROUP BY status";
        
$sql "SELECT max(lastact) AS lastact, count(petitionid) AS c,status FROM petitions GROUP BY status";
        
$result db_query($sql);
        
$petitions=array(0=>0,1=>0,2=>0);
        
$petitions['unread'] = false;

        for (
$i=0;$i<db_num_rows($result);$i++)
        {
            
$row db_fetch_assoc($result);
            
$petitions[(int)$row['status']] = $row['c'];

            if (
$row['lastact']>$session['lastlogoff'])
            
$petitions['unread'] = true;
        }

        
db_free_result($result);
        
// Neue Petitionen; schauen, ob Sternchen nötig ist
        
$petitions['star'] = '';

        if (
$petitions['unread'])
        {
            
$sql 'SELECT petitionid, lastact FROM petitions WHERE lastact > "'.$session['lastlogoff'].'"';
            
$result db_query($sql);

            while (
$row db_fetch_assoc($result))
            {
                if (!
$session['petitions'][$row['petitionid']])
                {
$petitions['star'] = '<span class="colDkRed">*</span>';}
            }

            
db_free_result($result);
        }

        
$footer '<br /><b><a href="viewpetition.php" style="color: #FFFF00;">Anfragen:</a></b> '.$petitions[0].' ungelesen, '.$petitions[1].' gelesen, '.$petitions[2].' geschlossen<a>'.$footer;

        
addnav('','viewpetition.php');
        
    }
    
    if (
$session['user']['superuser']>=1)
    {
        
$footer '<hr /><b><a href="superuser.php" style="color: #FFFF00;">Adminhöhle</a></b><a>'.$footer;                   
        
addnav('','superuser.php');
    }
    
    
$footer=str_replace("{stats}",charstats(),$footer);
    
$header=str_replace("{stats}",charstats(),$header);
    
$header=str_replace("{script}",$script,$header);

    if (
$session['user']['loggedin'])
    {
        
$footer=str_replace("{source}","<a href='source.php?url=".preg_replace("/[?].*/","",($_SERVER['REQUEST_URI']))."' target='_blank'>Source</a>",$footer);
        
$header=str_replace("{source}","<a href='source.php?url=".preg_replace("/[?].*/","",($_SERVER['REQUEST_URI']))."' target='_blank'>Source</a>",$header);
    }

    else
    {
        
$footer=str_replace("{source}","<a href='source.php' target='_blank'>Source</a>",$footer);
        
$header=str_replace("{source}","<a href='source.php' target='_blank'>Source</a>",$header);
    }

    
$footer=str_replace("{copyright}","Copyright 2002-2003, Game: Eric Stevens",$footer);
    
$footer=str_replace("{version}""Version: $logd_version"$footer);
    
$gentime getmicrotime()-$pagestarttime;
    
$session['user']['gentime']+=$gentime;
    
$session['user']['gentimecount']++;
    
$dbtimethishit=round($dbtimethishit,2);

    
// $footer=str_replace("{pagegen}","Seitengenerierung: ".round($gentime,2)."s, Schnitt: ".round($session['user'][gentime]/$session['user'][gentimecount],2)."s - ".round($session['user'][gentime],2)."/".round($session['user'][gentimecount],2)."".($session['user'][superuser]>1?"; DB: $dbqueriesthishit in $dbtimethishit s":"")."",$footer);

    
$footer=str_replace("{pagegen}","Seitengenerierung: ".round($gentime,2)."s, Schnitt: ".round($session['user']['gentime']/$session['user']['gentimecount'],2)."s".($session['user']['superuser']>1?"; DB: $dbqueriesthishit in ".$dbtimethishit."s":"")."",$footer);

    if (
strpos($_SERVER['HTTP_HOST'],"lotgd.net")!==false)
    {
        
$footer=str_replace
        
(
            
"</html>",
            
'<script language="JavaScript" type="text/JavaScript" src="http://www.reinvigorate.net/archive/app.bin/jsinclude.php?5193"></script></html>',

            
$footer
        
);
    }

    
$output=$header.$output.$footer;
    
$session['user']['gensize']+=strlen($output);
    
$session['output']=$output;
    
saveuser();

    
session_write_close();
    
//`mpg123 -g 100 -q hit.mp3 2>&1 > /dev/null`;
    //echo compress_out($output);
    
echo $output;
    exit();
}

function 
popup_header($title="Legend of the Green Dragon")
{
    global 
$header;
    
$header.="<html><head><title>$title</title>";
    
$header.="<link href=\"newstyle.css\" rel=\"stylesheet\" type=\"text/css\">";
    
$header.="</head><body bgcolor='#000000' text='#CCCCCC'><table cellpadding=5 cellspacing=0 width='100%'>";
    
$header.="<tr><td class='popupheader'><b>$title</b></td></tr>";
    
$header.="<tr><td valign='top' width='100%'>";
}

function 
popup_footer()
{
    global 
$output,$nestedtags,$header,$nav,$session;

    while (list(
$key,$val)=each($nestedtags))
    {
        
$output.="</$key>";
        unset(
$nestedtags[$key]);
    }

    
$output.="</td></tr><tr><td bgcolor='#330000' align='center'>Copyright 2002, Eric Stevens</td></tr></table></body></html>";
    
$output=$header.$output;
    
//$session[output]=$output;

    
saveuser();
    echo 
$output;
    exit();
}

function 
clearoutput()
{
    global 
$output,$nestedtags,$header,$nav,$session;
    
$session['allowednavs']="";
    
$output="";

    unset(
$nestedtags);
    
$header="";
    
$nav="";
}



# Fast Nav by MySQL , Text basirend
function fast_nav ()
{
    global 
$fast_nav;
    
$fast_nav .= "<select onchange='if(this.options[this.selectedIndex].value != \"#\") { window.location=this.options[this.selectedIndex].value }'>";
    
$fast_nav .= '<option value="#">Gehe zu:</option>';

    
$data fopen('fast_nav.txt''r');

    while (
$auslesen fscanf($data"%s %s %u"))
    {
        list(
$title$link$aktiv) = $auslesen;

        if (
$aktiv != 0)
        {
            
$fast_nav .= '<option value="'.$link.'">'.$title.'</option>';
            
addnav('',$link);
        }
    }

    
$fast_nav .= '</select>';
    
fclose($data);
    return 
$fast_nav;
}

function 
soap($input)
{
    if (
getsetting("soap",1))
    {
        
$sql "SELECT * FROM nastywords";
        
$result db_query($sql);
        
$row db_fetch_assoc($result);
        
$search $row['words'];
        
$search str_replace("a",'[a4@]',$search);
        
$search str_replace("l",'[l1!]',$search);
        
$search str_replace("i",'[li1!]',$search);
        
$search str_replace("e",'[e3]',$search);
        
$search str_replace("t",'[t7+]',$search);
        
$search str_replace("o",'[o0]',$search);
        
$search str_replace("s",'[sz$]',$search);
        
$search str_replace("k",'c',$search);
        
$search str_replace("c",'[c(k]',$search);
        
$start "'(\s|\A)";
        
$end "(\s|\Z)'iU";
        
$search str_replace("*","([[:alnum:]]*)",$search);
        
$search str_replace(" ","$end $start"$search);
        
$search "$start".$search."$end";
        
$search split(" ",$search);
        return 
preg_replace($search,"\\1`i$@#%`i\\2",$input);
    }

    else
    {return 
$input;}
}

function 
saveuser()
{
    global 
$session,$dbqueriesthishit;
//    $cmd = date("Y-m-d H:i:s")." $dbqueriesthishit ".$_SERVER['REQUEST_URI'];
//    @exec("echo $cmd >> /home/groups/l/lo/lotgd/sessiondata/data/queryusage-".$session['user']['login'].".txt");

    
if ($session['loggedin'] && $session['user']['acctid']!="")
    {
          
$session['user']['output']=$session['output'];
          
$session['user']['allowednavs']=serialize($session['allowednavs']);
        
$session['user']['bufflist']=serialize($session['bufflist']);

        if (
is_array($session['user']['prefs']))
        
$session['user']['prefs']=serialize($session['user']['prefs']);

        if (
is_array($session['user']['dragonpoints']))
        
$session['user']['dragonpoints']=serialize($session['user']['dragonpoints']);

          
$sql="UPDATE accounts SET ";
          
reset($session['user']);

          while(list(
$key,$val)=each($session['user']))
        {
              if (
is_array($val))
            {
$sql.="$key='".addslashes(serialize($val))."', ";}

            else
            {
$sql.="$key='".addslashes($val)."', ";}
          }

          
$sql substr($sql,0,strlen($sql)-2);
          
$sql.=" WHERE acctid = ".$session['user'][acctid];
          
db_query($sql);
    }
}

function 
createstring($array)
{
    if (
is_array($array))
    {
        
reset($array);

        while (list(
$key,$val)=each($array))
        {
$output.=rawurlencoderawurlencode($key)."\"".rawurlencode($val) )."\"";}

        
$output=substr($output,0,strlen($output)-1);
    }

    return 
$output;
}

function 
createarray($string)
{
    
$arr1 split("\"",$string);
    
$output = array();

    while (list(
$key,$val)=each($arr1))
    {
        
$arr2=split("\"",rawurldecode($val));
        
$output[rawurldecode($arr2[0])] = rawurldecode($arr2[1]);
    }

    return 
$output;
}

function 
output_array($array,$prefix="")
{
    while (list(
$key,$val)=@each($array))
    {
        
$output.=$prefix."[$key] = ";

        if (
is_array($val))
        {
$output.="array{\n".output_array($val,$prefix."[$key]")."\n}\n";}

        else
        {
$output.=$val."\n";}
    }

    return 
$output;
}

function 
dump_item($item)
{
    
$output "";

    if (
is_array($item))
    
$temp $item;

    else
    
$temp unserialize($item);

    if (
is_array($temp))
    {
        
$output .= "array(" count($temp) . ") {<blockquote>";

        while(list(
$key$val) = @each($temp))
        {
$output .= "'$key' = '" dump_item($val) . "'`n";}

        
$output .= "</blockquote>}";
    }

    else
    {
$output .= $item;}

    return 
$output;
}

function 
addnews($news)
{
    global 
$session;
    
$sql "INSERT INTO news(newstext,newsdate,accountid) VALUES ('".addslashes($news)."',NOW(),".$session['user'][acctid].")";
    return 
db_query($sql) or die(db_error($link));
}

function 
checkday()
{
    global 
$session,$revertsession,$REQUEST_URI;
  
//output("`1`iChecking to see if you're due for a new day: ".$session['user'][laston].", ".date("Y-m-d H:i:s")."`i`n`0");

    
if ($session['user']['loggedin'])
    {
        
output("<!--CheckNewDay()-->",true);

        if(
is_new_day())
        {
            
$session=$revertsession;
            
$session['user']['restorepage']=$REQUEST_URI;
            
$session['allowednavs']=array();
            
addnav("","newday.php");
            
redirect("newday.php");
        }
    }
}

function 
is_new_day()
{
    global 
$session;
    
$t1 gametime();
    
$t2 convertgametime(strtotime($session['user']['lasthit']));
    
$d1 date("Y-m-d",$t1);
    
$d2 date("Y-m-d",$t2);

    if (
$d1!=$d2)
    {return 
true;}

    else
    {return 
false;}
}

function 
getgametime()
{return 
date(getsetting('gametimeformat','g:i a'),gametime());}

// Gamedate-Mod by Chaosmaker
function getgamedate()
{
    
$date explode('-',getsetting('gamedate','0005-01-01'));
    
$find = array('%Y','%y','%m','%n','%d','%j');
    
$replace = array($date[0],sprintf('%02d',$date[0]%100),sprintf('%02d',$date[1]),(int)$date[1],sprintf('%02d',$date[2]),(int)$date[2]);
    return 
str_replace($find,$replace,getsetting('gamedateformat','%Y-%m-%d'));
}

function 
gametime()
{
    
$time convertgametime(strtotime(date("c")));
    return 
$time;
}

function 
convertgametime($intime)
{
    
// Hehe, einen hamwa noch, einen hamwa noch: by JT & anpera
    
$multi getsetting('daysperday',4);
    
$offset getsetting('gameoffsetseconds',0);
    
$fixtime mktime(0,0,0-$offset,date('m')-$multi,date('d'),date('Y'));
    
$time=$multi*(strtotime(date('Y-m-d H:i:s',$intime))-$fixtime);
    
$time=strtotime(date('Y-m-d H:i:s',$time).'+'.($multi*date('I',$intime)).' hour');
    
$time=strtotime(date('Y-m-d H:i:s',$time).'-'.date('I',$time). ' hour');
    
$time=strtotime(date('Y-m-d H:i:s',$time).'+'.(23-$multi).' hour');
    return 
$time;
}

function 
sql_error($sql)
{
    global 
$session;
    return 
output_array($session)."SQL = <pre>$sql</pre>".db_error(LINK);
}

function 
ordinal($val)
{
    
$exceptions = array(1=>'ten',2=>'ten',3=>'ten',11=>'ten',12=>'ten',13=>'ten');
    
$x = ($val 100);

    if (isset(
$exceptions[$x]))
    {return 
$val.$exceptions[$x];}

    else
    {
        
$x = ($val 10);

        if (isset(
$exceptions[$x]))
        {return 
$val.$exceptions[$x];}

        else
        {return 
$val.'ten';}
    }
}

function 
addcommentary()
{
    global 
$_POST,$session,$REQUEST_URI,$_GET,$doublepost;
    
$doublepost=0;

    
$section=$_POST['section'];
    
$talkline=$_POST['talkline'];

    if (
$_POST['insertcommentary'][$section]!==NULL &&    trim($_POST['insertcommentary'][$section])!="")
    {
        
$commentary str_replace("`n","",soap($_POST['insertcommentary'][$section]));
        
$y strlen($commentary);

        for (
$x=0;$x<$y;$x++)
        {
            if (
substr($commentary,$x,1)=="`")
            {
                
$colorcount++;

                if (
$colorcount>=getsetting("maxcolors",30))
                {
                    
$commentary substr($commentary,0,$x).preg_replace("'[`].'","",substr($commentary,$x));
                    
$x=$y;
                }

                
$x++;
            }
        }

        if(
substr($commentary,0,2)=="/X")
        
$talkline "sagt";

        if (
$session['user']['superuser']==|| $session['user']['superuser']==|| $session['user']['superuser']==3// Wenn Superuserlevel kleiner als 2 ist, /X aus dem String entfernen
        
{$commentary str_replace("/X","",$commentary);}

        if (
substr($commentary,0,1)!=":" && substr($commentary,0,2)!="::" && substr($commentary,0,3)!="/me" && substr($commentary,0,2)!="/X" && $session['user']['drunkenness']>0)
        {
//drunk people shouldn't talk very straight.
            
$straight $commentary;
            
$replacements=0;

            while (
$replacements/strlen($straight) < ($session['user']['drunkenness'])/500 )
            {
                
$slurs = array('a'=>'aa','e'=>'ee','f'=>'ff','h'=>'hh','i'=>'ij','l'=>'ll','m'=>'mm','n'=>'nn','o'=>'oo','r'=>'rr','s'=>'sh','u'=>'uu','v'=>'vv','w'=>'ww','y'=>'yy','z'=>'zz');

                if (
e_rand(0,9))
                {
                    
srand(e_rand());
                    
$letter array_rand($slurs);
                    
$x strpos(strtolower($commentary),$letter);

                    if (
$x!==false &&
                        
substr($comentary,$x,5)!="*hic*" &&
                        
substr($commentary,max($x-1,0),5)!="*hic*" &&
                        
substr($commentary,max($x-2,0),5)!="*hic*" &&
                        
substr($commentary,max($x-3,0),5)!="*hic*" &&
                        
substr($commentary,max($x-4,0),5)!="*hic*"
                        
)
                    {
                        if (
substr($commentary,$x,1)<>strtolower($letter)) $slurs[$letter] = strtoupper($slurs[$letter]); else $slurs[$letter] = strtolower($slurs[$letter]);
                        
$commentary substr($commentary,0,$x).$slurs[$letter].substr($commentary,$x+1);

                        
$replacements++;
                    }
                }

                else
                {
                    
$x e_rand(0,strlen($commentary));

                    if (
substr($commentary,$x,5)=="*hic*")
                    {
$x+=5;} //output("moved 5 to $x ");

                    
if (substr($commentary,max($x-1,0),5)=="*hic*")
                    {
$x+=4;} //output("moved 4 to $x ");

                    
if (substr($commentary,max($x-2,0),5)=="*hic*")
                    {
$x+=3;} //output("moved 3 to $x ");

                    
if (substr($commentary,max($x-3,0),5)=="*hic*")
                    {
$x+=2;} //output("moved 2 to $x ");

                    
if (substr($commentary,max($x-4,0),5)=="*hic*")
                    {
$x+=1;} //output("moved 1 to $x ");

                    
$commentary substr($commentary,0,$x)."*hic*".substr($commentary,$x);
                    
//output($commentary."`n");
                    
$replacements++;
                }
//end if
            
}//end while
            //output("$replacements replacements (".($replacements/strlen($straight)).")`n");

            
while (strpos($commentary,"*hic**hic*"))
            
$commentary str_replace("*hic**hic*","*hic*hic*",$commentary);
        }
//end if

        
$commentary preg_replace("'([^[:space:]]{45,45})([^[:space:]])'","\\1 \\2",$commentary);

        if (
$session['user']['drunkenness']>50)
        
$talkline 'lallt';

        
$talkline translate($talkline);

        if (
$talkline!='sagt' // do an emote if the area has a custom talkline and the user isn't trying to emote already.
&& substr($commentary,0,1)!=':'
&& substr($commentary,0,2)!='::'
&& substr($commentary,0,2)!='/X'
&& substr($commentary,0,3)!='/me')
        
$commentary ':`°'.$talkline.': \\"`l'.$commentary.'`°\\"';

        
$sql "SELECT commentary.comment,commentary.author FROM commentary WHERE section='$section' ORDER BY commentid DESC LIMIT 1";
        
$result db_query($sql) or die(db_error(LINK));
        
$row db_fetch_assoc($result);
        
db_free_result($result);

        if (
$row['comment']!=stripslashes($commentary) || $row['author']!=$session['user']['acctid'])
        {
        
// if ($row[comment]!=$commentary || $row[author]!=$session['user'][acctid]){
          
$sql "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'$section',".$session['user']['acctid'].",\"$commentary\")";
            
db_query($sql) or die(db_error(LINK));

            
$nopoints_sections = array('ooc'=>true,'superuser'=>true);


/*Chaosmaker*/
// ,"blaa2-".$session['user']['specialmisc']['houseid']=>true
// );


if (!$nopoints_sections[''.$section.''] && $session['user'])
{
    
$postdp round(count(explode(' ',$commentary))/50);

    if (
$session['user'] && count(explode(' ',$commentary)) >=50)
    {
        
$session['user']['donation']+=$postdp;
        
$session['user']['gems']++;

        
//$session['user']['gold']+=200;
        /*
        $sql="UPDATE gilden SET gildenpunkte=gildenpunkte+'".$postdp."' WHERE gildenid='".$session['user']['memberid']."'";
        db_query($sql) or die(db_error(LINK));
        */
    
}

    
$postexp getsetting('postexp','20');

    if (
$session['user'] && count(explode(' ',$commentary)) >=50)
    {
        
$session['user']['experience']=$session['user']['experience']+($postexp*$session['user']['level']+($session['user']['dragonkills']));
    }

    
$postgeld getsetting('postgeld','50');

    if (
$session['user'] && count(explode(' ',$commentary)) >=50)
    {
$session['user']['gold']=$session['user']['gold']+($postgeld*$session['user']['level']);}
}

            return 
true;
        }

        else
        {
$doublepost 1;}
    }

    return 
false;
}

function 
viewcommentary($section,$message="",$limit=10,$talkline="sagt")
{
    global 
$_POST,$session,$REQUEST_URI,$_GET$doublepost,$appoencode_str;

    if(isset(
$session['user']['prefs']['comcount']) && $session['user']['prefs']['comcount']!='0')
    
$limit $session['user']['prefs']['comcount'];

    
$nobios = array('motd.php'=>true);

    if (
$nobios[basename($_SERVER['SCRIPT_NAME'])])
    
$linkbios=false; else $linkbios=true;

    if (
$doublepost)
    
output("`\$`bDoppelpost?`b`0`n");

    
$message translate($message);
    
$com=(int)$_GET[comscroll];

    
$rmax=db_query("SELECT count(commentid) AS c FROM commentary WHERE section='".$section."'");
    
$rmax=db_fetch_assoc($rmax);
    
$rmax = ($rmax[c]) / ($limit);
    
$rmax=floor($rmax);

    
$sql "SELECT commentary.*,
                   accounts.name,
                   accounts.login,
                   accounts.prefs,
                   accounts.loggedin,
                   accounts.location,
                   accounts.laston,
                   accounts.memberid,
                   accounts.acctid,
                   gilden.gildenprefix,
                   gilden.gildenid,
                   gilden.leaderid
              FROM commentary
             INNER JOIN accounts
                ON accounts.acctid = commentary.author
             LEFT JOIN gilden
                ON gilden.leaderid = accounts.acctid OR gilden.gildenid = accounts.memberid
             WHERE section = '
$section'
               AND accounts.locked=0
             ORDER BY commentid DESC
             LIMIT "
.($com*$limit).",$limit";
    
$result db_query($sql) or die(db_error(LINK));
    
$counttoday=0;

    
output('<h3 align="center" style="font-family: Calligraphic; background-color: #FFA5A5;">`{aktuelles Geschehen:`0</h3>',true);
    
//output('<h3 style="background-color: #000000;"><img src="images/aktgesch.jpg" height="25"/></h3>',true);

    
for ($i=0;$i db_num_rows($result);$i++)
    {
        
$row db_fetch_assoc($result);
        
$row['comment']=preg_replace("'[`][^".$appoencode_str."`]'","",$row['comment']);
        
$commentids[$i] = $row['commentid'];

        
/* Who wrote? */
        
$authors[$i] = $row['name'];


/* limit posts
        if (date("Y-m-d",strtotime($row[postdate]))==date("Y-m-d")){
//            if ($row[name]==$session['user'][name] && substr($section,0,5)!="house") $counttoday++;
        }
*/
        
$x=0;
        
$ft='';

        
$timest='';

        if (
$session['user']['prefs']['timestamps'])
        
$timest='`l['.date('d.m./H:i',strtotime($row['postdate'])).']`_';

        for (
$x=0;strlen($ft)<&& $x<strlen($row['comment']);$x++)
        {
            if (
substr($row['comment'],$x,1)=='`' && strlen($ft)==0)
            {
$x++;}

            else
            {
$ft.=substr($row['comment'],$x,1);}
        }

        
$link "bio.php?char=".rawurlencode($row['login']) . "&ret=".URLEncode($_SERVER['REQUEST_URI']);

        
$link2 "`l[<a href='showdetail.php?id=".$row['gildenid']."' target='window_popup' onClick=\"".popup("showdetail.php?id=".$row['gildenid'])."; return false;\">`%".stripslashes($row['gildenprefix'])."</a>`l]";

        if (
substr($ft,0,2)=='::')
        
$ft substr($ft,0,2);

        else if (
substr($ft,0,2)=='/X')
        
$ft substr($ft,0,2);

        else if (
substr($ft,0,1)==':')
        
$ft substr($ft,0,1);

           
/*
        Landschafts-Emote by Eliwood
        */

        
if ($ft=='/X')
        {
            
$x strpos($row['comment'],$ft);

            if (
$x!==false)
            {
                if (
$linkbios)
                
$op[$i] = str_replace("&amp;","&",HTMLSpecialChars(substr($row[comment],0,$x)))."`0\n`l ".str_replace("&amp;","&",HTMLSpecialChars(substr($row[comment],$x+strlen($ft))))."`0`n";

                else
                
$op[$i] = str_replace("&amp;","&",HTMLSpecialChars(substr($row[comment],0,$x)))."`0\n`l ".str_replace("&amp;","&",HTMLSpecialChars(substr($row[comment],$x+strlen($ft))))."`0`n";
            }
        }
        
/*Landschaft-Emote Ende*/

        
elseif ($ft=="::" || $ft=="/me" || $ft==":")
        {
            
$x strpos($row['comment'],$ft);

            if (
$x!==false)
            {
                if (
$linkbios)
                
$op[$i] = $timest.str_replace("&amp;","&",HTMLSpecialChars(substr($row['comment'],0,$x)))." `0".$link2."`0<a href='$link'>\n`l$row[name]</a>`0\n`l ".str_replace("&amp;","&",HTMLSpecialChars(substr($row['comment'],$x+strlen($ft))))."`0`n";

                else
                
$op[$i] = $timest.str_replace("&amp;","&",HTMLSpecialChars(substr($row['comment'],0,$x)))."`0\n`l$row[name]`0\n`l ".str_replace("&amp;","&",HTMLSpecialChars(substr($row['comment'],$x+strlen($ft))))."`0`n";
            }
        }

        if (
$op[$i]=="")
            if (
$linkbios)
            
$op[$i] = $timest." `0".$link2."`0 <a href='$link' style='text-decoration: none'>`l{$row['name']}`0</a>`3 sagt: \"`1".str_replace("&amp;","&",HTMLSpecialChars($row['comment']))."`3\"`0`n";

            else
            
$op[$i] = $timest."`0`l{$row['name']}`0`3 sagt: \"`1".str_replace("&amp;","&",HTMLSpecialChars($row['comment']))."`3\"`0`n";

        if (
$message=="X")
        
$op[$i]="`0($row[section]) ".$op[$i];

        
$loggedin=(date("U") - strtotime($row['laston']) < getsetting("LOGINTIMEOUT",900) && $row['loggedin'] && $row['location']==0);

        if (
$row['postdate']>=$session['user']['recentcomments'])
        
$op[$i]=($loggedin?"<img src='images/new-online.gif' width='3' height='5' align='absmiddle'> ":"<img src='images/new.gif' width='3' height='5' align='absmiddle'> ").$op[$i];

        
addnav("",$link);
    }

    
$i--;
    
$outputcomments=array();
    
$sect="x";

    for (;
$i>=0;$i--)
    {
        
$out="";

        if (
$session['user']['superuser']==&& $message=="X" || $session['user']['superuser']==&& $message=="X" || $session['user']['superuser']==&& $message=="X" || $session['user']['superuser']==&& $message=="X")
        {
            
$out.="<a href='superuser.php?op=commentdelete&commentid=$commentids[$i]&return=".URLEncode($_SERVER['REQUEST_URI'])."'>`e`b`ilöschen`i`b`0</a> ".$authors[$i]."";

            
addnav("","superuser.php?op=commentdelete&commentid=$commentids[$i]&return=".URLEncode($_SERVER['REQUEST_URI']));

            
$matches=array();
            
preg_match("/[(][^)]*[)]/",$op[$i],$matches);
            
$sect=$matches[0];
        }

        
//output($op[$i],true);
        
$out.=$op[$i];

        if (!
is_array($outputcomments[$sect]))
        
$outputcomments[$sect]=array();

        
array_push($outputcomments[$sect],$out);
    }

    
ksort($outputcomments);
    
reset($outputcomments);

    while (list(
$sec,$v)=each($outputcomments))
    {
        if (
$sec!="x")
        
output("`n`b$sec`b`n");

        
output(implode('',$v),true);
    }

    
output('`n`c<hr width="50%" />`c`n',true);

    if (
$session['user']['loggedin'])
    {
        if (
$message!='X')
        {
            if (
$talkline!='says')
            
$tll strlen($talkline)+11;

            else
            
$tll=0;
            
// chat preview mod by Chaosmaker
            /*output("<form action=\"$REQUEST_URI\" method='POST'>$message`n
                    <textarea cols='35' rows='4' name='insertcommentary[$section]'></textarea>
                    <input type='hidden' name='talkline' value='$talkline'>
                    <input type='hidden' name='section' value='$section'>
                    <input type='submit' class='button' value='Hinzufügen'>
                    <span id='chatpreview'></span>`n".(round($limit/2,0)-$counttoday<3?"`)
                    (Du hast noch ".(round($limit/2,0)-$counttoday)." Beiträge für heute übrig)":"")."`0`n</form>",true);


              output("<form action=\"$REQUEST_URI\" method='POST'>`@$message`n
                        <textarea cols='40' rows='3' class='input' name='insertcommentary[$section]' maxlength='".(200-$tll)."'></textarea><input type='hidden' name='talkline' value='$talkline'><input type='hidden' name='section' value='$section'><input type='submit' class='button' value='Hinzufügen'>`n".(round($limit/2,0)-$counttoday<3?"`)(Du hast noch ".(round($limit/2,0)-$counttoday)." Beiträge für heute übrig)":"")."`0`n</form>",true);



              */

            
if ($session['user']['prefs']['chatbox']==0)
            {
                
output("<p><form action=\"$REQUEST_URI\" method='POST'>`0$message`n
                            <textarea cols='100' rows='5' class='input' name='insertcommentary[
$section]' maxlength='".(1000-$tll)."' onkeyup=\"document.getElementById('chatpreview').innerHTML = appoencode(this.value);\" style='width: 500px;'></textarea></p>
                            <input type='hidden' name='talkline' value='
$talkline'>
                            <input type='hidden' name='section' value='
$section'>`n
                            <input type='submit' class='button' title='Füge deinen Kommentar dem aktuellen Geschehen bei' style='cursor: pointer;' value='Hinzufügen'>
                            <span id='chatpreview'></span>`n"
.(round($limit/2,0)-$counttoday<3?"`)
                            (Du hast noch "
.(round($limit/2,0)-$counttoday)." Beiträge für heute übrig)":"")."`0</form>",true);

                    
addnav("",$REQUEST_URI);
            }

            else
            {
                
// chat preview mod by Chaosmaker
                
output("<form action=\"$REQUEST_URI\" method='POST'>`0$message`n<input name='insertcommentary[$section]' size='40' maxlength='".(1000-$tll)."' onkeyup=\"document.getElementById('chatpreview').innerHTML = appoencode(this.value);\"><input type='hidden' name='talkline' value='$talkline'><input type='hidden' name='section' value='$section'><input type='submit' class='button' title='Füge deinen Kommentar dem aktuellen Geschehen bei' style='cursor: pointer;' value='Hinzufügen'><span id='chatpreview'></span>`n".(round($limit/2,0)-$counttoday<3?"`)(Du hast noch ".(round($limit/2,0)-$counttoday)." Beiträge für heute übrig)":"")."`0</form>",true);
addnav("",$REQUEST_URI);
            }
            
            
addnav('',$REQUEST_URI);
        }
    }
    
    
output('<h3 align="center" class="trhead">',true);

    if (
$com!=$rmax)
    {
        
$req preg_replace("'[&]?c(omscroll)?=([[:digit:]]|-)*'","",$REQUEST_URI)."&comscroll=".$rmax;
        
$req str_replace("?&","?",$req);
        
        if (!
strpos($req,"?")) 
        
$req str_replace("&","?",$req);
                    
        
output(' <a href="'.$req.'">`^zum Anfang`0</a> `l| ',true);
        
addnav('',$req);
    }

    if (
db_num_rows($result)>=$limit)
    {
        
$req preg_replace("'[&]?c(omscroll)?=([[:digit:]-])*'","",$REQUEST_URI)."&comscroll=".($com+1);
        
$req str_replace('?&','?',$req);
        
        if (!
strpos($req,'?')) 
        
$req str_replace('&','?',$req);
        
        
output('<a href="'.$req.'">`^zurück`0</a> `l| ',true);
        
addnav('',$req);
    }
    
    
$req preg_replace("'[&]?c(omscroll)?=([[:digit:]]|-)*'","",$REQUEST_URI)."&comscroll=0";
    
$req str_replace("?&","?",$req);
    
    if (!
strpos($req,"?")) 
    
$req str_replace("&","?",$req);
    
    
output('<a href="'.$req.'">`%`bAktualisieren`b`0</a>',true);
    
addnav('',$req);
    
    if (
$com>0)
    {
        
$req preg_replace("'[&]?c(omscroll)?=([[:digit:]]|-)*'","",$REQUEST_URI)."&comscroll=".($com-1);      
        
$req str_replace("?&","?",$req);
        
        if (!
strpos($req,"?")) 
        
$req str_replace("&","?",$req);
        
        
output(' `l| <a href="'.$req.'">`^weiter`0</a>',true);
        
addnav('',$req);
    }

    if (
$com!=0)
    {
        
$req preg_replace("'[&]?c(omscroll)?=([[:digit:]]|-)*'","",$REQUEST_URI)."&comscroll=0";
        
$req str_replace("?&","?",$req);
        
        if (!
strpos($req,"?")) 
        
$req str_replace("&","?",$req);
        
        
output(' `l| <a href="'.$req.'">`^zum Ende`0</a>',true);
        
addnav('',$req);
    }

    
output('</h3>`lmögliche Farbcodes:`n
            `-``- `_``_ `1``1 `o``o `2``2 `3``3 `4``4 `5``5 `°``° `,``, `.``. `@``@ `6``6 `7``7 `8``8 `9``9 `ß``ß `+``+ `*``* `a``a `e``e `x``x `!``! `?``? `^``^ `%``% `$``$ `y``y `&``& `(``( `)``) `=``= `d``d `f``f `g``g `j``j `k``k `#``# `~``~ `l``l `m``m `p``p `q``q `r``r `t``t `v``v `w``w `{``{ `}``} `[``[ `n`n`0'
,true);

    
db_free_result($result);

//Next New Day in ... is by JT from logd.dragoncat.net
$time gametime();

// $tomorrow = strtotime(date('Y-m-d H:i:s',$time).' + 1 day');
$tomorrow mktime(0,0,0,date('m',$time),date('d',$time)+1,date('Y',$time));

// $tomorrow = strtotime(date('Y-m-d 00:00:00',$tomorrow));
$secstotomorrow $tomorrow-$time;

$realsecstotomorrow round($secstotomorrow / (int)getsetting('daysperday',4));

//Next New Day in ... is by JT from logd.dragoncat.net
$time gametime();

// $tomorrow = strtotime(date("Y-m-d H:i:s",$time)." + 1 day");
$tomorrow mktime(0,0,0,date('m',$time),date('d',$time)+1,date('Y',$time));

// $tomorrow = strtotime(date("Y-m-d 00:00:00",$tomorrow));
$secstotomorrow $tomorrow-$time;
$realsecstotomorrow round($secstotomorrow / (int)getsetting("daysperday",4));

//$nextdattime = date("H \\S\\t\\u\\n\\d\\e\\n, i \\M\\i\\n\\u\\t\\e\\n, s \\S\\e\\k\\u\\n\\d\\e\\n\\ \\(\\E\\c\\h\\t\\z\\e\\i\\t\\)",strtotime("1980-01-01 00:00:00 + $realsecstotomorrow seconds"));

output('<h3 align="center" class="trhead"><div id="index_time">'.$nextdattime.'</div>
        <script language="javascript">
        /*Kleines Schmankerl by Alucard
        http://www.atrahor.de
        */

        var index_time_div = document.getElementById("index_time");
        var index_time_day = Math.ceil(24/'
.(int)getsetting("daysperday",4).');
        var index_dest_time = 0;
    
        function index_act_time()
        {
            var jetzt = new Date();
            var tm = jetzt.getTime();
            
            if( tm > index_dest_time )
            {index_dest_time += index_time_day*3600000+ (tm-index_dest_time);}

            var diff = index_dest_time - tm;
            var edit = "`lDer nächste Tag beginnt in ";
            var s = Math.floor(diff / 3600000);
            diff %= 3600000;
            var m = Math.floor(diff / 60000);
            diff %= 60000;
            var sek = Math.floor(diff / 1000);
            
            index_time_div.innerHTML = edit+s+":"+(m<10 ? "0"+m : (m==71 || m==72 ? ""+m+"" : m))+":"+(sek<10 ? "0"+sek : sek)+" Stunden.";
            
            window.setTimeout("index_act_time()", 1000);
        }
        
        function index_set_time(s,m,sek)
        {
            if( !index_dest_time )
            {
                var jetzt = new Date();
                index_dest_time = jetzt.getTime() + 1000*sek + 60000*m + 3600000*s;
            }
        
            window.setTimeout("index_act_time()", 1);
        }

        if( index_time_div )
        {index_set_time('
.date('G, i, s',strtotime('1980-01-01 00:00:00 + '.$realsecstotomorrow.' seconds')).');}
        
        </script></h3>'
,true);

$result db_fetch_assoc(db_query('SELECT COUNT(acctid) AS onlinecount FROM accounts WHERE locked="0" AND loggedin="1" AND laston>"'.date('Y-m-d H:i:s',strtotime('-'.getsetting('LOGINTIMEOUT',900).' seconds')).'"'));
}

function 
dhms($secs,$dec=false)
{
    if (
$dec===false)
    
$secs=round($secs,0);

    return (int)(
$secs/86400)."d".(int)($secs/3600%24)."h".(int)($secs/60%60)."m".($secs%60).($dec?substr($secs-(int)$secs,1):"")."s";
}

function 
getmount($horse=0)
{
    
$sql 'SELECT * FROM mounts_usr WHERE acctid="'.$horse.'"';
    
$result db_query($sql);

    if (
db_num_rows($result)>0)
    {return 
db_fetch_assoc($result);}

    else
    {return array();}
}

//Rikkarda@silienta-logd.de für Silienta, damit der erste Buchstabe immer gross wird
//gefunden im php handbuch *fg* umgeschrieben auf die create.php
function FormatName($shortname=NULL)
{
    
/* Formats a first or last name, and returns the formatted
    version */

    
if (empty($shortname))
    return 
false;

    
// Initially set the string to lower, to work on it
    
$shortname strtolower($shortname);

    
// Run through and uppercase any multi-barrelled names

    
$names_array explode('-',$shortname);

    for (
$i 0$i count($names_array); $i++)
    {
        
// "McDonald", "O'Conner"..
        
if (strncmp($names_array[$i],'mc',2) == || ereg('^[oO]\'[a-zA-Zöäüàèìòùâêîôûáéíóú\']',$names_array[$i]))
        {
$names_array[$i][2] = strtoupper($names_array[$i][2]);}

        
// Always set the first letter to uppercase, no matter what
        
$names_array[$i] = ucfirst($names_array[$i]);
    }

    
// Piece the names back together
    
$shortname implode('-',$names_array);

    
// Return upper-casing on all missed (but required) elements of the $name var
    
return ucwords($shortname);
  }
//end by Rikkarda for www.silienta-logd.de

function debuglog($message,$target=0)
{
    global 
$session;
    
$sql "DELETE from debuglog WHERE date <'".date("Y-m-d H:i:s",strtotime(date("c")."-".(getsetting("expirecontent",180)/10)." days"))."'";
    
db_query($sql);
    
$sql "INSERT INTO debuglog VALUES(0,now(),{$session['user']['acctid']},$target,'".addslashes($message)."')";
    
db_query($sql);
}

// exp bar mod coded by: dvd871 with modifications by: anpera
function expbar()
{
    global 
$session;
    
$exparray=array(1=>100,400,1002,1912,3140,4707,6641,8985,11795,15143,19121,23840,29437,36071,43930,55000);

    while (list(
$key,$val)=each($exparray))
    {
$exparray[$key]= round($val + ($session['user']['dragonkills']/4) * $key 100,0);}

    
$exp $session['user']['experience']-$exparray[$session['user']['level']-1];
    
$req=$exparray[$session['user']['level']]-$exparray[$session['user']['level']-1];
    
$u="<font face=\"verdana\" size=1>".$session['user']['experience']."<br>".grafbar($req,$exp)."</font>";
    return(
$u);
}

// end exp bar mod

function grafbar($full,$left,$width="70",$height="5")
{
    
$col2='#000000';

    if (
$left<=0)
    {
$col='#000000';}

    else if (
$left<$full/4)
    {
$col='#FF0000';}

    else if (
$left<$full/2)
    {
$col='yellow';}

    else if (
$left>=$full)
    {
        
$col='#00AA00';
        
$col2='#00AA00';
    }

    else
    {
$col='#00FF00';}

    if (
$full==0)
    
$full=1;

    
$u '<table cellspacing="0" style="border: solid 1px #000000" width="'.$width.'" height="'.$height.'"><tr>
          <td width="'
.($left/$full*100).'%" bgcolor="'.$col.'"></td>
          <td width="'
.(100-($left/$full*100)).'%" bgcolor="'.$col2.'"></td></tr></table>';

    return(
$u);
}


if (
file_exists('dbconnect.php'))
{require_once 
'dbconnect.php';}

else
{
    echo 
'Du must die benötigten Informationen in die Datei \'dbconnect.php.dist\' eintragen und sie unter dem Namen \'dbconnect.php\' speichern.'.

    exit();
}

$link db_pconnect($DB_HOST$DB_USER$DB_PASS) or die (db_error($link));
db_select_db ($DB_NAME) or die (db_error($link));
define("LINK",$link);

$appoencode Load_Tags();
$appoencode_str Get_Allowed_Tags();

require_once 
"translator.php";


// Session einstellen & starten
session_name('(spamAndeggsLoGD)');
session_start();

function 
register_global(&$var)
{
    @
reset($var);

    while (list(
$key,$val)=@each($var))
    {
        global $
$key;
        $
$key $val;
    }

    @
reset($var);
}

$session =& $_SESSION['session'];
//echo nl2br(HTMLSpecialChars(output_array($session)));
//register_global($_SESSION);
register_global($_SERVER);

if (
strtotime(date("c")."-".getsetting("LOGINTIMEOUT",900)." seconds") > $session['lasthit'] && $session['lasthit']>&& $session['loggedin'])
{
    
//force the abandoning of the session when the user should have been sent to the fields.
    //echo "Session abandon:".(strtotime("now")-$session[lasthit]);

    
$session=array();
    
$session['message'].="`nDeine Session ist abgelaufen!`n";
}

$session[lasthit]=strtotime(date("c"));
$revertsession=$session;

if (
$PATH_INFO != "")
{
    
$SCRIPT_NAME=$PATH_INFO;
    
$REQUEST_URI="";
}

if (
$REQUEST_URI=="")
{
    
//necessary for some IIS installations (CGI in particular)
    
if (is_array($_GET) && count($_GET)>0)
    {
        
$REQUEST_URI=$SCRIPT_NAME."?";
        
reset($_GET);
        
$i=0;

        while (list(
$key,$val)=each($_GET))
        {
            if (
$i>0)
            
$REQUEST_URI.="&";

            
$REQUEST_URI.="$key=".URLEncode($val);
            
$i++;
        }
    }

    else
    {
$REQUEST_URI=$SCRIPT_NAME;}

    
$_SERVER['REQUEST_URI'] = $REQUEST_URI;
}

$SCRIPT_NAME=substr($SCRIPT_NAME,strrpos($SCRIPT_NAME,"/")+1);

if (
strpos($REQUEST_URI,"?"))
{
$REQUEST_URI=$SCRIPT_NAME.substr($REQUEST_URI,strpos($REQUEST_URI,"?"));}

else
{
$REQUEST_URI=$SCRIPT_NAME;}

$allowanonymous=array("index.php"=>true,"login.php"=>true,"create.php"=>true,"about.php"=>true,"list.php"=>true,"petition.php"=>true,"faqspecial.php"=>true,"connector.php"=>true,"logdnet.php"=>true,"referral.php"=>true,"news.php"=>true,"motd.php"=>true,"topwebvote.php"=>true,"source.php"=>true);
$allownonnav = array("badnav.php"=>true,"buff_tut.php"=>true ,"showdetail.php"=>true,"motd.php"=>true,"petition.php"=>true,"faqspecial.php"=>true,"mail.php"=>true,"topwebvote.php"=>true,"chat.php"=>true,"source.php"=>true);

if (
$session['loggedin'])
{
    
$sql "SELECT * FROM accounts WHERE acctid = '".$session['user']['acctid']."'";
    
$result db_query($sql);

    if (
db_num_rows($result)==1)
    {
        
$session['user']=db_fetch_assoc($result);
        
$session['output']=$session['user']['output'];
        
$session['user']['dragonpoints']=unserialize($session['user']['dragonpoints']);
        
$session['user']['prefs']=unserialize($session['user']['prefs']);

        if (!
is_array($session['user']['dragonpoints']))
        
$session['user']['dragonpoints']=array();

        if (
is_array(unserialize($session['user']['allowednavs'])))
        {
$session['allowednavs']=unserialize($session['user']['allowednavs']);}

        else
        {
            
//depreciated, left only for legacy support.
            
$session['allowednavs']=createarray($session['user']['allowednavs']);
        }

        if (!
$session['user']['loggedin'] || (&& (date("U") - strtotime($session['user'][laston])) > getsetting("LOGINTIMEOUT",900)) )
        {
            
$session=array();
            
redirect("index.php?op=timeout","Account ist nicht eingeloggt, aber die Session denkt, er ist es.");
        }
    }

    else
    {
        
$session=array();
        
$session[message]="`4Fehler! Dein Login war falsch.`0";
        
redirect("index.php","Account verschwunden!");
    }

    
db_free_result($result);

    if (
$session['allowednavs'][$REQUEST_URI] && !$allownonnav[$SCRIPT_NAME])
    {
$session['allowednavs']=array();}

    else
    {
        if (!
$allownonnav[$SCRIPT_NAME])
        {
redirect("badnav.php","Navigation auf $REQUEST_URI nicht erlaubt");}
    }
}

else
{
    
//if ($SCRIPT_NAME!="index.php" && $SCRIPT_NAME!="login.php" && $SCRIPT_NAME!="create.php" && $SCRIPT_NAME!="about.php"){
    
if (!$allowanonymous[$SCRIPT_NAME])
    {
        
$session['message']="`nDu bist nicht eingeloggt. Wahrscheinlich ist deine Sessionzeit abgelaufen.`n`n";
        
redirect("index.php?op=timeout","Not logged in: $REQUEST_URI");
    }
}

//if ($session['user']['loggedin']!=true && $SCRIPT_NAME!="index.php" && $SCRIPT_NAME!="login.php" && $SCRIPT_NAME!="create.php" && $SCRIPT_NAME!="about.php"){

if ($session['user']['loggedin']!=true && !$allowanonymous[$SCRIPT_NAME])
{
redirect("login.php?op=logout");}

$session[counter]++;
$nokeeprestore=array("newday.php"=>1,"badnav.php"=>1,"motd.php"=>1,"mail.php"=>1,"petition.php"=>1,"chat.php"=>1,"faqspecial.php"=>1);

if (!
$nokeeprestore[$SCRIPT_NAME])
//strpos($REQUEST_URI,"newday.php")===false && strpos($REQUEST_URI,"badnav.php")===false && strpos($REQUEST_URI,"motd.php")===false && strpos($REQUEST_URI,"mail.php")===false
  
$session['user'][restorepage]=$REQUEST_URI;
}

else
{}

if (
$session['user']['hitpoints']>0)
{
$session['user']['alive']=true;}

else
{
$session['user']['alive']=false;}

$session['bufflist']=unserialize($session['user']['bufflist']);

if (!
is_array($session['bufflist']))
$session['bufflist']=array();

$session['user'][lastip]=$REMOTE_ADDR;

if (
strlen($_COOKIE[lgi])<32)
{
    if (
strlen($session['user']['uniqueid'])<32)
    {
        
$u=md5(microtime());
        
setcookie("lgi",$u,strtotime(date("c")."+365 days"));
        
$_COOKIE['lgi']=$u;
        
$session['user']['uniqueid']=$u;
    }

    else
    {
setcookie("lgi",$session['user']['uniqueid'],strtotime(date("c")."+365 days"));}
}

else
{
$session['user']['uniqueid']=$_COOKIE[lgi];}

$url "http://".$_SERVER['SERVER_NAME'].dirname($_SERVER['REQUEST_URI']);
$url substr($url,0,strlen($url)-1);

if (
substr($_SERVER['HTTP_REFERER'],0,strlen($url))==$url || $_SERVER['HTTP_REFERER']=="")
{}

else
{
    
$sql "SELECT * FROM referers WHERE uri='{$_SERVER['HTTP_REFERER']}'";
    
$result db_query($sql);
    
$row db_fetch_assoc($result);
    
db_free_result($result);
    
$site str_replace("http://","",$_SERVER['HTTP_REFERER']);

    if (
strpos($site,"/"))
    
$site substr($site,0,strpos($site,"/"));

    if (
$row['refererid']>"")
    {
$sql "UPDATE referers SET count=count+1,last=now(),site='".addslashes($site)."' WHERE refererid='{$row['refererid']}'";}

    else
    {
$sql "INSERT INTO referers (uri,count,last,site) VALUES ('{$_SERVER['HTTP_REFERER']}',1,now(),'".addslashes($site)."')";}

    
db_query($sql);
}

if (
$_COOKIE['template']!='')
$templatename=$_COOKIE['template'];

if (
$templatename=="" || !file_exists("templates/$templatename"))
$templatename="dreythal.htm";

$template loadtemplate($templatename);
//tags that must appear in the header
$templatetags=array('title','headscript','script');

foreach (
$templatetags AS $val)
{
    if (
strpos($template['header'],"{".$val."}")===false)
    
$templatemessage.="You do not have {".$val."} defined in your header\n";
}
//tags that must appear in the footer
$templatetags=array();

foreach (
$templatetags AS $val)
{
    if (
strpos($template['footer'],"{".$val."}")===false)
    
$templatemessage.="You do not have {".$val."} defined in your footer\n";
}
//tags that may appear anywhere but must appear
//touch the copyright and we will force your server to be shut down
$templatetags=array('nav','stats','petition','motd','mail','paypal','copyright','source');

foreach (
$templatetags AS $val)
{
    if (
strpos($template['header'],"{".$val."}")===false && strpos($template['footer'],"{".$val."}")===false)
    
$templatemessage.="You do not have {".$val."} defined in either your header or footer\n";
}

if (
$templatemessage!='')
{
    echo 
'<b>Du hast einen oder mehrere Fehler in deinem Template!</b><br>'.nl2br($templatemessage);
    
$template=loadtemplate('dreythal.htm');
}

//16 neue Rassen by Taikun // Text by Taikun, Text der Standartrassen sind original
//http://logdmi.plastic.hl-users.com/logd/
$races=array(
1=>'`2E`3l`4f',
2=>'`7H`6o`mc`lh`me`6l`7f',
3=>'`vD`tu`rn`tk`ve`tl`re`tl`vf',
4=>'`(O`&r`(k',
5=>'`$G`%n`$o`%m',
//6=>'Golem',
//7=>'Hobbit',
8=>'`1K`6o`%b`fo`ml`$d',
9=>'`tZ`mw`pe`mr`tg',
10=>'`&T`8r`&o`8l`&l',
11=>'`$H`7a`8lbli`7n`$g',
12=>'`8E`7c`6h`7s`8e',
13=>'Gargoyle',
//14=>'Minotaure',
15=>'`&W`(e`)r`tw`ro`ql`pf',
//16=>'Vampir',
//17=>'Zombie',
18=>'`mM`pe`mn`ps`mc`ph',
19=>'`xH`ya`$l`&bdä`$m`yo`xn',
20=>'`?D`!ä`xm`!o`?n',
//21=>'Inkubus',
22=>'`yF`&e`(li`&n`ye',
0=>'Unbekannt',
50=>'Hoverschaf');

//16 neue Rassen by Taikun // Text by Taikun, Text der Standartrassen sind original
//http://logdmi.plastic.hl-users.com/logd/

$colraces=array(
1=>'`2E`3l`4f',
2=>'`7H`6o`mc`lh`me`6l`7f',
3=>'`vD`tu`rn`tk`ve`tl`re`tl`vf',
4=>'`(O`&r`(k',
5=>'`$G`%n`$o`%m',
//6=>'Golem',
//7=>'Hobbit',
8=>'`1K`6o`%b`fo`ml`$d',
9=>'`tZ`mw`pe`mr`tg',
10=>'`&T`8r`&o`8l`&l',
11=>'`$H`7a`8lbli`7n`$g',
12=>'`8E`7c`6h`7s`8e',
13=>'Gargoyle',
//14=>'Minotaure',
15=>'`&W`(e`)r`tw`ro`ql`pf',
//16=>'Vampir',
//17=>'Zombie',
18=>'`mM`pe`mn`ps`mc`ph',
19=>'`xH`ya`$l`&bdä`$m`yo`xn',
20=>'`?D`!ä`xm`!o`?n',
//21=>'Inkubus',
22=>'`yF`&e`(li`&n`ye',
0=>'Unbekannt',
50=>'Hoverschaf');

$logd_version getsetting('version','0.9.7+jt ext (GER)');
$session['user']['laston']=date('Y-m-d H:i:s');

$playermount getmount($session['user']['acctid']);

//Strafregister von Thibaud Roth
$penal_record_type = array(1=>'Verwarnung: Spam auf öffentlichen Plätzen',
                           
2=>'Verwarnung: Ungebührliches Verhalten',
                           
3=>'Verwarnung: Sonstiges');

$titles = array(
    
0=>array('Neuankömmling','Neuankömmling'),
    
1=>array('Leibeigener','Leibeigene'),
    
2=>array('Kammerdiener','Zofe'),
    
3=>array('Vasall','Vasallin'),
    
4=>array('Semperfreier','Semperfreie'),
       
5=>array('Freier Herr','Freie Herrin'),
    
6=>array('Dienstmann','Dienstfrau'),
    
7=>array('Hofherr','Hofdame'),
    
8=>array('Bürger','Bürgerin'),
    
9=>array('Tagelöhner','Tagelöhnerin'),
    
10=>array('Diplomat','Diplomatin'),
    
11=>array('Meister','Meisterin'),
    
12=>array('Beutmeister','Beutmeisterin'),
    
13=>array('Hofmeister','Hofmeisterin'),
    
14=>array('Mundschenk','Mundschenk'),
    
15=>array('Erzmundschenk','Erzmundschenk'),
    
16=>array('Kämmerer','Kämmerin'),
    
17=>array('Erzkämmerer','Erzkämmerin'),
    
18=>array('Gelehrter','Gelehrte'),
    
19=>array('Ministerial','Ministerialin'),
    
20=>array('Burgvogt','Burgvogtin'),
    
21=>array('Vogt','Vogtin'),
    
22=>array('Landvogt','Landvogtin'),
    
23=>array('Gutsherr','Gutsherrin'),
    
24=>array('Lehnsherr','Lehnsfrau'),
    
25=>array('Grundherr','Grundherrin'),
    
26=>array('Prior','Priorin'),
    
27=>array('Abt','Äbtissin'),
    
28=>array('Baron','Baroness'),
    
29=>array('Souverän Baron','Souverän Baroness'),
    
30=>array('Freiherr','Freifrau'),
    
31=>array('Landesherr','Landesherrin'),
    
32=>array('Edelknecht','Edelzofe'),
    
33=>array('Edelherr','Edelfrau'),
    
34=>array('Hofpfleger','Hofpflegerin'),
    
35=>array('Vizegraf','Vizegräfin'),
    
36=>array('Graf','Gräfin'),
    
37=>array('Reichsgraf','Reichsgräfin'),
    
38=>array('Fürst','Fürstin'),
    
39=>array('Reichsfürt','Reichsfürstin'),
    
40=>array('Burggraf','Burggräfin'),
    
41=>array('Landgraf','Landgräfin'),
    
42=>array('Markgraf','Markgräfin'),
    
43=>array('Pfalzgraf','Pfalzgräfin'),
    
44=>array('Herzog','Herzogin'),
    
45=>array('Großherzog','Großherzogin'),
    
46=>array('Erzherzog','Erzherzogin'),
    
47=>array('Kurfürst','Kurfürstin'),
    
48=>array('Siegelbewahrer','Siegelbewahrerin'),
    
49=>array('Seneschall','Seneschallin'),
    
50=>array('Erztruchsess','Erztruchsess'),
    
51=>array('Marschall','Marschallin'),
    
52=>array('Erzmarschall','Erzmarschallin'),
    
53=>array('Reichsvikar','Reichsvikarin'),
    
54=>array('Reichsprokurator','Reichsprokuratorin'),
    
55=>array('Kronprinz','Kronprinzessin'),
    
56=>array('Prinzregent','Prinzregentin'),
    
57=>array('Regent','Regentin'),
    
58=>array('Ahnherr','Ahnherrin'));

$beta = (getsetting('beta',0) == || $session['user']['beta']==1);
            
function 
futterwahl($id,$futter,$script,$case)
{
    global 
$session,$playermount;

    
$link $script.'?op='.$case;

    if (
$id=='')
    {
        
$prozent unserialize($playermount['mountfeed']);
        
        
// Berechnung des Fortschrittes
        
$rest = (100-round(100*($prozent['fortschritt']/($playermount['mountstufe']*$playermount['mountlevel']))));
        
        
output('<span style="color: #408080;">M</span><span style="color: #42807A;">o</span><span style="color: #458074;">m</span><span style="color: #48806E;">e</span><span style="color: #4B8068;">n</span><span style="color: #4E8062;">t</span><span style="color: #51805D;">a</span><span style="color: #548057;">n</span><span style="color: #578051;"> </span><span style="color: #5A804B;">h</span><span style="color: #5D8045;">a</span><span style="color: #60803F;">t</span><span style="color: #62803A;"> </span><span style="color: #658034;">d</span><span style="color: #68802E;">e</span><span style="color: #6B8028;">i</span><span style="color: #6E8022;">n</span><span style="color: #71801D;"> </span><span style="color: #748017;">B</span><span style="color: #778011;">e</span><span style="color: #7A800B;">g</span><span style="color: #7D8005;">l</span><span style="color: #808000;">eittier `$'.$playermount['mountname'].' <span style="color: #808000;">die Entwicklungsstufe `$'.$playermount['mountstufe'].'<span style="color: #808000;">. Es fehlen noch `$'.$rest.'% <span style="color: #808000;">für die nächste Stufe. </span>',true);
        
        if (
$prozent['att']>$prozent['regen'] && $prozent['att']>$prozent['def'])
        {
            
output('<span style="color: #808000;">Dein Begleittier '.$playermount['mountname'].' übt sich in `$Angriff<span style="color: #808000;">.</span>`n`n',true);
        }
        
        elseif (
$prozent['def']>$prozent['regen']  && $prozent['def']>$prozent['att'])
        {
            
output('<span style="color: #808000;">Dein Begleittier '.$playermount['mountname'].' übt sich in `$Verteidigung<span style="color: #808000;">.</span>`n`n',true);
        }
        
        elseif (
$prozent['regen'] >$prozent['att'] && $prozent['regen'] >$prozent['def'])
        {
            
output('<span style="color: #808000;">Dein Begleittier '.$playermount['mountname'].' übt sich in `$Heilung<span style="color: #808000;">.</span>`n`n',true);
        }
        
        else 
        {
output('<span style="color: #808000;">Dein Tier hat noch keine eindeutige Richtung eingeschlagen.</span>`n`n',true);}
        
        
output('<table border="3" cellpadding="3" cellspacing="3" align="center">
                <tr class="trhead"><td>`bObjekt`b</td>
                <td>`bBeschreibung`b</td>
                <td>`b`cOption`c`b</td></tr>`c'
,true);
        
        
$sql "SELECT * FROM items WHERE class='Beute' AND value2>0 AND owner='".$session['user']['acctid']."'";
        
$res db_query($sql) OR die(db_error(LINK));
        
        if (
db_num_rows($res)==0)
        {
output('<tr><td colspan="3" align="center">`l- bislang kein Spezialfutter vorhanden -`0</td></tr>',true);}
        
        else 
        {
            while (
$row mysql_fetch_array($res))
            {
                
output('<tr><td>`%'.$row['name'].'`0</td>
                            <td>`l'
.$row['description'].'`l</td>
                            <td align="center">
                        <form method="POST" action="'
.$link.'">
                        <input type="hidden" name="id" value="'
.$row['id'].'">
                        <input type="submit" style="cursor: pointer;" value="verfüttern"></form></td></tr>'
,true);
                        
                
addnav('',$link);
            }
        }
        
        
output('</table>`c',true);
    }
    
    else 
    {
        
$sql 'SELECT * FROM items WHERE id="'.$id.'"';
        
$res db_query($sql) OR die(db_error(LINK));
        
        if (
db_num_rows($res)==0)
        {
output('`aDas Futter konnte nicht gefunden werden.`n`n');}
        
        else 
        {
            
$row db_fetch_assoc($res);
            
$mount unserialize($playermount['mountfeed']);
            
$mount['fortschritt']+=$row['value2'];
            
            if (
$row['hvalue']==4
            {
$frucht mt_rand(1,3);}
            
            else 
            {
$frucht $row['hvalue'];}
                        
            
$cat $futter[$frucht];
            
$mount[$cat]+=$row['value2'];
            
            
db_query('DELETE FROM items WHERE id="'.$id.'"');
            
db_query("UPDATE mounts_usr SET mountfeed='".serialize($mount)."' WHERE acctid='".$session['user']['acctid']."'");
            
            
output('<span style="color: #408080;">G</span><span style="color: #438079;">i</span><span style="color: #468073;">e</span><span style="color: #49806D;">r</span><span style="color: #4C8067;">i</span><span style="color: #4F8061;">g</span><span style="color: #52805B;"> </span><span style="color: #558055;">v</span><span style="color: #58804F;">e</span><span style="color: #5B8049;">r</span><span style="color: #5E8043;">s</span><span style="color: #61803C;">c</span><span style="color: #648036;">h</span><span style="color: #678030;">l</span><span style="color: #6A802A;">i</span><span style="color: #6D8024;">n</span><span style="color: #70801E;">g</span><span style="color: #738018;">t</span><span style="color: #768012;"> </span><span style="color: #79800C;">d</span><span style="color: #7C8006;">e</span><span style="color: #7F8000;">in Begleittier `$'.$playermount['mountname'].' <span style="color: #7F8000;"> das ihm vorgesetzte Spezialfutter `$'.$row['name'].'<span style="color: #7F8000;">.</span>',true);
            
            if (
$mount['fortschritt']>=($playermount['mountlevel']*$playermount['mountstufe']))
            {
                
$playermount['mountstufe']++;
                
$mountbuff unserialize($playermount['mountbuff']);
                
$mountbuff['lifetap']=''.$mountbuff['lifetap']+0.1.'';
                
$mountbuff['rounds']=''.$mountbuff['rounds']+e_rand(15,25).'';            
                
//$mountbuff['regen']+=round(20*($mount['regen'] /($playermount['mountstufe']*$playermount['mountlevel'])),1);
                
                
if ($session['user']['superuser']==6)
                {
                    
output('DEBUG(stufe): '.$playermount['mountstufe'].'`n');
                    
output('DEBUG(heil): '.$mount['regen'] .'`n');
                    
output('DEBUG(regen): '.$mountbuff['regen'].'`n');
                    
output(''.(round($mount['regen'] /($playermount['mountstufe']*$playermount['mountlevel']),2)).'-');
                    
output(''.($mountbuff['regen']+round(20*(round($mount['regen'] /($playermount['mountstufe']*$playermount['mountlevel']),2)),1)).'`n');
                }

                
$mountbuff['regen']=''.($mountbuff['regen']+round(20*(round($mount['regen'] /($playermount['mountstufe']*$playermount['mountlevel']),2)),1)).'';
                
                if (
$session['user']['superuser']==6)
                {
                    
output('DEBUG(Ergebnis): '.$mountbuff['regen'].'`n');
                    
output('DEBUG(stufe): '.$playermount['mountstufe'].'`n');
                    
output('DEBUG(att): '.$mount['att'].'`n');
                    
output('DEBUG(atkmod): '.$mountbuff['atkmod'].'`n');
                    
output(''.(round($mount['att']/($playermount['mountstufe']*$playermount['mountlevel']),2)).'-');
                    
output(''.($mountbuff['atkmod']+round(round(20*(round($mount['att']/($playermount['mountstufe']*$playermount['mountlevel']),2)),1)/100,2)).'`n');
                }

                
$mountbuff['atkmod']=''.($mountbuff['atkmod']+round(round(20*(round($mount['att']/($playermount['mountstufe']*$playermount['mountlevel']),2)),1)/100,2)).'';
                
                if (
$session['user']['superuser']==6)
                {
                    
output('DEBUG(Ergebnis): '.$mountbuff['atkmod'].'`n');
                    
output('DEBUG(stufe): '.$playermount['mountstufe'].'`n');
                    
output('DEBUG(def): '.$mount['def'].'`n');
                    
output('DEBUG(defmod): '.$mountbuff['defmod'].'`n');
                    
output(''.(round($mount['def']/($playermount['mountstufe']*$playermount['mountlevel']),2)).'-');
                    
output(''.($mountbuff['defmod']+round(round(20*(round($mount['def']/($playermount['mountstufe']*$playermount['mountlevel']),2)),1)/100,2)).'`n');
                }

                
$mountbuff['defmod']=''.($mountbuff['defmod']+round(round(20*(round($mount['def']/($playermount['mountstufe']*$playermount['mountlevel']),2)),1)/100,2)).'';

                if (
$session['user']['superuser']==3)
                {
output('DEBUG(Ergebnis): '.$mountbuff['defmod'].'`n');}

                
$mount['regen'] =0;
                
$mount['att']=0;
                
$mount['def']=0;
                
$mount['fortschritt']=0;
                
                
db_query("UPDATE mounts_usr SET mountstufe=mountstufe+1, mountbuff='".serialize($mountbuff)."', mountfeed='".serialize($mount)."' WHERE acctid='".$session['user']['acctid']."'");
                
                
output('`n`n`b`6Dein Begleittier '.$playermount['mountname'].' ist eine Stufe augestiegen.`b`0');
            }
        }
    }
}             

function 
mountname($newname,$status)
{
    global 
$session,$playermount;

    if (
$status=="")
    {
        
output("Die Änderung des Name kostet `^2000 Gold `8und `#1 Edelstein`8.`n`n");

        if (
$session['user']['gold']>=2000)
        {
output("Goldstatus: `@ok`8`n");}

        else
        {
output("Goldstatus:`$ nicht ok`8`n");}

        if (
$session['user']['gems']>=1)
        {
output("Edelsteinstatus: `@ok`8`n");}

        else
        {
output("Edelsteinstatus:`\$ nicht ok`8`n");}

        
output("`nMax. 30 Zeichen mit Farbcode:`n`n
                <form method='POST' action='stables.php?op=mountname'>
                <input type='TEXT' maxlength='30' name='newname'>
                <input type='HIDDEN' name='status' value='1'>`n`n
                <input type='SUBMIT' value='Vorschau'>
                </form>"
,true);
                
        
addnav("","stables.php?op=mountname");
    }

    else if (
$status==&& $newname!="")
    {
        
output("Vorschau des neuen Namen:`n`n".$newname."`n`n");
        
output("<table width='20%'><tr><td><form method='POST' action='stables.php?op=mountname'>
                <input type='HIDDEN' name='newname' value='"
.base64_encode(addslashes($newname))."'>
                <input type='HIDDEN' name='status' value='2'>
                <input type='SUBMIT' value='Ändern'></form></td><td> "
,true);
                
        
addnav("","stables.php?op=mountname");
        
        
output("<form method='POST' action='stables.php?op=mountname'>
                <input type='SUBMIT' value='Neu Eingeben'></form></td></tr></table>"
,true);

        
addnav("","housesraum.php?op=mountname");
    }

    else if ((
$status==&& $newname=="") || ($status==&& $newname==""))
    {
output("`b`4Fehler!:`b Der Name ist abhanden gekommen.");}

    else if (
$status==&& $newname!="")
    {
        
$playermount['mountname']=base64_decode(stripslashes($newname));
        
db_query("UPDATE mounts_usr SET mountname='".$playermount['mountname']."' WHERE acctid='".$session['user']['acctid']."'");
        
$session['user']['gold']-=2000;
        
$session['user']['gems']--;
        
        
output("Dein Tier heißt ab sofort ".$playermount['mountname']."`8.");
    }
}

$m_futter = array(1=>'att',2=>'def',3=>'regen');
                               
function 
sienna($thema)
{
    
addnav('Frage Bruna über...');

    if (
$thema!='Entwicklung')
    
addnav('... Entwicklung','stables.php?op=talk&thema=Entwicklung');

    if (
$thema!='Futter')
    
addnav('... Futter','stables.php?op=talk&thema=Futter');

    if (
$thema!='Tiere')
    
addnav('... Tiere','stables.php?op=talk&thema=Tiere');

    switch (
$thema)
    {
        case 
'':
        default;
        
output('<span style="color: #408080;">D</span><span style="color: #42807A;">u</span><span style="color: #458075;"> </span><span style="color: #478070;">g</span><span style="color: #4A806A;">e</span><span style="color: #4D8065;">h</span><span style="color: #4F8060;">s</span><span style="color: #52805A;">t</span><span style="color: #558055;"> </span><span style="color: #578050;">a</span><span style="color: #5A804A;">u</span><span style="color: #5D8045;">f</span><span style="color: #5F8040;"> </span><span style="color: #62803A;">B</span><span style="color: #658035;">r</span><span style="color: #678030;">u</span><span style="color: #6A802A;">n</span><span style="color: #6D8025;">a</span><span style="color: #6F8020;"> </span><span style="color: #72801A;">z</span><span style="color: #758015;">u</span><span style="color: #778010;">.</span><span style="color: #7A800A;"> </span><span style="color: #7D8005;">D</span><span style="color: #7F8000;">ie Frau legt ihre Arbeit nieder und schenkt dir ein höfliches Lächeln. `$"Grüß dich"<span style="color: #7F8000;">, spricht sie dich an. `$"Du siehst aus, als hättest du Fragen. Wenn es um die Tiere geht, deren Entwicklung oder Futter, kann ich dir gerne weiterhelfen.`n`n
                <span style="color: #408080;">D</span><span style="color: #42807A;">u</span><span style="color: #458074;"> </span><span style="color: #48806F;">s</span><span style="color: #4B8069;">t</span><span style="color: #4D8064;">e</span><span style="color: #50805E;">l</span><span style="color: #538059;">l</span><span style="color: #568053;">s</span><span style="color: #59804D;">t</span><span style="color: #5B8048;"> </span><span style="color: #5E8042;">B</span><span style="color: #61803D;">r</span><span style="color: #648037;">u</span><span style="color: #668032;">n</span><span style="color: #69802C;">a</span><span style="color: #6C8026;"> </span><span style="color: #6F8021;">d</span><span style="color: #72801B;">i</span><span style="color: #748016;">e</span><span style="color: #778010;"> </span><span style="color: #7A800B;">F</span><span style="color: #7D8005;">r</span><span style="color: #7F8000;">age, ...`n`n</span>'
,true);

        
output('<a href="stables.php?op=talk&thema=Tiere">`$... welche Tiere es hier gibt und welche Unterschiede sie aufweisen.</a>`n`0',true);
        
addnav('','stables.php?op=talk&thema=Tiere');

        
output('<a href="stables.php?op=talk&thema=Entwicklung">`$... wie du die Entwicklung der Tiere beeinflussen kannst.</a>`n`0',true);
        
addnav('','stables.php?op=talk&thema=Entwicklung');

        
output('<a href="stables.php?op=talk&thema=Futter">`$... womit du dein Tier füttern kannst.</a>`0',true);
        
addnav('','stables.php?op=talk&thema=Futter');
        break;

        case 
'Tiere':
        
output('<span style="color: #408080;">D</span><span style="color: #42807A;">u</span><span style="color: #458074;"> </span><span style="color: #48806F;">m</span><span style="color: #4B8069;">ö</span><span style="color: #4D8064;">c</span><span style="color: #50805E;">h</span><span style="color: #538059;">t</span><span style="color: #568053;">e</span><span style="color: #59804D;">s</span><span style="color: #5B8048;">t</span><span style="color: #5E8042;"> </span><span style="color: #61803D;">e</span><span style="color: #648037;">t</span><span style="color: #668032;">w</span><span style="color: #69802C;">a</span><span style="color: #6C8026;">s</span><span style="color: #6F8021;"> </span><span style="color: #72801B;">ü</span><span style="color: #748016;">b</span><span style="color: #778010;">e</span><span style="color: #7A800B;">r</span><span style="color: #7D8005;"> </span><span style="color: #7F8000;">die Tiere selbst erfahren. Bruna lächelt breit und erklärt dir: `$"Wir haben hier unsere Tiere in vier Kategorien eingeteilt, je nach Entwicklungsgeschwindigkeit. Je höher die Kategorie, desto langsamer die Entwicklung, aber größer die Stärke. Welche Vorteile die Tiere dann im ausgewachsenen Zustand mit sich bringen, kann man vorher nicht wirklich sagen. Vorteilhaftere Werte könnten sich durchaus schnell ändern. Sieh her, so haben wir unsere Tiere bisher kategorisiert." <span style="color: #7F8000;">Bruna hält dir eine Liste vor die Nase:`n`n</span>',true);

        
output('<table border="1" cellpadding="3" cellspacing="3" width="50%">
                <tr><td bgcolor="#666666" colspan="2">`c`l`bKategorie 1: sehr schnelle Entwicklung, sehr schwach`c`b`0</td></tr>
                <tr class="trhead"><td width="50%">`bTier`b</td><td>`bWirkung`b</td></tr>
                <tr><td>Hund</td><td>Angriff</td></tr>
                <tr><td>Katze</td><td>Verteidigung</td></tr>
                <tr><td>Maus</td><td>unbekannt</td></tr>
                <tr><td>Pony</td><td>Heilung</td></tr>
                <tr><td>Schachtel Flöhe</td><td>ubekannt</td></tr></table>`n`n'
,true);

        
output('<table border="1" cellpadding="3" cellspacing="3" width="50%">
                <tr><td bgcolor="#666666" colspan="2" width="25%">`c`l`bKategorie 2: schnelle Entwicklung, schwach`c`b`0</td></tr>
                <tr class="trhead"><td width="50%">`bTier`b</td><td>`bWirkung`b</td></tr>
                <tr><td>Dachs</td><td>Verteidigung</td></tr>
                <tr><td>Elindrischer Wolf</td><td>Angriff</td></tr>
                <tr><td>Wallach</td><td>Heilung</td></tr></table>`n`n'
,true);

        
output('<table border="1" cellpadding="3" cellspacing="3" width="50%">
                <tr><td bgcolor="#666666" colspan="2" width="25%">`c`l`bKategorie 3: langsame Entwicklung, stark`c`b`0</td></tr>
                <tr class="trhead"><td width="50%">`bTier`b</td><td>`bWirkung`b</td></tr>
                <tr><td>Braunbär</td><td>Angriff</td></tr>
                <tr><td>Merundischer Hengst</td><td>Verteidigung</td></tr></table>`n`n'
,true);

       
output('<table border="1" cellpadding="3" cellspacing="3" width="50%">
                <tr><td bgcolor="#666666" colspan="2" width="25%">`c`l`bKategorie 4: sehr langsame Entwicklung, sehr stark`c`b`0</td></tr>
                <tr class="trhead"><td width="50%">`bTier`b</td><td>`bWirkung`b</td></tr>
                <tr><td>Einhorn</td><td>Heilung</td></tr>
                <tr><td>Elefant</td><td>Verteidigung</td></tr>
                <tr><td>Schwarzer Drache</td><td>Angriff</td></tr></table>`n`n'
,true);
        break;

        case 
'Futter':
        
output('<span style="color: #408080;">B</span><span style="color: #42807A;">r</span><span style="color: #458074;">u</span><span style="color: #48806F;">n</span><span style="color: #4B8069;">a</span><span style="color: #4D8064;"> </span><span style="color: #50805E;">k</span><span style="color: #538059;">l</span><span style="color: #568053;">ä</span><span style="color: #59804D;">r</span><span style="color: #5B8048;">t</span><span style="color: #5E8042;"> </span><span style="color: #61803D;">d</span><span style="color: #648037;">i</span><span style="color: #668032;">c</span><span style="color: #69802C;">h</span><span style="color: #6C8026;"> </span><span style="color: #6F8021;">ü</span><span style="color: #72801B;">b</span><span style="color: #748016;">e</span><span style="color: #778010;">r</span><span style="color: #7A800B;"> </span><span style="color: #7D8005;">d</span><span style="color: #7F8000;">ie Fütterungsmöglichkeiten der Tiere auf: `$"Du kannst an dein Tier verschiedene Dinge verfüttern. Ich habe zwar noch nicht alles herausgefunden, aber einige Gegenstände haben unterschiedliche Wirkungen auf dein Tier. Sieh her." <span style="color: #7F8000;">Die Stalldame zeigt dir eine Auflistung ihrer Feststellungen:`n`n</span>',true);

        
output('<table align="center" border="1" cellpadding="3" cellspacing="3" width="75%"><tr class="trhead">
                <td>`bAngriff`b</td>
                <td>`bVerteidigung`b</td>
                <td>`bHeilung`b</td>
                <td>`bunbekannt`b</td></tr>

                <tr valign="top">
                <td width="25%">Aihsketfrucht`nOgerzahn`nStuhlbein`nRostiger Nagel`nalter Knochen</td>
                <td width="25%">kleine Tonscheibe`nFeuerstein`nFahrjesfrucht`nLedertuch`nSeidentuch`naltes Tavernenschild</td>
                <td width="25%">Drachenschuppe`nFledermausflügel`nKsienmrofrucht</td>
                <td width="25%">Thesfrucht`nShabufrucht</td></tr></table>'
,true);
        break;

        case 
'Entwicklung':
        
output('<span style="color: #408080;">B</span><span style="color: #438079;">r</span><span style="color: #468073;">u</span><span style="color: #49806D;">n</span><span style="color: #4C8067;">a</span><span style="color: #4F8061;"> </span><span style="color: #52805B;">n</span><span style="color: #558055;">i</span><span style="color: #58804F;">c</span><span style="color: #5B8049;">k</span><span style="color: #5E8043;">t</span><span style="color: #61803C;"> </span><span style="color: #648036;">b</span><span style="color: #678030;">e</span><span style="color: #6A802A;">d</span><span style="color: #6D8024;">ä</span><span style="color: #70801E;">c</span><span style="color: #738018;">h</span><span style="color: #768012;">t</span><span style="color: #79800C;">i</span><span style="color: #7C8006;">g</span><span style="color: #7F8000;">, als du sie zur Entwicklung befragst. `$"Das kommt ganz darauf an, was du deinem Tier fütterst. Es gibt gewisse Gegenstände mit unterschiedlichen Wirkungen. Du solltest dir vorher überlegen, womit du dein Tier fütterst. Es wäre zum Beispiel sinnvoll, deinem Tier heilende Kräfte zu verleihen, wenn du selbst wenig Lebenskraft hast, aber dafür in Angriff und Verteidigung stärker bist. Aber das ist dir natürlich selbst überlassen, in welche Richtung du dein Tier fördern möchtest. Die Tiere entwickeln sich übrigens unterschiedlich schnell, aber das dürftest du dir ja denken können."</span>',true);
        break;
    }
}

?>
0.9.7+jt ext (GER)