Dobry pomysł, jednak co do bugu z turnfight.php proponuję zrobić tak:
1.W bazie danych w tabeli players dodajemy pole o nazwie np. fightile, następnie ustawiamy wartości itp. (podam swoje każdy chyba wie, gdzie co jest):
Kod:
`fightile` int(11) NOT NULL default '1',
2.W turnfight.php odnajdujemy to:
Kod:
$gmagia = 0;
if (!isset($_SESSION['round']))
{
$_SESSION['round'] = 1;
$_SESSION['xxx'] = 0;
if ($_SESSION['xxx'] == 0)
{
$db -> Execute("UPDATE players SET fightile=".$_POST['razy']." WHERE id=".$player -> id);
}
}
$_SESSION['xxx'] = $_SESSION['xxx'] + 1;
$cos = $db -> Execute( "SELECT fightile FROM players WHERE id=".$player -> id);
Za tym wklejamy to:
Kod:
if ($cos -> fields['fightile'] != $_POST['razy'])
{
$strDate = $db -> DBDate($newdate);
$db -> Execute("UPDATE players SET hp=0, fight=0, bless='', blessval=0 WHERE id=".$player -> id);
unset($_SESSION['round']);
$strMessage = "Gracz: ".$player -> id."<br/>Poczatkowo: ".$cos -> fields['fightile']."<br/>Na koncu: ".$_POST['razy']."<br/>Potworek: ".$player ->fight;
$db -> Execute("INSERT INTO mail (sender, senderid, owner, subject, body, `date`) VALUES('Herold','0','1','próba cheatu','".$strMessage."', ".$strDate.")");
error('BlbyenD!');
break;
}
Powinno wyglądać to tak:
Kod:
$gmagia = 0;
if (!isset($_SESSION['round']))
{
$_SESSION['round'] = 1;
$_SESSION['xxx'] = 0;
if ($_SESSION['xxx'] == 0)
{
$db -> Execute("UPDATE players SET fightile=".$_POST['razy']." WHERE id=".$player -> id);
}
}
$_SESSION['xxx'] = $_SESSION['xxx'] + 1;
$cos = $db -> Execute( "SELECT fightile FROM players WHERE id=".$player -> id);
if ($cos -> fields['fightile'] != $_POST['razy'])
{
$strDate = $db -> DBDate($newdate);
$db -> Execute("UPDATE players SET hp=0, fight=0, bless='', blessval=0 WHERE id=".$player -> id);
unset($_SESSION['round']);
$strMessage = "Gracz: ".$player -> id."<br/>Poczatkowo: ".$cos -> fields['fightile']."<br/>Na koncu: ".$_POST['razy']."<br/>Potworek: ".$player ->fight;
$db -> Execute("INSERT INTO mail (sender, senderid, owner, subject, body, `date`) VALUES('Herold','0','1','próba cheatu','".$strMessage."', ".$strDate.")");
error('BlbyenD!');
break;
}
3.Cieszymy się naprawionym bugiem. Czym jest jego rozwiązanie? Otóż po próbie oszustwa przez gracza, admin id 1 (lub inne id, zależy jak sobie wpiszesz w kodzie), dostanie na pocztę w grze wiadomość o treści: nick oszusta, id oszusta i kiedy próbował oszustwa.
Zakładki