Witam. stworzyłem skrypt zadań, jednak jeśli wykonamy zadanie pierwsze, to złoto nam doda, jednak zawartość kolumny "zadanie" i "wykonanezadania" ustawi na 0, chociaż jest napisane by podało co innego. Przez co gracz może brać dane zadanie bez końca i zgarniać nagrodę. Po wzięciu zadania normalnie wysyła do kolumny "zadanie" informacje o wziętym zadaniu. oto kod:
<input type="hidden" name="zc01" value="zc01" /> <input type="submit" value="rozpocznij zadanie!" />
<input type="hidden" name="zc02" value="zc02" /> <input type="submit" value="rozpocznij zadanie!" />
<input type="hidden" name="zc03" value="zc03" /> <input type="submit" value="rozpocznij zadanie!" />
<?php
$graczyk = mysql_query("SELECT * FROM uzytkownicy WHERE `nick`='$nick'"); // pobranie danych o graczu $wykonane_zadanka = explode(",", $gracz['wykonanezadania']);
if(isset($_POST["zc01"]) && $wykonane_zadanka !== 'zc01'){ //jeśli button kliknięty - zapisze dane o pobraniu zadania. header("Location: miasto_czlowiek.php?co=wzietozadaniezc01"); }
if(isset($_GET["co"]) && $_GET["co"] == "wzietozadaniezc01") { //info że zadanie zostało zaakceptowane echo "zadanie PODNIEŚ SWOJE MORALE, zostało akceptowane. "; }
//zadanie 02
if(isset($_POST["zc02"]) && $wykonane_zadanka !== 'zc01'){ //jeśli button kliknięty - zapisze dane o pobraniu zadania. header("Location: miasto_czlowiek.php?co=wzietozadaniezc02"); }
if(isset($_GET["co"]) && $_GET["co"] == "wzietozadaniezc02") { //info że zadanie zostało zaakceptowane echo "zadanie DOŁĄCZ DO GILDII, zostało akceptowane. "; }
//zadanie 03
if(isset($_POST["zc03"]) && $wykonane_zadanka !== 'zc03'){ //jeśli button kliknięty - zapisze dane o pobraniu zadania. header("Location: miasto_czlowiek.php?co=wzietozadaniezc03"); }
if(isset($_GET["co"]) && $_GET["co"] == "wzietozadaniezc03") { //info że zadanie zostało zaakceptowane echo "zadanie ZYSKAJ HONOR, zostało akceptowane. "; }
//nagroda za wykonanie zadanie pierwszego
if($gracz['level'] >= '10' && $gracz['zadanie'] == "zc01" && $gracz['wykonanezadania'] !== "zc01" ){
mysql_query("update uzytkownicy set zadanie= "wykonane
", wykonanezadania=`wykonanezadania` + "zc01
" WHERE nick='$nick'")or
die(mysql_error()); header("Location: miasto_czlowiek.php?co=wykonanozadaniezc01"); }
if(isset($_GET["co"]) && $_GET["co"] == "wykonanozadaniezc01") { echo "<br />Gratulacje! wykonałeś zadanie PODNIEŚ SWOJE MORALE!"; }
Ten post edytował Th0e 17.10.2012, 17:05:58