LoGD Standardrelease steht hier zum Download zur Verfügung!

Zeige Source: /logd/kerker.php

Hier klicken für den Source, ODER
Weitere Dateien, von denen du den Quelltext sehen kannst:
(Das Lesen des Source, um sich spielerische Vorteile zu verschaffen, ist nicht erlaubt. Solltest du Schwachstellen oder Fehler entdecken, bist du als Spieler verpflichtet, diese zu melden.)

Source von: /logd/kerker.php

<?php

/*
  --- Der Kerker ---

  Version 1.0

  Script by Lazalantin

  28.12.2005

  Email: dark-pilzkopf@web.de

  http://www.lemuria-legend.de/
  LoGD 0.9.7+jt ext (GER) Mystical Lemuria v1.0

  Script fehlerbereinigt und modifiziert von Linus
  Texte korrigiert und erweitert von Veskara
  July 2007
  http://www.die-waelder-von-alvion.de/logd

*/


/*
   -- Einbauanleitung --

   SQL

   ALTER TABLE `accounts` ADD `prison` enum("0","1") NOT NULL default '0';
   ALTER TABLE `accounts` ADD `prisondays` tinyint(4) NOT NULL default '0';

   ALTER TABLE `accounts` ADD `einzelhaft` enum("0","1") NOT NULL default '0';
   ALTER TABLE `accounts` ADD `einzeldays` tinyint(4) NOT NULL default '0';



   login.php


   suche:

           @file(getsetting("logdnetserver","http://lotgd.net/")."logdnet.php?addy=".URLEncode(getsetting("serverurl","http://".$_SERVER['SERVER_NAME'].dirname($_SERVER['REQUEST_URI'])))."&desc=".URLEncode(getsetting("serverdesc","Another LoGD Server"))."&version=".URLEncode($logd_version)."");
   }

   füge danach ein:

   if($session[user][prison]==1){
        redirect("kerker.php");
   }
   if($session[user][einzelhaft]==1){
        redirect("kerker.php");
   }

   save&closed



   village.php


   suche:

   if ($session['user']['alive']){ }else{
        redirect("shades.php");


   füge danach ein:

   if($session[user][prison]==1){
        redirect("kerker.php");
   }
   if($session[user][einzelhaft]==1){
        redirect("kerker.php");
   }

   save&closed



   newday.php


   einfach irgendwo einfügen:

if ($session[user][prison]==1 && $session[user][prisondays]>0){
        $session[user][prisondays]--;
}

if ($session[user][einzelhaft]==1 && $session[user][einzeldays]>0){
        $session[user][einzeldays]--;
}


Öffne die user.php und füge an geeigneter Stelle ein:

        "prison"=>"Sitz sie/er im Gefängniss?,enum,0,Nein,1,Ja",
        "prisondays"=>"Tage im Kerker `4(max. 255)`0,int",
        "einzelhaft"=>"Sitz sie/er in Einzelhaft?,enum,0,Nein,1,Ja",
        "einzeldays"=>"Tage Einzelhaft `4(max. 255)`0,int",

speichern und alles hochladen!


   und die kerker.php einfach noch irgendwo in der village.php verlinken

fertich :)

*/

require_once "common.php";
require_once 
"func/systemmail.php";

if (
$session['user']['einzelhaft']==&& $session[user][einzeldays] < 1){
    
addcommentary();
}

checkday();
page_header("Der Kerker von Alvion");


 
//abfrage für die mit befugnis wer eingekerkert wird
if ($_GET[op]=="search"){
        
$sql "SELECT acctid FROM accounts WHERE ";
        
$where="
        login LIKE '%
{$_POST['q']}%' OR
        acctid LIKE '%
{$_POST['q']}%' OR
        name LIKE '%
{$_POST['q']}%'";
        
$result db_query($sql.$where);
        if (
db_num_rows($result)<=0){
                
output("`\$Keine Ergebnisse gefunden`0");
                
$_GET[op]="";
                
$where="";
        }elseif (
db_num_rows($result)==1){
                
$_GET[op]="";
                
$_GET['page']=0;
        }else{
                
$_GET[op]="";
                
$_GET['page']=0;
        }

        if (isset(
$_GET['page'])){
                
$order "acctid";
                if (
$_GET[sort]!=""$order "$_GET[sort]";
                
$offset=(int)$_GET['page']*100;
                
$sql "SELECT acctid,login,name,level FROM accounts ".($where>""?"WHERE $where ":"")."ORDER BY \"$order\" LIMIT $offset,100";
                
$result db_query($sql) or die(db_error(LINK));
                
output("<table>",true);
                
output("<tr>
                <td><a href='kerker.php?sort=login'>Login</a></td>
                <td><a href='kerker.php?sort=name'>Name</a></td>
                <td><a href='kerker.php?sort=level'>Lev</a></td>

                </tr>`n`n"
,true);


                 
output("</td>",true);

                
addnav("","kerker.php?sort=login");
                
addnav("","kerker.php?sort=name");
                
addnav("","kerker.php?sort=level");
                
$rn=0;
                for (
$i=0;$i<db_num_rows($result);$i++){
                        
$row=db_fetch_assoc($result);

                        
output("<tr class='".($rn%2?"trlight":"trdark")."'>",true);

                        
output("<td>",true);
                        
output($row[login]);
                        
output("</td><td>",true);
                        
output($row[name]);
                        
output("</td><td>",true);
                        
output($row[level]);
                        
output("</td>",true);
                        
output("<td>",true);
                        
output("<a href='kerker.php?op=einweisen&player=".rawurlencode($row[acctid])."' style='color:#B00000' >Einlochen</a>",true);
                        
output("</td>",true);
                        
output("<td>",true);
                        
output("<a href='kerker.php?op=rausholen&player=".rawurlencode($row[acctid])."' style='color:#FFFF00' >Begnadigen</a>",true);
                        
output("</td>",true);
                        
output("<td>",true);
                        
output("<a href='kerker.php?op=einzel&player=".rawurlencode($row[acctid])." ' style='color:#FF0000' >Einzelhaft</a>",true);
                        
output("</td>",true);
                        
output("<td>",true);
                        
output("<a href='kerker.php?op=einzellos&player=".rawurlencode($row[acctid])."' style='color:#FFFFFF' >Aus Einzelhaft entlassen</a>",true);
                        
output("</td>",true);
                        
addnav("","kerker.php?op=rausholen&player=".rawurlencode($row[acctid])."");
                        
addnav("","kerker.php?op=einweisen&player=".rawurlencode($row[acctid])."");
                        
addnav("","kerker.php?op=einzel&player=".rawurlencode($row[acctid])."");
                        
addnav("","kerker.php?op=einzellos&player=".rawurlencode($row[acctid])."");
                        
output("</tr>",true);
                }
                
output("</table>",true);
        }
        
addnav("Zurück zum Kerker","kerker.php");
        
addnav("Zurück zum Dorf","village.php");
}



      
//abfrage zum rausholen ausm knast
if($_GET[op]=="rausholen"){
        
$player=$_GET[player];
        if(
$player != ""){
                
$sql="SELECT acctid, name, prison,prisondays,login, level FROM accounts WHERE acctid =".$player;
                
$result db_query($sql) or die(db_error(LINK));
                
$row db_fetch_assoc($result);

                
output("`n`n`7Du hast ".$row['name']."`7 aus dem Gefängnis geholt, ich hoffe es war richtig  ",true);
                
addnav("Zurück","kerker.php");

                
$sql="UPDATE accounts SET prison='0', prisondays=0, einzelhaft='0', einzeldays=0  WHERE acctid = ".$row['acctid'];
                
db_query($sql) or die(db_error(LINK));
                
$name=$session[user][name];
                 
systemmail($_GET[player],"`^Befreit!Von`0",$session[user][name]." hat dich aus dem Gefängnis entlassen und begnadigt!`nDu bist endlich wieder frei!",$session[user]['acctid']);
        }
}
                       
//abfrage zum anprangern
 
if($_GET[op]=="einweisen"){
 
$player=$_GET[player];
 if(
$player != "")
 {
         
$sql="SELECT acctid, name, prison,prisondays,login, level FROM accounts WHERE acctid =".$player;
         
$result db_query($sql) or die(db_error(LINK));
         
$row db_fetch_assoc($result);

                            
$sql="UPDATE accounts SET prisondays=prisondays+1, prison='1'  WHERE acctid = ".$row['acctid'];
                            
db_query($sql) or die(db_error(LINK));
                            
$name=$session[user][name];
        
$days=$row['prisondays']+1;

             
output("`n`n`7du hast ".$row['name']."`7 einkerkern lassen von dem hässlichen Troll, ich hoffe es war gut, was du getan hast  ",true);
              
systemmail($_GET[player],"`^Eingesperrt!Von`0",$session[user][name]." hat dich einkerkern lassen! Du wirst nun dem Troll Gesellschaft leisten!`n",$session[user]['acctid']);
               
addnav("Zurück","kerker.php");



                         }     }


   if(
$_GET[op]=="einzellos"){
    
$player=$_GET[player];
    
$player=$_GET[player];
    if(
$player != "")
    {
            
$sql="SELECT acctid, name, prison,prisondays,login, level FROM accounts WHERE acctid =".$player;
            
$result db_query($sql) or die(db_error(LINK));
            
$row db_fetch_assoc($result);

             
output("`n`n`7Du hast ".$row['name']."`7 aus der Einzelhaft geholt, ich hoffe es war richtig  ",true);
             
addnav("Zurück","kerker.php");

                            
$sql="UPDATE accounts SET einzelhaft='0', einzeldays=0  WHERE acctid = ".$row['acctid'];
                            
db_query($sql) or die(db_error(LINK));
                            
$name=$session[user][name];
                             
systemmail($_GET[player],"`^Befreit!Von`0",$session[user][name]." hat dich aus der Einzelhaft entlassen. `nDu bist endlich wieder bei den anderen Mitgefangenen!",$session[user]['acctid']);
                         }     }

    if(
$_GET[op]=="einzel"){
    
$player=$_GET[player];
    if(
$player != "")
    {
            
$sql="SELECT acctid, name, einzelhaft,einzeldays,login, level FROM accounts WHERE acctid =".$player;
            
$result db_query($sql) or die(db_error(LINK));
            
$row db_fetch_assoc($result);

                            
$sql="UPDATE accounts SET einzeldays=einzeldays+1,einzelhaft='1'  WHERE acctid = ".$row['acctid'];
                            
db_query($sql) or die(db_error(LINK));
                            
$name=$session[user][name];
            
$days=$row['einzeldays']+1;


             
output("`n`n`7du hast ".$row['name']."`7 in Einzelhaft stecken lassen! Das ist eine sehr harte Strafe!  ",true);
              
systemmail($_GET[player],"`^Einzelhaft!`0",$session[user][name]." hat dich in Einzelhaft gesteckt.",$session[user]['acctid']);
               
addnav("Zurück","kerker.php");



                         }     }

if (
$_GET[op]==""){
    if (
$session['user']['prison']==&& $session['user']['einzelhaft']==0) {
        
// addcommentary();
        
$session['user']['standort']="`4Im Kerker`0";
        if (
$session[user][prisondays] >= 1){
            
output("`2Grummelnd musst du leider feststellen, dass du noch immer im Kerker fest sitzt. Und das einzigste was du zu sehen bekommen wirst sind die kahlen, schmutzigen Wände und die schmierigen Gesichter deiner Mithäftlinge. Und was zu allem Übel auch noch viel schlimmer ist... der Kerkertroll, der hier wacht stinkt bestialisch, sodass es dir beinahe schon die Tränen in die Augen treibt. Die einzigste Möglichkeit, dieser Tristheit ein wenig zu entkommen ist, dich mit den anderen Gefangenen zu unterhalten. Wenn du Glück hast, kommt vielleicht auch einmal ein Besucher vorbei.");
            
output("`n`n");
            
viewcommentary("kerker","Rede mit den anderen und den Besuchern",25,"sagt",1,1);
            
addnav("Bitte lesen");
            
addnav("a?`^Gesetzestafeln","rules.php");
            
addnav("-Kerker-");
            
addnav("Mit dem Troll reden","kerker.php?op=reden");
            if (
$session[user][gems]>0){
                
addnav("Eine Suppe essen (1 Edelstein)","kerker.php?op=suppe");
            }
            
addnav("Schlafen legen","login.php?op=logout",true);
            if(
$session['user']['superuser']>=3addnav("X?Admingrotte","superuser.php");
        }else{
            
output("`2Deine Gefängnisstrafe ist hiermit vorbei und du wirst wieder in die Freiheit entlassen. Sieh bloß zu, dass du so schnell nicht wieder zurück in dieses Loch musst.");
            
addnav("In die Freiheit","village.php");
            
$session[user][prison]=0;
            
$session[user][prisondays]=0;
            
$name $session[user][name];
            
addnews("`% $name `%wurde heute aus dem Gefängnis von Alvion entlassen!");
        }
    }

    if (
$session['user']['einzelhaft']==1) {
        if (
$session[user][einzeldays] >= 1){
            
$session['user']['standort']="`4In Einzelhaft`0";
            
output("`2Du musst wirklich ein schlimmer Finger sein, wenn dir eine solche Strafe wie diese hier auferlegt wurde. Eingesperrt in Einsamkeit... du hast nicht einmal die Möglichkeit dich zu unterhalten, es sei denn, du befindest die kahlen Wände als gute Gesprächspartner. Hören wird dich jedenfalls keiner. Und das Schlimmste... es stinkt, als wäre eine ganze Horde der Kerkertrolle hier.`n`n`n");
            
viewcommentary("kerker","Keiner kann dich hören!",25,"schimpft",1,1);
            
addnav("Bitte lesen");
            
addnav("a?`^Gesetzestafeln","rules.php");
            
addnav("-Kerker-");
            
addnav("Schlafen legen","login.php?op=logout",true);
        }else{
            
output("`2Deine Gefängnisstrafe ist hiermit vorbei und du wirst wieder in die Freiheit entlassen.  Sieh bloß zu, dass du so schnell nicht wieder zurück in dieses Loch musst!");
            
addnav("In die Freiheit","village.php");
            
$session[user][einzelhaft]=0;
            
$session[user][einzeldays]=0;
            
$name $session[user][name];
            
addnews("`% $name `%wurde heute aus dem Gefängnis von Alvion entlassen!");
        }
    }

       
//anzeige wer eingebunkert ist
       
else if ($session['user']['prison'] == 0){
       
// addcommentary();
       
$session['user']['standort']="Kerker";
        
$sql "SELECT count(acctid) AS c FROM accounts WHERE prison='1' AND einzelhaft='0'";
        
$result db_query($sql);
        
$row db_fetch_assoc($result);
        
$prison1 $row['c'];

        
$sql "SELECT count(acctid) AS b FROM accounts WHERE einzelhaft='1'";
        
$result db_query($sql);
        
$row db_fetch_assoc($result);
        
$prison2 $row['b'];

        
output("`b`c`$Die Kerker von Alvion`b`c `n`n`n");

        
output("`*Ängstlich musst du mit ansehen, wie der Weg hierher in diese Gemäuer immer unheimlicher wird. Die Luft scheint im Inneren förmlich zu stehen und beinahe hast du das Gefühl, das Moos könnte hier gleich direkt in der Luft wachsen vor Feuchtigkeit und Schmutz. Gott sei Dank beschränkt sich der Bewuchs aber nur auf die Wände der Kerkerzellen, von denen das Wasser förmlich herunter trieft und große Pfützen am Boden bildet. Ein Grunzen reißt dich aus deinem Erstaunen und dir steigt auf einmal ein grässlicher Geruch in die Nase, der ohne Zweifel vom hier ansässigen Wärter kommen muss. Groß und mit Warzen in vollster Pracht steht er auf einmal vor dir und blickt dich mürrisch an. Jetzt solltest du lieber kein falsches Wort sagen, denn deine Eltern haben dir schon früh beigebracht, dass mit Trollen nicht zu spaßen ist. Fast starr vor Schreck, schaust du eher unbeabsichtigt über seine große Keule hinweg und erkennst im hinteren Bereich des Kerkers einige Zellen, aus denen verzweifelte Rufe dringen. Offensichtlich wurden dort die Gefangenen völlig alleine eingesperrt ohne die Möglichkeit auf Gesellschaft.");
        
output("`n`TDu siehst an einer kleinen Tafel, die am Eingang hängt, dass zur Zeit $prison1 `TKrieger/innen in Haft sitzen und $prison2 `TKrieger/innen in Einzelhaft.");
        
output("`n`n");

        
output(" Spieler die in Haft sitzen:`n");
        
output("<table border=0 cellpadding=2 cellspacing=1 bgcolor='#999999'>",true);
        
output("<tr class='trhead'><td><b>Gefangener</b></td><td><b>Level</b></td><td><b>Tage in Haft</b></td>",true);

        
$sql "SELECT name, level, prisondays FROM accounts WHERE prison='1' AND einzelhaft='0'";
        
$result db_query($sql);
        for (
$i=0;$i<db_num_rows($result);$i++){
                
$row db_fetch_assoc($result);
                
$inprison $row[name];
                
$prisondays $row[prisondays];
                
$level $row[level];
                 
output("<tr class='".($i%2?"trdark":"trlight")."'><td>",true);
                
output("`&$inprison`n");
                
output("</td><td>",true);
                
output("`&$level`n");
                
output("</td><td>",true);
                
output("`&$prisondays`n");
                
output("</td>",true);
                }
        
output("</table>",true);


        
output("`n`n");
        
output(" Spieler die in Einzelhaft sitzen:`n");
        
output("<table border=0 cellpadding=2 cellspacing=1 bgcolor='#999999'>",true);
        
output("<tr class='trhead'><td><b>Gefangener</b></td><td><b>Level</b></td><td><b>Tage in Einzelhaft</b></td>",true);

        
$sql "SELECT * FROM accounts WHERE einzelhaft='1'";
        
$result db_query($sql);
        for (
$i=0;$i<db_num_rows($result);$i++){
                
$row db_fetch_assoc($result);
                
$prison $row[name];
                
$days $row[einzeldays];
                
$level $row[level];
                 
output("<tr class='".($i%2?"trdark":"trlight")."'><td>",true);
                
output("`&$prison`n");
                
output("</td><td>",true);
                
output("`&$level`n");
                
output("</td><td>",true);
                
output("`&$days`n");
                
output("</td>",true);
                }
        
output("</table>",true);

        
output("`n`n");
        
output("Einige Leute, die zu Besuch sind und die Gefangenen unterhalten sich:`n`n");
        
viewcommentary("kerker","Unterhalte dich mit den Insassen",25,"sagt",1,1);

           
// menu
        
addnav("-Der Kerker-");
        
addnav("Sich mit dem Troll unterhalten","kerker.php?op=laber");
        if (
$session[user][superuser]>=2){
            
addnav("Jemand einkerkern oder begnadigen","kerker.php?op=binden");
        }
        
addnav("-Wege-");
        
addnav("Zurück","village.php");

}
}
        if (
$_GET[op]=="binden"){

            
output("`c`bHier kannst du die Krieger/innen einkerkern bzw. wieder freilassen.`b");
            
output("<form action='kerker.php?op=search' method='POST'>Suche Leute die eingekerkert werden sollen:`n <input name='q' id='q'>`n<input type='submit' class='button'></form>",true);
            
output("<script language='JavaScript'>document.getElementById('q').focus();</script>`c",true);
            
addnav("","kerker.php?op=search");
            
addnav("Zurück","kerker.php");
}

        if (
$_GET[op]=="reden"){

            
output("`TDa dir im Gefängnis langweilig ist und du nicht weißt, was du tun sollst, versuchst du ein wenig mit dem Kerkertroll zu reden. Du rufst ihn zu dir und versuchst einfach über irgendwas zu quatschen, doch er verpasst dir einen Schlag auf den Kopf und du verlierst einen Lebenspunkt!");
            if (
$session[user][hitpoints]>1){
                
$session[user][hitpoints]--;
            }else{
                
$session[user][hitpoints]=1;
            }
            
addnav("Weiter gammeln","kerker.php");
}

        if (
$_GET[op]=="suppe"){

            
output("`TDa du hungrig bist, bestellst du dir beim Kerkertroll eine leckere Suppe. Er bringt sie dir und du gibst ihm dafür einen Edelstein. Aber Pustekuchen! Sie schmeckt mehr nach Wasser und Sand als nach irgendetwas anderem!");
            
$session[user][gems]--;
            if (
$session[user][hitpoints]<$session[user][maxhitpoints]){
               
$session[user][hitpoints]=$session[user][maxhitpoints];
            }
            
addnav("Weiter gammeln","kerker.php");
}

if (
$_GET[op]=="laber"){
    
output("`TDu bist es satt mit den Gefängnisinsassen zu reden, deshalb versuchst du dich etwas mit dem Kerkertroll zu unterhalten.");
    
output("`TAls du auf ihn zugehst, schaut er auf und guckt dich ersteinmal von oben bis unten an.");
    switch (
e_rand(1,10)){
        case 
1:
        case 
2:
        case 
3:
        case 
4:
        case 
5:
        case 
6:
        case 
7:
            
output("`TDann lehnt er sich zurück und sagt, dass du ihn nicht bei der Arbeit stören sollst.");
            
addnav("Zurück","kerker.php");
        break;
        
        case 
8:
        case 
9:
        case 
10:
            
output("`TEr sieht dich mit großen Augen an und hält dich für einen Flüchtling. Dann schnappt er dich, bevor du etwas machen kannst und sperrt dich in eine Zelle. Aber nur für einen Tag!");
            
$session[user][prison]=1;
            
$session[user][prisondays]=1;
            
addnews("".$session[user][name]." `4hat sich selbst dem Kerkertroll ausgeliefert und sitzt nun bis zum Ende des Tages in Haft!");
            
addnav("Absitzen","kerker.php");
        break;
        
        case 
11// nicht mehr in der Auswahl!
            
output("`TEr sieht dich mit großen Augen an und sieht in dir den Schwerverbrecher, der weltweit gesucht wird! Sofort schnappt er dich, ehe du etwas dagegen tun kannst und steckt dich für drei Tage in Einzelhaft!");
            
$session[user][einzelhaft]=1;
            
$session[user][einzeldays]=3;
            
addnews("".$session[user][name]." `\$ wurde von dem Kerkertroll als Schwerverbrecher enttarnt und sitzt nun drei Tage in Einzelhaft!");
            
addnav("Strafe absitzen","kerker.php");
        break;    
    }
}

page_footer();

?>