anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 28 Mär, 2024 20:36

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Logik-Fehler?
BeitragVerfasst: Mi 20 Apr, 2005 19:28 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mi 05 Jan, 2005 23:42
Beiträge: 156
Sry dass ich deswegen nen Thread aufmach aber ich komm einfach nicht drauf... :pein:

Hier ein Auszug aus nem "Nachts in Laden Einbrech" source.
Man soll die Lampe nach belieben aus und anmachen können.
Zubegin des Codes wird $dunkel auf 1 gesetzt.

Dann kommt dass hier:

[php]
else if ($HTTP_GET_VARS[op]=="einbrechen"){
output("`5Er scheint gerade niemand in der Nähe... Mit einem gezielten Hieb deiner Waffe zertrümmerst du das Schloss und huschst in den Laden...`n`n");
output("`5Dunkelheit umgibt dich, es herrscht Stille... ");
addnav("Darions Truhe","armornacht.php?op=truhe");
addnav("Die Rüstungen","armornacht.php?op=ruestungen");
addnav("Lampe entzünden","armornacht.php?op=lampe");
addnav("Die Werkstatt","armornacht.php?op=werkstatt");
addnav("Verschwinden","village.php");
}

else if ($HTTP_GET_VARS[op]=="lampe"){
if ($dunkel==1) {
$dunkel=2;
output("`5 Sorgfältig entzündest du eine Lampe...`nJetzt läufst du nicht mehr Gefahr zu stolpern. ");}

else if ($dunkel==2) {
$dunkel=1;
output("`5 Das verräterische Licht könnte dich den Kopf kosten, erblickt es ein Wächter, und so löschst du die Lampe wieder... ");}

output("Das Licht $dunkel"); // <- Nur ne kleine Hilfe

addnav("Darions Truhe","armornacht.php?op=truhe");
addnav("Die Rüstungen","armornacht.php?op=ruestungen");
if ($dunkel==1) addnav("Lampe entzünden","armornacht.php?op=lampe");
if ($dunkel==2) addnav("Lampe löschen","armornacht.php?op=lampe");
addnav("Die Werkstatt","armornacht.php?op=werkstatt");
addnav("Verschwinden","village.php");
}
[/php]

Hier das Problem:
-Geht man auf Einbrechen kommt man zu besagtem Teil.
- Das Licht ist, wie gewollt aus (Erkennt man da der Button Lampe entzünden erscheint)
- Ich klicke auf Lampe entzünden, er läd den Teil nochmal, das Licht ist wie gewolt an da Lampe löschen erscheint.
- Wenn man jetzt wieder auf Lampe löschen klickt tut sich nichts, das Licht bleibt unweigerlich an.

Hab einfach keinen Überblick mehr, hoffentlich siehts einer von euch... :(

Mfg
Abraxas

_________________
"Wenn alles Gute verloren scheint, die Welt in Trümmern liegt, wenn die Unschuld stirbt und das Böse göttliche Macht gewinnt, wenn es Zeit ist, der Nacht ein Ende zu setzen, den Tag einzuläuten...
dann braucht es Helden!"

http://www.zum-tanzenden-troll.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 20 Apr, 2005 21:59 
Offline
Großmeister
Großmeister

Registriert: Mi 15 Dez, 2004 00:41
Beiträge: 467
Wohnort: München
Du solltest den Lampenstatus auch speichern. ;)
Wie Du schreibst, wird ja $dunkel zu Beginn auf 1 gesetzt - unabhängig davon, ob es vorher schon angeschaltet wurde oder nicht.
Wenn es zu Beginn des Scripts immer aus ist, kann man es aber auch nur anschalten.

_________________
A bus station is where busses stop. A train station is where trains stop. On my desk there is a workstation...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 21 Apr, 2005 07:29 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mi 05 Jan, 2005 23:42
Beiträge: 156
Uff... Thx^^

Also arbeitet es das ganze file nochmla von oben bis unten durch,
obwohl nur

else if ($HTTP_GET_VARS[op]=="lampe"){}

im Link verlankt ist?

Wie kann ich das speichern?
(Ich mein, ohne Datenbank...)

_________________
"Wenn alles Gute verloren scheint, die Welt in Trümmern liegt, wenn die Unschuld stirbt und das Böse göttliche Macht gewinnt, wenn es Zeit ist, der Nacht ein Ende zu setzen, den Tag einzuläuten...
dann braucht es Helden!"

http://www.zum-tanzenden-troll.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 21 Apr, 2005 08:04 
Offline
Großmeister
Großmeister

Registriert: Mi 15 Dez, 2004 00:41
Beiträge: 467
Wohnort: München
Bei jedem neuen Aufruf wird natürlich das komplette Script wieder neu abgearbeitet. ;)
Speichern mußt Du es in der Datenbank. Ich würde in den Settings für jeden Laden den Lampe-Wert speichern.

Übrigens solltest Du $_GET statt $HTTP_GET_VARS verwenden, da letzteres zukünftig nicht mehr gehen wird (bei PHP5 kann man es zwar wieder aktivieren, wenns sein muß - aber in späteren Versionen wird es ganz rausfallen).

_________________
A bus station is where busses stop. A train station is where trains stop. On my desk there is a workstation...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 21 Apr, 2005 08:23 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mi 05 Jan, 2005 23:42
Beiträge: 156
Gut zu wissen... :)
Thx!

_________________
"Wenn alles Gute verloren scheint, die Welt in Trümmern liegt, wenn die Unschuld stirbt und das Böse göttliche Macht gewinnt, wenn es Zeit ist, der Nacht ein Ende zu setzen, den Tag einzuläuten...
dann braucht es Helden!"

http://www.zum-tanzenden-troll.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 21 Apr, 2005 11:05 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Versuchs mal so:
[php]

else if ($HTTP_GET_VARS[op]=="lampe")
{
if ($session['lampe']=="")
{
$session['lampe']=1;
output("`5 Sorgfältig entzündest du eine Lampe...`nJetzt läufst du nicht mehr Gefahr zu stolpern. ");
}

else
{
$session['lampe']=0;
output("`5 Das verräterische Licht könnte dich den Kopf kosten, erblickt es ein Wächter, und so löschst du die Lampe wieder... ");
}
[/php]
Sollte eigentlich gehen
Bei meinem Engelsscrpt gehts auch so
Oder du setzt den Status immer in den Link rein, ist dann aber umständlicher[/php]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 21 Apr, 2005 11:21 
Offline
Großmeister
Großmeister

Registriert: Mi 15 Dez, 2004 00:41
Beiträge: 467
Wohnort: München
Wenn man dann aber aus- und wieder neu einloggt, hat man direkt wieder das Problem, daß der Wert weg ist. ;)
Wär ansonsten aber natürlich auch ne Möglichkeit, wenn der Licht-Status für jeden Spieler unterschiedlich sein soll.

_________________
A bus station is where busses stop. A train station is where trains stop. On my desk there is a workstation...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 21 Apr, 2005 11:25 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mi 05 Jan, 2005 23:42
Beiträge: 156
Funzt perfekt.
^^ Danke!

Jap, solls auch.
Is n Einbruch-file, sollte jemand des Nachts den Laden besuchen wollen.

_________________
"Wenn alles Gute verloren scheint, die Welt in Trümmern liegt, wenn die Unschuld stirbt und das Böse göttliche Macht gewinnt, wenn es Zeit ist, der Nacht ein Ende zu setzen, den Tag einzuläuten...
dann braucht es Helden!"

http://www.zum-tanzenden-troll.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 21 Apr, 2005 16:58 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Uiuiuiui, da kann man aber unter umstäden bei meinem Engelsscript mogel :D
Sofern man Lust hat, mehreremale den gleichen, harten Kampf machen ^^
Aber spart doch Platz, benötigt kein weiteres Feld in der Tabelle


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 21 Apr, 2005 17:53 
Offline
Großmeister
Großmeister

Registriert: Mi 15 Dez, 2004 00:41
Beiträge: 467
Wohnort: München
Naja, mir hat die Idee mit den settings gefallen - denn dann hätte man wieder etwas, um zu interagieren (Spieler a macht das Licht aus, Spieler b macht es sofort wieder an :D).

_________________
A bus station is where busses stop. A train station is where trains stop. On my desk there is a workstation...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 21 Apr, 2005 17:55 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mi 05 Jan, 2005 23:42
Beiträge: 156
:pein: Spielkind...^^

_________________
"Wenn alles Gute verloren scheint, die Welt in Trümmern liegt, wenn die Unschuld stirbt und das Böse göttliche Macht gewinnt, wenn es Zeit ist, der Nacht ein Ende zu setzen, den Tag einzuläuten...
dann braucht es Helden!"

http://www.zum-tanzenden-troll.de


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 39 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum