anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Di 16 Apr, 2024 10:59

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Walspezial Problem
BeitragVerfasst: Do 10 Aug, 2006 14:06 
Offline
Großmeister
Großmeister

Registriert: Fr 21 Jul, 2006 00:00
Beiträge: 416
Hallo ersrmal alle zusammen :wink:
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 :D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 10 Aug, 2006 14:58 
Offline
Admin
Admin
Benutzeravatar

Registriert: Di 21 Jan, 2003 01:11
Beiträge: 1604
Wohnort: Haßfurt
Geschlecht: Männlich
LoGD: http://www.anpera.net/logd
Skype: anpera-net
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)

_________________
Praxis ist, wenn alles klappt aber keiner weiß warum. Theorie ist, wenn man weiß wie es geht, aber nichts klappt. Wir haben beides erfolgreich vereinigt: Bei uns klappt nichts und keiner weiß warum!

Neues Video: Marios freier Tag in Second Life


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 10 Aug, 2006 17:45 
Offline
Großmeister
Großmeister

Registriert: Fr 21 Jul, 2006 00:00
Beiträge: 416
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 13 Aug, 2006 00:48 
Offline
Großmeister
Großmeister

Registriert: Fr 21 Jul, 2006 00:00
Beiträge: 416
vielen dank :D musste zwar noch ein paar sachen abändern aber das ist ja klar abersonst läuft es jetzt ausgezeichnet :)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 14 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum