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

Wo ist der Fehler???
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=1488
Seite 1 von 2

Autor:  Peter [ Mi 29 Jun, 2005 13:37 ]
Betreff des Beitrags:  Wo ist der Fehler???

Ich will mir einen Zufallswürfel erstellen habe aber ein Problem.

Der Würfel soll so funktionieren das bei bestimmten zahlen bestimmte dinge passieren. jetzt habe ich erst die zahlen 1 und 2 mit ereignissen versehen wenn ich es aber teste bekomme ich egal bei welcher zahl alle ereignisse auf einmal.

$this->bbcode_second_pass_code('', '<?php

require_once "common.php";
page_header("Würfel der Weissen");
output("Würfel und sieh was passiert!");

if ($_GET[op]=="") {
addnav("Würfel","wuerfel.php?op=wuerfeln");
addnav("Zurück zum Dorf","village.php");
}


if ($_GET[op]=="wuerfeln") {
if ($session[user][gold]>99){

mt_srand(time());
$random=mt_rand(1,6);

output("Deine Zahl ist $random");
addnav("Zurück zum Dorf","village.php");
$session[user][gold]-=100;

if($random==1); {
output("Du erhälst 100 Gold.");
$session[user][gold]+=100;
}

if($random==2); {
output("Du erhälst 1 Edelstein.");
$session[user][gems]+=1;
}

}else
output("Leider hast du nicht genug Gold um zu würfeln");
}


page_footer();

?>
')

DANKE schonmal im Voraus :D

Autor:  Meteora [ Mi 29 Jun, 2005 13:47 ]
Betreff des Beitrags: 

source?

Autor:  Peter [ Mi 29 Jun, 2005 13:48 ]
Betreff des Beitrags: 

was meinst du damit???

Autor:  Kevz [ Mi 29 Jun, 2005 13:49 ]
Betreff des Beitrags: 

Gib deinen Source Link vom Game, sonst gibt es keinen weiteren Support...

Source Link: Link zu deinem Game, wo die dateien sind

Autor:  Peter [ Mi 29 Jun, 2005 13:51 ]
Betreff des Beitrags: 

http://www.philipp.rigoll.de/logd/

Autor:  Meteora [ Mi 29 Jun, 2005 13:53 ]
Betreff des Beitrags: 

[php]
<?php
//Zufallswürfel by Peter
// Fixed by Hadriel @ anaras.ch
require_once "common.php";
page_header("Würfel der Weisen");
output("Würfel und sieh was passiert!");

if ($_GET[op]=="") {
addnav("Würfel","wuerfel.php?op=wuerfeln");
addnav("Zurück zum Dorf","village.php");
}


if ($_GET[op]=="wuerfeln") {

if ($session[user][gold]>99){
$random=e_rand(1,6);
switch($random){
output("Deine Zahl ist $random");
case 1:
output("Du erhälst 100 Gold.");
$session[user][gold]+=100;
break;

case 2:
output("Du erhälst 1 Edelstein.");
$session[user][gems]+=1;
break;

default:

$session[user][gold]-=100;
break;
}
addnav("Zurück zum Dorf","village.php");

}else{
output("Leider hast du nicht genug Gold um zu würfeln");
}
}


page_footer();

?>
[/php]

ungetestet

Autor:  anpera [ Mi 29 Jun, 2005 13:59 ]
Betreff des Beitrags: 

Meteoras Weg ist eine Lösung. Der Fehler im ursprünglichen Script sind beiden if-Abfragen, die durch den ; direkt danach sofort beendet werden. Das heisst, die Ereignisse fallen in keine Abfrage und kommen deswegen immer.

[php]<?php

require_once "common.php";
page_header("Würfel der Weisen");
output("Würfel und sieh was passiert!");

if ($_GET[op]=="") {
addnav("Würfel","wuerfel.php?op=wuerfeln");
addnav("Zurück zum Dorf","village.php");
}


if ($_GET[op]=="wuerfeln") {
if ($session[user][gold]>99){

mt_srand(time());
$random=mt_rand(1,6);

output("Deine Zahl ist $random");
$session[user][gold]-=100;

if($random==1) {
output("Du erhälst 100 Gold.");
$session[user][gold]+=100;
}

if($random==2) {
output("Du erhälst 1 Edelstein.");
$session[user][gems]+=1;
}

}else{
output("Leider hast du nicht genug Gold um zu würfeln");
}
addnav("Zurück zum Dorf","village.php");
}

page_footer();

?>[/php](auch ungetestet)

Meteora und ich haben außerdem die Navigation zurück ins Dorf verlegt, da sonst ein Fall auftreten konnte, der ohne Nav gewesen wäre.
Ansonsten hat Meteora noch die LoGD-eigene Zufallsfunktion e_rand() verwendet. Das ist Geschmackssache, aber ich würde darauf bei einem echten Würfel doch verzichten.

Autor:  Meteora [ Mi 29 Jun, 2005 14:04 ]
Betreff des Beitrags: 

was ich bei mir gesehen habe: beim letzten }else{ gibts keinen nav zurück ins dorf ;)

Autor:  Peter [ Mi 29 Jun, 2005 14:19 ]
Betreff des Beitrags: 

Vielen dank!!!!!!!! :-)

jetzt hab ich nur noch eine frage ich habe zu jedem ereignis folgendes hinzu gefügt

$this->bbcode_second_pass_code('', '($gewuerfelt+=1);')

damit will ich ereichen das man den würfel nur einmal pro tag nutzten kann. meine frage ist wie stelle ich das an das der link einmal aus dem dorf verschwindet wenn ich das würfelspiel genutzt habe und zweitens wie man es macht das er bei einem neuen tag wieder da ist???

Autor:  torin [ Mi 29 Jun, 2005 14:34 ]
Betreff des Beitrags: 

relativ einfach lass am ende des würfelspiels einen wert bei acounts in der datenbank auf 1 setzten denn du da selber erstellen musst.


z.b $session['user']['wuerfel'] = 1;
dann wir da der wert auf 1 gesetzt das muss in dein würfelscript

und dann machte einfach vor der linkangabe in der village.php oder wo auch immer du den linkanzeigen lässt ne abfrage
mit

if ($session[user][wuerfel]0=3) addnav(dein navi))

und in der newday.php musste nach

$session['user']['witch'] = 0;

nur folgendes enfügen um den wert an einen neuentag zurückzusetzen.

$session['user']['wuerfel'] = 0;

falls ich einen fehler gemacht haben sollte bitte ich die zu verzeihen und zu korregieren denn noch lerne ich selber mit allem umzugehn

Autor:  Peter [ Mi 29 Jun, 2005 14:43 ]
Betreff des Beitrags: 

danke

ist nur dumm *peinlich* ich weiss nicht wie man was in der datenbank erstellt :???:

Autor:  torin [ Mi 29 Jun, 2005 14:46 ]
Betreff des Beitrags: 

SQL-Befehl ausführen:

ALTER TABLE `accounts` ADD `wuerfel` tinyint( 1 ) UNSIGNED DEFAULT '0' NOT NULL ;

sollte das glaube ich sein

Autor:  Peter [ Mi 29 Jun, 2005 14:57 ]
Betreff des Beitrags: 

ich habe keine ahnung von NICHTS!!!!! :(

wo muss ich das einfügen???

in der datei???

Autor:  Eliwood [ Mi 29 Jun, 2005 15:02 ]
Betreff des Beitrags: 

Peter hat geschrieben:
ich habe keine ahnung von NICHTS!!!!! :(

wo muss ich das einfügen???

in der datei???


Im PHPMyADmin oder einer sonstigen datenbankverabeitungssoftware.

Autor:  Peter [ Mi 29 Jun, 2005 15:09 ]
Betreff des Beitrags: 

ich versteh das nicht :( :( :( :( :( :( :(

kann man hier nicht mit variablen arbeiten?

Autor:  Meteora [ Mi 29 Jun, 2005 17:26 ]
Betreff des Beitrags: 

einfacher:

dort wo du die xxx.sql - datei für die installation ausgeführt hast

Autor:  Peter [ Do 30 Jun, 2005 17:13 ]
Betreff des Beitrags: 

torin hat geschrieben:

if ($session[user][wuerfel]0=3) addnav(dein navi))



warum 0=3????

Ich habe es ausprobiert und es hat nicht geklappt muss man nicht diese { } klammern verwenden??? und if ($session[user][wuerfel]0=3)==0) ??????????????

Autor:  Peter [ Do 30 Jun, 2005 17:17 ]
Betreff des Beitrags: 

Dort kommt dann dieser Fehler :

Parse error: parse error, unexpected T_IF, expecting '(' in /homepages/35/d25660061/htdocs/philipp/logd/village.php on line 46

Autor:  Peter [ Do 30 Jun, 2005 17:27 ]
Betreff des Beitrags: 

so hab alles mal selbst geschrieben und hat gefunzt :D

*stolz bin*

DANKE an alle die mir gehollfen haben ;)

Autor:  Eliwood [ Do 30 Jun, 2005 17:46 ]
Betreff des Beitrags: 

Peter hat geschrieben:
torin hat geschrieben:

if ($session[user][wuerfel]0=3) addnav(dein navi))



warum 0=3????


Weil Torin sich vertiptt hat und zu schnell auf die 0 Taste für das = gekommen is, oder zu langsam die Umschalttaste gedrückt hat ;)

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