anpera.net
https://anpera.homeip.net/phpbb3/

problem mit eigenem laden
https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=2266
Seite 1 von 1

Autor:  Vaan [ So 19 Feb, 2006 20:31 ]
Betreff des Beitrags:  problem mit eigenem laden

also, wir ham nen laden gescriptet, aber wenn ich was kaufe passiert nix... der geht zwar zum kauf hin aber weder die waffe wird ersetzt noch wird geld abgezogen...

[php]<?php

/* ladenaatag.php
* (c) Vaan
*/

require_once("common.php");
page_header("Gargrim's Äxte");
output("`6`c`b`qGargrim's Äxte`b`c`n");

output("`qHeiße Luft schlägt dir entgegen, der Geruch von Schweiß und Feuer liegt in der Luft...
Nachdem sich deine Augen an das spärliche Licht der Fackeln gewöhnt haben blickst du dich in der kleinen Schmiede um:
Unweit zu deiner Linken erstreckt sich die Esse, ein glühendes Becken rot-gelber Sterne, die in einem Inferno aus Funken vergehen.
`!Du kannt dich ruhig umschaun, ich komm gleich zu dir!`q Erst jetzt entdeckst du Gargrim, den Zwergen-Schmied der Stadt.
Immer wieder lässt er den schweren Schmiedehammer niederfahren, mit lautem Klingen form sich das Eisen unter seinen Hieben.
Lange Reihen von Waffen aller Arten säumen die gegenüberliegende Wand. Polierten Schwerter und Äxte glänzen rötlich und golden im
warmen Schein der Flammen... `n`n`!Das hätten wir.`q Mit einem alten Lappen wischt sich Gargrim Schmutz und Schweiß vom Gesicht und versenkt
sein Werkstück im Wasserbecken ehe er in einer Wolke aus Dampf verschwindet. `n`n`!Wie kann ich dir helfen?`q `n`n");
addnav("Gargrim's Äxte");
addnav("Zurück zur Stadt","village.php");

if($_GET['op']==""){
$angebot=$session['angebot'];
addnav("Nahkampfwaffen");
if($angebot<=40) {
addnav("Lederne Schlagriemen (`q40`0)","ladenaatag.php?op=schlagriemen");
addnav("Krummsäbel (`q320`0)","ladenaatag.php?op=saebel");
addnav("Glockenschläger (`q640`0)","ladenaatag.php?op=glockenschlaeger");
addnav("Streitaxt (`q1280`0)","ladenaatag.php?op=streitaxt");
}
if($angebot>=41 && $angebot<=80) {
addnav("Hölzerne Keule (`q40`0)","ladenaatag.php?op=keule");
addnav("Langdolch (`q160`0)","ladenaatag.php?op=langdolch");
addnav("Kurzschwert (`q320`0)","ladenaatag.php?op=kurzschwert");
addnav("Morgenstern (`q1280`0)","ladenaatag.php?op=morgenstern");
addnav("Bastardschwert (`q2560`0)","ladenaatag.php?op=bastardschwert");
}
if($angebot>=81) {
addnav("Holzfäller-Beil (`q160`0)","ladenaatag.php?op=beil");
addnav("Flegel (`q320`0)","ladenaatag.php?op=flegel");
addnav("Breitschwert (`q640`0)","ladenaatag.php?op=breitschwert");
addnav("Hellebarde (`q2560`0)","ladenaatag.php?op=hellebarde");
}

addnav("Fernkampfwaffen");
if($angebot>=80) addnav("Blasrohr (`q160`0)","ladenaatag.php?op=blasrohr");
addnav("Schleuder (`q320`0)","ladenaatag.php?op=schleuder");
addnav("Jagdbogen (`q1280`0)","ladenaatag.php?op=jagdbogen");
if($angebot<=50) addnav("Langbogen (`q2560`0)","ladenaatag.php?op=langbogen");
if($angebot>=90) addnav("Armbrust (`q2560`0)","ladenaatag.php?op=armbrust");

addnav("Waffenkiste");
if($angebot>=50) {
addnav("Stumpfer Dolch (`q35`0)","ladenaatag.php?op=stumpferdolch");
addnav("Rostiges Kurzschwert (`q290`0)","ladenaatag.php?op=rostigeskurzschwert");}

if($angebot<=49) {
addnav("Bauernwehr (`q140`0)","ladenaatag.php?op=bauernwehr");
addnav("Entermesser (`q290`0)","ladenaatag.php?op=entermesser");}

if($angebot<=2) {
addnav("Besonders");
addnav("Kompositbogen (`q5120`0)","ladenaatag.php?op=kompositbogen");}
if($angebot>=99) {
addnav("Besonders");
addnav("Zweihänder (`q5120`0)","ladenaatag.php?op=zweihaender");}
if($angebot==55) {
addnav("Besonders");
addnav("Rabenschnabel (`q10240`0)","ladenaatag.php?op=rabenschnabel");}
if($angebot==45) {
addnav("Besonders");
addnav("Sense (`q10240`0)","ladenaatag.php?op=sense");}
}

elseif($_GET['op']=="schlagriemen"){
$name="Schlagriemen";
$kosten=40;
$wert=1;
redirect("ladenaatag.php?op=kaufen");
}
elseif($_GET['op']=="saebel"){
$name="Krummsäbel";
$kosten=320;
$wert=3;
redirect("ladenaatag.php?op=kaufen");
}
elseif($_GET['op']=="glockenschlaeger"){
$name="Glockenschläger";
$kosten=640;
$wert=4;
redirect("ladenaatag.php?op=kaufen");
}
elseif($_GET['op']=="streitaxt"){
$name="Streitaxt";
$kosten=1280;
$wert=5;
redirect("ladenaatag.php?op=kaufen");
}
elseif($_GET['op']=="keule"){
$name="Holzkeule";
$kosten=1;
$wert=40;
redirect("ladenaatag.php?op=kaufen");
}
elseif($_GET['op']=="langdolch"){
$name="Langdolch";
$kosten=160;
$wert=2;
redirect("ladenaatag.php?op=kaufen");
}

elseif($_GET['op']=="kaufen"){
if($session['user']['gold']>=$kosten){
db_query("INSERT INTO items(name,class,owner,value1,value2,gold,gems,description) VALUES ('".$name."','weapons','".$session['user']['acctid']."','0','0','".$kosten."','0','')");
$session['user']['gold']-=$kosten;
$session['user']['weapon']=$name;
$session['user']['attack']-=$session['user']['weapondmg'];
$session['user']['weapondmg']=$wert;
$session['user']['attack']+=$session['user']['weapondmg'];
$session['user']['weaponvalue']=$kosten;
$sql="INSERT INTO items (name,class,owner,value1,gold,description) VALUES ('`7".$name."','Waffe','".$session['user']['acctid']."','0','".$kosten."','Waffe mit ".$wert." Angriffswert')";
output("`qMit einem zufriedenen Lächeln auf den Lippen überreicht dir Gargrim `^".$name."`q.`n");
}else{
output("`qSchon siehst du $name als dein Eigen als dir auffällt, dass du es dir wohl nicht leisten kannst.`n
Mit einem Seufzer des Bedauerns legst du es zurück...`n");
}
}

page_footer();
?>[/php]

Autor:  Kakerlake [ Di 21 Feb, 2006 10:36 ]
Betreff des Beitrags: 

[php]
$session['user']['gold']-=$kosten;
$sql="INSERT INTO items (name,class,owner,value1,gold,description) VALUES ('`7".$name."','Waffe','".$session['user']['acctid']."','0','".$kosten."','Waffe mit ".$wert." Angriffswert')";
db_querry($sql);[/php]

wieso versuchst du die waffe 3x einzufügen, 2x ins inventar, dabei einmal in falscher klasse(weapons?...) und 1x direkt in den werten

machs lieber so

Autor:  Vaan [ Di 21 Feb, 2006 19:39 ]
Betreff des Beitrags: 

aber is die dann auch direkt angelegt? deswegen hatten wa ja die teile in diereckt werte eingetragen

€:
ich hab mal nach gedacht.. kann es sein das er die Variablen in nem redirect nich übernimmt? weil er gibt ja auch nix aus... da steht immer
Zitat:
Mit einem zufriedenen Lächeln auf den Lippen überreicht dir Gargrim .


und noch was:
db_query ;) nich db_querry (aber kein problem)

Autor:  anpera [ Mi 22 Feb, 2006 21:32 ]
Betreff des Beitrags: 

Die Variablen (z.B. $kosten) sind keine globalen Variablen und gehen durch redirect() natürlich verloren. Das heisst, sie werden in deinem Script immer als 0 angesehen. Man hat also immer genug Gold, um sich "" zu kaufen.

Besser als redirect() wäre in deinem Fall, eine Variable $weiter=true; zu definieren und statt auf elseif ($_GET['op']=="kaufen") auf if ($weiter==true) abzufragen.

Warum du die Waffe dann aber verdreifachst, weiss ich auch nicht. ^^

Autor:  Vaan [ Do 23 Feb, 2006 17:56 ]
Betreff des Beitrags: 

hui =)

es klappt aber in der vital info stht neben waffe nix :?

€: die waffe wird ja garnicht in die accounts tabelle eingetragen.. und somit auch nich angelegt :o

Autor:  Eliwood [ Do 23 Feb, 2006 18:22 ]
Betreff des Beitrags: 

Vaan hat geschrieben:
hui =)

es klappt aber in der vital info stht neben waffe nix :?

€: die waffe wird ja garnicht in die accounts tabelle eingetragen.. und somit auch nich angelegt :o


Zeig mal, wies nun ist...

Autor:  Tidus [ Fr 24 Feb, 2006 12:07 ]
Betreff des Beitrags: 

wenn man es nur in die imtemtabelle einträgt muss man die doch im inventar anziehen oder nicht?

Autor:  Vaan [ Mo 27 Feb, 2006 17:06 ]
Betreff des Beitrags: 

Zitat:
Zeig mal, wies nun ist...


so is es jetzt:

[php]<?php

/* coded by Ithil dae (alias Abraxas)
* Email: questbraxel@web.de
* Februar 2006
* http://www.zum-tanzenden-troll.de ; http://www.tanzender-troll.de
* v 0.01
* Wer einen Rhechtschraibfeler findet darf ihn behalten.
*/

require_once("common.php");
page_header("Gargrim's Äxte");
output("`6`c`b`qGargrim's Äxte`b`c`n");

output("`qHeiße Luft schlägt dir entgegen, der Geruch von Schweiß und Feuer liegt in der Luft...
Nachdem sich deine Augen an das spärliche Licht der Fackeln gewöhnt haben blickst du dich in der kleinen Schmiede um:
Unweit zu deiner Linken erstreckt sich die Esse, ein glühendes Becken rot-gelber Sterne, die in einem Inferno aus Funken vergehen.
`!Du kannt dich ruhig umschaun, ich komm gleich zu dir!`q Erst jetzt entdeckst du Gargrim, den Zwergen-Schmied der Stadt.
Immer wieder lässt er den schweren Schmiedehammer niederfahren, mit lautem Klingen form sich das Eisen unter seinen Hieben.
Lange Reihen von Waffen aller Arten säumen die gegenüberliegende Wand. Polierten Schwerter und Äxte glänzen rötlich und golden im
warmen Schein der Flammen... `n`n`!Das hätten wir.`q Mit einem alten Lappen wischt sich Gargrim Schmutz und Schweiß vom Gesicht und versenkt
sein Werkstück im Wasserbecken ehe er in einer Wolke aus Dampf verschwindet. `n`n`!Wie kann ich dir helfen?`q `n`n");
addnav("Gargrim's Äxte");
addnav("Zurück zur Stadt","village.php");
addnav("","ladenaatag.php?op=kaufen");
if($_GET['op']==""){
$angebot=$session['angebot'];
addnav("Nahkampfwaffen");
if($angebot<=40) {
addnav("Lederne Schlagriemen (`q40`0)","ladenaatag.php?op=schlagriemen");
addnav("Krummsäbel (`q320`0)","ladenaatag.php?op=saebel");
addnav("Glockenschläger (`q640`0)","ladenaatag.php?op=glockenschlaeger");
addnav("Streitaxt (`q1280`0)","ladenaatag.php?op=streitaxt");
}
if($angebot>=41 && $angebot<=80) {
addnav("Hölzerne Keule (`q40`0)","ladenaatag.php?op=keule");
addnav("Langdolch (`q160`0)","ladenaatag.php?op=langdolch");
addnav("Kurzschwert (`q320`0)","ladenaatag.php?op=kurzschwert");
addnav("Morgenstern (`q1280`0)","ladenaatag.php?op=morgenstern");
addnav("Bastardschwert (`q2560`0)","ladenaatag.php?op=bastardschwert");
}
if($angebot>=81) {
addnav("Holzfäller-Beil (`q160`0)","ladenaatag.php?op=beil");
addnav("Flegel (`q320`0)","ladenaatag.php?op=flegel");
addnav("Breitschwert (`q640`0)","ladenaatag.php?op=breitschwert");
addnav("Hellebarde (`q2560`0)","ladenaatag.php?op=hellebarde");
}

addnav("Fernkampfwaffen");
if($angebot>=80) addnav("Blasrohr (`q160`0)","ladenaatag.php?op=blasrohr");
addnav("Schleuder (`q320`0)","ladenaatag.php?op=schleuder");
addnav("Jagdbogen (`q1280`0)","ladenaatag.php?op=jagdbogen");
if($angebot<=50) addnav("Langbogen (`q2560`0)","ladenaatag.php?op=langbogen");
if($angebot>=90) addnav("Armbrust (`q2560`0)","ladenaatag.php?op=armbrust");

addnav("Waffenkiste");
if($angebot>=50) {
addnav("Stumpfer Dolch (`q35`0)","ladenaatag.php?op=stumpferdolch");
addnav("Rostiges Kurzschwert (`q290`0)","ladenaatag.php?op=rostigeskurzschwert");}

if($angebot<=49) {
addnav("Bauernwehr (`q140`0)","ladenaatag.php?op=bauernwehr");
addnav("Entermesser (`q290`0)","ladenaatag.php?op=entermesser");}

if($angebot<=2) {
addnav("Besonders");
addnav("Kompositbogen (`q5120`0)","ladenaatag.php?op=kompositbogen");}
if($angebot>=99) {
addnav("Besonders");
addnav("Zweihänder (`q5120`0)","ladenaatag.php?op=zweihaender");}
if($angebot==55) {
addnav("Besonders");
addnav("Rabenschnabel (`q10240`0)","ladenaatag.php?op=rabenschnabel");}
if($angebot==45) {
addnav("Besonders");
addnav("Sense (`q10240`0)","ladenaatag.php?op=sense");}
}

elseif($_GET['op']=="schlagriemen"){
$name="Schlagriemen";
$kosten=40;
$wert=1;
$weiter=true;
}
elseif($_GET['op']=="saebel"){
$name="Krummsäbel";
$kosten=320;
$wert=3;
$weiter=true;
}
elseif($_GET['op']=="glockenschlaeger"){
$name="Glockenschläger";
$kosten=640;
$wert=4;
$weiter=true;
}
elseif($_GET['op']=="streitaxt"){
$name="Streitaxt";
$kosten=1280;
$wert=5;
$weiter=true;
}
elseif($_GET['op']=="keule"){
$name="Holzkeule";
$kosten=1;
$wert=40;
$weiter=true;
}
elseif($_GET['op']=="langdolch"){
$name="Langdolch";
$kosten=160;
$wert=2;
$weiter=true;
}
/* elseif($_GET['op']==""){
$name="";
$kosten=;
$wert=;
redirect("ladenaatag.php?op=kaufen");
}*/

if($weiter==true){
if($session['user']['gold']>=$kosten){
$session['user']['gold']-=$kosten;
$sql="INSERT INTO items (name,class,owner,value1,gold,description) VALUES ('`7".$name."','Waffe','".$session['user']['acctid']."','27','".$kosten."','Waffe mit ".$wert." Angriffswert')";
db_query($sql);
output("`qMit einem zufriedenen Lächeln auf den Lippen überreicht dir Gargrim `^".$name."`q.`n");
}else{
output("`qSchon siehst du $name als dein Eigen als dir auffällt, dass du es dir wohl nicht leisten kannst.`n
Mit einem Seufzer des Bedauerns legst du es zurück...`n");
}
}

page_footer();
?>[/php]


Zitat:
wenn man es nur in die imtemtabelle einträgt muss man die doch im inventar anziehen oder nicht?


schon, aber ich möchte ja, dass die sachen sofort agezogen werden...

Autor:  Eliwood [ Mo 27 Feb, 2006 17:40 ]
Betreff des Beitrags: 

Schau mal im Inventar deines Charakters...

Autor:  Vaan [ Mi 01 Mär, 2006 17:11 ]
Betreff des Beitrags: 

ja ich weiß... da kann ich dann auf "anlegen" klicken.. aber ich will doch das die waffe automatisch mit kauf angelegt wird^^

Autor:  Garlant [ Mi 01 Mär, 2006 17:25 ]
Betreff des Beitrags: 

Hallo Vaan,
Ein Blick in die prefs, sowie auch invhandler.php zeigt dir wie du dies gestalten kannst.
Auszug aus invhandler.php
[php]if ($item['class']=="Rüstung"){
output($session[user][armor]."`Q (`q".$session[user][armordef]."`Q Verteidigung, Wert: `q".$session[user][armorvalue]."`Q Gold)`n gegen`n`q$item[name]`Q (`q$item[value1]`Q Verteidigung, Wert: `q$item[gold] `QGold) aus.`n Deine Verteidigung ändert sich damit von `q".$session[user][defence]."`Q auf `q");
$sql="INSERT INTO items(name,class,owner,gold,value1,description) VALUES ('".addslashes($session[user][armor])."','Rüstung',".$session[user][acctid].",".$session[user][armorvalue].",".$session[user][armordef].",'Gebrauchte Rüstung mit ".$session[user][armordef]." Verteidigung.')";
$session['user']['defence']=$session['user']['defence']-$session['user']['armordef']+$item['value1'];
$session['user']['armordef']=$item['value1'];
$session['user']['armor']=$item['name'];
$session['user']['armorvalue']=$item['gold']-1;
if ($session['user']['armorvalue']<1) $session['user']['armorvalue']=1;
output($session[user][defence]."`Q.`n`n");
}
if ($item['class']=="Waffe"){
output($session[user][weapon]."`Q (`q".$session[user][weapondmg]."`Q Angriff, Wert: `q".$session[user][weaponvalue]."`Q Gold)`n gegen`n`q$item[name]`Q (`q$item[value1]`Q Angriff, Wert: `q$item[gold] `QGold) aus.`n Dein Angriffswert ändert sich damit von `q".$session[user][attack]."`Q auf `q");
$sql="INSERT INTO items(name,class,owner,gold,value1,description) VALUES ('".addslashes($session[user][weapon])."','Waffe',".$session[user][acctid].",".$session[user][weaponvalue].",".$session[user][weapondmg].",'Gebrauchte Waffe mit ".$session[user][weapondmg]." Angriffswert.')";
$session['user']['attack']=$session['user']['attack']-$session['user']['weapondmg']+$item['value1'];
$session['user']['weapondmg']=$item['value1'];
$session['user']['weapon']=$item['name'];
$session['user']['weaponvalue']=$item['gold']-1;
output($session[user][attack]."`Q.");
if ($session['user']['weaponvalue']<1) $session['user']['weaponvalue']=1;
}
db_query($sql) or die(sql_error($sql));
db_query("DELETE FROM items WHERE id=$_GET[id]");[/php]

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/