Ik zit met het volgende probleem :
Ik maak een klikspelletje, waarbij je moet vechten.
Nu is het zo, dat als je op een attack style klikt (een button), dan zie je de hp van jou of van je tegenstander niet veranderd (wel in de database). Pas als je de pagina refreshed, word het pas op de pagina zelf veranderd.
Ik had het probleem eerder opgelost met een meta refresh, maar leek niet zo verstandig, omdat je ip regelmatig wordt geblokkeerd wegens teveel connecties maken...
Ik heb het ook probeert met header(), maar ook dat werkt niet.
Iemand een idee, hoe ik dat kan doen?
Stukje code
<?php
//AANVALLEN MET MELEE
if(isset($_POST['melee'])){
$killmode = "Melee";
//kijken of de gebruiker een dragonfire shield heeft
$shield = mysql_query("SELECT * FROM inventory WHERE player_name = '".$_SESSION['SESS_LOGIN_NAME']."' AND item_name = 'Dragonfire shield'")
or die(mysql_error());
$dragonfire = mysql_num_rows($shield);
//hit on npc
if(empty($info['selected_weapon'])){
$bonus = 0;
}else{
$wapen = mysql_query("SELECT * FROM weapons WHERE item_name = '".$info['selected_weapon']."'")
or die(mysql_error());
$wapeninfo = mysql_fetch_array($wapen);
$bonus = $wapeninfo['strength_bonus'];
}
$hit = $info['strength_lvl'] * 20;
$maxhit = $hit+$bonus;
$damagenpc = rand(0,$maxhit);
if($info['npc_hp'] > $damagenpc){
$damagetonpc = $damagenpc;
}else{
$damagetonpc = $info['npc_hp'];
}
//HIT ON PLAYER
//BEGIN ====== DRAGONFIRE//
if($dragonfire >='1' AND $info['npc_name']== 'King Dragon'){
$npc_maxhit ='1000';
}else{
$npc_maxhit = $info['npc_maxhit'];
}
//EINDE ====== DRAGONFIRE//
$damageplayer = rand(0,$npc_maxhit);
if($info['player_hp'] > $damageplayer){
$damagetoplayer = $damageplayer;
}else{
$damagetoplayer = $info['player_hp'];
}
mysql_query("UPDATE battles SET `npc_hp`='".$info['npc_hp']."'-'".$damagetonpc."',`player_hp`='".$info['player_hp']."'-'".$damagetoplayer."' WHERE player_name = '".$_SESSION['SESS_LOGIN_NAME']."'");
if($info['npc_hp'] > $maxhit){
header("location: battle-fix.php"); //dit was eerst de meta refresh, maar werkt helaas ook niet.
}
}
?>
Form
<form method="POST">
<input type="submit" value="Melee" onmouseover="mouseoversound.playclip()" class="attbtn" name="melee"/>
<input type="submit" value="Magic" onmouseover="mouseoversound.playclip()" class="attbtn" name="magic"/>
<input type="submit" value="Ranged" onmouseover="mouseoversound.playclip()" class="attbtn" name="ranged"/>
<?php
if(empty($info['selected_weapon'])){
$bonus = 0;
}else{
$wapen = mysql_query("SELECT * FROM weapons WHERE item_name = '".$info['selected_weapon']."'")
or die(mysql_error());
$wapeninfo = mysql_fetch_array($wapen);
$bonus = $wapeninfo['strength_bonus'];
}
$hit = $info['strength_lvl'] * 20;
$maxhit = $hit+$bonus;
?>
<select name="voedselkeuze">
<?php
$food = mysql_query("SELECT * FROM inventory WHERE player_name='".$_SESSION['SESS_LOGIN_NAME']."' AND category = 'food'");
while($eat = mysql_fetch_assoc($food)) {
echo "<option value='".$eat['item_name']."'>".$eat['item_amount']."x ".$eat['item_name']."</option>";
}
?>
</select>
<input type="submit" value="Eat" class="attbtn" onmouseover="mouseoversound.playclip()" name="food"/><br>
<select name="wapenkeuze">
<?php
$weapon = mysql_query("SELECT * FROM inventory WHERE player_name='".$_SESSION['SESS_LOGIN_NAME']."' AND category = 'weapon'");
while($selected_weapon = mysql_fetch_assoc($weapon)) {
echo "<option value='".$selected_weapon['item_name']."'>".$selected_weapon['item_name']."</option>";
}
?>
<input type="submit" value="Choose weapon" class="attbtn" onmouseover="mouseoversound.playclip()" name="chooseweapon"/
</form>