anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Problem mit Special https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=2668 |
Seite 1 von 1 |
Autor: | XCircle [ Do 06 Jul, 2006 15:19 ] |
Betreff des Beitrags: | Problem mit Special |
Hi ich bin Newbie hier und als Coder für LoGD! Ich bin dabei ein Special zu schreiben habe aber dauernd Probleme mit case^^ Hier ist Line 46: [php]$holen = e_rand(1,4); if($_GET[op]=='holen') { case '1': output("Du hast die Tasche aus den Fluss gefischt und der alte Mann rennt einfach damit weg! Entäuscht verlässt du den Wald.`nDu schwörst dir das du das nie mehr machen wirst.`n`2Du bekommst $exp Erfahrungspunkte.`n`0"); $exp = round ( $session[user][experience]*0.10 ); $session[user][experience]+= $exp; break;[/php] Und mein Browser sagt dann folgendes: $this->bbcode_second_pass_code('', 'Parse error: parse error, unexpected T_CASE in /var/www/web12/html/logd/special/taschenangler.php on line 46') Kan mir jemand helfen?? |
Autor: | Kevz [ Do 06 Jul, 2006 16:06 ] |
Betreff des Beitrags: | |
Das ganze Script bitte einmal Posten, danke. |
Autor: | EiserneGarde [ Do 06 Jul, 2006 16:14 ] |
Betreff des Beitrags: | |
Also da ich da zu gehöre hier mal das script: [php]<?php ########################################### # Taschenangler v0.1 # # # # --------------------------------------- # # # # Geschrieben von XCircle # # (mit kreativen Ideen von EiserneGarde) # # Deutsche Version # # # # letztes Update: 05-07-2006 # ########################################### #----- Man sieht eine schwarze Gestalt -----# $session[user][specialinc]='taschenangler.php'; switch($HTTP_GET_VARS[op]){ case "search": case "": output("`n`2Du siehst eine schwarze Gestalt neben den Fluss stehen. Wirst du hingehen?"); addnav("Gehe näher zur Gestalt","forest.php?op=naehern"); addnav("Wegrennen","forest.php?op=verlassen"); break; } break; #----- Man nähert sich der schwarzen Gestalt -----# if($_GET[op]=='naehern') {output("`2Du entschließt dich der Gestalt zu nähern...`nDu siehst das diese Gestalt ein alter Mann ist und er fragt dich ob du seine Tasche aus den Fluss holen möchtest."); addnav("Ja, ich hole die Tasche!","forest.php?op=holen"); addnav("Nein, hol sie dir doch selber!","forest.php?op=verlassen2"); break; } break; #----- Man will die Tasche aus den Fluss holen! -----# $holen = e_rand(1,4); if($_GET[op]=='holen') { case 1: // Man bekommt Erfahrungspunkte $exp = round ( $session[user][experience]*0.10 ); $session[user][experience]+= $exp; output("Du hast die Tasche aus den Fluss gefischt und der alte Mann rennt einfach damit weg! Entäuscht verlässt du den Wald.`nDu schwörst dir das du das nie mehr machen wirst.`n`2Du bekommst $exp Erfahrungspunkte.`n`0"); break; case 2: // Man bekommt Edelsteine output("Du nimmst einen Stock und holst die Tasche aus den Fluss.`nDann siehst du wie der alte Mann auf einmal wegrennt.`nDann schaust du in der Tasche nach was da wohl drin ist.`n`@Du findest $gems Edelsteine`0"); $session[user][gems] += $gems; break; case 3: // Man ertrinkt output("Beim Versuch die Tasche aus dem Wasser zu holen fällst du in den Fluss hinein und `@ertrinkst`0"); addnav("Tägliche News","news.php"); addnews("`%".$session[user][name]."`t ist beim Versuch eine Tasche aus den Fluss zu angeln ertrunken!"); $session['user']['alive']=false; $session['user']['hitpoints']=0; break; case 4: // Der Mann badankt sich und schenkt dir etwas output("Du holst die Tasche mit einen Stock aus den Fluss. Der alte Mann bedankt sich und schenkt dir etwas. `0"); output("`n`n^Du bekommst $menge Gold"); addnews("`%".$session[user][name]."`t hat den alten Mann geholfen die Tasche aus den Fluss zu holen!"); $menge = e_rand($session[user][level]*10,$session[user][level]*50); $session['user']['gold']+=$menge; break; } #----- Man nähert sich der schwarzen Gestalt nicht -----# $verlassen = e_rand(1,4); if($_GET[op]=='verlassen') {case 1: //Man stolpert und verliert Lebenspunkte output("Du bist gestolpert hast dich dabei verletzt, dabei hast du `@Lebenspunkte verloren!`0"); $rest = round ( $session['user']['hitpoints']*0.15 ); if ( $rest == 0 ) $rest = 1; $session['user']['hitpoints'] = $rest; break; case 2: // Man findet eine Abkürzung und bekommt einen Waldkampf output("Beim zurückgehen findest du eine Abkürzung und gewinnst so Zeit,`n`2du bekommst einen Waldkampf zusätlich!`0"); $session[user][turns]+=1; break; case 3: // Man kommt problemlos zurück output("Du bist Problemlos zurückgekehrt!`0"); $session[user][specialinc]=""; break; case 4: // Man kommt sicher zurück und erhält Erfahrungspunkte $exp = round ( $session[user][experience]*0.10 ); output("Du bist sicher in den Wald gekommen!`n `2Da du so sicher warst erhälst du $exp Erfahrungspunkte.`0"); $session[user][experience]+= $exp; break; } #----- Man will die Tasche nicht holen -----# $verlassen2 = e_rand(1,2); if($_GET[op]=='verlassen2') { case 1: // Der alte Mann ist sauer und sticht dir einen Dolch in die Brust output("Der alte Mann wird sauer sticht dir einen Dolch in die Brust, wobei du fast gestorben wärst.`0"); addnews("`%".$session[user][name]."`t wäre fast an eine Messerattacke gestorben!"); $session['user']['hitpoints']=1; break; case 2: // Du rennst weg output("Du sagst den alten Mann, dass du die Tasche nicht holen möchtest und rennst zurück in den Wald!"); addnews("`%".$session[user][name]."`t hat den alten Mann nicht geholfen!"); $session[user][specialinc]=""; break; } ?>[/php] Leider wird alles zusammen ausgeführt! gruß |
Autor: | Montekar [ Do 06 Jul, 2006 16:26 ] |
Betreff des Beitrags: | |
Na, wenn du keine Zufallsabfrage drin hast kanns ja nicht gehen ![]() Hier schau dir das mal an: [php] #----- Man will die Tasche aus den Fluss holen! -----# $holen = e_rand(1,4); if($_GET[op]=='holen') { case 1: // Man bekommt Erfahrungspunkte $exp = round ( $session[user][experience]*0.10 ); $session[user][experience]+= $exp; output("Du hast die Tasche aus den Fluss gefischt und der alte Mann rennt einfach damit weg! Entäuscht verlässt du den Wald.`nDu schwörst dir das du das nie mehr machen wirst.`n`2Du bekommst $exp Erfahrungspunkte.`n`0"); break; case 2: // Man bekommt Edelsteine output("Du nimmst einen Stock und holst die Tasche aus den Fluss.`nDann siehst du wie der alte Mann auf einmal wegrennt.`nDann schaust du in der Tasche nach was da wohl drin ist.`n`@Du findest $gems Edelsteine`0"); $session[user][gems] += $gems; break; case 3: // Man ertrinkt output("Beim Versuch die Tasche aus dem Wasser zu holen fällst du in den Fluss hinein und `@ertrinkst`0"); addnav("Tägliche News","news.php"); addnews("`%".$session[user][name]."`t ist beim Versuch eine Tasche aus den Fluss zu angeln ertrunken!"); $session['user']['alive']=false; $session['user']['hitpoints']=0; break; case 4: // Der Mann badankt sich und schenkt dir etwas output("Du holst die Tasche mit einen Stock aus den Fluss. Der alte Mann bedankt sich und schenkt dir etwas. `0"); output("`n`n^Du bekommst $menge Gold"); addnews("`%".$session[user][name]."`t hat den alten Mann geholfen die Tasche aus den Fluss zu holen!"); $menge = e_rand($session[user][level]*10,$session[user][level]*50); $session['user']['gold']+=$menge; break; } [/php] Das müsste so aussehen: [php] #----- Man will die Tasche aus den Fluss holen! -----# $holen = e_rand(1,4); if($_GET[op]=='holen') { switch($holen) { case 1: // Man bekommt Erfahrungspunkte $exp = round ( $session[user][experience]*0.10 ); $session[user][experience]+= $exp; output("Du hast die Tasche aus den Fluss gefischt und der alte Mann rennt einfach damit weg! Entäuscht verlässt du den Wald.`nDu schwörst dir das du das nie mehr machen wirst.`n`2Du bekommst $exp Erfahrungspunkte.`n`0"); break; case 2: // Man bekommt Edelsteine output("Du nimmst einen Stock und holst die Tasche aus den Fluss.`nDann siehst du wie der alte Mann auf einmal wegrennt.`nDann schaust du in der Tasche nach was da wohl drin ist.`n`@Du findest $gems Edelsteine`0"); $session[user][gems] += $gems; break; case 3: // Man ertrinkt output("Beim Versuch die Tasche aus dem Wasser zu holen fällst du in den Fluss hinein und `@ertrinkst`0"); addnav("Tägliche News","news.php"); addnews("`%".$session[user][name]."`t ist beim Versuch eine Tasche aus den Fluss zu angeln ertrunken!"); $session['user']['alive']=false; $session['user']['hitpoints']=0; break; case 4: // Der Mann badankt sich und schenkt dir etwas output("Du holst die Tasche mit einen Stock aus den Fluss. Der alte Mann bedankt sich und schenkt dir etwas. `0"); output("`n`n^Du bekommst $menge Gold"); addnews("`%".$session[user][name]."`t hat den alten Mann geholfen die Tasche aus den Fluss zu holen!"); $menge = e_rand($session[user][level]*10,$session[user][level]*50); $session['user']['gold']+=$menge; break; } } [/php] Das weiteren würde ich dir empfehlen, mit einrückungen zu arbeiten, z.B. so [php]switch(e_rand(1,100)) { ....case 1: ....break; }[/php] EDIT: Bei if/elseif/else brauchst du kein break; ![]() Und den fehler von oben hattest du noch 2 oder 3 mal drin, so sieht die Korrekte Version aus: [php] <?php ########################################### # Taschenangler v0.1 # # # # --------------------------------------- # # # # Geschrieben von XCircle # # (mit kreativen Ideen von EiserneGarde) # # Deutsche Version # # # # letztes Update: 05-07-2006 # ########################################### #----- Man sieht eine schwarze Gestalt -----# $session[user][specialinc]='taschenangler.php'; switch($HTTP_GET_VARS[op]){ case "search": case "": output("`n`2Du siehst eine schwarze Gestalt neben den Fluss stehen. Wirst du hingehen?"); addnav("Gehe näher zur Gestalt","forest.php?op=naehern"); addnav("Wegrennen","forest.php?op=verlassen"); break; } #----- Man nähert sich der schwarzen Gestalt -----# if($_GET[op]=='naehern') {output("`2Du entschließt dich der Gestalt zu nähern...`nDu siehst das diese Gestalt ein alter Mann ist und er fragt dich ob du seine Tasche aus den Fluss holen möchtest."); addnav("Ja, ich hole die Tasche!","forest.php?op=holen"); addnav("Nein, hol sie dir doch selber!","forest.php?op=verlassen2"); } #----- Man will die Tasche aus den Fluss holen! -----# $holen = e_rand(1,4); if($_GET[op]=='holen') { switch($holen) { case 1: // Man bekommt Erfahrungspunkte $exp = round ( $session[user][experience]*0.10 ); $session[user][experience]+= $exp; output("Du hast die Tasche aus den Fluss gefischt und der alte Mann rennt einfach damit weg! Entäuscht verlässt du den Wald.`nDu schwörst dir das du das nie mehr machen wirst.`n`2Du bekommst $exp Erfahrungspunkte.`n`0"); break; case 2: // Man bekommt Edelsteine output("Du nimmst einen Stock und holst die Tasche aus den Fluss.`nDann siehst du wie der alte Mann auf einmal wegrennt.`nDann schaust du in der Tasche nach was da wohl drin ist.`n`@Du findest $gems Edelsteine`0"); $session[user][gems] += $gems; break; case 3: // Man ertrinkt output("Beim Versuch die Tasche aus dem Wasser zu holen fällst du in den Fluss hinein und `@ertrinkst`0"); addnav("Tägliche News","news.php"); addnews("`%".$session[user][name]."`t ist beim Versuch eine Tasche aus den Fluss zu angeln ertrunken!"); $session['user']['alive']=false; $session['user']['hitpoints']=0; break; case 4: // Der Mann badankt sich und schenkt dir etwas output("Du holst die Tasche mit einen Stock aus den Fluss. Der alte Mann bedankt sich und schenkt dir etwas. `0"); output("`n`n^Du bekommst $menge Gold"); addnews("`%".$session[user][name]."`t hat den alten Mann geholfen die Tasche aus den Fluss zu holen!"); $menge = e_rand($session[user][level]*10,$session[user][level]*50); $session['user']['gold']+=$menge; break; } } #----- Man nähert sich der schwarzen Gestalt nicht -----# $verlassen = e_rand(1,4); if($_GET[op]=='verlassen') { switch($verlassen) { case 1: //Man stolpert und verliert Lebenspunkte output("Du bist gestolpert hast dich dabei verletzt, dabei hast du `@Lebenspunkte verloren!`0"); $rest = round ( $session['user']['hitpoints']*0.15 ); if ( $rest == 0 ) $rest = 1; $session['user']['hitpoints'] = $rest; break; case 2: // Man findet eine Abkürzung und bekommt einen Waldkampf output("Beim zurückgehen findest du eine Abkürzung und gewinnst so Zeit,`n`2du bekommst einen Waldkampf zusätlich!`0"); $session[user][turns]+=1; break; case 3: // Man kommt problemlos zurück output("Du bist Problemlos zurückgekehrt!`0"); $session[user][specialinc]=""; break; case 4: // Man kommt sicher zurück und erhält Erfahrungspunkte $exp = round ( $session[user][experience]*0.10 ); output("Du bist sicher in den Wald gekommen!`n `2Da du so sicher warst erhälst du $exp Erfahrungspunkte.`0"); $session[user][experience]+= $exp; break; } } #----- Man will die Tasche nicht holen -----# $verlassen2 = e_rand(1,2); if($_GET[op]=='verlassen2') { switch($verlassen2) { case 1: // Der alte Mann ist sauer und sticht dir einen Dolch in die Brust output("Der alte Mann wird sauer sticht dir einen Dolch in die Brust, wobei du fast gestorben wärst.`0"); addnews("`%".$session[user][name]."`t wäre fast an eine Messerattacke gestorben!"); $session['user']['hitpoints']=1; break; case 2: // Du rennst weg output("Du sagst den alten Mann, dass du die Tasche nicht holen möchtest und rennst zurück in den Wald!"); addnews("`%".$session[user][name]."`t hat den alten Mann nicht geholfen!"); $session[user][specialinc]=""; break; } } ?>[/php] Edit 2: Du hast auch ein paar Variablennicht gesetzt, z.B. die Variable [php]$gems[/php], so bekommt man keine Edelsteine ![]() |
Autor: | EiserneGarde [ Do 06 Jul, 2006 16:35 ] |
Betreff des Beitrags: | |
WoW, danke für die schnelle antwort... ich werde das mal testen! |
Autor: | Montekar [ Do 06 Jul, 2006 16:40 ] |
Betreff des Beitrags: | |
Jepp, ich hoffe ich konnte dir helfen ![]() |
Autor: | Kevz [ Do 06 Jul, 2006 19:06 ] |
Betreff des Beitrags: | |
So, hier hab mir mal die mühe gemacht und ausgebessert... Musst gucken ob funzt: [php]<?php ########################################### # Taschenangler v0.1 # # # # --------------------------------------- # # # # Geschrieben von XCircle # # (mit kreativen Ideen von EiserneGarde) # # Deutsche Version # # # # letztes Update: 05-07-2006 # ########################################### switch($_GET['op']) { case "search": case "": output("`n`2Du siehst eine schwarze Gestalt neben den Fluss stehen. Wirst du hingehen?"); addnav("Gehe näher zur Gestalt","forest.php?op=naehern"); addnav("Wegrennen","forest.php?op=verlassen"); $session['user']['specialinc'] = "taschenangler.php"; break; case "naehern": output("`2Du entschließt dich der Gestalt zu nähern...`nDu siehst das diese Gestalt ein alter Mann ist und er fragt dich ob du seine Tasche aus den Fluss holen möchtest."); addnav("Ja, ich hole die Tasche!","forest.php?op=holen"); addnav("Nein, hol sie dir doch selber!","forest.php?op=verlassen2"); break; case "holen": $random = e_rand(1,4); switch($random) { case 1: $exp = round($session['user']['experience']*0.10); output("Du hast die Tasche aus den Fluss gefischt und der alte Mann rennt einfach damit weg! Entäuscht verlässt du den Wald.`nDu schwörst dir das du das nie mehr machen wirst.`n`2Du bekommst $exp Erfahrungspunkte.`n`0"); $session['user']['experience'] += $exp; break; case 2: output("Du nimmst einen Stock und holst die Tasche aus den Fluss.`nDann siehst du wie der alte Mann auf einmal wegrennt.`nDann schaust du in der Tasche nach was da wohl drin ist.`n`@Du findest $gems Edelsteine`0"); $gems = e_rand(1,3); $session['user']['gems'] += $gems; break; case 3: output("Beim Versuch die Tasche aus dem Wasser zu holen fällst du in den Fluss hinein und `@ertrinkst`0"); addnav("Tägliche News","news.php"); addnews("`%".$session['user']['name']."`t ist beim Versuch eine Tasche aus den Fluss zu angeln ertrunken!"); $session['user']['alive'] = 0; $session['user']['hitpoints'] = 0; break; case 4: output("Du holst die Tasche mit einen Stock aus den Fluss. Der alte Mann bedankt sich und schenkt dir etwas. `0"); output("`n`n^Du bekommst $menge Gold"); addnews("`%".$session['user']['name']."`t hat den alten Mann geholfen die Tasche aus den Fluss zu holen!"); $session['user']['gold'] += e_rand($session['user']['level']*10,$session['user']['level']*50); break; } addnav("Zurück in den Wald","forest.php"); $session['user']['specialinc'] = ""; break; case "verlassen": $verlassen = e_rand(1,4); switch($verlassen) { case 1: output("Du bist gestolpert hast dich dabei verletzt, dabei hast du `@Lebenspunkte verloren!`0"); $hp = round($session['user']['hitpoints']*0.15); $session['user']['hitpoints'] = ($hp) > 0 ? $hp:1; break; case 2: output("Beim zurückgehen findest du eine Abkürzung und gewinnst so Zeit,`n`2du bekommst einen Waldkampf zusätlich!`0"); $session['user']['turns']+=1; break; case 3: output("Du bist Problemlos zurückgekehrt!`0"); break; case 4: $exp = round($session['user']['experience']*0.10); output("Du bist sicher in den Wald gekommen!`n `2Da du so sicher warst erhälst du $exp Erfahrungspunkte.`0"); $session['user']['experience'] += $exp; break; } addnav("Zurück in den Wald","forest.php"); $session['user']['specialinc'] = ""; break; case "verlassen2": $verlassen2 = e_rand(1,2); switch($verlassen2) { case 1: output("Der alte Mann wird sauer sticht dir einen Dolch in die Brust, wobei du fast gestorben wärst.`0"); addnews("`%".$session['user']['name']."`t wäre fast an eine Messerattacke gestorben!"); $session['user']['hitpoints'] = 1; break; case 2: output("Du sagst den alten Mann, dass du die Tasche nicht holen möchtest und rennst zurück in den Wald!"); addnews("`%".$session['user']['name']."`t hat den alten Mann nicht geholfen!"); break; } addnav("Zurück in den Wald","forest.php"); $session['user']['specialinc'] = ""; break; } ?>[/php] |
Autor: | XCircle [ Do 06 Jul, 2006 20:18 ] |
Betreff des Beitrags: | Re: Problem |
Danke für die schnelle hilfe! Habe den Script mal getestet. Läuft wunder bar bis wo man antworten kann, ob man die Tasche holt oder nicht. Danach kommt badnav ![]() |
Autor: | XCircle [ Do 06 Jul, 2006 20:18 ] |
Betreff des Beitrags: | Re: Problem |
Danke für die schnelle Hilfe! Habe den Script mal getestet. Läuft wunder bar bis wo man antworten kann, ob man die Tasche holt oder nicht. Danach kommt badnav ![]() |
Autor: | Kevz [ Do 06 Jul, 2006 20:56 ] |
Betreff des Beitrags: | |
Suche: [php] <?php addnav("Nein, hol sie dir doch selber!","forest.php?op=verlassen2"); break; ?>[/php] Füge davor: [php]<?php $session['user']['specialinc'] = "taschenangler.php"; ?>[/php] |
Autor: | XCircle [ Do 06 Jul, 2006 21:34 ] |
Betreff des Beitrags: | |
danke für deine superschnelle antwort ich teste direkt den script!! |
Autor: | Kevz [ Do 06 Jul, 2006 21:38 ] |
Betreff des Beitrags: | |
Btw. solltest dich mal mit der Php Manual beschäftigen ![]() |
Autor: | XCircle [ Fr 07 Jul, 2006 10:59 ] |
Betreff des Beitrags: | |
ich lerne noch php bin sozusagen mitten drin^^ aber thx des funzt jez alles (dank dir)^^ bis vllt zum nächsten mal ![]() |
Autor: | Eliwood [ Fr 07 Jul, 2006 15:36 ] |
Betreff des Beitrags: | |
Zitat: EDIT: Bei if/elseif/else brauchst du kein break;
![]() Naja. Ich kann dir Fälle zeigen, bei denen ein break in einer if, elseif, else unbedingt notwendig ist ![]() |
Autor: | Montekar [ Fr 07 Jul, 2006 17:59 ] |
Betreff des Beitrags: | |
Das musst du unbedingt mal machen, das wusst ich noch garnicht ![]() |
Autor: | Eliwood [ Fr 07 Jul, 2006 18:11 ] |
Betreff des Beitrags: | |
Montekar hat geschrieben: Das musst du unbedingt mal machen, das wusst ich noch garnicht
![]() [php]$i = 0; while(true) { echo "Blub"; do_this(); if(is_user_never_listering()) { break; } $i++; }[/php] Und dann wird die while gebrochen... ![]() |
Autor: | XCircle [ Sa 08 Jul, 2006 15:59 ] |
Betreff des Beitrags: | |
lol ![]() naja ich denk ma dieser Thread kann geshclossen werden^^ |
Autor: | Montekar [ Sa 08 Jul, 2006 18:19 ] |
Betreff des Beitrags: | |
XCircle hat geschrieben: lol ![]() naja ich denk ma dieser Thread kann geshclossen werden^^ Das glaub ich nicht, erst muss ich noch was sagen ![]() Eliwood hat geschrieben: Montekar hat geschrieben: Das musst du unbedingt mal machen, das wusst ich noch garnicht ![]() [php] $i = 0; while(true) { echo "Blub"; do_this(); if(is_user_never_listering()) { break; } $i++; } [/php] Und dann wird die while gebrochen... ![]() Das ist ja interessant... thx Eliwood ![]() |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |