anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Walspezial Problem https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=2739 |
Seite 1 von 1 |
Autor: | Kamui [ Do 10 Aug, 2006 14:06 ] |
Betreff des Beitrags: | Walspezial Problem |
Hallo ersrmal alle zusammen ![]() habe einproblem mit meinem eigenden Waldspezial das ich mal so nebenbei geschrieben habe es geht alles bis auf den kampf die fightnavs verschwinden nicht nach dem kampf und egal was ich mache ich sterbe dabei und ich weiss nicht woran es liegt [php]<?php require_once "common.php"; page_header("Omegaweapon kampf"); output("Du schaust zu ihm auf ein fieses grinsen legt sich auf deinen Lippen nieder dann meinst du hämisch`! Dich töten was denn sonst `9und mit diesenWorten rennst du auf ihn los und greifst ihn an"); $badguy = array( "creaturename"=>"`r Omegaweapon`0" ,"creaturelevel"=>15 ,"creatureweapon"=>"Gigaflammenstoß" ,"creatureattack"=>20 ,"creaturedefense"=>20 ,"creaturehealth"=>600 ,"diddamage"=>0); /*$userlevel=$session['user']['level']; $userattack=$session['user']['attack']; $userhealth=$session['user']['hitpoints']; $userdefense=$session['user']['defense']; $badguy[creaturelevel]+=$userlevel; $badguy[creatureattack]+=$userattack; $badguy[creaturehealth]+=$userhealth; $badguy[creaturedefense]+=$userdefense; $session[user][badguy]=createstring($badguy);*/ $session[user][badguy]=createstring($badguy); $atkflux = e_rand(0,$session['user']['dragonkills']*2); $defflux = e_rand(0,($session['user']['dragonkills']*2-$atkflux)); $hpflux = ($session['user']['dragonkills']*2 - ($atkflux+$defflux)) * 5; $badguy['creatureattack']+=$atkflux; $badguy['creaturedefense']+=$defflux; $badguy['creaturehealth']+=$hpflux; $battle=true; if ($battle) { include ("battle.php"); if(victory){ $session[user][omegakills]++; } output("`nDu hast `rOmegaweapon getötet du bekommst ein Omegakill dazu!"); $badguy=array(); $session[user][badguy]=""; addnav("Zurück in den Wald","forest.php"); output("Du wurdest von Omegaweapon getötet! Du bist tot!"); $session[user][hitpoints]=0; $session[user][specialinc]=""; $session[user][reputation]--; addnav("Tägliche News","news.php");} fightnav(); } page_footer(); ?>[/php] danke schonmal im foraus ![]() |
Autor: | anpera [ Do 10 Aug, 2006 14:58 ] |
Betreff des Beitrags: | |
Die ersten beiden Zeilen gehören nicht in Waldspecials. Waldspecials werden durch die forest.php eingebunden, die bereits die common.php einbindet und einen page_header erzeugt. Also raus mit require_once "common.php"; page_header("Omegaweapon kampf"); Das selbe gilt für den page_footer. Raus mit page_footer(); Dann fehlt in deinem Script jede Art von Navigation ... außer fighnav .. aber dazu später. Also wenigstens die nötigstens Nav-Abfragen einbauen: if ($_GET['op']=="fight" || $_GET['op']=="run"){ $battle=true; }else{ Damit die forst.php weiß, welches Special gerade aktiv ist, muss $session['user']['specialinc'] auf den Dateinamen gesetzt werden, solange das Special aktiv ist. In deinem Fall also so lange, bis der Kampf vorbei ist. Rein mit $session['user']['specialinc']=...; an die richtigen Stellen. Der Beschreibungstext ist etwas verwirrend. Der Spieler wünscht sich sicher zu wissen, wie es plötzlich zum Kampf kommt. Gut, der Spieler trifft also im Wald auf dieses Special. Wir haben jetzt ein funktionierendes Nav-System und einen guten Einleitungstext. Jetzt soll sofort der Kampf starten. Das Monster wird festgelegt. Dabei änderst du Werte, ohne diese dem Gegner zuzuweisen. -> Reihenfolge ändern, $session['user']['badguy'] zum Schluss zuweisen. Dann startet der Kampf. Dein Auswertungsscript ist leider das reinste Durcheinander. Man gewinnt und verliert gleichzeitig, ohne dass der Kampf endet. if ($battle){ include ("battle.php"); if($victory){ $session['user']['omegakills']++; output("`nDu hast `rOmegaweapon getötet du bekommst ein Omegakill dazu!"); $badguy=array(); $session['user']['badguy']=""; $session['user']['specialinc']=""; addnav("Zurück in den Wald","forest.php"); } Hier fehlt die Abfrage auf "verloren": elseif ($defeat){ output("Du wurdest von Omegaweapon getötet! Du bist tot!"); $session['user']['hitpoints']=0; $session['user']['specialinc']=""; $session['user']['reputation']--; $session['user']['alive']=0; addnav("Tägliche News","news.php"); } Und wieder eine fehlende Abfrage, wenn man weder gewonnen, noch verloren hat. Also wenn der Kampf weiter geht: else{ $session['user']['specialinc']="omegaweapon.php"; fightnav(); } } [php]<?PHP if ($_GET['op']=="fight" || $_GET['op']=="run"){ $battle=true; }else{ output("Du schaust zu ihm auf ein fieses grinsen legt sich auf deinen Lippen nieder dann meinst du hämisch`! Dich töten was denn sonst `9und mit diesenWorten rennst du auf ihn los und greifst ihn an"); $badguy = array( "creaturename"=>"`r Omegaweapon`0" ,"creaturelevel"=>15 ,"creatureweapon"=>"Gigaflammenstoß" ,"creatureattack"=>20 ,"creaturedefense"=>20 ,"creaturehealth"=>600 ,"diddamage"=>0); $atkflux = e_rand(0,$session['user']['dragonkills']*2); $defflux = e_rand(0,($session['user']['dragonkills']*2-$atkflux)); $hpflux = ($session['user']['dragonkills']*2 - ($atkflux+$defflux)) * 5; $badguy['creatureattack']+=$atkflux; $badguy['creaturedefense']+=$defflux; $badguy['creaturehealth']+=$hpflux; $session['user']['badguy']=createstring($badguy); $battle=true; } if ($battle){ include("battle.php"); if($victory){ $session['user']['omegakills']++; output("`nDu hast `rOmegaweapon getötet du bekommst ein Omegakill dazu!"); $badguy=array(); $session['user']['badguy']=""; $session['user']['specialinc']=""; addnav("Zurück in den Wald","forest.php"); }elseif ($defeat){ output("Du wurdest von Omegaweapon getötet! Du bist tot!"); $session['user']['hitpoints']=0; $session['user']['specialinc']=""; $session['user']['reputation']--; $session['user']['alive']=0; addnav("Tägliche News","news.php"); }else{ $session['user']['specialinc']="omegaweapon.php"; fightnav(); } } ?>[/php](ungetestet) |
Autor: | Kamui [ Do 10 Aug, 2006 17:45 ] |
Betreff des Beitrags: | |
vielen dank für deine hilfe aber das mit dem page_header und dem page_footer kann ich erklären da ich das skript nicht vollständig rein gestellt habe und wir das skript in den root gepackt haben und das waldspezial dazu in den ordner für die spezials und daher sind diese sachen drine aber trotzdem vielen dank ich werde es gleich mal testen |
Autor: | Kamui [ So 13 Aug, 2006 00:48 ] |
Betreff des Beitrags: | |
vielen dank ![]() ![]() |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |