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:
|
<?php
// 11092004
/*setweather.php An element of the global weather mod Version 0.5 Written by Talisman Latest version available at http://dragonprime.cawsquad.net
translation: anpera */
if ((int)getsetting("expirecontent",180)>0){ $sql = "DELETE FROM commentary WHERE postdate<'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("expirecontent",180)." days"))."'"; db_query($sql); $sql = "DELETE FROM news WHERE newsdate<'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("expirecontent",180)." days"))."'"; db_query($sql); } $sql = "DELETE FROM mail WHERE sent<'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("oldmail",14)."days"))."'"; db_query($sql);
switch(e_rand(1,9)){ case 1: $clouds="Wechselhaft und kühl, mit sonnigen Abschnitten"; break; case 2: $clouds="Warm und sonnig"; break; case 3: $clouds="Regnerisch"; break; case 4: $clouds="Neblig"; break; case 5: $clouds="Kalt bei klarem Himmel"; break; case 6: $clouds="Heiß und sonnig"; break; case 7: $clouds="Starker Wind mit vereinzelten Regenschauern"; break; case 8: $clouds="Gewittersturm"; break; case 9: $clouds="Schneeregen"; break; } savesetting("weather",$clouds);
// Vendor in town? if (e_rand(1,3)==1) { savesetting("vendor","1"); $sql = "INSERT INTO news(newstext,newsdate,accountid) VALUES ('`6De`@r W`.an`,de`lrh`män`pdl`qer `pis`mt i`ln d`,er `.St`@ad`6t!`0',NOW(),0)"; db_query($sql) or die(db_error($link)); }
else {savesetting('vendor','0');}
// Other hidden paths $spec="Keines"; $what=e_rand(1,3); if ($what==1) $spec="Waldsee"; if ($what==3) $spec="Orkburg"; savesetting("dailyspecial","$spec");
// Gamedate-Mod by Chaosmaker if (getsetting('activategamedate',0)==1) { $date = getsetting('gamedate','0000-01-01'); $date = explode('-',$date); $date[2]++; switch ($date[2]) { case 32: $date[2] = 1; $date[1]++; break; case 31: if (in_array($date[1], array(4,6,9,11))) { $date[2] = 1; $date[1]++; } break; case 30: if ($date[1]==2) { $date[2] = 1; $date[1]++; } break; case 29: if ($date[1]==2 && ($date[0]%4!=0 || ($date[0]%100==0 && $date[0]%400!=0))) { $date[2] = 1; $date[1]++; } } if ($date[1]==13) { $date[1] = 1; $date[0]++; } $date = sprintf('%04d-%02d-%02d',$date[0],$date[1],$date[2]); savesetting('gamedate',$date); }
// this now includes the database cleanup from index.php $old = getsetting("expireoldacct",45)-5; $new = getsetting("expirenewacct",10); $trash = getsetting("expiretrashacct",1);
$sql = "SELECT acctid,emailaddress FROM accounts WHERE 1=0 " .($old>0?"OR (laston < \"".date("Y-m-d H:i:s",strtotime(date("r")."-$old days"))."\")\n":"") ." AND emailaddress!='' AND sentnotice=0"; $result = db_query($sql); for ($i=0;$i<db_num_rows($result);$i++){ $row = db_fetch_assoc($result);
// can't send mail on anpera.net
mail($row[emailaddress],"LoGD Charakter verfällt","Einer oder mehrere deiner Charaktere von Legend of the Green Dragon auf ".$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']." verfällt demnächst und wird gelöscht. Wenn du den Charakter retten willst, solltest du dich bald möglichst mal damit einloggen! Falls der Charakter ein Haus hatte, ist dieses bereits enteignet.","From: ".getsetting("gameadminemail","postmaster@localhost.com")); $sql = "UPDATE accounts SET sentnotice=1,house=0,housekey=0,marriedto=0 WHERE acctid='$row[acctid]'"; if ((int)$row[acctid]==(int)getsetting("hasegg",0)) savesetting("hasegg",stripslashes(0)); db_query($sql); $sql = "UPDATE houses SET owner=0 WHERE owner=$row[acctid]"; db_query($sql); $sql = "UPDATE items SET owner=0 WHERE owner=$row[acctid]"; db_query($sql); $sql = "DELETE FROM pvp WHERE acctid2=$row[acctid] OR acctid1=$row[acctid]"; db_query($sql) or die(db_error(LINK)); $sql = "UPDATE accounts SET charisma=0,marriedto=0 WHERE marriedto=$row[acctid]"; db_query($sql); }
$old+=5; //Friedhof Skript by Samsa (Idee: Fenja) $delaccts = '0'; $sql = "SELECT acctid FROM accounts WHERE superuser<=1 AND (1=0\n" .($old>0?"OR (laston < \"".date("Y-m-d H:i:s",time()-3600*24*$old)."\")\n":"") .($new>0?"OR (laston < \"".date("Y-m-d H:i:s",time()-3600*24*$new)."\" AND level=1 AND dragonkills=0)\n":"") .($trash>0?"OR (laston < \"".date("Y-m-d H:i:s",time()-3600*24*($trash+1))."\" AND level=1 AND experience < 10 AND dragonkills=0)\n":"") .")"; $result = db_query($sql); while ($row = db_fetch_assoc($result)) { $delaccts .= ','.$row['acctid']; if ($row['acctid']==getsetting("hasegg",0)) savesetting("hasegg","0"); } $sql = "DELETE FROM accounts WHERE acctid IN ($delaccts)"; db_query($sql) or die(db_error(LINK)); /* $sql = 'DELETE FORM `rporte` WHERE acctid IN ('.$delaccts.')'; db_query($sql) or die (db_error(LINK)); */ $sql = "UPDATE houses SET owner=0 WHERE owner IN ($delaccts)"; db_query($sql); $sql = "UPDATE items SET owner=0 WHERE owner IN ($delaccts) AND class='Schlüssel'"; db_query($sql); $sql = "DELETE FROM items WHERE owner IN ($delaccts) AND owner!=0"; db_query($sql); $sql = "DELETE FROM pvp WHERE acctid2 IN ($delaccts) OR acctid1 IN ($delaccts)"; db_query($sql) or die(db_error(LINK)); $sql = "DELETE FROM mail WHERE msgto IN ($delaccts)"; db_query($sql) or die(db_error(LINK)); $sql = "UPDATE accounts SET charisma=0,marriedto=0 WHERE marriedto IN ($delaccts)"; db_query($sql); // end cleanup
/** * PHP version 4 and 5 * * Das Goldene Ei, Verfallszeit!, * * ist eine Modifikation mit dem das "Goldene Ei" nach einem bestimmten * Zeitinterval zurueckgesetzt werden kann. * * Es werden derzeit vier- Optionen unterstuetzt: * * - Ak-/Deaktivieren der Verfallszeit vom Goldenen Ei * - das manuelle zuruecksetzen des Besitzers * - das automatische zuruecksetzen; Zeitinterval nach Tagen * - das automatische zuruecksetzen; Zeitinterval nach Inaktivitaetstagen * * * @author Kevin Goedecker [Kevz] * @version 23/06/2009 */
/** * Wir ueberpruefen vorab erst einmal, ob die Verfallszeit vom Goldenen Ei * ueberhaupt aktiviert ist. Ansonsten macht das alles wenig sinn. (: */ if (getsetting('eggduedates', 0)) { /** * Bevor wir dem Spieler das Ei entziehen und dadurch eine unnoetige SQL- * Abfrage machen und dabei die ganze accounts- Tabelle ankratzen, schauen * wir erst einmal, wann das Ei entzogen wird und setzen es dann zurueck! */ if (getsetting('expireegg_timestamp', time()) < time()-(3600*24*getsetting('expireegg', 14))) { // ..besitzer vom Ei zuruecksetzen! savesetting('hasegg', 0); // ..Verfallszeit zuruecksetzen! savesetting('expireegg_timestamp', time()); }
/** * Nun.. wenn das Goldene Ei noch in Besitz sein sollte, ueberpruefen wir * einfach, wann der Benutzer das letzte mal Aktiv war und entziehen es dann * wenn er zulange inaktiv war! */ if (getsetting('hasegg', 0)) { /** * Den Benutzer finden, der das Goldene Ei versteckt hat und es nicht * hergeben mag! So ein poehser... ;( */ $sql = 'SELECT `acctid` FROM `accounts` WHERE `acctid` = "%u" AND `laston` < DATE_SUB(NOW(), INTERVAL %u DAY)'; db_query(sprintf($sql, getsetting('hasegg', 0), getsetting('expirehasegg', 10))) or die(db_error(LINK));
/** * Falls der jenige gefunden wurde und er nicht zulang inaktiv war, wurde * auch ein Datensatz gefunden... Macht sinn, oder?! * Denn das Goldene Ei kann ja hoechstens einen Besitzer haben und wenn er * nicht zulang inaktiv war, wurde er auch nicht gefunden. (: */ if (db_affected_rows() == 1) savesetting('hasegg', 0); else debuglog('Der Spieler mit dem Goldenen Ei war noch nicht lang genug inaktiv!'); } }
//Ende Friedhof Skript
savesetting("lastdboptimize",date("Y-m-d H:i:s")); $result = db_query("SHOW TABLES"); for ($i=0;$i<db_num_rows($result);$i++){ list($key,$val)=each(db_fetch_assoc($result)); db_query("OPTIMIZE TABLE $val"); } ?>
|