anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Problem beim Kampf https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=2329 |
Seite 1 von 1 |
Autor: | Andragor [ So 05 Mär, 2006 17:01 ] |
Betreff des Beitrags: | Problem beim Kampf |
Hi, Drazaar und ich sind gerade dabei ein Script zu schreiben, allerdings haben wir mit einem Kampf ein Problem, das ganze sieht bei uns so aus [php]if ($_GET[op]=="kampf") { //Auf in den Kampf *harr* output("`c`b`GB`ra`)n`7d`&it`c`b`n`n"); $badguy = array( "creaturename"=>"Bandit", "creaturelevel"=>$session['user']['level'], "creatureweapon"=>"rostiger Säbel", "creatureattack"=>round($session['user']['attack']*1.2), "creaturedefense"=>round($session['user']['defence']*1.2), "creaturehealth"=>round($session['user']['maxhitpoints']*1.5), "diddamage"=>0); $session['user']['badguy']=createstring($badguy); $battle=true; } if ($battle){ include("battle.php"); if($victory){ addnav("Zurück zur Stadt","village.php"); $wonexp=round($session['user']['experience']*0.1); if($wonexp<100){ $wonexp=round(e_rand(100,120)); } output("`$`n`cDu hast gewonnen!`c`n"); output("`7Erschöpft steckst du deine Waffe weg und machst dich auf den Rückweg.`n`n"); output("`^Du erhälst ".$wonexp." Erfahrungspunkte!"); addnews("`%".$session['user']['name']."`9 hat den Banditen in der Kammer des Wassers besiegt!."); $session['user']['experience']+=$wonexp; $badguy=array(); $session['user']['badguy']=""; } elseif($defeat){ addnav("Tägliche News","news.php"); output("`n`$`cDu hast verloren!`nDu verlierst 10% deiner Erfahrung!`c`n"); $session['user']['alive']=false; $session['user']['hitpoints']=0; $session['user']['gold']=0; addnews("`%".$session['user']['name']."`9 wurde vom Banditen in der Kammer des Wassers besiegt!."); $badguy=array(); $session['user']['badguy'] = createstring($badguy); } else{ fightnav(true,false); } }[/php] es funktioniert auch soweit, dass der gegener angezeigt wird, aber wenn man dann auf Kämpfen drückt wird man auf eine leere Seite ohne navs geleitet. (badnav) Ich hoffe ihr findet einen Fehler, wir sind nämlich ratlos ..... Ps. das Script heißt wasser.php Thx |
Autor: | anpera [ So 05 Mär, 2006 17:15 ] |
Betreff des Beitrags: | |
Wenn man auf Kampf klickt, wird der Spieler auf die selbe Datei mit "op=fight" weitergeleitet. Beim Wegrennen auf "op=run". Beides wird in eurem Script nicht abgefangen. Die Folge: eine weiße Seite. [php]... if ($_GET['op']=="fight") $battle=true; if ($_GET['op']=="run"){ // was passiert, wen man wegrennt // kann auch $battle=true; setzen, dann geht wegrennen nicht } if ($battle){ ...[/php] |
Autor: | Arîzto [ So 05 Mär, 2006 17:17 ] |
Betreff des Beitrags: | |
Einfach der mill.php entnehmen... Nachdem Gegner erstellt wurde und vor if ($battle){ Flucht und Kampf: [php]//Battle Settings else if ($_GET[op]=="run"){ // Flucht if (e_rand()%3 == 0){ output ("`c`b`&Du konntest dem Müller entkommen!`0`b`c`n"); $_GET[op]=""; }else{ output("`c`b`\$Du konntest dem Müller nicht entkommen!`0`b`c"); $battle=true; $session[user][specialinc]=""; } } else if ($_GET[op]=="fight"){ // Kampf $battle=true; $session[user][specialinc]=""; }[/php] ~edit Da war wohl jemand schneller ![]() |
Autor: | Andragor [ So 05 Mär, 2006 17:25 ] |
Betreff des Beitrags: | |
hmmm ... ich hätte vlt etwas mehr posten sollen, das ganze steckt in einem Zufallssystem, und da steht oben schon folgendes [php] case 3: output("`7Du schwimmst den Gang weiter entlang, als dir die Luft auszugehen droht, landest du auf einmal in einer Höhle. Als du dich etwas in der Höhle umsiehst, entdeckst du einen Banditen, der sich mit gezogenem Säbel auf dich stürzt!"); addnav("Kämpfen!!!!","wasser.php?op=kampf"); addnav("Panisch wegrennen...","village.php");[/php] |
Autor: | anpera [ So 05 Mär, 2006 17:31 ] |
Betreff des Beitrags: | |
Das stört nicht im geringsten. Damit wird der Kampf nur gestartet, aber ablaufen lässt du ihn über die Abfrage auf $_GET['op']=="fight". Die Abfrage muss rein, sonst läuft der Kampf nicht und du landest immer auf einer weißen Seite. |
Autor: | Andragor [ So 05 Mär, 2006 17:58 ] |
Betreff des Beitrags: | |
Ok, es klappt!!! Dankeschön ![]() |
Autor: | Laserian [ Mi 31 Jan, 2007 03:17 ] |
Betreff des Beitrags: | |
Ich hab auch ein kleines Problem mit einem Kampf, hier mal der Script: [php]if ($_GET[op]=="kampf"){ $maxh = $session[user][maxhitpoints]; $att = $session[user][attack]; $def = $session[user][defenc]; $clvl = $session[user][level]; $badguy = array( "creaturename"=>"`&Elfenwächter`0" ,"creaturelevel"=>$clvl+=4 ,"creatureweapon"=>"`4Kurzschwert`0" ,"creatureattack"=>$att +=2 ,"creaturedefense"=>$def +=2 ,"creaturehealth"=>$max +=200 ,"diddamage"=>0); $session['user']['badguy']=createstring($badguy); $HTTP_GET_VARS['op']="fight";} if ($HTTP_GET_VARS[op]=="run"){ output("`c`b`\$Es gelingt dir nicht zu entkommen.`0`b`c`n`n"); $battle=true;} if ($HTTP_GET_VARS['op']=="fight"){ $battle=true; $session[user][specialinc]="swald.php";} if ($battle){ include("battle.php"); if ($victory){ $badguy=array(); $session['user']['badguy']=""; $session[user][specialinc]="swald.php"; addnav("In den Wald","forest.php?op=rueck"); addnav("Umsehen","forest.php?op=umsehen"); $expbonus=$session[user][level]*100; $gold=e_rand(125,1825); $gems=e_rand(2,5); $session[user][experience]+=$expbonus; $session[user][gold]+=$gold; $session[user][gems]+=$gems; output("Du hast den Elfen besiegt und plünderst seine Leiche, dabei findest du etwas Gold und Edelsteine. Der Kampf hat dich viel gelehrt."); if($defeat){ $badguy=array(); $session[user][specialinc]=""; output("Du wurdest von ".$badguy['creaturename']." besiegt. Dein lebloser Körper wirt von dem".$badguy['creaturename']. "von der Plattform geworfen. "); output("`n`nDu verlierst all dein Gold!`n"); output("Du verlierst 5% deiner Erfahrung."); $session[user][alive]=false; $session[user][hitpoints]=0; $session[user][experience]*=0.95; $session[user][gold]=0; addnav("Tägliche News","news.php"); addnews($session[user][name]."ist von einem sehr hohen Baum gefallen. Sein zermatschter Körper ist nun Futter für die Tiere."); } else{ fightnav(true,true);} }}[/php] So das Problem ist, dass ich den Kampf starten kann, die erste Runde wird ganz regulär angefangen aber die navs auf der Seite fehlen also man kann weder weiterkämpfen noch weglaufen (was sowieso nicht gehen sollte^^) Wo liegt der Fehler???? |
Autor: | Laserian [ Mi 31 Jan, 2007 04:12 ] |
Betreff des Beitrags: | |
Ok sry habs selber gelöst sollte statt [php]if($defeat){[/php] eigentlich [php]elseif($defeat){[/php] heißen. -.- Wieso muss ich immer so doofe Fehler machen.... ![]() Bei sowas könnt ich ![]() Nichts für ungut wollte euch nicht stören ![]() |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |