LoGD Standardrelease steht hier zum Download zur Verfügung!
<?php
/*
* sugifts.php
* Version: 30.09.2004
* Author: bibir
* Email: logd_bibir@email.de
* For: http://logd.chaosonline.de
*
*
* Purpose: you can define the gifts for your giftshop
* every city can have his own gifts
*
*
CREATE TABLE gifts (
giftid int(11) unsigned NOT NULL auto_increment,
giftname varchar(30) default NULL,
description varchar(255) NOT NULL,
mailmsg varchar(255) NOT NULL,
villageid int(11) unsigned default '0',
gold int(11) unsigned default '0',
gems int(11) unsigned default '0',
sellgold int(11) unsigned default '0',
sellgems int(11) unsigned default '0',
giftbuff text,
inventory tinyint(3) unsigned default '1',
duration int(11) unsigned default '0',
acctcol varchar(30) NOT NULL default '',
minchgval varchar(30) NOT NULL default '',
maxchgval varchar(30) NOT NULL default '',
activated enum('0','1') NOT NULL default '0',
PRIMARY KEY (giftid)
) TYPE=MyISAM;
in common.php:
$giftvalues=array('...'=>'...',....) //entsprechende werte setzten
z.b. :
$giftvalues = array('none'=>'kein Wert',
'hitpoints'=>'temporäre Lebenspunkte',
'maxhitpoints'=>'permanente Lebenspunkte',
'deathpower'=>'Gefallen bei Ramius',
'gold'=>'Gold auf der Hand',
'goldinbank'=>'Gold auf der Bank',
'gems'=>'Edelsteine',
'experience'=>'Erfahrungspunkte',
'charm'=>'Charmepunkte',
'attack'=>'Angriffspunkte',
'defence'=>'Verteidigungspunkte');
*/
require_once "common.php";
isnewday(2);
page_header("Geschenkshop-Editor");
addnav("W?Zurück zum Weltlichen","village.php");
addnav("G?Zurück zur Grotte","superuser.php");
if($_GET['op']=="new_gift") {
addnav("Zurück zum Editor","sugifts.php");
addnav("Zurück zum Shop","sugifts.php?op=edit_shop&villageid=".$_GET['villageid']);
addnav("Buff-Tutorial", "buff_tut.php",false,true);
giftform(array(), $_GET['villageid']);
}
elseif($_GET['op']=="save") {
$buff = array();
reset($_POST['gift']['giftbuff']);
if ($_POST['gift']['giftbuff']['rounds']!=0 && $_POST['gift']['inventory']==1) {
$_POST['gift']['giftbuff']['activate'] = implode(",",$_POST['gift']['giftbuff']['activate']);
foreach ($_POST['gift']['giftbuff'] AS $key=>$val) {
if ($val!=""){
$buff[$key] = stripslashes($val);
}
}
$_POST['gift']['giftbuff'] = $buff;
}
else {
$_POST['gift']['giftbuff'] = "";
}
reset($_POST['gift']);
$keys = "villageid";
$vals = $_GET['villageid'];
$sql = '';
foreach ($_POST['gift'] AS $key=>$val) {
if (is_array($val)) $val = addslashes(serialize($val));
if ($_GET['id'] > 0){
$sql .= ",$key='$val'";
}else{
$keys .= ",".$key;
$vals .= ",'$val'";
}
}
if ($_GET['id'] > 0){
$sql="UPDATE gifts SET ".substr($sql,1)." WHERE giftid='{$_GET['id']}'";
}else{
$sql="INSERT INTO gifts ($keys) VALUES ($vals)";
}
db_query($sql);
if (db_affected_rows() > 0) {
//output("Geschenk gespeichert!");
redirect("sugifts.php?op=edit_shop&villageid=".$_GET['villageid']);
}
else {
output("Geschenk nicht gespeichert: $sql");
}
addnav("Zurück zum Editor","sugifts.php");
addnav("Zurück zum Shop","sugifts.php?op=edit_shop&villageid=".$_GET['villageid']);
}
elseif ($_GET['op']=="edit_gift") {
$sql = "SELECT * FROM gifts WHERE giftid=".$_GET['giftid'];
$result = db_query($sql);
if (db_num_rows($result)==0) {
output("`iGeschenk wurde nicht gefunden.`i");
}else{
output("Geschenke Editor:`n");
$row = db_fetch_assoc($result);
$row['giftbuff']=unserialize($row['giftbuff']);
giftform($row, $row['villageid']);
}
addnav("Zurück zum Editor","sugifts.php");
addnav("Zurück zum Shop","sugifts.php?op=edit_shop&villageid=".$row['villageid']);
addnav("Buff-Tutorial", "buff_tut.php",false,true);
}
elseif ($_GET['op']=="del_gift") {
addnav("Zurück zum Editor","sugifts.php");
addnav("Zurück zum Shop","sugifts.php?op=edit_shop&villageid=".$_GET['villageid']);
$sql = "DELETE FROM gifts WHERE giftid='".$_GET['giftid']."'";
db_query($sql);
output("Geschenkt gelöscht.");
}
elseif ($_GET['op']=="activate") {
//output("Geschenk aktiviert");
$sql= "UPDATE gifts SET activated='1' WHERE giftid='{$_GET['giftid']}'";
db_query($sql);
redirect("sugifts.php?op=edit_shop&villageid=".$_GET['villageid']);
}
elseif ($_GET['op']=="deactivate") {
//output("Geschenk deaktiviert");
$sql= "UPDATE gifts SET activated='0' WHERE giftid='{$_GET['giftid']}'";
db_query($sql);
redirect("sugifts.php?op=edit_shop&villageid=".$_GET['villageid']);
}
elseif ($_GET['op']=="edit_shop") {
addnav("Zurück zum Editor","sugifts.php");
addnav("Geschenk hinzufügen","sugifts.php?op=new_gift&villageid=".$_GET['villageid']);
$sql = "SELECT villagename FROM villages WHERE villageid=".$_GET['villageid'];
$result = db_query($sql) or die(db_error(LINK));
$row = db_fetch_assoc($result);
output("Hier kannst du alle Geschenke sehen, die es in ".$row['villagename']." zu kaufen gibt");
$sql = "SELECT * FROM gifts WHERE villageid=".$_GET['villageid']."
ORDER BY gems ASC, gold ASC, giftname ASC";
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)==0) {
output("`n`nNoch keine Geschenke definiert.");
}
else {
output("`n`n`n`n`n`n`n<table border='0' cellpadding='3' cellspacing='0'><tr><td>Option</td><td>Freigabe</td><td>Name</td><td>Beschreibung</td><td>Gold</td><td>Edelsteine</td></tr>",true);
while($row = db_fetch_assoc($result)){
output("<tr><td>[<a href=\"sugifts.php?op=edit_gift&giftid=".$row['giftid']."\" >Edit</a>|<a href=\"sugifts.php?op=del_gift&villageid=".$_GET['villageid']."&giftid=".$row['giftid']."\" >Löschen</a>]</td>",true);
addnav("","sugifts.php?op=edit_gift&giftid=".$row['giftid']);
addnav("","sugifts.php?op=del_gift&villageid=".$_GET['villageid']."&giftid=".$row['giftid']);
if ($row['activated']=='1') {
output("<td><a href=\"sugifts.php?op=deactivate&villageid=".$_GET['villageid']."&giftid=".$row['giftid']."\">deaktivieren</a></td>",true);
addnav("","sugifts.php?op=deactivate&villageid=".$_GET['villageid']."&giftid=".$row['giftid']);
}
else {
output("<td><a href=\"sugifts.php?op=activate&villageid=".$_GET['villageid']."&giftid=".$row['giftid']."\">aktivieren</a></td>",true);
addnav("","sugifts.php?op=activate&villageid=".$_GET['villageid']."&giftid=".$row['giftid']);
}
output("<td>".$row['giftname']."</td><td>".$row['description']."</td><td>".$row['gold']."</td><td>".$row['gems']."</td></tr>",true);
}
output("</table>",true);
}
if ($_GET['subop']=="save") {
savesetting('giftshopsender{'.$_GET['villageid'].'}',$_POST['sender']);
savesetting('giftshopffwaste{'.$_GET['villageid'].'}',$_POST['ff_waste']);
output("`n`n`\$Einstellungen wurden gespeichert.`0");
}
$sender = getsetting('giftshopsender{'.$_GET['villageid'].'}',"0");
$ff_waste = getsetting('giftshopffwaste{'.$_GET['villageid'].'}',"0");
output("`n`nWeitere Einstellungen:`n`n");
output("`0<form action=\"sugifts.php?op=edit_shop&subop=save&villageid=".$_GET['villageid']."\" method='POST'>",true);
addnav("","sugifts.php?op=edit_shop&subop=save&villageid=".$_GET['villageid'],true);
output("<table><tr><td>Option</td><td>Wert</td></tr>",true);
output("<tr><td>Name als Absender (sonst Systemmail)</td><td>",true);
output("<select name='sender'>",true);
output("<option value='1'".($sender==1?" selected":"").">Ja</option>",true);
output("<option value='0'".($sender==0?" selected":"").">Nein</option>",true);
output("</selected></td></tr>",true);
output("<tr><td>Waldkämpfe vertrödeln (Wahrscheinlichkeit)</td><td><input type='text' name='ff_waste' value=\"".htmlentities($ff_waste)."\" size='5'>%</td></tr>",true);
output("</table>",true);
output("<input type='submit' class='button' value='Save'></form>",true);
}
else {
output("Hier kannst du die Geschenke editieren, die dann in den Geschenkeläden ausliegen.");
// alle orte zur auswahl geben
output("<table border=0 cellpadding=2 cellspacing=1 bgcolor='#999999'>",true);
output("<tr class='trhead'><td><b>Ort</b></td><td><b>Aktion</b></td></tr>",true);
$sql = 'SELECT villageid, villagename FROM villages ORDER BY villagename ASC';
$result = db_query($sql);
$i = 0;
while ($row = db_fetch_assoc($result)) {
output("<tr class='".($i%2?"trdark":"trlight")."'><td>",true);
output($row['villagename']);
output('</td><td>',true);
output('<a href="sugifts.php?op=edit_shop&villageid='.$row['villageid'].'">Geschenke ansehen</a>',true);
addnav('','sugifts.php?op=edit_shop&villageid='.$row['villageid']);
$i++;
}
output('</td></tr></table>',true);
}
function giftform($gift, $villageid){
global $output;
global $giftvalues;
output("`0<form action=\"sugifts.php?op=save&id={$gift['giftid']}&villageid={$villageid}\" method='POST'>",true);
addnav("","sugifts.php?op=save&id={$gift['giftid']}&villageid={$villageid}");
$output.="<table>";
$output.="<tr><td valign='top'><b>Geschenk Angaben:</b></td><td></td>";
$output.="<tr><td>Geschenkename:</td><td><input name='gift[giftname]' value=\"".htmlentities($gift['giftname'])."\"size='60'></td></tr>";
$output.="<tr><td>Beschreibung:</td><td><input name='gift[description]' value=\"".htmlentities($gift['description'])."\" size='60'></td></tr>";
$output.="<tr><td>Mail-Beschreibung:</td><td><input name='gift[mailmsg]' value=\"".htmlentities($gift['mailmsg'])."\" size='60'></td></tr>";
$output.="<tr><td>Gold beim Kauf:</td><td><input name='gift[gold]' value=\"".htmlentities($gift['gold'])."\"size='5'></td></tr>";
$output.="<tr><td>Edelsteine beim Kauf:</td><td><input name='gift[gems]' value=\"".htmlentities($gift['gems'])."\"size='5'></td></tr>";
$output.="<tr><td>Gold beim Verkauf:</td><td><input name='gift[sellgold]' value=\"".htmlentities($gift['sellgold'])."\"size='5'></td></tr>";
$output.="<tr><td>Edelsteine beim Verkauf:</td><td><input name='gift[sellgems]' value=\"".htmlentities($gift['sellgems'])."\"size='5'></td></tr>";
$output.="<tr><td>ins Inventar:</td><td>";
$output.="<select name='gift[inventory]'>";
$output.="<option value='1'".($gift['inventory']==1?" selected":"").">Ja</option>";
$output.="<option value='0'".($gift['inventory']==0?" selected":"").">Nein</option>";
$output.="</select></td></tr>";
$output.="<tr><td>Dauer:</td><td><input name='gift[duration]' value=\"".htmlentities($gift['duration'])."\"size='5'></td></tr>";
$output.="<tr><td valign='top'><b>Geschenke Buff:</b></td><td></td>";
$output.="<td><tr><td colspan=\"2\"><i>Messages:</i></td></tr>";
$output.="<tr><td>Buff-Name: </td><td><input name='gift[giftbuff][name]' value=\"".htmlentities($gift['giftbuff']['name'])."\" size='60'></td></tr>";
$output.="<tr><td>Meldung in jeder Runde: </td><td><input name='gift[giftbuff][roundmsg]' value=\"".htmlentities($gift['giftbuff']['roundmsg'])."\" size='60'></td></tr>";
$output.="<tr><td>Meldung am Ende der Runden: </td><td><input name='gift[giftbuff][wearoff]' value=\"".htmlentities($gift['giftbuff']['wearoff'])."\" size='60'></td></tr>";
$output.="<tr><td>Effekt Meldung: </td><td><input name='gift[giftbuff][effectmsg]' value=\"".htmlentities($gift['giftbuff']['effectmsg'])."\" size='60'></td></tr>";
$output.="<tr><td>Effekt Meldung bei keinem Schaden: </td><td><input name='gift[giftbuff][effectnodmgmsg]' value=\"".htmlentities($gift['giftbuff']['effectnodmgmsg'])."\" size='60'></td></tr>";
$output.="<tr><td>Effekt Meldung bei Versagen: </td><td><input name='gift[giftbuff][effectfailmsg]' value=\"".htmlentities($gift['giftbuff']['effectfailmsg'])."\" size='60'></td></tr>";
$output.="<tr><td colspan=\"2\"><i>Effekte:</i></td></tr>";
$output.="<tr><td>Anzahl der Runden (ab neuem Tag): </td><td><input name='gift[giftbuff][rounds]' value=\"".htmlentities((int)$gift['giftbuff']['rounds'])."\" size='5'></td></tr>";
$output.="<tr><td>Player Atk mod: </td><td><input name='gift[giftbuff][atkmod]' value=\"".htmlentities($gift['giftbuff']['atkmod'])."\" size='5'> (Multiplikator)</td></tr>";
$output.="<tr><td>Player Def mod: </td><td><input name='gift[giftbuff][defmod]' value=\"".htmlentities($gift['giftbuff']['defmod'])."\" size='5'> (Multiplikator)</td></tr>";
$output.="<tr><td>Regeneration: </td><td><input name='gift[giftbuff][regen]' value=\"".htmlentities($gift['giftbuff']['regen'])."\" size='5'> (Wert)</td></tr>";
$output.="<tr><td>Anzahl zusätzlicher Hilfsangreifer: </td><td><input name='gift[giftbuff][minioncount]' value=\"".htmlentities($gift['giftbuff']['minioncount'])."\" size='5'> (Wert)</td></tr>";
$output.="<tr><td>Min Badguy Damage: </td><td><input name='gift[giftbuff][minbadguydamage]' value=\"".htmlentities($gift['giftbuff']['minbadguydamage'])."\" size='5'> (Wert)</td></tr>";
$output.="<tr><td>Max Badguy Damage: </td><td><input name='gift[giftbuff][maxbadguydamage]' value=\"".htmlentities($gift['giftbuff']['maxbadguydamage'])."\" size='5'> (Wert)</td></tr>";
$output.="<tr><td>Lifetap: </td><td><input name='gift[giftbuff][lifetap]' value=\"".htmlentities($gift['giftbuff']['lifetap'])."\" size='5'> (Multiplikator)</td></tr>";
$output.="<tr><td>Damage shield: </td><td><input name='gift[giftbuff][damageshield]' value=\"".htmlentities($gift['giftbuff']['damageshield'])."\" size='5'> (Multiplikator)</td></tr>";
$output.="<tr><td>Badguy Damage mod: </td><td><input name='gift[giftbuff][badguydmgmod]' value=\"".htmlentities($gift['giftbuff']['badguydmgmod'])."\" size='5'> (Multiplikator)</td></tr>";
$output.="<tr><td>Badguy Atk mod: </td><td><input name='gift[giftbuff][badguyatkmod]' value=\"".htmlentities($gift['giftbuff']['badguyatkmod'])."\" size='5'> (Multiplikator)</td></tr>";
$output.="<tr><td>Badguy Def mod: </td><td><input name='gift[giftbuff][badguydefmod]' value=\"".htmlentities($gift['giftbuff']['badguydefmod'])."\" size='5'> (Multiplikator)</td></tr>";
$output.="<tr><td colspan=2><i>Aktivierungen:</i></td></tr>";
$output.="<tr><td></td><td><input type='checkbox' name='gift[giftbuff][activate][]' value=\"roundstart\"".(strpos($gift['giftbuff']['activate'],"roundstart")!==false?" checked":"").">Rundenbeginn</td></tr>";
$output.="<tr><td></td><td><input type='checkbox' name='gift[giftbuff][activate][]' value=\"offense\"".(strpos($gift['giftbuff']['activate'],"offense")!==false?" checked":"").">bei Angriff</td></tr>";
$output.="<tr><td></td><td><input type='checkbox' name='gift[giftbuff][activate][]' value=\"defense\"".(strpos($gift['giftbuff']['activate'],"defense")!==false?" checked":"").">bei Verteidigung</td></tr>";
$output.="<tr><td valign='top'><b>Nicht-Buff-abhängiger Wert</b></td><td></td>";
$output.="<tr><td>zu ändernder Wert</td><td><select name='gift[acctcol]'>";
foreach ($giftvalues AS $key=>$val) {
$output.="<option value='".$key."'".($gift['acctcol']==$key?" selected":"").">".$val."</option>";
}
$output.="</select></td></tr>";
$output.="<tr><td>Minimaländerung</td><td><input name='gift[minchgval]' value=\"".htmlentities($gift['minchgval'])."\"size='5'></td></tr>";
$output.="<tr><td>Maximaländerung</td><td><input name='gift[maxchgval]' value=\"".htmlentities($gift['maxchgval'])."\"size='5'></td></tr>";
$output.="<tr><td colspan=2>Sind beide Werte gleich, ist dieser Wert fest</td></tr>";
$output.="</table>";
# $output.="</td></tr>";
# $output.="</table>";
$output.="<input type='submit' class='button' value='Save'></form>";
}
page_footer();
?>