anpera.net https://anpera.homeip.net/phpbb3/ |
|
Alchi https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=2307 |
Seite 1 von 1 |
Autor: | Taraen [ Mi 01 Mär, 2006 17:57 ] |
Betreff des Beitrags: | Alchi |
Hi! Ich habe habe ein kleines Problem: Ich möchte einen Laden proggen, indem man sich Tränke brauen kann. Die Zutaten findet man im Wald, das Rezept kauft man sich im Laden und man braut sich den Trank zusammen, indem man die Anzahl der Zutaten in ein Feld eingeben kann, die eingabe wird überprüft und der Trank ist fertig... doch nun mein Problem: Wie kann ich es so proggen, das bei der Eingabe (oder danach^^) die anzahl der zutaten von der DB abgezogen werden? (Wenn ich nur noch 3xKalk habe und ich für den Trank 4xKalk brauche soll eine meldung wie z.b. "Du hast nicht genügend Zutaten ö.ä) [php] <?php require_once "common.php"; page_header("Zauberladen"); if($HTTP_GET_VARS[op]==""){ if ($session[user][zauberladen]==0){ output("Du berittst den kleinen aber doch sehr modern aussgestatteten Raum... Du siehst dass das gespendete Geld gut angekommen ist!"); addnav("Test","alchi.php?op=mix"); addnav ("Rezept kaufen", "alchi.php?op=buy"); } if ($session[user][zauberladen]!=0){ addnav ("Zurück", "village.php"); output ("Was willst du denn schon wieder hier? Komm morgen wieder. Wir haben geschlossen..."); } } if($HTTP_GET_VARS[op]=="mix"){ output("<form action='alchi.php?op=end' method='POST'>`n",true); output("<input id='input' name='1' width=5> `n",true); output("<input id='input' name='2' width=5> `n",true); output("<input id='input' name='3' width=5> `n",true); output("<input id='input' name='4' width=5> `n",true); output("<input type='submit' class='button' value='Abheben'></form>",true); addnav("","alchi.php?op=end"); addnav ("Deine Zutaten", "zutaten.php"); if ($session[user][reg]>=1) { output ("`c`$`bRezept:`n`n Trank der Regeneration`n`n"); output ("Zutaten:`n Schwefel:4 `nKalk: 3 `n Baldrian: 6 `n Beifuß: 1`n`n"); } if ($session[user][gesundheit]>=1) { output ("`$`n`n---------------`n`n"); output ("`@Rezept:`n`n Trank der Gesundheit`n`n"); output ("Zutaten:`n`n Schwefel:4 `nKalk: 5 `n Baldrian: 8 `n Beifuß: 8 `n`n"); } if ($session[user][def]>=1) { output ("`#`n`n---------------`n`n"); output ("`#Rezept:`n`n Trank des Schutzes`n`n"); output ("Zutaten:`n`n Schwefel:2 `nKalk: 4 `n Baldrian: 7 `n Beifuß: 6 "); } } if($HTTP_GET_VARS[op]=="end"){ //trank der Regeneration if ($_POST['1']==4 and $_POST['2']==3 and $_POST['3']==6 and $_POST['4']==1 and $session[user][reg] and $rez1>=4 and $rez2>=3 and $rez3>=6 and $rez4>=1){ $rez1 = $session[user][schwefel]; $rez2 = $session[user][kalk]; $rez3 = $session[user][baldrian]; $rez4 = $session[user][beifuß]; $session[user][schwefel]-=4; $session[user][kalk]-=3; $session[user][baldrian]-=6; $session[user][beifuß]-=1; addnav ("Weiter","alchi.php?op=trank1"); output ("Als du alle Kräuter zusammengemischt hast, entsteht, ein dick, bluberndes Getränk...."); } else { output ("Weißt du überhaubt was du zusammenbrauen wolltest? Kaufe oder lese dir das Rezept nochmal genau durch!"); addnav ("Zurück", "alchi.php"); } } //Ende Trank der Regeneration //Trank der Gesundheit if ($_POST['1']==4 and $_POST['2']==5 and $_POST['3']==8 and $_POST['4']==8 and $session[user][gesundheit]){ //Genug Zutaten?? $session[user][schwefel]>=4; $session[user][kalk]>=5; $session[user][baldrian]>=8; $session[user][beifuß]>=8; $session[user][schwefel]-=4; $session[user][kalk]-=5; $session[user][baldrian]-=8; $session[user][beifuß]-=8; addnav ("Weiter","alchi.php?op=trank2"); output ("Es ensteht eine helgrüne Flüssigkeit..."); } //end Trank der Gesundheit if ($_POST['1']==2 and $_POST['2']==4 and $_POST['3']==7 and $_POST['4']==6 and $session[user][def]){ addnav ("Weiter","alchi.php?op=trank3"); output ("Du hast soebend eine stark stinkende Flüssigkeit hergestellt...."); $session[user][schwefel]-=2; $session[user][kalk]-=4; $session[user][baldrian]-=7; $session[user][beifuß]-=6; } if ($HTTP_GET_VARS[op]=="trank1"){ addnav ("Zurück", "alchi.php"); output ("`^Du hast den Trank der Regeneration zusammengebraut!!!"); $session[user][turns]+=1; $session[user][zauberladen]+=1; } if($HTTP_GET_VARS[op]=="trank2"){ addnav("Zurück","alchi.php"); output ("Du hast den Trank der Gesundheit hergestellt!!!"); $session[user][maxhitpoints]+=60; $session[user][zauberladen]+=1; } if($HTTP_GET_VARS[op]=="trank3"){ addnav("Zurück","alchi.php"); output ("Du hast den Trank der Schnelligkeit hergestellt!!!"); $session[user][defence]+=60; $session[user][zauberladen]+=1; } //Trank kaufen if($HTTP_GET_VARS[op]=="buy"){ addnav ("Regenerationstrank", "alchi.php?op=reg"); addnav ("Trank der Ausdauer", "alchi.php?op=aus"); addnav ("Trank der Stärke", "alchi.php?op=stärke"); addnav ("zurück", "alchi.php"); output ("Der Alchemist zeigt dir die Rezepte, die er dir anzubiten hat..."); } if($HTTP_GET_VARS[op]=="reg"){ addnav ("Zurück", "alchi.php"); output ("Der Alchimist überreicht dir das etwas zerknüllte aber doch relativ neue Rezept!"); $session[user][reg]==1; } if($HTTP_GET_VARS[op]=="gesundheit"){ $session[user][gesundheit]==1; addnav ("Zurück", "alchi.php"); output ("Der Alchimist überreicht dir das etwas zerknüllte aber doch relativ neue Rezept!"); } if($HTTP_GET_VARS[op]=="stärke"){ $session[user][def]==1; addnav ("Zurück", "alchi.php"); output ("Der Alchimist überreicht dir das etwas zerknüllte aber doch relativ neue Rezept!"); } page_footer(); ?>[/php] Ich hoffe, ich habe es nicht so unverständlich erklärt^^ danke, mfg Bungo |
Autor: | Lyra [ Mi 01 Mär, 2006 20:13 ] |
Betreff des Beitrags: | |
hallöle bungo.. na wurdest du weitergeleitet hierher von lilith glaub ich war das? ^^ ich würd mal ne else abfrage reinbaun.. denn wenn die fälle nicht erfüllt sind, dass man soundsoviele zutaten hat, muss ja ein else kommen, und da bau halt diesen anzeigetext rein .. mfg lyra |
Autor: | Taraen [ Mi 01 Mär, 2006 21:01 ] |
Betreff des Beitrags: | |
Das hab ich auch schon gemacht... Das geht dann einfach in den Minus bereich... ![]() |
Autor: | Auric [ Mi 01 Mär, 2006 21:38 ] |
Betreff des Beitrags: | |
mal so ein Paar hinweise: 1: Bitte ['php'] und ['/php'] ohne die ' darin verwenden, wenn du php-Code angibst. 2: Den Code und die Klammern bitte ein wneig übersichtlicher einrücken und nicht ganz so viele Leerzeilene dazuwischen, sonst werdne die seiten immer so ellenlang. Am besten sonst gleich anhängen. Außerdem würde ich dich bitten, noch einmla anzugeben, was du in der Datenbank speicherst. Das dürfte alles schon mal bei der Beantwortung deiner Fragen helfen. |
Autor: | Eliwood [ Do 02 Mär, 2006 00:14 ] |
Betreff des Beitrags: | |
Ein paar Verbesserungsvorschläge: - Nimm $_GET anstatt $HTTP_GET_VARS! Ab PHP 5 ist $HTTP_GET_VARS Standartgemäss deaktiviert. $_GET ist modern und kurz. - Mach bitte! Bitte folgendes: [php]switch($_GET['op']) { case "": f ($session[user][zauberladen]==0){ output("Du berittst den kleinen aber doch sehr modern aussgestatteten Raum... Du siehst dass das gespendete Geld gut angekommen ist!"); addnav("Test","alchi.php?op=mix"); addnav ("Rezept kaufen", "alchi.php?op=buy"); } if ($session[user][zauberladen]!=0){ addnav ("Zurück", "village.php"); output ("Was willst du denn schon wieder hier? Komm morgen wieder. Wir haben geschlossen..."); } break; case "mix": output("<form action='alchi.php?op=end' method='POST'>`n",true); output("<input id='input' name='1' width=5> `n",true); output("<input id='input' name='2' width=5> `n",true); output("<input id='input' name='3' width=5> `n",true); output("<input id='input' name='4' width=5> `n",true); output("<input type='submit' class='button' value='Abheben'></form>",true); addnav("","alchi.php?op=end"); addnav ("Deine Zutaten", "zutaten.php"); if ($session[user][reg]>=1) { output ("`c`$`bRezept:`n`n Trank der Regeneration`n`n"); output ("Zutaten:`n Schwefel:4 `nKalk: 3 `n Baldrian: 6 `n Beifuß: 1`n`n"); } if ($session[user][gesundheit]>=1) { output ("`$`n`n---------------`n`n"); output ("`@Rezept:`n`n Trank der Gesundheit`n`n"); output ("Zutaten:`n`n Schwefel:4 `nKalk: 5 `n Baldrian: 8 `n Beifuß: 8 `n`n"); } if ($session[user][def]>=1) { output ("`#`n`n---------------`n`n"); output ("`#Rezept:`n`n Trank des Schutzes`n`n"); output ("Zutaten:`n`n Schwefel:2 `nKalk: 4 `n Baldrian: 7 `n Beifuß: 6 "); } break; // Und so weiter }[/php] 1. Sieht schöner aus, 2tens ist schneller, als if-if-if. Oder nimm wenigstens if-elseif-elseif-else ![]() |
Autor: | Lyra [ Do 02 Mär, 2006 06:29 ] |
Betreff des Beitrags: | |
Bungo F hat geschrieben: Das hab ich auch schon gemacht... Das geht dann einfach in den Minus bereich...
![]() dann machst du da irgendwo einen fehler... denn in die elseabfrage soll ja auch nicht der befehl "$session[user][schwefel]-=4; $session[user][kalk]-=3; $session[user][baldrian]-=6; $session[user][beifuß]-=1; " z.b. drin stehen.. außerdem hast du im prinzip den satz doch schon drin siehe "else { output ("Weißt du überhaubt was du zusammenbrauen wolltest? Kaufe oder lese dir das Rezept nochmal genau durch!"); addnav ("Zurück", "alchi.php"); } " das müsste doch gehen bei dir denn? dann änder doch einfach den satz.. oder ist es dann immer noch im minusbereich? dann würde ich den "trick" verwenden wie in diesem Beispiel: "$session[user][schwefel]+=4; $session[user][kalk]+=3; $session[user][baldrian]+=6; $session[user][beifuß]+=1", denn donn müsste der wert wieder dem ausgangswert entsprechen. gilt natürlich zu testen. |
Autor: | Taraen [ Fr 03 Mär, 2006 17:40 ] |
Betreff des Beitrags: | |
In der DB wird die Anzahl der Zutaten gespeichert die man im Wald findet... Wenn man sich einen Trank brauen will, muss man die Anzahl der zutaten in dein Feld schreiben die für den Trank benötigt werden und diese Anzahl der Zutaten wird gleichzeitig von der DB abgezogen... Mein Problem ist: Wenn der User weniger Zuaten hat, als die Anzahl die man eigendlich für den Trank benötigt soll eine fehlermeldung kommen wie "Du hast nicht genügend Zutaten etc....". Else Abfrage funzelt da auch nicht... Der User bekommt dann einfach die Fähigkeit ö.ä... |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |