anpera.net
https://anpera.dyndns.org/phpbb3/

Befehl wird ignoriert
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=3780
Seite 1 von 1

Autor:  Song Sinen [ Sa 07 Jul, 2007 09:26 ]
Betreff des Beitrags:  Befehl wird ignoriert

Hallo!

Ich habe einen recht dummen Fehler und komme auf keinen grünen Zweig mehr. Bitte seid nachsichtig, jeder hat mal nen schlechten Tag... *schäm*

Das Problem liegt darin dass die User nichtmehr aus dem Hexenhaus (meine shades.php) rauskommen sondern immer wieder mit der alive-Abfrage zurückgeschickt werden. Hier der Source auf shades und village:

shades.php
[php]<?php
require_once "common.php";
page_header("Das Hexenhaus");
addcommentary();
if($session['user']['alive']==false){
addnews("`&{$session['user']['name']}`@ wurde von `qLeaf`@ geheilt.");
$session['user']['spirits'] = Erschöpft;
$session['user']['resurrections']++;
$session['user']['alive']=true;
$session[bufflist]['res'] = array(
"name" => "`4Erschöpfung"
,"roundmsg" => "`4Du fühlst dich erschöpft..."
,"wearoff" => "`@Du hast dich erholt!!"
,"rounds" => "40"
,"atkmod" => "-1"
,"defmod" => "-1"
,"activate" => "roundstart"
);
$session['user']['turns']-=20; }

output("`c`b`3Das Hexenhaus`b`c`n");
output("`3Deine Augen sind geschlossen und ein durchdringender Geruch verschiedenster Kräuter und Gewürze steigt dir in die Nase...`n`n
Langsam öffnest du die Lieder und blickst in das lächelnde Gesicht einer jungen Hexe.`n
`6\"Guten Morgen!!\"`3 Leaf grinst bis über ihre beiden spitzen Ohren.
`6\"Die haben dich aber ganz schön übel zugerichtet! Du soltest etwas besser auf dich aufpassen...\"`3
meint sie fast vorwurfsvoll, doch dann lächelt sie wieder und gibt dir einen Kuss auf die Stirn.
`6\"Zum Glück hast du ja mich. Doch jetzt muss ich dich leider fortschicken, vor der Tür warten noch ein paar die verarztet werden wollen.\"
`3So dankst du ihr herzlich und machst dich wieder auf den Weg.`n`n
Als du dich auf den Weg machen willst siehst du verwundete Krieger auf einem bemoosten Baumstamm vor Leaf's Haus warten... `n`n");

viewcommentary("hexenhaus","Verzweifeln",25,"jammert");
addnav("W?Weiter","village.php");

page_footer();
?>[/php]


village.php

[php]<?php
require_once "common.php";
addcommentary();
checkday();

if ($session['user']['alive']!=true){
// redirect("shades.php");
}

if ($session['user']['kerker']==1){
redirect("kerker.php");
}elseif($session['user']['kerker']>1){
$nummerk=$session['user']['kerker']-1;
redirect("hauskerker.php?nummer=$nummerk");}

// Start
if($session[user][locate]==0){
redirect("stadta.php");
}
// Menschenstadt
if($session[user][locate]==1){
redirect("stadta.php");
}

// usw.

page_footer();
?>

[/php]

Die User stecken somit in einer Schleife und kommen nicht mehr weg. Wahrscheinlich ists irgendein peinlicher Fehler aber ich häng leider total. 8/

Lg,

Song Sinen

Autor:  anpera [ Sa 07 Jul, 2007 16:51 ]
Betreff des Beitrags: 

Ersetze in deiner shades.php

$session['user']['alive']=true;
durch
$session['user']['alive']=1;

Ich nehme an, die Zeile
// redirect("shades.php");
ist normalerweise nicht auskommentiert?

Autor:  Kamui [ Sa 07 Jul, 2007 20:19 ]
Betreff des Beitrags: 

Noch ein kleiner Fehler hat sich dort eingeschlichen der ist wohl
offendsichtlich ;) $session['user']['spirits'] ist vom Datentype string also
behandelt man ihn auch so ;) du behandelst das "erschöpft" als Konstante
und nicht als String was zum Noticefehler führt -> undefined constant
erschöpfung.

Autor:  Song Sinen [ Sa 07 Jul, 2007 23:14 ]
Betreff des Beitrags: 

Leider weigert sie (es muss eine Frau sein...) sich
[php]$session['user']['alive']=1;[/php]
zu akzeptieren, es hilft nichts. 8/

Jap, ist sonst nicht auskommentiert nur damit die User wieder zum Spielen kommen. ^^ Sind jetzt alle ein bischen untot.

Danke für den Hinweis mit der Erholung, habs sofort behoben. ^^

Autor:  Song Sinen [ Di 10 Jul, 2007 13:59 ]
Betreff des Beitrags: 

Ok, Fehler gefunden und behoben. Für alle die mal was ähnliches haben sollten:

Wenn ich $session['user']['alive'] zu Beginn des Skriptes ausgeben lies hatte es keinen Wert '(nix)', dann hab ich es gefüllt (=1;) und wurde von der village zurückgeschickt da es wieder keinen Wert hatte. Der Fehler wurde in der Common verursacht:

[php]if ($session['user']['hitpoints']>0){
$session['user']['alive']=true;
}else{
$session['user']['alive']=false;
}[/php]

Dann hab ich, wie's anpera gesagt hat, true und false durch 0 und 1 ersetzt und schups gings. ^^ Sowas blödes aber auch...

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