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

Brauche Hilfe bei einem Script
https://anpera.homeip.net/phpbb3/viewtopic.php?f=25&t=1404
Seite 1 von 1

Autor:  leenchen [ Do 26 Mai, 2005 21:02 ]
Betreff des Beitrags:  Brauche Hilfe bei einem Script

Hallo ich habe mal für mein Spiel weil ich einen Jahrmarkt habe ein Karussell gemacht. Das Problem dabei liegt aber noch darin:

Man soll für eine Fahrt 1000 gold bezahlen und auch nur einmal am Tag damit fahren können. Nun habe ich schon es mir diesen

else if ($HTTP_GET_VARS[op] == "drive") {
page_header("Das Karussell");
if ($session['user']['karussell']=1){

etc. in die newday habe ich auch geändert aber er macht es nicht... nun habe ich das script wieder so gemacht. Vll kann mir da ja mal jemand den teil umschreiben der Falsch ist. Danke im Vorraus *g*

[php]<?php

// Karussell BETA
// Erweiterung des Jahrmarktes
// erstelllt by Tweety
// Idee von Sinthoras
// 26052005

require_once "common.php";
checkday();
page_header("Ketten Karussell");

addcommentary();

if ($_GET[op] == ""){
output("`b`c`2Das Ketten Karussell`0`c`b");
output("`n`2Du stelst dich mit in die Schlange des ketten Karussells und fragst dich wieso du vorher nie mit ihm gefahren bist.
Direkt neben dem Wahrsager Zelt steht es. Klein aber fein.
Aufgeregt wie ein Kleines Kind freust du sich schon auf die Fahrt.
Nun stehst du vor dem Fahrkarten Schalter der Typ der darin sitzt sieht nicht gerade nett aus er murmelt irgendwas von:
`3Eine fahrt kostet dich 100 gold. Also willst du nun fahren oder Feige davon ziehen?.`0");
output("`n");
output("`n`QWas möchtest Du machen?`0");
output("`n`n");
viewcommentary("Karussell","Hier reden",30,"sagt");

addnav("Das Ketten Karussell");
addnav("Einsteigen und fahren","karussell.php?op=drive");
addnav("Lieber lassen","jmarkt.php");

}
if ($HTTP_GET_VARS[op] == "drive") {
output("Welche Geschwinigkeit?");
output("(bedenke das es dir danach Schlecht gehen kann) ");
Addnav("Stufe 1 Für Anfänger","karussell.php?op=st1");
addnav("Stufe 2 Für die Harten","karussell.php?op=st2");
addnav("Stufe 3 Für die Lebensmüden","karussell.php?op=st3");
}
else if ($HTTP_GET_VARS[op] == "st1") {
page_header("Ketten Karussell");
output("`c`b`&Das Ketten karussell`0`b`c");
output("`n`@Du beschließt einzu steigen und mit dem Karussel in der ersten Stufe zu fahren. `n`n");
output("`n`9Du bezahlst natürlich deine 1000 gold Eintritt!`n`2");
$session['user']['gold']-=1000;
switch (e_rand(1,5)){
case 1:
output("Fröhlich trällernt sitzt du im Ketten Karussell und genießt den fahrtwind im Gesicht. mehr passiert auch nicht.");
$session[user][karussell]==1;
addnav("Zurück auf den Jahrmarkt","jmarkt.php");
break;
case 2:
output("Das Karussell dreht sich immer schneller und irgendwie hast du das Gefühl das dir dein ganzer Magen inhalt hoch kommt. Du übergibst dich. Dich sehen dabei viele Leute und du verlierst eienn Charmepunkt");
$session[user][karussell]==1;
$session[user][charm]-=1;
addnav("Schnell auf den Jahrmarkt","jmarkt.php");
break;
case 3:
output("Während der fahrt siehst du eine Meute Menschen hinter einem Dieb hinter herlaufen. Dieser erblickt dich und wirft dir einen Beutel zu den du glücklicherweise gefangen hast. nach der fahrt öffnest du den beutel und erblickst darin 10 Edelsteine. Du überlegst was du nun machst?");
$session[user][karussell]==1;
addnav("Dem Wachmann geben","karussell.php?op=wachmann");
addnav("Davon schleichen und behalten","karussell.php?op=schleichen");
break;
case 4:
output("Dein Beutelchen mit Gold hatte sich geöffnet und die Leute rings um das Karussell freuen sich denn ihr Geldbeutel hat sich gefüllt.");
$session[user][karussell]==1;
$session[user][gold]--;
addnav("Zurück auf den Jahrmarkt","jmarkt.php");
break;
case 5:
output("Ring um das Karussell stehen ein paar ".(($session['user']['sex'])?"Frauen":"Männer")." und rufen dir ein paar nette Dinge zu. Du erhällst einen Charmepunkt und fühlst dich so gut das du einen weiteren Waldkampf vertragen könntest.");
$session[user][charm]+=1;
$session[user][karussell]==1;
$session[user][turns]+=1;
addnav("Zurück auif den Dorfplatz","jmarkt.php");
break;
}
}else if ($HTTP_GET_VARS[op] == "st2") {
page_header("Ketten Karussell");
output("`c`b`&Das Ketten karussell`0`b`c");
output("`n`@Du beschließt einzu steigen und mit dem Karussel in der zweiten Stufe zu fahren. `n`n");
output("`n`9Du bezahlst natürlich deine 1000 gold Eintritt!`n`2");
$session['user']['gold']-=1000;
switch (e_rand(1,5)){
case 1:
output("Du genießt den Fahrtwind in deinem Gesicht. mehr passiert auch nicht");
$session[user][karussell]==1;
addnav("Zurück auf den Jahrmarkt","jmarkt.php");
break;
case 2:
output("Du hast die Kette deines Sitzes nicht richtig geschlossen du rutscht während der fahrt fast raus. Das war dir eine Lehre. Du erhälst etwas Erfahrung.");
$session['user']['experience']*=1.01;
$session[user][karussell]==1;
addnav("Zurück auf den Jahrmarkt","jmarkt.php");
break;
case 3:
output("Dir geht das alles zu schnell du wirst Ohnmächtig und wachst mitten auf dem Dorfplatz auf. Ein Typ schaut dich an und schüttelt mit den Kopf. Du hast dich verletzt und einige deiner Lbenspunkte verloren. Dazu hast du im Matsch gelegen und verlierst einen Charmepunkt");
$session[user][charm]-=1;
$session[user][hitpoints]-=3;
$session[user][karussell]==1;
addnav("Auf stehen und sauber machen","jmarkt.php");
break;
case 4:
output("Als du aus dem Karussel weider aussteigst findest du ein Pergament auf dem steht `^''Gutschein für die Jägerhütte 70 Donationpoints''");
$session['user']['donation']+=70;
$session[user][karussell]==1;
addnav("Zurück auf den Jahrmarkt","jmarkt.php");
break;
case 5:
output("Dir wird höllisch schlecht. Dann wird dir Schwindelig und dann merkst du nur noch wie sich ein Ast durch deinen Körper Bohrt. Du hättest wohl doch lieber gehen sollen.");
$session[user][alive]=false;
$session[user][hitpoints]=0;
$session[user][karussell]==1;
addnav("Tägliche News","news.php");
addnews("`Q".$session[user][name]."`@ ist während einer Fahrt mit einem Karussell gestorben.`@");
break;
}
}else if ($HTTP_GET_VARS[op] == "st3") {
page_header("Ketten Karussell");
output("`c`b`&Das Ketten karussell`0`b`c");
output("`n`@Du beschließt einzu steigen und mit dem Karussel in der dritten Stufe zu fahren. `n`n");
output("`n`9Du bezahlst natürlich deine 1000 gold Eintritt!`n`2");
$session['user']['gold']-=1000;
switch (e_rand(1,6)){
case 1:
output("Du genießt den Fahrtwind in deinem Gesicht. mehr passiert auch nicht");
$session[user][karussell]==1;
addnav("Zurück auf den Jahrmarkt","jmarkt.php");
break;
case 2:
output("Du hast das Gefühl du würdest Fliegen ein gefühl das du schon immer mal erleben wolltest. Es stärkt dich und du bekommst einen Angriffspunkt dazu.");
$session[user][attack]++;
$session[user][karussell]==1;
addnav("Zurück auf den Jahrmarkt","jmarkt.php");
break;
case 3:
output("Dir wird überl und noch befor das Karussell anhält hast du deinen Magen entleert. Auf dich und die anderen Fahrgäste. Du verlierst einige Charmepunkte. Und schämst dich in Grund und Boden");
$session[user][charm]-=5;
$session[user][reputation]--;
$session[user][karussell]==1;
addnav("Auf stehen und sauber machen","jmarkt.php");
break;
case 4:
output("Als du aus dem Karussel weider aussteigst findest du ein Pergament auf dem steht `^''Gutschein für die Jägerhütte 40 Donationpoints''");
$session['user']['donation']+=40;
$session[user][karussell]==1;
addnav("Zurück auf den Jahrmarkt","jmarkt.php");
break;
case 5:
output("Dir wird höllisch schlecht. Dann wird dir Schwindelig und dann merkst du nur noch wie sich ein Ast durch deinen Körper Bohrt. Du hättest wohl doch lieber gehen sollen.");
$session[user][alive]=false;
$session[user][hitpoints]=0;
$session[user][karussell]==1;
addnav("Tägliche News","news.php");
break;
case 6:
output("Du warst Lebensmüde und hast dich getraut auf Stufe 3 zu Fahren du erhälst dafür ein wenig Erfahrung");
$session['user']['experience']*=1.01;
$session[user][karussell]==1;
addnav("Zurück auf den Jahrmarkt","jmarkt.php");
break;
}
}if ($_GET[op] == "wachmann") {
switch (e_rand(1,3)){
case 1:
output("Du überreichst dem Wachmann den Beutel mit Edelsteinen doch der sagt `^Alle herkommen ich habe den Dieb gefasst. `0Du kommst für 1 tag an den Pranger");
$session[user][prangerdays]+=1;
$session[user][pranger]+=1;
$session[user][karussell]==1;
addnav("Pranger","pranger.php");
break;
case 2:
output("Du tippst dem Wachmann auf die schulter `^''Entschuldigen Sie aber ich habe gerade im Karussell gesessen da hat mir ein fremder diesen beutel hier zu geworfen'' `0Der Wachmann schaut sich den Beutel an `^''Er muss Sie verwechselt haben. hier ein kleiner Finderlohn''");
$session[user][karussell]==1;
$session[user][gold]+=2000;
addnav("Zurück auf den Jahrmarkt","jmarkt.php");
break;
case 3:
output("Der Wachmann reagiert garnicht erst auf dich er Mosert nur `^''ich habe zu tun wir verscuhen ein verbrechen auf zu klären'' `0Du zuckst mit den Schultern und behällst die Edelsteine");
$session[user][karussell]==1;
$session[user][gems]+=10;
addnav("Zurück auf den Jahrmarkt","jmarkt.php");
break;
}
}if ($_GET[op] == "schleichen") {
switch (e_rand(1,3)){
case 1:
output("Du tust so als wenn nichts passiert wäre. Und hoffst das dich niemand entdeckt hat. Doch der Wachmann läuft dir hinterher `^''Stehen bleiben'' `0Du wurdest verhaftet. Du kommst an den Pranger.");
$session[user][prangerdays]+=1;
$session[user][pranger]+=1;
$session[user][karussell]==1;
addnav("Pranger","pranger.php");
break;
case 2:
output("Du willst dich davon schleichen um später deine Beute zu begutachten. Soweit bist du auch entkommen. Leider stolperst du im Wald über einen Ast und hast dabei die hälfte deiner Beute verloren");
$session[user][karussell]==1;
$session[user][gems]+=5;
addnav("Zurück auf den Jahrmarkt","jmarkt.php");
break;
case 3:
output("Du bist entkommen ohne das du bemerkt wurdest. Du erhälst ein wenig Erfahrung und natürlich deine Beute.");
$session[user][karussell]==1;
$session[user][gems]+=10;
$session['user']['experience']*=1.01;
addnav("Zurück auf den Jahrmarkt","jmarkt.php");
break;
}
addnav("village","village.php");
}
page_footer();

?>[/php]

Autor:  Gregor_Samsa [ Do 26 Mai, 2005 21:06 ]
Betreff des Beitrags: 

Zitat:
else if ($HTTP_GET_VARS[op] == "drive") {
page_header("Das Karussell");
if ($session['user']['karussell']=1){


muss das nicht so heißen?

$this->bbcode_second_pass_code('', 'else if ($HTTP_GET_VARS[op] == "drive") {
page_header("Das Karussell");
if ($session['user']['karussell']==1){')


und noch etwas, überall steht:

$this->bbcode_second_pass_code('', ' $session[user][karussell]==1;')


das muss doch alles so heißen, da es doch in 1 geändet werden soll, es soll ja keine abfrage sein...oder?
$this->bbcode_second_pass_code('', ' $session[user][karussell]=1;')


Gruß Greg

Autor:  Arîzto [ Do 26 Mai, 2005 21:46 ]
Betreff des Beitrags: 

Da magst du wohl Recht haben...

Beim Zweiten weiss ich's jetzt nicht wirklich, aber das liegt nur daran, dass ich gerade nicht denken kann ^^

Aber's Erste muss auf jeden Fall in [karussell]==1 geändert werden... :D

Autor:  anpera [ Fr 27 Mai, 2005 03:51 ]
Betreff des Beitrags: 

Jap.

=== für Vergleiche auf Gleichheit von Wert und Typ,
== für Vergleiche auf Gleichheit von Wert,
= um Werte zuzuweisen.

Bei
$session['user']['karussell']==1;
ergibt sich nur true oder false und es passiert gar nichts.

Bei
if ($session['user']['karussell']=1)
wird der Wert 1 zugewiesen, aber eine Abfrage findet nicht statt.


Außerdem brauchst du page_header() nur 1x am Anfang des Scripts, oder du musst es, wenn du verschiedene Überschriften haben willst, am Anfang rausnehmen und bei jeder if-Abfrage einsetzen.

Autor:  Chaosmaker [ Fr 27 Mai, 2005 09:03 ]
Betreff des Beitrags: 

anpera hat geschrieben:
Bei
if ($session['user']['karussell']=1)
wird der Wert 1 zugewiesen, aber eine Abfrage findet nicht statt.

Nicht ganz, eine Abfrage findet auch statt. ;)
Allerdings wird der der Variablen der Wert (hier 1) zugewiesen und anschließend findet eine Überprüfung if ($session['user']['karussell']) statt - was natürlich hier immer wahr ist, da 1 true entspricht.

Autor:  Vaan [ Fr 27 Mai, 2005 09:09 ]
Betreff des Beitrags: 

du hast am anfang einmal ($_GET[op]==""){ und ab dann immer ($HTTP_GET_VARS[op]=="ka-was"){
du solltest $HTTP_GET_VARS besser in $_GET umändern! das läuft nämlich nciht gut auf php5 und auf den folgenden versionen wohl garnichtmehr!

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