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
<?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();
?>