Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Dynamischer RPG-Balken. Fehler wenn Enerie auf 0 fällt...

Hallo Leute!
Ich habe ja nun meinen dynamischen Energie-Balken
für mein RPG-Spiel hinbekommen, hier das Skript:

[PHP]
$bild = imagecreatefrompng('grund.png');

$balken_kp = imagecreatefrompng('kp_gruen.png');
$balken_kp_sizes = getimagesize('kp_gruen.png');

$balken_ep = imagecreatefrompng('ep.png');
$balken_ep_sizes = getimagesize('ep.png');

// ..... KP-Balken reinkopieren!
if (!is_numeric($_GET['mkp'])) {$_GET['mkp'] = 100; $_GET['ukp'] = 0;}
if (!is_numeric($_GET['ukp'])) {$_GET['mkp'] = 100; $_GET['ukp'] = 0;}
$breite_kp = @ceil(100 / $_GET['mkp'] * $_GET['ukp']);
imagecopyresized ($bild, $balken_kp, 15, 2, 0, 0, $breite_kp, 3, $balken_kp_sizes[0], $balken_kp_sizes[1]);

// ..... EP-Balken reinkopieren!
if (!is_numeric($_GET['nep'])) {$_GET['nep'] = 100; $_GET['hep'] = 0;}
if (!is_numeric($_GET['hep'])) {$_GET['nep'] = 100; $_GET['hep'] = 0;}
$breite_ep = @ceil(100 / $_GET['nep'] * $_GET['hep']);
imagecopyresized ($bild, $balken_ep, 15, 11, 0, 0, $breite_ep, 3, $balken_ep_sizes[0], $balken_ep_sizes[1]);

header ("Pragma:no-cache");
header ("Cache-Control:private,no-store,no-cache,must-revalidate");
header ("Content-Type: image/png");
ImagePNG($bild);
[/PHP]

Hier eine Demo mit
- Maximal 100KP / davon 20 übrig.
- Maximal 100EP / davon 40 übrig.
[url]http://poke-clan.tc-central.de/Bilder/Dynamisch/KpEp.png/?mkp=100&ukp=20&nep=100&hep=30[/url]

mkp trägt die Maximalen KP,
ukp die übrigen,
nep die maximalen EP,
hep die übrigen.

Nun gibt es einen bösen kleinen Fehler.
Sobald die KP (Energie) eines Spielers auf
0 fällt, zeigt der Balken das hier:

[url]http://poke-clan.tc-central.de/Bilder/Dynamisch/KpEp.png/?mkp=100&ukp=0&nep=100&hep=30[/url]

Weiß einer bescheid?

Und wieso ist da eigentlich ein schwarzer Streifen unter dem blauen EP-Balken?

Hier gehts zum Orginal Eintrag "Dynamischer RPG-Balken. Fehler wenn Enerie auf 0 fällt..." im Forum

Antworten

Weil dann die Maße ungültig werden. Dadurch wird eine Fehlermeldung ausgegen, und der Rest kann auch nicht mehr funktionieren.

Du musst schon prüfen, ob das 0 ist, und für den Fall etwas ändern.


2.

Ach... Das ist mir klar. wegen den Header Informationen (Allready have been send) Soll
ich vll eine ifabfrage machen, wo bei Breite 0 nichts reinkopiert wird?

Versuch' ich grade mal..

Edit

Ging... Hätte erst mehr nachdenken sollen vorm Posten...
Danke für deine Antwort.


3.

Hastes schon hinbekommen?

Weil bei mir funktioniert das ;-) sprich keine Fehlermeldung und der Balken ist auch auf 0


Hier gehts zum Orginal Eintrag "Dynamischer RPG-Balken. Fehler wenn Enerie auf 0 fällt..." im Forum
 
phpforum.de | Impressum