LoGD Standardrelease steht hier zum Download zur Verfügung!

Home-Adresse dieser Version: anpera.net/logd
Anfragen nach dieser Version bitte an: logd@anpera.de

Zeige Source: /creatures.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: /creatures.php

<?php
require_once "common.php";
isnewday(2);
//select distinct creaturelevel,max(creaturehealth) as creaturehealth,max(creatureattack) as creatureattack,max(creaturedefense) as creaturedefense,max(creatureexp) as creatureexp,max(creaturegold) as creaturegold from creatures where creaturelevel<17 group by creaturelevel;
$creaturestattable="
+---------------+----------------+----------------+-----------------+-------------+--------------+
| creaturelevel | creaturehealth | creatureattack | creaturedefense | creatureexp | creaturegold |
+---------------+----------------+----------------+-----------------+-------------+--------------+
|             1 |             10 |              1 |               1 |          14 |           36 |
|             2 |             21 |              3 |               3 |          24 |           97 |
|             3 |             32 |              5 |               4 |          34 |          148 |
|             4 |             43 |              7 |               6 |          45 |          162 |
|             5 |             53 |              9 |               7 |          55 |          198 |
|             6 |             64 |             11 |               8 |          66 |          234 |
|             7 |             74 |             13 |              10 |          77 |          268 |
|             8 |             84 |             15 |              11 |          89 |          302 |
|             9 |             94 |             17 |              13 |         101 |          336 |
|            10 |            105 |             19 |              14 |         114 |          369 |
|            11 |            115 |             21 |              15 |         127 |          402 |
|            12 |            125 |             23 |              17 |         141 |          435 |
|            13 |            135 |             25 |              18 |         156 |          467 |
|            14 |            145 |             27 |              20 |         172 |          499 |
|            15 |            155 |             29 |              21 |         189 |          531 |
|            16 |            166 |             31 |              22 |         207 |          563 |
+---------------+----------------+----------------+-----------------+-------------+--------------+
"
;
$creaturestats=array();
$creaturestattable=explode("\n",$creaturestattable);
$x=0;
while(list(
$key,$val)=each($creaturestattable)){
  if(
strpos($val,"|")!==false){
    
$x++;
    
$a=explode("|",$val);
    if(
$x==1){
      
$stats=array();
      while(list(
$key1,$val1)=each($a)){
        if(
trim($val1)>"")$stats[$key1]=trim($val1);
      }
    }else{
      
reset($stats);
      while(list(
$key1,$val1)=each($stats)){
        
$creaturestats[(int)$a[1]][$val1]=trim($a[$key1]);
      }
    }
  }
}
page_header("Creature Editor");
addnav("G?Zurück zur Grotte","superuser.php");
addnav("W?Zurück zum Weltlichen","village.php");
if(
$_POST[save]<>""){
  if(!isset(
$_POST['location'])) $_POST['location']=0;
  if(
$_POST[id]!=""){
    
$sql="UPDATE creatures SET ";
    
reset($_POST);
    while(list(
$key,$val)=each($_POST)){
      if(
substr($key,0,8)=="creature") {$sql.="$key = \"".$val."\", ";}
    }
    
reset($creaturestats[(int)$_POST[creaturelevel]]);
    while(list(
$key,$val)=each($creaturestats[$_POST[creaturelevel]])){
      if( 
$key!="creaturelevel" && substr($key,0,8)=="creature"){
        
$sql.="$key = \"".$val."\", ";
      }
    }
    
$sql.=" location=\"".(int)($_POST['location'])."\", ";
    
$sql.= " createdby=\"".addslashes($session[user][login])."\" ";
    
$sql.= " WHERE creatureid='$_POST[id]'";
    
db_query($sql) or output("`\$".db_error(LINK)."`0`n`#$sql`0`n");
    
output(db_affected_rows()." ".(db_affected_rows()==1?"Eintrag":"Einträge")." geändert.");
  }else{
    
$cols=array();
    
$vals=array();
    
reset($_POST);
    while(list(
$key,$val)=each($_POST)){
      if(
substr($key,0,8)=="creature" || $key=="location"){
        
array_push($cols,$key);
        
array_push($vals,$val);
      }
    }
    
reset($creaturestats[(int)$_POST[creaturelevel]]);
    while(list(
$key,$val)=each($creaturestats[$_POST[creaturelevel]])){
      if(
$key!="creaturelevel"){
        
array_push($cols,$key);
        
array_push($vals,addslashes($val));
      }
    }
    
$sql="INSERT INTO creatures (".implode(",",$cols).",createdby) VALUES (\"".implode("\",\"",$vals)."\",\"".addslashes($session['user']['login'])."\")";
    
db_query($sql);
    if(isset(
$_POST['todo']))db_query("DELETE FROM `todolist` WHERE `taskid` = {$_POST['todo']}");
  }
}
if(
$_GET[op]=="del"){
//      output("<form action='creatures.php?op=del' method='POST' style='display:inline;'><input type='hidden' name='deleteid' value='{$row['taskid']}'><input type='submit' name='delete' value='Löschen'></form>`n",true);
  
if(isset($_POST['deleteid']))db_query("DELETE FROM `todolist` WHERE `taskid` = {$_POST['deleteid']}");
  else 
db_query("DELETE FROM creatures WHERE creatureid = \"$_GET[id]\"");
  if(
db_affected_rows()>0){
    
output("Kreatur gelöscht`n`n");
  }else{
    
output("Kreatur nicht gelöscht: ".db_error(LINK));
  }
  
$_GET[op]="";
}
if(
$_GET[op]==""){
  
$sql "SELECT * FROM creatures ORDER BY creaturelevel,creaturename";
  
$result db_query($sql) or die(db_error(LINK));
  
addnav("Eine Kreatur hinzufügen","creatures.php?op=add");
  
$res=db_query("SELECT * FROM `todolist` WHERE `userinfo`='mob'");
  
$count=db_num_rows($res);
  if(
$count==1)addnav("`@neues Monster vorgeschlagen","creatures.php?op=vorschlag");
  elseif(
$count>1)addnav("`@{$count} neue Monster vorgeschlagen","creatures.php?op=vorschlag");
  else 
addnav("`Tkeine Monster vorgeschlagen","");
  
output("<table><tr><td>Ops</td><td>Kreaturname</td><td>Level</td><td>Waffe</td><td>Nachricht beim Sieg</td><td>Nachricht beim Tod</td><td>Autor</td></tr>",true);
  
addnav("","creatures.php");
  for(
$i=0;$i<db_num_rows($result);$i++){
    
$row db_fetch_assoc($result);
    if(
$row[creaturelevel]==17 || $row[creaturelevel]==18){
      
output("<tr><td> [Edit|Del] </td><td>",true);
    }else{
      
output("<tr><td> [<a href='creatures.php?op=edit&id=$row[creatureid]'>Edit</a>|".
      
"<a href='creatures.php?op=del&id=$row[creatureid]' onClick='return confirm(\"Bist du dir sicher, dass du diese Kreatur löschen willst?\");'>Del</a>] </td><td>",true);
      
addnav("","creatures.php?op=edit&id=$row[creatureid]");
      
addnav("","creatures.php?op=del&id=$row[creatureid]");
    }
    
output($row[creaturename]);
    
output("</td><td>",true);
    
output($row[creaturelevel]);
    
output("</td><td>",true);
    
output($row[creatureweapon]);
    
output("</td><td>",true);
    
output($row[creaturelose]);
    
output("</td><td>",true);
    
output($row[creaturewin]);
    
output("</td><td>",true);
    
output($row[createdby]);
    
output("</td></tr>",true);
  }
  
output("</table>",true);
}elseif (
$_GET[op]=="edit" || $_GET[op]=="add"){
  if(
$_GET[op]=="edit"){
    
$sql "SELECT * FROM creatures WHERE creatureid=$_GET[id]";
    
$result db_query($sql) or die(db_error(LINK));
    if(
db_num_rows($result)<>1){
      
output("`4Fehler`0, diese Kreatur wurde nicht gefunden!");
    }else{
      
$row db_fetch_assoc($result);
    }
  }elseif(isset(
$_POST['createid'])){
    
$result=db_query("SELECT * FROM `todolist` WHERE `taskid`={$_POST['createid']}");
    
$ro=db_fetch_assoc($result);
    
$row=unserialize(stripslashes($ro['task']));
    
$row['creaturename']=stripslashes($ro['title']);
  }
  
rawoutput("<form action='creatures.php' method='POST'>");
  if(isset(
$_POST['createid']))rawoutput("<input type='hidden' name='todo' value='{$_POST['createid']}'>");
  
rawoutput("<input name='id' value=\"".HTMLEntities($_GET[id])."\" type='hidden'>");
  
rawoutput("<table border='0' cellpadding='2' cellspacing='0'>");
  
rawoutput("<tr><td>Kreaturname:</td><td><input name='creaturename' maxlength='50' value=\"".HTMLEntities($row[creaturename])."\" onkeyup='document.getElementById(\"vorschauname\").innerHTML = appoencode(this.value);'><span id='vorschauname'></span></td></tr>");
  
rawoutput("<tr><td>Waffe: </td><td><input name='creatureweapon' maxlength='50' value=\"".HTMLEntities($row[creatureweapon])."\" onkeyup='document.getElementById(\"vorschauwaffe\").innerHTML = appoencode(this.value);'><span id='vorschauwaffe'></span></td></tr>");
  
rawoutput("<tr><td colspan='2'>Nachricht beim Sieg: <br><input name='creaturelose' size='65' maxlength='120' value=\"".HTMLEntities($row[creaturelose])."\" onkeyup='document.getElementById(\"vorschaulose\").innerHTML = appoencode(this.value);'><span id='vorschaulose'></span></td></tr>");
  
rawoutput("<tr><td colspan='2'>Nachricht beim Tod: <br><input name='creaturewin' size='65' maxlength='120' value=\"".HTMLEntities($row[creaturewin])."\" onkeyup='document.getElementById(\"vorschauwin\").innerHTML = appoencode(this.value);'><span id='vorschauwin'></span></td></tr>");
  
rawoutput("<tr><td>Level: </td><td><select name='creaturelevel'>");
  for(
$i=1;$i<=16;$i++){
    
rawoutput("<option value='$i'".($row[creaturelevel]==$i?" selected":"").">$i</option>\n");
  }
  
rawoutput("</select></td></tr>");
  
rawoutput("<tr><td>Kreatur ist auch auf dem Friedhof</td><td><input type='radio' name='location' value='1'".($row['location']==1?" checked":"").">Ja <input type='radio' name='location' value='0'".($row['location']==0?" checked":"").">Nein </td></tr>");
  
rawoutput("<tr><td colspan='2'><input type='hidden' name='save' value='Save'><input type='submit' class='button' name='submit' value='Speichern'></td></tr>");
  
rawoutput("</table>");
  
rawoutput("</form>");
  
addnav("","creatures.php");
  
addnav("Zurück zum Monster-Editor","creatures.php");
}elseif(
$_GET['op']=='vorschlag'){
  
rawoutput('<style type="text/css"><!--input,select{font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;background-color:#222222;color:#CCCCCC;border:1px solid #CCCCCC;margin:2px;}--></style>');
  
$result=db_query("SELECT * FROM `todolist` WHERE `userinfo`='mob'");
  for(
$i=0;$i<db_num_rows($result);$i++){
      
$row=db_fetch_assoc($result);
      
$res=db_query("SELECT `name` FROM `accounts` WHERE `acctid`={$row['acctid']}");
      
$ro=db_fetch_assoc($res);
      
$row['name']=(empty($ro))?'`TUnbekannt':$ro['name'];
      
output("`n{$row['name']}`0 hat das Monster `N".stripslashes($row['title'])."`0 vorgeschlagen. ");
      
output("<form action='creatures.php?op=add' method='POST' style='display:inline;'><input type='hidden' name='createid' value='{$row['taskid']}'><input type='submit' name='create' value='Übernehmen'></form> ",true);
      
output("<form action='creatures.php?op=del' method='POST' style='display:inline;'><input type='hidden' name='deleteid' value='{$row['taskid']}'><input type='submit' name='delete' value='Löschen'></form>`n",true);
      
addnav('','creatures.php?op=add');addnav('','creatures.php?op=del');
  }
}
page_footer();
?>