Hi,
ich hab mir die markthalle von hier gezogen:
http://forum.lotgd.dyndns.biz/thread.php?threadid=142 (vom kev)
und hätte jetzt noch eine gute verbesserungsidee, nämlich:
man kann eine zb schaden 13 waffe nicht für zb 1 gold verkaufen sondern minimal für den preis, dein eine schaden 12 waffe bei dem normalen waffenhändler kostet! genauso bei den ganzen rüstungen!
nun habe ich bisjetzt leider noch nicht die nötigen kenntnisse, um das einbauen zu können, deswegen frag ich hier mal um hilfe, ob mir einer da helfen könnte, tipps oder es gleich ganz machen könnte!
hier nochmal der gesamte code:
$this->bbcode_second_pass_code('', '<?
/*
*
* *Author:
* - Day aliaz Kev
*
* *Create:
* - 2005.02.26
*
* *Email:
* - logd@gmx.net
*
* *Website:
* - http://beta.lotgd.dyndns.biz
*
* *Modifikation:
* - Querys neu geordnet!
* - Query Schleifen entfernt!
* - Defekte Nav Links entfernt!
* - LOCK TABLES wieder entfernt!
*
*/
require_once "common.php";
addcommentary();
checkday();
if(!isset($_GET['op'])) $_GET['op'] = "";
page_header("Markthalle der Völker");
switch($_GET['op']){
case "":
output("`2Du schleichst auf der Suche nach neuen Orten des Dorfes durch dunkle Gassen. In der Nähe hörst du Stimmen, ja sogar Geschrei. Du eilst um die nächste Ecke und was siehst du?!`n
Stände an denen seltene Rubine und Waffen verkauft werden, du weißt nicht so recht ob du hier bleiben sollst aber als du den Glanz der Schwerter und Rüstungen mit den Verzierungen siehst beschließt du zu bleiben...`n
Schauen kostet ja nichts!!!`n
Du läufst also an den Ständen entlang, einer prachtvoller und edler als der andere.`n
Schließlich bleibst du an einem bestimmten Stand stehen, eine große Gestalt guckt dich aus der schwarzen Kutte heraus an und fragt dich was du willst.`n`n`n
Du zeigst etwas ängstlich auf die Ware auf seinem Stand und holst deinen Geldbeutel hervor.`n
Die Gestalt wird auf einmal freundlich zu dir und erklärt dir zu jedem der Teile eine kurze Geschichte.`n`n`n`n`n`n",true);
addcommentary();
viewcommentary("Markthalle","`2Hinzufügen",10,"sagt",true);
addnav("Item Stände","markthalle.php?op=items");
addnav("Rubine Stände","markthalle.php?op=rubys");
addnav("Zurück zum Dorf","village.php");
break;
case "rubys":
output("`2Du fragst die Gestalt ob sie auch Rubine verkauft. Die Gestalt blickt dich an und hält einen kurzen Moment inne, du weißt nicht ob das nun ein gutes oder ein schlechtes Zeichen ist, auf jeden Fall wärst du im Moment froh du hättest ihn nie danach gefragt.`n
Die Gestalt fängt lauthals an zu lachen, da sie die Angst in deinem Gesicht sehen kann: \"Natürlich verkaufe ich auch Rubine aber die sind nicht grade billig, ich weis nicht ob sich das einer wie du überhaupt leisten kann!\"`n
Ein wenig verdutzt zeigst du deinen prall gefüllten Goldbeutel.`n
Die Gestalt grinst dich an und holt eine Kiste hervor mit den schönsten Rubinen die du jemals gesehen hast.",true);
$ppp=12;
if (!$_GET[limit]){
$page=0;
}else{
$page=(int)$_GET[limit];
addnav("Vorherige Seite","markthalle.php?op=rubys&limit=".($page-1)."");
}
$limit="".($page*$ppp).",".($ppp+1);
output("`n`n`n`c<table border=0 cellpadding=2 cellspacing=1 bgcolor='#999999'>",true);
output("<tr class='trhead'><td><b>Rubine</b></td><td><b>Kaufpreis in Gold</b></td><td><b>Anbieter</b></td><td><b>Kaufen</b></td><td><b>Zurückziehen</b></td>",true);
if($session[user][superuser]>=3) output("<td><b>Entfernen</b></td>",true);
$sql = "SELECT * FROM markthalle_rubys ORDER BY gems LIMIT $limit";
$result = db_query($sql);
if (db_num_rows($result)==0){ output("<tr><td colspan=4 align='center'>`&`i`cEs sind keine Rubine vorhanden!`c`i`0</td></tr>",true);}
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
output("<tr class='".($i%2?"trdark":"trlight")."'><td>",true);
output("`&$row[gems]`n");
output("</td><td>",true);
output("`&$row[preis]`n");
output("</td><td>",true);
output("`&$row[anbieter]`n",true);
output("</td>",true);
output("<td><a href='markthalle.php?op=buy2&id=".urlencode($row['id'])."' onClick='return confirm(\"Willst du diese Rubine wirklich Kaufen?\");'>`cKaufen`c</a></td>",true);
addnav("","markthalle.php?op=buy2&id=".urlencode($row[id])."");
if($row[anbieter]!=$session[user][name]) output("<td></td>",true);
if($session[user][name]==$row[anbieter]){
output("<td><a href='markthalle.php?op=back_rubys&id=".urlencode($row['id'])."' onClick='return confirm(\"Willst du diese Rubine wirklich zurückziehen?\");'>`cZurückziehen`c</a></td>",true);
addnav("","markthalle.php?op=back_rubys&id=".urlencode($row[id])."");
}
if ($session[user][superuser]>=3){
output("<td><a href='markthalle.php?op=del2&id=".urlencode($row['id'])."' onClick='return confirm(\"Diese Rubine wirklich aus der liste entfernen?\");'>`cEntfernen`c</a></td>",true);
addnav("","markthalle.php?op=del2&id=".urlencode($row[id])."");
}
}
output("</table>`n`n`n".$_GET[error]."`c",true);
if (db_num_rows($result)>$ppp){
addnav("Nächste Seite","markthalle.php?op=rubys&limit=".($page+1)."");}
if($session[user][gems]>=1){
addnav("Rubine");
addnav("Rubine Anbieten","markthalle.php?op=offer");
}
addnav("Sonstiges");
addnav("Aktualisieren","markthalle.php?op=rubys");
addnav("Zurück","markthalle.php");
break;
case "buy2":
if ($_GET[op]=="buy2"){
$sql = "SELECT * FROM markthalle_rubys WHERE id='$_GET[id]'";
$result = db_query($sql);
$row = db_fetch_assoc($result);
if($session[user][gold]>=$row[preis] && $row[anbieter]!=$session[user][name] && ac_check($row)){
$session[user][gold]-=$row[preis];
$session[user][gems]+=$row[gems];
db_query("INSERT INTO mail (msgfrom,msgto,subject,body,sent) VALUES ('`System`0','$row[acctid]','`^Gegenstand verkauft!`0','`&{$session['user']['name']}`6 hat erfolgreich deine $row[gems] Rubin(e) gekauft und du hast dabei $row[preis] Gold auf dein Konto erhalten!',now())");
db_query("UPDATE accounts SET goldinbank = goldinbank+$row[preis] WHERE acctid='{$row['acctid']}'");
db_query("DELETE FROM markthalle_rubys WHERE id='$_GET[id]'");
redirect("markthalle.php?op=rubys");
}
else{
redirect("markthalle.php?op=rubys&error=Du kannst dir diese Rubin menge leider nicht leisten!`n(`^Deine eigene Ware kannst du nicht Kaufen!`2)");}
}
break;
case "del2":
db_query("DELETE FROM markthalle_rubys WHERE id='$_GET[id]'");
redirect("markthalle.php?op=rubys");
break;
case "offer":
output("<form action=\"markthalle.php?op=create2\" method='POST' action=''>",true);
output("`n`n`n
<table width='316' border='1' cellspacing='0' cellpadding='0' align ='center'>
<tr>
<td width='200'>Wieviele willst du anbieten ?</td>
<td width='116' align='left'><select name='gems'>",true);
for ($i=1;$i<=$session[user][gems];$i++){ output("<option value='$i'>$i</option>\n",true);}
output("
</select>
</td>
</tr>
<tr>
<td>Wie Teuer sollen sie sein ?</td>
<td align='right'><input type='text' name='preis'></td>
</tr>
<tr>
<td colspan='2' align='center'><input type='submit' class='button' value='Angebot erstellen'></td>
</tr>
</table>
</form>
",true);
addnav("","markthalle.php?op=create2");
addnav("Zurück","markthalle.php?op=rubys");
break;
case "create2":
$session[user][gems]-=$_POST[gems];
$anbieter = $session[user][name];
db_query("INSERT INTO markthalle_rubys (gems,preis,anbieter,acctid) VALUES ('$_POST[gems]','$_POST[preis]','$anbieter','".$session[user][acctid]."')");
redirect("markthalle.php?op=rubys");
break;
case "back_rubys":
$sql="SELECT * FROM markthalle_rubys WHERE id='$_GET[id]'";
$result=db_query($sql);
$row = db_fetch_assoc($result);
$session[user][gems]+=$row[gems];
db_query("DELETE FROM markthalle_rubys WHERE id='$_GET[id]'");
redirect("markthalle.php?op=rubys");
break;
case "items":
output("`2Der Händler fordert dich auf eine der Waffen in die Hand zu nehmen um die grandiose Anfertigung zu spüren. Plötzlich merkst du wie du Stärker wirst als du die Waffe in den Händen hältst. Du fühlst dich schon wie einer der stärksten im Land.`n
Mit einem grinsen eintreißt er dir diese Waffe jedoch wieder: \"Wenn du das Gefühl weiterhin waren willst musst du erst mal das Gold zahlen, Bürschen. Solch billige und gute Ware wie bei mir bekommst du nirgends mehr.\"`n
Wieder eingeschüchtert durch den rauen Ton und die Gestik der Gestalt bei den Worten die er eben sprach, denkst du das es wohl keine gute Idee wäre wenn du dich jetzt einfach so aus dem Staub machst ohne etwas zu kaufen.",true);
$ppp=12;
if (!$_GET[limit]){
$page=0;
}else{
$page=(int)$_GET[limit];
addnav("Vorherige Seite","markthalle.php?op=items&limit=".($page-1)."");
}
$limit="".($page*$ppp).",".($ppp+1);
output("`n`n`n`c<table border=0 cellpadding=2 cellspacing=1 bgcolor='#999999'>",true);
output("<tr class='trhead'><td><b>Name</b></td><td><b>Att/Def</b></td><td><b>Klasse</b></td><td><b>Goldwert</b></td><td><b>Rubinwert</b></td><td><b>Anbieter</b></td><td><b>Kaufen</b></td><td><b>Zurückziehen</b></td>",true);
if($session[user][superuser]>=3) output("<td><b>Entfernen</b></td>",true);
$sql = "SELECT * FROM markthalle_items ORDER BY value DESC LIMIT $limit";
$result = db_query($sql);
if (db_num_rows($result)==0){ output("<tr><td colspan=4 align='center'>`&`i`cEs sind keine Waffe / Rüstungen vorhanden!`c`i`0</td></tr>",true);}
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
output("<tr class='".($i%2?"trdark":"trlight")."'><td>",true);
output("`&$row[waffe]`n");
output("</td><td>",true);
output("`v$row[value]`n");
output("</td><td>",true);
output("`!$row[class]`n");
output("</td><td>",true);
output("`Q$row[preis]`n");
output("</td><td>",true);
output("`q$row[gems]`n");
output("</td><td>",true);
output("`&$row[anbieter]`n</td>",true);
output("<td><a href='markthalle.php?op=buy&id=".urlencode($row['id'])."' onClick='return confirm(\"Willst du dieses Item wirklich Kaufen?\");'>`cKaufen`c</a></td>",true);
addnav("","markthalle.php?op=buy&id=".urlencode($row[id])."");
if($row[anbieter]!=$session[user][name]) output("<td></td>",true);
if($session[user][name]==$row[anbieter]){
output("<td><a href='markthalle.php?op=back&id=".urlencode($row['id'])."' onClick='return confirm(\"Willst du dieses Item wirklich zurückziehen?\");'>`cZurückziehen`c</a></td>",true);
addnav("","markthalle.php?op=back&id=".urlencode($row[id])."");
}
if ($session[user][superuser]>=3){
output("<td><a href='markthalle.php?op=del&id=".urlencode($row['id'])."' onClick='return confirm(\"Dieses Item wirklich aus der liste entfernen?\");'>`cEntfernen`c</a></td>",true);
addnav("","markthalle.php?op=del&id=".urlencode($row[id])."");
}
}
output("</table>`n`n`n".$_GET[error]."`c",true);
if (db_num_rows($result)>$ppp){
addnav("Nächste Seite","markthalle.php?op=items&limit=".($page+1)."");}
addnav("Items");
addnav("Item Anbieten","markthalle.php?op=itemoffer");
addnav("Sonstiges");
addnav("Aktualisieren","markthalle.php?op=items");
addnav("Zurück","markthalle.php");
break;
case "itemoffer":
output("`c`n`n`n<table border=0 cellpadding=2 cellspacing=1 bgcolor='#999999'>",true);
output("<tr class='trhead'><td><b>Name</b></td><td><b>Klasse</b></td><td><b>Angriff</b></td><td><b>Verteidigung</b></td><td><b>Kaufpreis in Gold</b></td><td><b>Rubinpreis</b></td>",true);
output("<td><b>Anbieten</b></td>",true);
$sql = "SELECT * FROM items WHERE owner=".$session[user][acctid]." AND (class='Rüstung' OR class='Waffe') AND gold>=1";
$result = db_query($sql);
if (db_num_rows($result)==0){ output("<tr><td colspan=4 align='center'>`&`i`cDu hast nichts im Inventar!`c`i`0</td></tr>",true);}
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
output("<tr class='".($i%2?"trdark":"trlight")."'><td>",true);
output("`&$row[name]`0`n");
output("</td><td>",true);
output("`!$row[class]`0`n");
output("</td><td>",true);
output("$row[value1]`n");
output("</td><td>",true);
output("$row[value2]`n");
output("</td><td>",true);
output("$row[gold]`n");
output("</td><td>",true);
output("$row[gems]`n");
output("</td>",true);
output("<td><a href='markthalle.php?op=auswahl&id=".urlencode($row['id'])."' onClick='return confirm(\"Willst du dieses Item wirklich Verkaufen?\");'>`cAnbieten`c</a></td>",true);
addnav("","markthalle.php?op=auswahl&id=".urlencode($row[id])."");}
output("`c</table>`n`n",true);
addnav("Zurück","markthalle.php?op=items");
break;
case "auswahl":
$sql="SELECT * FROM items WHERE id='$_GET[id]'";
$result=db_query($sql);
$row = db_fetch_assoc($result);
output("<form action=\"markthalle.php?op=create&id=$_GET[id]\" method='POST' action=''>",true);
output("`n`n`n
<table width='316' border='1' cellspacing='0' cellpadding='0' align ='center'>
<tr>
<td>Waffe / Rüstung:</td>
<td align='right'>".$row[name]."</td>
</tr>
<tr>
<td width='200'>Wieviele Rubine soll sie Kosten ?</td>
<td width='116' align='left'><input type='text' name='gems'></td>
</tr>
<tr>
<td>Wieviel Gold soll sie Kosten ?</td>
<td align='right'><input type='text' name='preis'></td>
</tr>
<tr>
<td colspan='2' align='center'><input type='submit' class='button' value='Angebot erstellen'></td>
</tr>
</table>
</form>
",true);
addnav("","markthalle.php?op=create&id=$_GET[id]");
addnav("Zurück","markthalle.php?op=itemoffer");
break;
case "create":
$sql="SELECT * FROM items WHERE id='$_GET[id]'";
$resultingz=db_query($sql);
$row = db_fetch_assoc($resultingz);
if($_POST[preis]=="" || $_POST[preis]=="0"){
output("`2Darf es auch noch weniger sein?!");
addnav("Zurück","markthalle.php?op=itemoffer");
}else{
$sql="SELECT * FROM items WHERE id='$_GET[id]'";
$result=db_query($sql);
$row = db_fetch_assoc($result);
if($_POST[preis]<$row[preis]/2){
output("`2Der Preis kann nicht so niedrig sein!");
}
else{
db_query("INSERT INTO markthalle_items (waffe,value,class,preis,anbieter,acctid,gems) VALUES ('".addslashes($row[name])."','$row[value1]','$row[class]','$_POST[preis]','".$session[user][name]."',".$session[user][acctid].",'$_POST[gems]')");
db_query("DELETE FROM items WHERE id='$_GET[id]'");
redirect("markthalle.php?op=items");
}
}
break;
case "del":
db_query("DELETE FROM markthalle_items WHERE id='$_GET[id]'");
redirect("markthalle.php?op=items");
break;
case "back";
$sql="SELECT * FROM markthalle_items WHERE id='$_GET[id]'";
$resulting=db_query($sql);
$row = db_fetch_assoc($resulting);
$gold = $row[preis]/4;
output("`2Du nimmst dein Item aus der Liste...");
db_query("INSERT INTO items (name,class,owner,value1,gold,gems,description) VALUES ('".addslashes($row[waffe])."','$row[class]','".$session[user][acctid]."','$row[value]','$gold','0','Ein aus der Markthalle genommenes item mit $row[value] Stärke')");
db_query("DELETE FROM markthalle_items WHERE id='$_GET[id]'");
redirect("markthalle.php?op=items");
break;
case "buy";
$sql2 = "SELECT * FROM markthalle_items WHERE id='$_GET[id]'";
$result2 = db_query($sql2);
$row = db_fetch_assoc($result2);
if($session[user][gold]>=$row[preis] && $row[anbieter]!=$session[user][name] && $session[user][gems]>=$row[gems] && ac_check($row)){
$session[user][gold]-=$row[preis];
$session[user][gems]-=$row[gems];
db_query("UPDATE accounts SET goldinbank = goldinbank+$row[preis], gems = gems+$row[gems] WHERE acctid='{$row['acctid']}'");
db_query("INSERT INTO mail (msgfrom,msgto,subject,body,sent) VALUES ('`^System`0','$row[acctid]','`^Gegenstand verkauft!`0','`&{$session['user']['name']}`6 hat dein(e/n) $row[waffe] erfolgreich gekauft! Dir wurden $row[preis] Gold auf dein Konto überwiesen',now())");
$preis3 = round($row['preis']/4);
db_query("INSERT INTO items (name,class,owner,value1,gold,description) VALUES ('".addslashes($row[waffe])."','$row[class]','".$session[user][acctid]."','$row[value]','$preis3','Ein gekauftes Item')");
db_query("DELETE FROM markthalle_items WHERE id='$_GET[id]'");
redirect("markthalle.php?op=items");
}
else{
redirect("markthalle.php?op=items&error=Du kannst dir diesen Gegenstand leider nicht leisten!`n(`^Deine eigene Ware kannst du nicht Kaufen!`2)");
}
break;
}
page_footer();
?>')
mfg,joerka
edit: achja mir ist gerade aufgefallen man bräuchte noch nach dem drachenkill müssten die waffen/rüstungen/rubine die man angeboten hat automatisch aus der auktion genommen werden!
(muss ich mich schämen, dass ich net so gut php kann wie andere hier? ich hoffe nicht...)