Also, in der Arena, wenn 2 Spieler gegeneinander antreten, habe ich jetzt folgendes Problem:
Die Anwedung "Blitzaura" (Magische Künste, 5 Anwendungen nötig) soll ja den Schaden, den man erleidet, mit doppelter Kraft dem Gegner zufügen. Wenn ich die Blitzaura aktiviere, angreife und vom Abwehrschlag des Gegners getroffen werde, klappt das auch wunderbar. Wenn dann aber der Gegner angreift und trifft, werden ihm seine Lebenspunkte nicht abgezogen...
Habe jetzt selber schon etwas rumprobiert, aber es nicht geschafft, das Problem zu lösen... Erbitte daher hier auf diesem Wege um Hilfe...
Hier mal die entsprechenden Auszüge aus dem Code, die dabei von Relevanz sind:
[php] }else{
output("`4Du triffst `^$badguy[creaturename]`4 mit `^$creaturedmg`4 Schadenspunkten!`n");
$message=$message."`^$goodguy[name]`4 trifft dich mit `^$creaturedmg`4 Schadenspunkten!`n";
$badguy[hitpoints]-=$creaturedmg;
if ($badguy[hitpoints]>0 && $goodguy[hitpoints]>0) process_dmgshield($buffset[dmgshield],-$creaturedmg);
if ($badguy[hitpoints]>0 && $goodguy[hitpoints]>0) process_lifetaps($buffset[lifetap],$creaturedmg);
}[/php]
[php]function process_dmgshield($dshield, $damage) {
global $session,$badguy,$message;
reset($dshield);
while(list($key,$buff) = each($dshield)) {
$realdamage = $damage * $buff['damageshield'];
if ($realdamage < 0) $realdamage = 0;
if ($realdamage > 0) {
$msg = $buff['effectmsg'];
} else if ($realdamage == 0) {
$msg = $buff['effectnodmgmsg'];
} else if ($realdamage < 0) {
$msg = $buff['effectfailmsg'];
}
$badguy[hitpoints] -= $realdamage;
$msg = str_replace("{badguy}",$badguy['name'], $msg);
$msg = str_replace("{damage}",$realdamage, $msg);
if ($msg > ""){
output("`)$msg`n");
$message=$message.$goodguy[name].": \"`i$msg`i\"`n";
}
}
}[/php]
Bevor Fragen und/oder Beschwerden betreffs Source auftreten: Ich habe keinen LoGD-Server, den ich verlinken könnte/auf dessen Source ich linken könnte. Ich habe lediglich einen kleinen Testserver, auf den ich Sachen hochlade, wenn ich mal eine Idee zum Coden hab, und die auf Korrektheit testen will. Und die arenapvp.php ist anpera-standart von 0.9.7
MfG, Knig