Alle Dateien, die hier eingesehen werden können, sind unter der GNU GPL lizenziert. Wenn du etwas darin findest, das du gerne hättest, so schreibe mir doch bitte eine Anfrage damit ich, wenn ich es rausgeben will, alle Änderungen raussuchen könnte. Denn ich übernehme keine Verantwortung, solltest du was rausnehmen und es geht nicht. Und Support deswegen geb ich schon gar nicht.
Solltest du eine Schwachstelle im Code finden, sei es eine kritische Lücke oder eine Möglichkeit zu cheaten, dann bitte ich dich, mir das mitzuteilen. Solltest du beim cheaten erwischt werden, werde ich deinen Account eigenhändig löschen & bannen; Solltest du meinen Server angreifen, so werde ich meine Rechtsschutzversicherung kontaktieren.
Verzeichnisse:
<?php
// 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);
// Reduce time in jail for chars who need it
$sql = "UPDATE accounts SET jailtime=jailtime-1 WHERE jailtime > 0";
db_query($sql);
$session['user']['schneeball'] = 0;
$session['user']['tanz_heute'] = 0;
$datum = getsetting('weihnacht','');
if ($datum = 0){
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;
}
}else{
switch(e_rand(1,9)){
case 1:
$clouds="Schneefall";
break;
case 2:
$clouds="Neblig";
break;
case 3:
$clouds="Hagel";
break;
case 4:
$clouds="Kalt und Sonnig";
break;
case 5:
$clouds="Kalt bei klarem Himmel";
break;
case 6:
$clouds="Eisiger Wind";
break;
case 7:
$clouds="Starker Wind mit vereinzelten Schneefällen";
break;
case 8:
$clouds="Schneesturm";
break;
case 9:
$clouds="Tauwetter";
break;
}
}
savesetting("weather",$clouds);
// Vendor in town?
if (e_rand(1,3)==1){
savesetting("vendor","1");
$sql = "INSERT INTO news(newstext,newsdate,accountid) VALUES ('`qDer Wanderhändler ist heute im Dorf!`0',NOW(),0)";
db_query($sql) or die(db_error($link));
}else{
savesetting("vendor","0");
}
// Castle in forest??
if (e_rand(1,3)==1){
savesetting("castle","1");
$sql = "INSERT INTO news(newstext,newsdate,accountid) VALUES ('`qEtwas seltsames ist im Wald erschienen!`0',NOW(),0)";
db_query($sql) or die(db_error($link));
}else{
savesetting("castle","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);
// Adventsspecial für Merydiâ .. dies ist auf die reale Zeit bezogen, vom 1.12. bis 31.12., jeden Tag gibt es Geschenke
// Auch für anderes nutzbar ^^
// Copyright by Leen/Cassandra (cassandra@leensworld.de)
// SQL: INSERT INTO `settings` ( `setting` , `value` ) VALUES ('weihnacht', '0');
// settings -start-
$realdatum = time();
$datum = date('m-d',$realdatum);
// settings -end-
// Datum festlegen und welcher Dezember gerade ist
if ($datum >= '11-20' && $datum <= '12-31')
{
$weihnacht = $datum;
}
else $weihnacht = '0';
// Ende der Datumsabfrage
// speichern in Settings
savesetting('weihnacht',$weihnacht);
// fertig mit der Abfrage .. der Rest wird im newday.php gemacht!
// Schneeballschlacht dies ist auf die reale Zeit bezogen, vom 1.12. bis 31.12., gibt es die Schneeballschlacht
// Copyright by Leen/Cassandra (cassandra@leensworld.de)
// SQL: INSERT INTO `settings` ( `setting` , `value` ) VALUES ('schball', '0');
// settings -start-
$realdatum2 = time();
$datum2 = date('m-d',$realdatum2);
// settings -end-
// Datum festlegen und welcher Dezember gerade ist
if ($datum2 >= '12-01' && $datum2 <= '12-31')
{
$schball = $datum2;
}
else $schball = '0';
// Ende der Datumsabfrage
// speichern in Settings
savesetting('schball',$schball);
// fertig mit der Abfrage .. der Rest wird im newday.php gemacht!
// 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));
if ((int)$row[acctid]==(int)getsetting("hasamulett",0)) savesetting("hasamulett",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;
$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");
//Friedhof Skript by Samsa (Idee: Fenja)
$sql="INSERT INTO graeber (name,spruch,status,level,age,titel,dk,sex) VALUES ('".$row[login]."','".$spruch."','2','".$row[level]."','".$row[age]."','".$row[title]."','".$row[dk]."','".$row[sex]."')";
db_query($sql) or die(db_error(LINK));
}db_free_result($result);
$sql = "DELETE FROM accounts 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
/**
* Legend of the Green Dragon - Das Goldene Ei (Verfallszeit)
* 2007 (C) by Kevin Gödecker [Kevz]
*
*
* Den Aktuellen Besitzer des Goldenen Ei's ermitteln. Falls
* dieser nicht vorhanden sein sollte, oder Verfallszeit abgelaufen
* ist, wird der Besitzer auf "Unbekannt" zurückgesetzt.
*/
$hasegg = getsetting('hasegg', 0);
$expirehasegg = getsetting('expirehasegg', 8);
$result = db_query('SELECT 1 FROM `accounts`
WHERE `acctid` = "'.(int)$hasegg.'" AND
`laston` < DATE_SUB(NOW(), INTERVAL '.$expirehasegg.' DAY) ') or die (db_error($sql));
/**
* Falls kein Besitzer oder die Verfallszeit abgelaufen ist, wird
* der Besitzer zurückgesetzt.
*/
If ( db_num_rows($result) )
savesetting('hasegg', '0');
/**
* Legend of the Green Dragon - Das Amulett der Macht (Verfallszeit)
* Grundgerüst 2007 (Goldene Ei) (C) by Kevin Gödecker [Kevz]
* 2008 (C) by [Doctamy] - www.Legend-of-Alfiriel.de
*
* Den Aktuellen Besitzer des Amuletts der Macht ermitteln. Falls
* dieser nicht vorhanden sein sollte, oder Verfallszeit abgelaufen
* ist, wird der Besitzer auf "Unbekannt" zurückgesetzt.
*/
$hasamulett = getsetting('hasamulett', 0);
$expirehasamulett = getsetting('expirehasamulett', 8);
$result = db_query('SELECT 1 FROM `accounts`
WHERE `acctid` = "'.(int)$hasamulett.'" AND
`laston` < DATE_SUB(NOW(), INTERVAL '.$expirehasamulett.' DAY) ') or die (db_error($sql));
/**
* Falls kein Besitzer oder die Verfallszeit abgelaufen ist, wird
* der Besitzer zurückgesetzt.
*/
If ( db_num_rows($result) )
savesetting('hasamulett', '0');
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");
}
}
$se=getsetting("tournament_c",7)-1;
savesetting("tournament_c",$se);
if(getsetting("tournament_c",7)<=1){
savesetting("tournament_c",7);
$sql = "SELECT acctid,name,gems,goldinbank,melee_result FROM accounts WHERE melee_result > 0 ORDER BY melee_result DESC LIMIT 1";
$result = db_query($sql) or die(db_error(LINK));
for ($i = 0;$i < db_num_rows($result);$i++) {
$row = db_fetch_assoc($result);
if ($i==0){
$account=$row[acctid];
$oro=$row[goldinbank]+5000;
$gemme=$row[gems]+5;
output("`^$row[name] has $row[gems] gems and $row[goldinbank] gold in bank `n");
addnews("`#$row[name] `#hat den `^1. Platz beim Turnier der Klassen in der Kategorie Nahkampf belegt`n
`#$row[name] `#hat `^5 Edelsteine`# und `&5.000 gold bekommen !!");
}
$sql = "UPDATE `accounts` SET `gems` = $gemme WHERE `acctid` = $account";
$result1=db_query($sql);
$sql = "UPDATE `accounts` SET `goldinbank` = $oro WHERE `acctid` = $account";
$result2=db_query($sql);
if($session[user][acctid]==$row[acctid]) $session[user][gems]+=5; $session[user][goldinbank]+=5000;
}
$sql = "SELECT acctid,name,gems,goldinbank,bow_result FROM accounts WHERE bow_result > 0 ORDER BY bow_result DESC LIMIT 1";
$result = db_query($sql) or die(db_error(LINK));
for ($i = 0;$i < db_num_rows($result);$i++) {
$row = db_fetch_assoc($result);
if ($i==0){
$account=$row[acctid];
$oro=$row[goldinbank]+5000;
$gemme=$row[gems]+5;
output("`^$row[name] has $row[gems] gems and $row[goldinbank] gold in bank `n");
addnews("`#$row[name] `#hat den `^1. Platz beim Turnier der Klassen in der Kategorie Bogenschiessen belegt`n
`#$row[name] `#hat `^5 Edelsteine`# und `&5.000 gold bekommen !!");
}
$sql = "UPDATE `accounts` SET `gems` = $gemme WHERE `acctid` = $account";
$result1=db_query($sql);
$sql = "UPDATE `accounts` SET `goldinbank` = $oro WHERE `acctid` = $account";
$result2=db_query($sql);
if($session[user][acctid]==$row[acctid]) $session[user][gems]+=5; $session[user][goldinbank]+=5000;
}
$sql = "SELECT acctid,name,gems,goldinbank,emagic_result FROM accounts WHERE emagic_result > 0 ORDER BY emagic_result DESC LIMIT 1";
$result = db_query($sql) or die(db_error(LINK));
for ($i = 0;$i < db_num_rows($result);$i++) {
$row = db_fetch_assoc($result);
if ($i==0){
$account=$row[acctid];
$oro=$row[goldinbank]+5000;
$gemme=$row[gems]+5;
output("`^$row[name] has $row[gems] gems and $row[goldinbank] gold in bank `n");
addnews("`#$row[name] `#hat den `^1. Platz beim Turnier der Klassen in der Kategorie Kampfmagie belegt`n
`#$row[name] `#hat `^5 Edelsteine`# und `&5.000 gold bekommen !!");
}
$sql = "UPDATE `accounts` SET `gems` = $gemme WHERE `acctid` = $account";
$result1=db_query($sql);
$sql = "UPDATE `accounts` SET `goldinbank` = $oro WHERE `acctid` = $account";
$result2=db_query($sql);
if($session[user][acctid]==$row[acctid]) $session[user][gems]+=5; $session[user][goldinbank]+=5000;
}
$sql = "SELECT acctid,name,gems,goldinbank,gmagic_result FROM accounts WHERE gmagic_result > 0 ORDER BY gmagic_result DESC LIMIT 1";
$result = db_query($sql) or die(db_error(LINK));
for ($i = 0;$i < db_num_rows($result);$i++) {
$row = db_fetch_assoc($result);
if ($i==0){
$account=$row[acctid];
$oro=$row[goldinbank]+5000;
$gemme=$row[gems]+5;
output("`^$row[name] has $row[gems] gems and $row[goldinbank] gold in bank `n");
addnews("`#$row[name] `#hat den `^1. Platz beim Turnier der Klassen in der Kategorie Naturmagie belegt`n
`#$row[name] `#hat `^5 Edelsteine`# und `&5.000 gold bekommen !!");
}
$sql = "UPDATE `accounts` SET `gems` = $gemme WHERE `acctid` = $account";
$result1=db_query($sql);
$sql = "UPDATE `accounts` SET `goldinbank` = $oro WHERE `acctid` = $account";
$result2=db_query($sql);
if($session[user][acctid]==$row[acctid]) $session[user][gems]+=5; $session[user][goldinbank]+=5000;
}
$sql = "SELECT acctid,name,gems,goldinbank,cook_result FROM accounts WHERE cook_result > 0 ORDER BY cook_result DESC LIMIT 1";
$result = db_query($sql) or die(db_error(LINK));
for ($i = 0;$i < db_num_rows($result);$i++) {
$row = db_fetch_assoc($result);
if ($i==0){
$account=$row[acctid];
$oro=$row[goldinbank]+5000;
$gemme=$row[gems]+5;
output("`^$row[name] has $row[gems] gems and $row[goldinbank] gold in bank `n");
addnews("`#$row[name] `#hat den `^1. Platz beim Turnier der Klassen in der Kategorie Kochen belegt`n
`#$row[name] `#hat `^5 Edelsteine`# und `&5.000 gold bekommen !!");
}
$sql = "UPDATE `accounts` SET `gems` = $gemme WHERE `acctid` = $account";
$result1=db_query($sql);
$sql = "UPDATE `accounts` SET `goldinbank` = $oro WHERE `acctid` = $account";
$result2=db_query($sql);
if($session[user][acctid]==$row[acctid]) $session[user][gems]+=5; $session[user][goldinbank]+=5000;
}
$sql = "SELECT acctid,name,gems,goldinbank,swim_result FROM accounts WHERE swim_result > 0 ORDER BY swim_result DESC LIMIT 1";
$result = db_query($sql) or die(db_error(LINK));
for ($i = 0;$i < db_num_rows($result);$i++) {
$row = db_fetch_assoc($result);
if ($i==0){
$account=$row[acctid];
$oro=$row[goldinbank]+5000;
$gemme=$row[gems]+5;
output("`^$row[name] has $row[gems] gems and $row[goldinbank] gold in bank `n");
addnews("`#$row[name] `#hat den `^1. Platz beim Turnier der Klassen in der Kategorie Schwimmen belegt`n
`#$row[name] `#hat `^5 Edelsteine`# und `&5.000 gold bekommen !!");
}
$sql = "UPDATE `accounts` SET `gems` = $gemme WHERE `acctid` = $account";
$result1=db_query($sql);
$sql = "UPDATE `accounts` SET `goldinbank` = $oro WHERE `acctid` = $account";
$result2=db_query($sql);
if($session[user][acctid]==$row[acctid]) $session[user][gems]+=5; $session[user][goldinbank]+=5000;
}
db_query("UPDATE accounts SET melee_result=0,bow_result=0,gmagic_result=0,emagic_result=0,cook_result=0,swim_result=0 WHERE melee_result>=1 OR bow_result>=1 OR emagic_result>=1 OR gmagic_result>=1 OR cook_result>=1 OR swim_result>=1");
db_query("UPDATE accounts SET melee_result=0,bow_result=0,gmagic_result=0,emagic_result=0,cook_result=0,swim_result=0 WHERE melee_result>=1 OR bow_result>=1 OR emagic_result>=1 OR gmagic_result>=1 OR cook_result>=1 OR swim_result>=1");
}
?>