DS-Edition: in Gruppenrichtlinien eingefügt INSERT INTO settings VALUES ('prangerfrucht', '0'); öffne login.php finde @file(getsetting("logdnetserver","http://lotgd.net/")."logdnet.php?addy=".URLEncode(getsetting("server_address","http://".$_SERVER['SERVER_NAME'].dirname($_SERVER['REQUEST_URI'])))."&desc=".URLEncode(getsetting("serverdesc","Another LoGD Server"))."&version=".URLEncode(GAME_VERSION).""); füge danach ein: if($session[user][prangerdays]>0){ redirect("pranger.php"); } öffne user.php finde "superuser"=>"Superuser,enum,0,Standard Spieltage pro Kalendertag,1,Unbegrenzt Spieltage pro Kalendertag,2,Kreaturen und Spott administrieren,3,User administrieren", füge danach ein "prangermod"=>"Dorfältester,enum,0,Nein,1,Ja", DS-Edition: lib/security.lib.php öffne village.php finde if ($session['user']['alive']){ }else{ redirect("shades.php"); füge danach ein if($session[user][prangerdays]>0){ redirect("pranger.php"); } öffne newday.php setze if ($session[user][prangerdays]>0){ $session[user][prangerdays]--; } mache noch die navigation irgendwo hin und es müßte klappen. einiges noch vorweg Mods stellt man in der Admin grotte unter den user einstellungen ein.Die können dann die weiteren einstellungen vornehmen. */ require_once "common.php"; checkday(); page_header("Der Pranger"); addcommentary(); if ($_GET['op']=='') //changed by Piercy START { // if ($session['user']['prangerdays']==0) { $session['user']['location']=0; } if ($session['user']['prangerdays']>0) { $session['user']['location'] = USER_LOC_PRISON; output('`)`c`bDer Pranger`b`c`n `)Dir werden folgende Verbrechen zur Last gelegt:`n`n `^'.stripslashes($session['user']['pqtemp']).'`n`n `)Du befindest dich für `$'.$session['user']['prangerdays'].'`) Tage am Pranger, hier gibts nichts zu tun.`n`n Es gibt keine Chance zu fliehen. Du kannst hier nur schön brav deine Strafe absitzen.'); addnav('Bleib weiter da hängen','login.php?op=logout&loc='.USER_LOC_PRISON,true); } //anzeige wer dort ist else { $sql = "SELECT count(*) AS c FROM accounts WHERE prangerdays>0"; $result = db_query($sql); $row = db_fetch_assoc($result); $jailedplayers = $row['c']; if($access_control->su_check(access_control::SU_RIGHT_PRANGERMOD) || $access_control->su_check(access_control::SU_RIGHT_DEBUG)) { $bool_prangermod=true; } //story output('`)`c`bDer Pranger`b`c `)Auf dem matschigen Richtplatz steht ein massiver Eichenstamm von etwa zwei Meter neunzig Größe. Aus seinem Holz ragen schwere Eisenketten, an deren Enden dicke Ringe befestigt sind.`n Die Ringe sind mit Schlössern versehen, um böse Kriminelle und fiese Schufte an den schweren Eichenstamm zu ketten.`n Im Mittelteil des Stammes befindet sich eine weitere, wesentlich breitere Kette, die zum Fixieren eines Körpers dient und von einer Seite quer über den Stamm zur zweiten Seite verläuft und ebenfalls mit einem Schloss versehen ist. Am Boden halten erneut Ketten mit Eisenringen die Beine des Gefangenen still.`n Der ganze Pranger ist übersäht mit den faulenden Überresten von Eiern und Tomaten, welche von vielerlei Getier angefressen wurden. Rund um den Pranger liegen auch noch einige Steine. Eine von vielen Arten mit denen das Volk dem Sünder seine Meinung mitteilt und seiner Wut Luft macht.`n`n Wer immer hier hängen mag hat sich schwerster Verbrechen schuldig gemacht; durch eine auffällige Aufschrift auf der Kleidung oder auch nur mit einem kleinen Holzschild werden sie dem Volk mitgeteilt...`n`n Du siehst, dass '.$jailedplayers.' Halunken an dem Pranger angekettet sind.`n`n'); $sql = "SELECT acctid,name,level,prangerdays,pqtemp FROM accounts WHERE prangerdays>0"; $result = db_query($sql); if (db_num_rows($result)>0) { output('Spieler am Pranger:`n'); output("",true); output(""); if($bool_prangermod) output(''); output("",true); for ($i=0;$i ",true); if($bool_prangermod) { output(""); addnav("","pranger.php?op=rausholen&player=".$row['acctid']); } output(""); output(''); } output('
GefangenerLevelTage am PrangerAktionen
`&$row[name] `&$row[level] `&$row[prangerdays]Aufheben
".stripslashes($row['pqtemp'])."
',true); $frucht = getsetting ("prangerfrucht",0); if($frucht>0) { output('Es liegen noch `s'.$frucht.' `)Gegenstände auf dem Platz herum die du werfen kannst.`n`n'); addnav('Der Pranger'); addnav('Angeprangte bewerfen','pranger.php?op=wurflist'); } } else //Wenn keiner dranhängt eine fiese Falle *g* { addnav('Pranger untersuchen','pranger.php?op=examine1'); } output('Die Leute stehen auf dem Platz und schreien:`n'); addnav('Zurück zum Richtplatz','dorftor.php?op=richtplatz'); if($bool_prangermod) { addnav('Mod-Aktionen'); addnav('P?Leute an den Pranger binden','pranger.php?op=bind'); addnav('Früchteverwaltung','pranger.php?op=fruechte'); } } if($session['user']['prangerdays']>0) { viewcommentary('pranger','Niemand wird dich hören.',20,'verzweifelt'); addnav('Aktualisieren','pranger.php'); //Zuhören funktioniert nicht mit ausgeblendeter Eingabezeile } else { viewcommentary('pranger','Schrei\' dir deinen Frust raus',20,'schreit'); } }//changed by Piercy END elseif ($_GET['op']=='bind') //changed by Piercy START Leute an den Pranger bringen Eingabeformular { output("`c`bWelcher Schurke muss büßen?`b
Suche Leute die angebunden werden sollen:`n `n
",true); output("",true); addnav('','pranger.php?op=search'); addnav('P?Zurück zum Pranger','pranger.php'); }//changed by Piercy END elseif ($_GET['op']=='search') //Liste passender user { $search=str_create_search_string($_POST['q']); $sql = "SELECT acctid,login,name,level,prangerdays FROM accounts WHERE name LIKE '$search' ORDER BY login DESC LIMIT 100"; $result = db_query($sql); if (db_num_rows($result)>=100) { output('`$Es wurden über 100 Spieler gefunden! Bitte formuliere deine Anfrage genauer.`0`n'); } if (db_num_rows($result)<=0) { output('`$Keine Ergebnisse gefunden`0'); } else { output("",true); output("",true); $rn=0; for ($i=0;$i ",true); } output("
LevelNameAktion
$row[level] $row[name] ",true); if($row['prangerdays']>0) { output("`2Aufheben`0"); addnav('','pranger.php?op=rausholen&player='.$row['acctid']); } else { output("Anbinden",true); addnav('','pranger.php?op=einweisen&player='.$row['acctid']); } output("
",true); } addnav('P?Zurück zum Pranger','pranger.php'); addnav('Zurück zum Dorf','village.php'); } elseif($_GET['op']=='einweisen') //changed by Piercy START abfrage zum anprangern { $player=(int)$_GET['player']; $prangerdays=$_POST['prangerdays']; if($player != '') { if($_POST['ok']=='1') { $wort= ($prangerdays==1?'Tag':'Tage'); $sql='SELECT acctid,sex,name,prangerdays,login,level FROM accounts WHERE acctid ='.$player; $result = db_query($sql); $row = db_fetch_assoc($result); systemmail($player,'`^Angeprangert! Von`0',$session['user']['name'].' hat dich an den Pranger gekettet!`nDu bist nun für '.$prangerdays.' '.$wort.' angekettet.`n`nFolgende Verbrechen werden dir zur Last gelegt:`n`6'.$_POST['pranger_reason'],$session['user']['acctid']); addnav('Zurück zum Dorf','village.php'); addnews("`^".$row['name']."`% wurde an einem dicken Eichenstamm für $prangerdays $wort angekettet."); user_update( array ( 'prangerdays'=>$prangerdays, 'pqtemp'=>addslashes($_POST['pranger_reason']), ), $row['acctid'] ); } else { output("Gib an, wieviel Spieltage derjenige büßen muss:"); output("
"); output(" Tage"); output('`n`nGib eine Begründung ein:`n`n`n'); output(""); output(""); output("
"); addnav("","pranger.php?op=einweisen&player=$player"); addnav('Doch nicht','pranger.php'); } } }//changed by Piercy END elseif($_GET['op']=='examine1') { output('`)`c`bDer Pranger`b`c `)Du siehst, dass im Augenblick niemand hier angebunden ist. Das wäre die perfekte Gelegenheit, dir den Pranger einmal genauer anzusehen. Schon willst du dich ihm nähern, als du den Kerkermeister bemerkst, der mit einem nicht gerade vertrauenerweckenden Grinsen genau auf dich zukommt. Vielleicht ist es doch keine so gute Idee, wer weiß, ob er nicht etwas dagegen hat. Unschlüssig bleibst du einen Moment stehen, noch kannst du einfach so tun, als wäre nichts gewesen und den Ort wieder verlassen.`n`nWillst du `iwirklich`i näher herangehen?`n`n'); addnav('Aber sicher!','pranger.php?op=examine'); addnav('Lieber doch nicht...','pranger.php'); } elseif($_GET['op']=='examine') //sich selbst anketten lassen { output('`)`c`bDer Pranger`b`c `)Du gehst zu dem leeren Pranger und schaust ihn dir genau an. Just in diesem Moment kommt der Kerkermeister bei dir an, welcher dir bereitwillig erklärt wie man einen Sünder an den Pfahl kettet.`n `i`s"Also zuerst legt man die oberen zwei Eisenschellen um die Arme, während der Delinquient von zwei starken Stadtwachen festgehalten wird, etwa so:"`)`i`nDer Kerkermeister demonstriert es dir und legt deine Arme in die Schellen.`n `s`i"Dann legt man zwei Schellen um die Beine und die besonders stabile Kette um den Bauch. Seht Ihr, das ist ganz einfach."`i`)`nEhe du dich versiehst bist du gefangen.`n`i`s"Nun noch festziehen und die dicken Schlösser dran, fertig."`i`)`n Du spürst am eigenen Leib dass man sich hier wirklich nicht rühren kann. Nun würdest du gerne wieder losgebunden werden, doch der Kerkermeister geht fies grinsend seiner Wege.`n`n `&Immerhin ist das eine Erfahrung die man nicht alle Tage macht. Du bekommst 300 Erfahrungspunkte.`n`n'); viewcommentary('pranger','Schrei\' um Hilfe',20,'heult'); $session['user']['prangerdays']=1; $session['user']['pqtemp']='`#'.$session['user']['name'].'`# war zu neugierig.'; $session['user']['experience']+=300; addnews("`^".$session['user']['name']."`% wurde an einem dicken Eichenstamm für 1 Tag angekettet."); addnav('Na toll...','pranger.php'); } elseif($_GET['op']=='rausholen') //abfrage zum lösen vom Pranger { $player=(int)$_GET['player']; if($player != "") { $sql="SELECT acctid, name,prangerdays,login, level FROM accounts WHERE acctid =".$player; $result = db_query($sql); $row = db_fetch_assoc($result); user_update( array ( 'prangerdays'=>0, 'location'=>0 ), $row['acctid'] ); systemmail($player,"`^Losgebunden! Von`0",$session['user']['name']." hat dich von den Ketten befreit!`nDu bist endlich wieder frei!",$session['user']['acctid']); redirect('pranger.php'); } } elseif($_GET['op']=='fruechte') //changed by Piercy START { $fruit = getsetting('prangerfrucht',0); output('`b`cGegenstände hinzufügen`b'); rawoutput("
"); output('Es sind noch '.$fruit.' Gegenstände vorhanden.`nWieviele Gegenstände möchtest Du hinzufügen?`n'); rawoutput(""); rawoutput("
"); addnav('','pranger.php?op=gegenstaende'); addnav('Keine Änderung','pranger.php'); }//changed by Piercy END elseif($_GET['op']=='gegenstaende') //changed by Piercy START { $fruit = abs((int)$_POST['fruit']); savesetting('prangerfrucht',getsetting('prangerfrucht',0)+$fruit); redirect('pranger.php'); }//changed by Piercy END elseif($_GET['op']=='wurflist') //added by Piercy START { $sql='SELECT acctid, name, prangerdays FROM accounts WHERE prangerdays>0'; $result=db_query($sql); output("",true); output("",true); for ($i=0;$i",true); addnav('','pranger.php?op=steine&player='.$row['acctid']); addnav('','pranger.php?op=eier&player='.$row['acctid']); addnav('','pranger.php?op=tomate&player='.$row['acctid']); } output("
NameWerfen
",true); output("`&".$row['name']."`n"); output("",true); output("Steine | "); output("Eier | "); output("Tomaten"); output("
",true); output("`n`n"); output("
GegenstandKosten
Steine100 Gold
Eier50 Gold
Tomaten20 Gold
",true); addnav('Nichts werfen','pranger.php'); }// END Wurfliste elseif ($_GET['op']=="steine") //changed by Piercy START { $player=intval($_GET['player']); $sql="SELECT name,sex,maxhitpoints FROM accounts WHERE acctid=$player"; $result=db_query($sql); $row=db_fetch_assoc($result); $name=$row['name']; if ($session['user']['gold']< 100) { output("`0Du kannst es dir nicht leisten, $name`0 zu bewerfen. Komm wieder wenn du genug Gold hast!"); addnav('Zurück','pranger.php'); } else if (getsetting('prangerfrucht',0)<1) { output('Es liegen keine Gegenstände mehr auf dem Platz.'); addnav('Zurück','pranger.php'); } else { $session['user']['gold']-=100; savesetting ('prangerfrucht' ,getsetting ('prangerfrucht',0)- 1); switch (e_rand(1,4)) { case 1: insertcommentary($session['user']['acctid'],': `&wirft einen Stein gegen `0'.$name.'`&s Kopf und trifft schmerzhaft.','pranger'); break; case 2: insertcommentary($session['user']['acctid'],': `&wirft einige Steine daneben, trifft aber dann `0'.$name.'`& umso härter.','pranger'); break; case 3: insertcommentary($session['user']['acctid'],': `&ist zu dumm um `0'.$name.'`& zu treffen.','pranger'); break; default: insertcommentary($session['user']['acctid'],': `&wird selbst von einem dicken Stein getroffen und blutet.','pranger'); break; } redirect('pranger.php'); } }// END Steine elseif ($_GET['op']=="eier") //changed by Piercy START { $player=intval($_GET['player']); $sql="SELECT name,sex FROM accounts WHERE acctid=$player"; $result=db_query($sql); $row=db_fetch_assoc($result); $name=$row['name']; if ($session['user']['gold']< 50) { output("`0Du kannst es dir nicht leisten, $name`0 zu bewerfen. Komm wieder wenn du genug Gold hast!"); addnav('Zurück','pranger.php'); } else if (getsetting('prangerfrucht',0)<1) { output('Es liegen keine Gegenstände mehr auf dem Platz.'); addnav('Zurück','pranger.php'); } else { $session['user']['gold']-=50; savesetting ('prangerfrucht' ,getsetting ('prangerfrucht',0)- 1); switch (e_rand(1,4)) { case 1: insertcommentary($session['user']['acctid'],': `&klatscht `0'.$name.'`& ein stinkendes Ei an den Kopf.','pranger'); break; case 2: insertcommentary($session['user']['acctid'],': `&wirft `0'.$name.'`& ein faules Ei zu und lässt '.($row['sex']?'sie':'ihn').' so richtig stinken.','pranger'); break; case 3: insertcommentary($session['user']['acctid'],': `&ist einfach zu blöd `0'.$name.'`& zu treffen.','pranger'); break; default: insertcommentary($session['user']['acctid'],': `&steht im Weg und wird selbst von mehreren Eiern getroffen.','pranger'); break; } redirect('pranger.php'); } }// END Eier elseif ($_GET['op']=="tomate") //changed by Piercy START { $player=intval($_GET['player']); $sql="SELECT name,sex FROM accounts WHERE acctid=$player"; $result=db_query($sql); $row=db_fetch_assoc($result); $name=$row['name']; if ($session['user']['gold']< 20) { output("`0Du kannst es dir nicht leisten, $name`0 zu bewerfen. Komm wieder wenn du genug Gold hast!"); addnav('Zurück','pranger.php'); } else if (getsetting('prangerfrucht',0)<1) { output('Es liegen keine Gegenstände mehr auf dem Platz.'); addnav('Zurück','pranger.php'); } else { $session['user']['gold']-=20; savesetting ('prangerfrucht' ,getsetting ('prangerfrucht',0)- 1); switch (e_rand(1,4)) { case 1: insertcommentary($session['user']['acctid'],': `&haut `0'.$name.'`& mit einer noch rohen Tomate die Birne ein.','pranger'); break; case 2: insertcommentary($session['user']['acctid'],': `&lässt eine gammelige Tomate zielsicher in `0'.$name.'`&s Gesicht gleiten','pranger'); break; case 3: insertcommentary($session['user']['acctid'],': `&wirft `0'.$name.'`& mit stinkenden, angefaulten Tomaten schön farbig.','pranger'); break; default: insertcommentary($session['user']['acctid'],': `&bekommt selbst eine vergammelte Tomate an den Kopf, als '.($session['user']['sex']?'sie':'er').' eine aufheben will.','pranger'); break; } redirect('pranger.php'); } }// END Tomate page_footer(); ?>