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:
|
<?php
// Changes by Draza´ar ---- Vars // ============================ define('MAX_CHEST_SIZE_GOLD', 100000); // Maximal lagerbare Goldzahl define('MAX_CHEST_SIZE_GEMS', 200); // Maximal lagerbare Edelsteinanzahl
// Eigene Zimmer Optionen define('ROOM_COST_GOLD', 3000); // Preis Gold define('ROOM_COST_GEMS', 5); // Preis Edelsteine define('MAX_PIC_WIDTH', 300); // Bild Breite define('MAX_PIC_HEIGHT', 300); // Bild Höhe
// Hauskosten, etc define('HOUSE_SELL_MINIMUM_GOLD', 15000); // Mindestpreis Gold define('HOUSE_SELL_MINIMUM_GEMS', 10); // Mindestpreis Edelsteine
define('HOUSE_BUY_PRICE_GOLD', 30000); // Hauspreis Gold define('HOUSE_BUY_PRICE_GEMS', 20); // Hauspreis Edelsteine
function adddbfieldifne($table, $field, $type, $after) { $found = FALSE; $sql = "SELECT * FROM ".$table; $result = db_query($sql) or die(db_error(LINK)); $fields = mysql_num_fields($result); for($i=0; $i<$fields; $i++) { if(mysql_field_name($result, $i)==$field) { $found=TRUE; } } if(!$found) { $sql = "ALTER TABLE `".$table."` ADD `".$field."` ".$type." NOT NULL AFTER `".$after."`"; $result = db_query($sql) or die(db_error(LINK)); } }
function getstreetname($house) { $house = (int)$house; switch ($house) { case 0: $ret = "Gründerallee"; break; case 1: $ret = "Gladiatorenweg"; break; case 2: $ret = "Königsallee"; break; case 3: $ret = "Drachenstrasse"; break; case 4: $ret = "Einhornpfad"; break; case 5: $ret = "Piratensteg"; break; case 6: $ret = "Bettlergasse"; break; case 7: $ret = "Bauernviertel"; break; case 8: $ret = "Brauergasse"; break; case 9: $ret = "Gerberviertel"; break; case 10: $ret = "Schneiderweg"; break; case 11: $ret = "Schmiedegasse"; break; case 12: $ret = "Tischlerallee"; break; case 13: $ret = "Ritterweg"; break; case 14: $ret = "Grafengasse"; break; case 15: $ret = "Jägerweg"; break; case 16: $ret = "Gesellenpfad"; break; case 17: $ret = "Sonnenalle"; break; default: $ret = "Straße ".$i; break; } return $ret; }
// I don't know what's this good for, but i think it's okay... for the moment function addforestlakeflirtmap($ownid,$ownname,$partnerid,$partnername,$mapchance=50) { $rand = e_rand(0,100); $flirtload = e_rand(50,100); // Adjust here how long a flirt map should endure. if ($rand<$mapchance) { $sqlmap = "SELECT * FROM items WHERE owner=$ownid AND class='Karte' AND value1=$ownid AND value2=$partnerid"; $resultmap = db_query($sqlmap); if (db_num_rows($resultmap)==0) { $sql = "INSERT INTO `items` (name,class,owner,value1,value2,description) VALUES ('Karte zu ".$partnername."', 'Karte', '".$ownid."', '".$partnerid."', '".$flirtload."', 'Dieser Karte hilft dir, ".$partnername." am Trampelpfad zu finden.');"; db_query($sql); } $sqlmap = "SELECT * FROM items WHERE owner=$partnerid AND class='Karte' AND value1=$partnerid AND value2=$ownid"; $resultmap = db_query($sqlmap); if (db_num_rows($resultmap)==0) { $sql = "INSERT INTO `items` (name,class,owner,value1,value2,description) VALUES ('Karte zu ".$ownname."', 'Karte', '".$partnerid."', '".$ownid."', '".$flirtload."', 'Dieser Karte hilft dir, ".$ownname." am Trampelpfad zu finden.');"; db_query($sql); } } }
/* HOLY SH*T! WTF IS THIS? I WILL DESTROY, I WILL CHANGE! Draza´ar 10.04.08
function show_furniture($house,$acctid,$partnerid,$room) { if(($room==6) || ($room==7)) { $sqlfurnitem = "SELECT * FROM items WHERE hvalue=$house AND class='Möbel' AND value2='$room' AND (owner='$acctid' OR owner='$partnerid')"; } else { $sqlfurnitem = "SELECT * FROM items WHERE hvalue=$house AND class='Möbel' AND value2='$room'"; } $resultfurnitem = db_query($sqlfurnitem) or die(db_error(LINK)); if(db_num_rows($resultfurnitem)>0) { output("<table width='100%'><tr><td colspan='2'>",true); switch($room) { case 8: output("`n`n`2Auf der Veranda stehen bereits die ersten Möbel:"); break; case 7: output("`n`n`2In diesem Bad stehen bereits ein paar Möbel:"); break; case 6: output("`n`n`2Damit das Schlafzimmer nicht ganz so karg aussieht, hast du hier herein gestellt:"); break; case 5: output("`n`n`2Lange willst du dich hier nicht aufhalten, trotzdem hast du etwas hier herein gestellt, damit es nicht ganz so leer aussieht:"); break; case 4: output("`n`n`2Erfreut betrachtest du die Möbel, die hier untergebracht wurden:"); break; case 3: output("`n`n`2Das Gemeinschaftszimmer würde gemütlich eingerichtet mit:"); break; case 2: output("`n`n`2Um die Atmosphäre beim Lesen ein wenig zu verschönern, steht hier:"); break; case 1: output("`n`n`2In diesem Bad stehen bereits ein paar Möbel:"); break; case 0: default: output("`n`n`2Hier stehen gerade ein paar Möbel herum, die noch nicht eingeräumt worden sind:"); break; } output("</td></tr>",true); for($i=0; $i<db_num_rows($resultfurnitem); $i++) { $furnitem = db_fetch_assoc($resultfurnitem); $sqlfurn = "SELECT * FROM furniture WHERE furnid=$furnitem[value1]"; $resultfurn = db_query($sqlfurn) or die(db_error(LINK)); $furn = db_fetch_assoc($resultfurn); output("<tr><td>",true); if(file_exists($furn[furnpic])) { $pic=$furn[furnpic]; } else { $pic="images/furn-misc.gif"; } output("<img src='$pic' width='60' height='50' title='Hergestellt von $furn[contributor].'/>",true); output("</td><td>`&$furn[furnname]: `7$furn[description]</td></tr>",true); } output("</table>",true); addnav("Einrichtung"); addnav("Umräumen","houses.php?op=movefurniture&from=$room"); addnav("Entsorgen","houses.php?op=trashfurniture&from=$room"); } else { switch($room) { case 8: output("`n`n`&Deine Veranda sieht noch ziemlich leer aus, weil du noch keine Möbel gekauft hast."); break; case 7: output("`n`n`&Das Badezimmer ist wirklich nur für eine schnelle Katzenwäsche geeignet, da hier noch die Möbel fehlen."); break; case 6: output("`n`n`&Außer ein paar Fellen auf dem Boden ist Dein Schlafzimmer noch ziemlich leer."); break; case 5: output("`n`n`&Auf dem Boden siehst Deinen Reichtum verstreut herumliegen. Wäre es nicht mal an der Zeit, einen Tresor zu kaufen?"); break; case 4: output("`n`n`&Wer gerne im Stehen aus der Hand isst, ist in dieser Küche gut aufgehoben, denn Möbel gibt es hier nicht."); break; case 3: output("`n`n`&Auf lange Gespräche in diesem Raum hast du nicht recht Lust, weil du dich hier nicht einmal setzen kannst."); break; case 2: output("`n`n`&Ein Bücherregal und ein Sessel - schön und gut, aber ein paar Möbel mehr wären sicherlich auch nicht schlecht."); break; case 1: output("`n`n`&Das Badezimmer ist wirklich nur für eine schnelle Katzenwäsche geeignet, da hier noch die Möbel fehlen."); break; case 0: default: output("`n`n`&"); break; } } }*/
function Show_Furniture($roomID) { global $session; $sql = 'SELECT * FROM furn_in_house WHERE houseid = '.$session['house']['houseid'].' AND roomid = '.$roomID.' ORDER BY furnid ASC'; $result = db_query($sql); $n = db_num_rows($result); if($n == 0) { output('`&In diesem Raum befinden sich leider keine Möbel!'); } else { output('`n`n`&'.($n>1?'Hier im Raum befinden sich mehrere Möbel:':'Hier im Raum steht ein Möbelstück:').'`n <table border="0">', true); for($i=0; $i<$n; $i++) { $furn = db_fetch_assoc($result); $sql = 'SELECT furnname, description, furnpic FROM furniture WHERE furnid = '.$furn['furnid']; $res = db_query($sql); $row = db_fetch_assoc($res); output('<tr> <td> <img src="./images/housepics/'.$row['furnpic'].'" alt="Moebelstueck #'.$furn['furnid'].'" width="70" height="60"> </td> <td width="600"> `c`b'.$row['furnname'].'`b`c '.$row['description'].' </td>', true); if($session['user']['house'] == $furn['houseid']) { rawoutput('<td> '.Make_HTML_Link('Verschieben', 'houses.php?op=movefurn&roomid='.$roomID.'&furnid='.$furn['furnid'].'&houseid='.$furn['houseid']).' <br /> '.Make_HTML_Link('Entfernen', 'houses.php?op=killfurn&roomid='.$roomID.'&furnid='.$furn['furnid'].'&houseid='.$furn['houseid'], true, 'Willst du das Möbelstück wirklich aus deinem Haus werfen? (Es wird gelöscht, den Kaufpreis bekommst du nicht zurück!!)').'</td>'); } rawoutput('</tr>'); if($session['user']['house'] == $furn['houseid']) { addnav('', 'houses.php?op=killfurn&roomid='.$roomID.'&furnid='.$furn['furnid'].'&houseid='.$furn['houseid']); addnav('', 'houses.php?op=movefurn&roomid='.$roomID.'&furnid='.$furn['furnid'].'&houseid='.$furn['houseid']); } } output('</table>', true); } }
function show_all_rooms($currentroom = 0) { global $session; $sql = 'SELECT roomid, roomnav, roomtype, allowed FROM houserooms WHERE houseid = '.$session['house']['houseid'].' ORDER BY roomPOS ASC'; $res = db_query($sql); $n = db_num_rows($res); addnav('Räume'); for($i=0; $i<$n; $i++) { $row = db_fetch_assoc($res);
$allowed = unserialize($row['allowed']); if(!is_array($allowed)) $allowed = array();
if($currentroom != $row['roomid']) { if($row['roomtype'] == 0) addnav($row['roomnav'].' <img src="http://logd.legend-of-vinestra.de/images/housekey.gif" alt="KeY" border="0">', 'houses.php?op=createdroom&roomid='.$row['roomid'], true); elseif($row['roomtype'] == 1 && in_array($session['user']['acctid'], $allowed)) { addnav($row['roomnav'].' <img src="http://logd.legend-of-vinestra.de/images/housekey.gif" alt="KeY" border="0">', 'houses.php?op=createdroom&roomid='.$row['roomid'], true); }elseif($session['user']['acctid'] == $session['house']['owner']) addnav($row['roomnav'].' <img src="http://logd.legend-of-vinestra.de/images/housekey.gif" alt="KeY" border="0">', 'houses.php?op=createdroom&roomid='.$row['roomid'], true); else addnav($row['roomnav'], 'houses.php?op=createdroom&roomid='.$row['roomid'], true); } } if($currentroom != 0) addnav('In den Flur <img src="http://logd.legend-of-vinestra.de/images/housekey.gif" alt="KeY" border="0">', 'houses.php?op=floor', true); if($currentroom != 99999) addnav('Die Schatzkammer <img src="http://logd.legend-of-vinestra.de/images/housekey.gif" alt="KeY" border="0">', 'houses.php?op=treasure', true); } /* Wird erneuert
function display_roomlist($room=0) { global $session; addnav('Zimmer');
$modulesql = 'SELECT * FROM `housemodules` WHERE `status` > 0 ORDER BY `position` ASC, `id` ASC'; $modres = db_query($modulesql); $n = db_num_rows($modres); while($module = db_fetch_assoc($modres)) { if($module['status']==2 && $session['user']['superuser'] < 2) { $show = false; } elseif($module['status']==3 && $session['user']['superuser'] < 3) { $show = false; } else { $show = true; } $newop = str_replace('.php', '', $module['filename']); if($show) addnav($module['navigationname'], 'houses.php?op='.$newop); } // Eigene Räume by Draza´ar $roomsql = 'SELECT * FROM `houserooms` WHERE `houseid` = '.$session['house']['houseid'].' ORDER BY `roomid` ASC'; $roomres = db_query($roomsql); $n2 = db_num_rows($roomres); if($n2) { addnav('Eigene Räume'); while($room = db_fetch_assoc($roomres)) { addnav($room['roomnav'], 'houses.php?op=createdroom&roomid='.$room['roomid']); } } // Eigene Räume Ende }
*/
/* What's this good for? I don't know, i'll nuke it! function get_roomop($room) { switch($room) { case 9: return "privat"; break; case 8: return "porch"; break; case 7: return "couplebath"; break; case 6: return "partner"; break; case 5: return "treasure"; break; case 4: return "kitchen"; break; case 3: return "commonroom"; break; case 2: return "reading"; break; case 1: return "bath"; break; case 0: default: return "drin"; break; } } */
/* * Changes by Draza´ar * 2580 lines...this is too much, so i'll fix! This fu***ng script was longer than my common!! O_o * letz start! */
function House_Session_Init($fetchID=false) { global $session; if(!empty($fetchID)) $session['house']['houseid'] = $fetchID; else redirect('houses.php?op=start'); if(!empty($session['house']['houseid'])){ $sql = 'SELECT * FROM `houses` WHERE `houseid` = '.$session['house']['houseid']; $result = db_query($sql); $row = db_fetch_assoc($result); $session['house'] = $row; } else { redirect('village.php'); } }
function DB_Update_House($savefield, $value, $houseid=false) { global $session; if($houseid===false) $houseid = $session['house']['houseid']; $sql = 'UPDATE `houses` SET `'.$savefield.'` = "'.$value.'" WHERE `houseid` = '.$houseid; db_query($sql); }
function Create_House_Number($number, $page) { //output($page); if(empty($page)) { $housenumber = $number + 1; return $housenumber; } else { $housenumber = $number + 1 + 16 * $page; return $housenumber; } }
function Set_Chest_Data($houseid) { global $session; $sql = 'SELECT * FROM `housechests` WHERE `houseid` = '.$houseid.' AND `userid` = '.$session['user']['acctid']; $result = db_query($sql); $n = db_num_rows($result); if(empty($n)) { $sql = 'INSERT INTO `housechests` (`houseid`, `userid` ) VALUES ('.$houseid.', '.$session['user']['acctid'].' )'; db_query($sql); } } // Modulfunktionen
// Function Load_Module() // Argument 1: bool - return $result oder $row (false für $result, true für $row). // Argument 2: where clause (auf "filename" oder "id" beziehen!). // Alle weiteren Argumente: Namen der Datenbankfelder, die ausgelesen werden sollen function Load_Module() { $arg = func_get_args(); $num = func_num_args(); if($num<1) { die('Funktion Load_Module() erzeugt einen Fehler. Es fehlen Argumente, bitte korrigieren.'); } if($num==1) { $sql = 'SELECT * FROM `housemodules` ORDER BY `id` ASC'; $result = db_query($sql); if($arg[0]==false) { return $result; } else { $row = db_fetch_assoc($result); return $row; } } else { if(is_numeric($arg[1])) $where = 'WHERE `id` = '.$arg[1]; else $where = 'WHERE `filename` = "'.$arg[1].'"'; $sql = 'SELECT '; for($i=2; $i<$num; $i++) { $sql .= $arg[$i].($i==($num-1)?' ':', '); } $sql .= 'FROM `housemodules` '.$where; //print $sql; $result = db_query($sql); if($arg[0]==false) { return $result; } else { $row = db_fetch_assoc($result); return $row; } } }
function Module_Installed($filename) { $sql = 'SELECT * FROM `housemodules` WHERE `filename` = "'.$filename.'"'; $result = db_query($sql); $number = db_num_rows($result); if($number) { return true; } else { return false; } }
function Save_Module($inputarray, $whereclause) { if(is_numeric($whereclause)) $where = ' WHERE `id` = '.$whereclause; else $where = ' WHERE `filename` = "'.$whereclause.'"';
$sql = 'UPDATE `housemodules` SET '; reset($inputarray); foreach($inputarray AS $key => $value) { $sql .= '`'.$key.'` = "'.$value.'", '; } // Komma und Leerstelle vor der Bedingung entfernen $sql = substr($sql, 0, strlen($sql) - 2); $sql .= $where; //print '<br>'.$sql; db_query($sql); if(db_affected_rows() == 0) return false; else return true; } ?>
|