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

Divsion by Zero
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=4192
Seite 1 von 1

Autor:  MySql [ So 16 Dez, 2007 19:10 ]
Betreff des Beitrags:  Divsion by Zero

huhu,

Jetzt erwischt es mich auch mal :D

Überarbeite ja gerade "die Böse Hexe - Waldspecial". Naja.. Bis her lief alles wunderbar.. doch als ich dan denn ersten kampf eingebaut habe, und gegen den "Guardian Semti" kämpfen wollte, kamm der Fehler:

$this->bbcode_second_pass_code('', 'Warning: Division by zero in /srv/www/web1/html/games/battle.php on line 214

Warning: Division by zero in /srv/www/web1/html/games/battle.php on line 540

Warning: mt_rand() expects exactly 2 parameters, 1 given in /srv/www/web1/html/games/common.php on line 262

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/web1/html/games/battle.php:214) in /srv/www/web1/html/games/common.php on line 61
‹

[.....................]')

Nja habe SuFu benutzt.. Neuen Chara gemacht.. Immer das gleiche.

code:

[php]<?php
##
# @author MySql
# @package Legend of the Green Dragon [ LotGD ]
# @copyright 2007 by MySql
# @version v1.1
# @update 09.12.2007
# @link None
#
# @editor Make with Macromedia Dreamweaver 8.
##
require_once 'common.php';
addcommentary();

switch ($_GET['op'])
{
case 'paper':
switch ($_GET['act'])
{
case 'pergament':
$session['user']['specialinc'] = 'gnome.php';
output('`2Mit wackligen Beinen hebst du das kleine Stück Pergament auf.
Als du es auseinander falltest, fängt die obere linke Ecke auf
einmal an zu brennen, doch du schafst es noch den Inhalt des
Pergaments zu lesen.`n`n`c

<img src="images/pergament.gif">

`n`n`cWie es aussieht, hast du den Boten des Königs gefunden.. Tot..
Doch ändert es nichts an der Tatsache, das andere Lebewesen deine
Hilfe brauchen.`n`n

Was wirst du tun? Wirst du den Gnomen helfen oder wirst du dich
veige in der Stadt verkriechen?',true);
addnav('Aktionen');
addnav('Helfe den Gnomen','forest.php?op=handling&act=meetking');
addnav('Veige verkriechen','forest.php?op=gehen&act=veige');
break;
case 'fortwerfen':
$session['user']['specialinc'] = 'gnome.php';
output('`2Deine Angst ist zu groß, deshalb entfernst du dich ein paar
Schritte von der Leiche und wirfst das Pergament schnellst
möglich weg. Doch als du dich zum gehen umwenden willst,
kannst du deine beiden Beine nicht mehr bewegen. Du versuchst
zu schreien, doch dein Mund bleibt ruhig wie ein Grab.
Letzten endes versuchst du dich mit deinen Armen von vom
zu Baum zu ziehen, doch deine Arme kannst du ebendfalls nicht
bewegen. Als du deinen Kopf hebst, siehst du das die Leiche
des Gnomes auf einmal vor dir steht. Sie zieht `b dein`b
Schwert und rammt es dir ins Herz. Wenige Momente später
erligst du deinen blutungen.`n`n

`$Du bist tot.`2`n`n

Du hast Glück das tote nichts mit deinem Geld anfangen können.
Du darfst es berhalten! Doch deine Edelsteine möchten sie haben!`0');
$session['user']['gems'] = 0;
$session['user']['specialinc'] = '';
$session['user']['specialmisc'] = 0;
$session['user']['hitpoints'] = 0;
$session['user']['alive'] = false;
addnav('Aktionen');
addnav('Ramius erwartet dich','news.php');
break;
}
break;
case 'gehen':
switch ($_GET['act'])
{
case 'umkehren':
output('`2Du willst von der ganzen Sache nichts wissen und drehst dich um.
Minuten später findest du dich im Wald wieder.');
$session['user']['specialinc'] = '';
$session['user']['specialmisc'] = 0;
addnav('Aktionen');
addnav('In den Wald','forest.php');
break;
case 'veige':
output('`2Du weißt nun, das ein ganzen Volk in Lebensgefahr ist und willst
Dich trotzdem einfach so vom Acker machen?`n`n
`%Du verlierst `b25 Charmpunkte`b!`n
`^Du verlierst `b2500 Goldstücke`b!`n
`#Du verlierst `b5 Edelsteine`b!`n`n
`2Hoffentlich ist dir das eine Lehre');
$session['user']['specialinc'] = '';
$session['user']['specialmisc'] = 0;
$session['user']['charm'] -= 25;
$session['user']['gold'] -= 2500;
$session['user']['gems'] -= 5;
addnews($session['user']['login'].' war zu Veige um ein Volk vor dem aussterben zu retten!');
addnav('Aktionen');
addnav('In den Wald','forest.php');
break;
case 'laufen':
output('`2Du kehrst den Schutzbedürftigen Gnomen den Rücken zu und nimmst deine Beine in die
Hand. Der Gnomen König spricht einen Fluch über dich aus.`n`n

`&Du verlierst `bein Level`b!');
$session['user']['level'] -= 1;
$session['user']['specialinc'] = '';
$session['user']['specialmisc'] = 0;
addnav('Akionen');
addnav('In den Wald','forest.php');
break;

}
break;
case 'handling':
switch ($_GET['act'])
{
case 'meetking':
$session['user']['specialinc'] = 'gnome.php';
output('`2Du hast dich entschlossen den Gnomen zu helfen. Gut das du weisst, wo die
Eiche of Saint steht, denn sonst müsstest du sie erst suchen und dann könnte
es schon zu spät sein.`n`n

Du kletterst über viele Äste und Baumstämme, krabbelst durch das dickicht, bis
du endlich auf einer großen Lichtung ankommst. Es ist die Lichtung of Saint.
In der mitte dieser Lichtung, steht die wohl bekannte Eiche of Saint.
Die Eiche of Saint war die erste Pflanze die dieses Land je gesehen hat.
Und ihr Entdecker hier Samsael Saint oder auch bekannt als Sir S.S.!
Kurz nach seiner Entdekung, pflanzte er viele Planzen hier in Arvalenzia
und baute künstliche Seen und Bäche. Doch seine größte Errungenschaft, war
die Lichtung of Saint.`n`n

Nun trittst du näher an die Eiche heran und siehst das berühmte Loch, das
dich tief unter die Erde bringt. Du legst deinen Rucksag ab und krammst ein
Sail heraus, dieses knotest du an einen Baumstamm und lässt dich durch
das Loch hinab. Alles um dich herum wird dunkel.. Du musst eine Fackel aus
deinem Inventar anzuünden um überhaupt sehen zu können, wann du den Boden
erreichst. Nach einer geraumen Zeit erreichst du dann auch den Boden.
Es ist feucht und rutschig hier unten. Doch liegt hier in diesen Katakomden
eine sehr ruhige aber dennoch starke Aura. Man kann sie schon fast sehen.`n`n

Du machst dich auf den Weg durch die Katakomden, nach alten erzählungen zu
folge, solle sich der Unterschlupf der Gnome 500 Meter Nord-Östlich vom
Eingang befinden. Du hoffst inständig, dass dies der richtige Weg ist und
vor allem, das die Gnome mit ihren Peinigern noch da sind, denn sonst
wüsstest du dir keinen Rat mehr und müsstest sie ihrem Schicksal über lassen.`n`n

Je weiter du in das innere der Katakomden vor dringst, desto stickiger wird
hier die Luft zum atmen. Nicht mehr lange, das weist du genau, bis du keine
Luft mehr bekommst. Doch gibst du deine Hoffnung nicht auf. Nein du willst
sie um jeden Preis finden und retten.`n`n

Nach gut 5 Minuten des Fußweges, wird die Luft wieder dünner und du kannst
wieder besser atmen. Du stehst in einer großen unterirdischen Höhle.
Es scheint so, als seien ihre Wänd aus Kristallen gemacht. Ur plötzlich
vernimmst du ein leises aber dennoch höhrbares pfiepen hinter dir. Als du
dich umdrehst, siehst du eine kleine Gruppe von kleinen Leuten. Es macht
gangz den Aschein als ob dies die Gnome sind die du suchst, aber von
Gefangenschaft kann ich keine rede sein.`n`n

Einer der Gnome tritt nach vorne. Er trägt etwas komisches auf dem Kopf.
Es sieht es aus wie eine Klobrille. Er sagt: "`@Wir grüzen dih oh Eler
Kümpfer. Viele unseres Voles wurden gemordet. Als versuchten sie zu flüchten.
Viele andere wurden peinigt von grozen bözen Mönnern. Ihr Anfährer is än
Hex auz Moooooorhding. Wir bizzen dich. Rettz unz for dannan. Hak danb.`2"`n`n

Du tust dich schwer Ihre Sprache richtig zu deuten, daher sie sehr
komisch sprechen. Doch denkst du, das du es richtig verstanden hast.`n`n

Was wirst du tun? Wirst du ihnen helfen oder wirst du veige davon laufen?');
addnav('Aktionen');
addnav('Helfe den Gnomen','forest.php?op=handling&act=helpone');
addnav('Veige davon laufen','forest.php?op=gehen&act=laufen');
break;
case 'helpone':
$session['user']['specialinc'] = 'gnome.php';
output('`2Du entschließt dich, den Gnomen zu Helfen. Du siehst ihren König an und fragst:
"`@Wo finde ich die Hexe und was muss ich tun um zu Ihr zu kommen?`2" Er nickt und
sagt eifrig: "`@Hat dak eler Krüger. Ir misst Khre 5 Gurdins bestehen damt
Khr au Se herun kot.`2" Du schaust denn König verwirrt an, stimmst ihm dennoch zu.
( Was auch immer er gerade gesagt hat. )');
addnav('Aktionen');
addnav('Guardians suchen','forest.php?op=kampf&act=semti');
break;
}
break;
case 'kampf':
switch ($_GET['act'])
{
case 'semti':
$session['user']['specialinc'] = 'gnome.php';
output('`2Die Gnome weisen dir den Weg zu dem Unterschlupf der Guardians. Doch
ab hier musst du alleine weiter. Die Gnome sind gerade gegangen, als
du den ersten Guardian siehst. Er schöpft gerade Wasser aus einem Brunnen.
Es ist ein Abscheuliches Wesen. Als es sich aufrichtet, sieht es dich und
stürtzt sich direkt auf dich. MIT ERHOBENEM SCHWERT!');
//$session[''] = 'Semti';
$badguy = array(
'creaturename' => 'Guardian Semti, der Wächter',
'creatureweapon' => 'Heiliger Guardian Bogen',
'creaturedefense' => $session['user']['defense'] - 3,
'creatureattack' => $session['user']['attack'] - 4,
'creaturehealth' => 1,
'diddamage' => 0
);
$session['user']['badguy']=createstring($badguy);
$battle=true;
$_GET['op']=='fight';
break;
}
break;
case 'fight':
$session['user']['specialinc'] = 'gnome.php';
$battle = true;
break;
case 'run':
output('Du kannst jetzt nicht flüchten den sonst tötet dich der Gnomenkönig.');
$session['user']['specialinc'] = 'gnome.php';
$battle=true;
break;
case 'bye':
output('Weiter um in den Wald zu kommen');
addnav('Der Wald','forest.php');
$session['user']['specialinc']='';
$session[user][specialmisc] = 0;
break;
default:
$session['user']['specialinc'] = 'gnome.php';
output('`2Du bist gerade auf der suche nach einem neuen Gegner für dich,
als du aus dem Augenwinkel etwas siehst.Irgendwas schien an dieser
Bewegung merkwürdig. Als du näher heran gehst, siehst du etwas
schreckliches. Du siehst ein kleines Kind... es hängt am Galgen.
Doch es ist kein Menschliches Kind, nein es sieht aus wie das
Kind eines Gnomes. Ja das ist ein Gnomenkind. Du schaust noch
einmal auf... Doch was ist das? Der kleine Gnom hat seine
Augen aufgeschlagen... Panik steigt in dir Empor. Doch
du kannst dich aus irgendeinem Grund nicht mehr bewegen.. Du reist
deine Augen weit auf, als der Gnom anfängt zu Singen.`n`c
`&`iGejagt haben Sie uns, doch finden konnten Sie uns nie.`n
Gesucht haben Sie uns, bei Wind und Wetter,`n
doch scheiterten Sie immer wieder.`n
Doch jetzt haben sie uns gefunden. `n
Gefunden in einer Höhle weit weg von hier.`n
Unser flehen unser betteln.. nichts half uns..`n
Sie brachten jeden um den Sie zu fassen bekamen.`n
Doch manche ließen sie am, damit die wenigen noch`n
lebenden Gnome für Sie arbeiten können.`n`n
Gejagt haben Sie uns, doch finden konnten Sie uns nie.`n
Gesucht haben Sie uns, bei Wind und Wetter,`n
doch scheiterten Sie immer wieder.`n
Doch jetzt haben sie uns gefunden. `n
Gefunden in einer Höhle weit weg von hier.`n
Unser flehen unser betteln.. nichts half uns..`n
Sie brachten jeden um den Sie zu fassen bekamen.`n
Doch manche ließen sie am, damit die wenigen noch`n
lebenden Gnome für Sie arbeiten können.`n`n
Doch jetzt warten wir auf einen Helden der uns befreit.`n
Die wenigen überlebenden rettet... Die gestorbenen Seelen`n
ihrer Qualen befreit....`n`n`c`i`2
Deine angespannten Muskeln erschlaffen langsam wieder und
die Panik die du kurz zu vor verspürt hast, ist schon
verflogen.`n`n
Du sagst:"`@Ich würde dir gerne helfen doch weiß ich nicht wie.`2"
Der kleine Gnom betrachtet dich immer noch mit seinen feuchten
Augen.. Er öffnet seine Hand und lässt ein stück Papier fallen..
Kurz darauf erschlafft sein Körper und seine Augen fallen wieder zu..');
addnav('Aktionen');
addnav('Papier ansehen','forest.php?op=paper&act=pergament');
addnav('Papier fortwerfen','forest.php?op=paper&act=fortwerfen');
addnav('Umkehren','forest.php?op=gehen&act=umkehren');
break;
}

# Erstmal uninteressant ist noch aus der alten Fassung, wird noch umgeschrieben, aber für dne ersten kampf zum testen dachte ich reicht des erstmal.
if ($battle) {
include('battle.php');
$session['user']['specialinc'] = 'gnome.php';
$hp = $session['user']['specialmisc'];
if ($victory){
$badguy=array();
$session['user']['badguy']='';

output(''.$tc.'`n`nMit einem letzten vernichtenden Schlag triffst du die Hexe und sie geht vor dir in die Knie. `n
Mit ihrem letzten Atemzug sagt sie dir noch. Hinter diesem Tisch steht eine meiner stärksten `n
Waffen, ich will das du sie nimmst, damit sie noch in Gebrauch bleibt. `n
Kurze Zeit später stirbt sie.');
addnav('Gehe zum König','forest.php?op=king');
$how=40-$session['user']['weapondmg'];
$session['user']['weapon']='Zeus weiße Blitze';
$session['user']['weaponvalue']=5000;
$session['user']['weapondmg']=40;
$session['user']['attack']+=$how;
output('`n`nDu bist hinter den Tisch gegangen und hast dir die Waffe genommen.');
} elseif ($defeat){
$badguy=array();
$session['user']['badguy']="";
output('Du konntest die Hexe nicht töten dafür hat sie dich getötet.');
$session['user']['specialinc']='';
$session['user']['specialmisc'] = 0;
} else {
fightnav(true,true);
}
}

?>[/php]

My.

Autor:  Auric [ So 16 Dez, 2007 19:55 ]
Betreff des Beitrags: 

Englisch ist eine tolle Sprache, man kann so einige Fehlermeldungen damit enträtseln:

Division by Zero - also "Division (Teilung) durch Null" - bedeutet schlicht weg, dass du irgendwo eine Geteilt-Durch Rechnung durchführst, bei der der zweiter Operand, der Divisor gleich null ist. Das ist mathematisch im (Bereich der reellen Zahlen) nicht definiert, also: MÖÖÖÖP - Fehler.

Der Fehler im Code liegt anscheinend in deinem Badguy - wenn hier an den falschen stellen nullen auftauchen, die bei Berechnungen, bei denen / im spiel ist, dann gibt es Probleme. Probiere also deine Badguys mal mit Werten != 0 durch... oder überprüfe einfach, ob diese nach ihrer Berechnung 0 sind.

PS: Irgendwie beißt sich der Text "MIT ERHOBENEM SCHWERT" mit der Tatsache, das der Kerl einen "Heiligen Bogen" trägt.

Auric

Autor:  MySql [ So 16 Dez, 2007 20:55 ]
Betreff des Beitrags: 

*-* Danke xD

Ja stimmt^^ Der Guardian hatte erst nen Heiliges Schwert aber das bekommt der 2te^^ Hatte vergessen es im Text zu ändern ;)

My.

Autor:  Marja [ Do 05 Mär, 2009 22:31 ]
Betreff des Beitrags:  Re: Divsion by Zero

o.O Ist das normal das die Standart battle.php, die man sich hier herunterladen kann, dasselbe Problem hat
oder spinnt bei mir wieder etwas?

Klickt man im Browser auf Aktu, dann gehts weiter.. zumindest solang wie die Runde geht, in der man gegen den Gegner kämpft.

Autor:  Nightborn [ Fr 06 Mär, 2009 10:53 ]
Betreff des Beitrags:  Re: Divsion by Zero

Das Problem ist nicht die Battle.php

'creaturedefense' => $session['user']['defense'] - 3,
'creatureattack' => $session['user']['attack'] - 4,

<--das problem ist, daß ein user mit attacke <=4 ein problem hat, weil divison durch 0 in der battle.php

max(.....,1) wäre besser.

Autor:  Auric [ Fr 06 Mär, 2009 13:55 ]
Betreff des Beitrags:  Re: Divsion by Zero

du meinst wohl max(....,1)?

Autor:  Nightborn [ Fr 06 Mär, 2009 14:22 ]
Betreff des Beitrags:  Re: Divsion by Zero

Japp, sorry.

<--mentally preoccupied

Autor:  Marja [ Sa 07 Mär, 2009 23:20 ]
Betreff des Beitrags:  Re: Divsion by Zero

o.O Darf ich mal ganz dumm fragen wo das sein soll?
Hab irgendwie alles abgesucht, wurd' aber net fündig.

Autor:  Auric [ Sa 07 Mär, 2009 23:44 ]
Betreff des Beitrags:  Re: Divsion by Zero

http://dev.mysql.com/doc/refman/5.1/de/group-by-functions.html

Da einfach mal mit dem Browser nach "MAX" suchen

Autor:  Marja [ So 08 Mär, 2009 00:30 ]
Betreff des Beitrags:  Re: Divsion by Zero

*drop* Naah.. das meint' ich nicht Auric! Sorry für die Irreführung.
Ich meinte.. in welcher PHP das sein soll? ;)

Autor:  Tidus [ So 08 Mär, 2009 08:22 ]
Betreff des Beitrags:  Re: Divsion by Zero

Ich denke das war nur ein Beispiel, du musst suchen und schauen wo Badguys gemacht werden die eventuell 0 als wert bekommen können, sprich überall da wo ohne überprüfung die werte Level ? und Angriff/Verteidigung verändert bzw. subtrahiert werden ~glaub~

Autor:  Marja [ So 08 Mär, 2009 18:42 ]
Betreff des Beitrags:  Re: Divsion by Zero

Argh, danke Tidus! Ich glaub ich weiß jetzt der Fehler war. Hatte die Rp-Charas angegriffen. Und die haben bei mir Level 0 xD
Muss mal schauen ob ich dasselbe Problem bei den normalen Charas habe. Ach und wenn dem so ist- kann man irgendwo ne Abfrage einsetzten die, die Rp Charas aus der battle.php nimmt?
Damit sie nicht mehr angreifbar sind? :)

Autor:  Tidus [ So 08 Mär, 2009 18:49 ]
Betreff des Beitrags:  Re: Divsion by Zero

Du musst die pvp.php / battlearena.php / houses.php / inn.php bearbeiten und überall einfügen das es != rp charas sein dürfen, dann sollten sie überall raus sein, wüsste nicht wo man noch angegriffen werden kann ich weis nicht was du für ein rpchar script hast und nutze selbst auch keins deswegen kann ich dir hier keinen tipp geben..^^

wie gesagt, in alle abfragen einüfgen das es nicht gleich (!=) Rp charas sein dürfen und dann wärs das glaub ich schon (immer da wo die auflistung ist und bei der houses beim einbrechen)

Autor:  Marja [ Mo 09 Mär, 2009 20:48 ]
Betreff des Beitrags:  Re: Divsion by Zero

Hat geklappt, danke! =)

Autor:  Tidus [ Mo 09 Mär, 2009 21:49 ]
Betreff des Beitrags:  Re: Divsion by Zero

kein problem, helfe gerne wenn ich kann ;)

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