Video 27 [SOLVED]
Posted: Tue Dec 20, 2011 12:35 am
				
				I have tryed following Video27 to make quests. it refuses to complete the quests. here is my code:
			Code: Select all
<?php
include_once 'connect.php';
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
<title>MMO Tutorial</title>
</head>
<?php
if (isset($_SESSION['player']))
{
  $player=$_SESSION['player'];
  $playerinfo="SELECT * from gamers where playername='$player'";
  $playerinfo2=mysql_query($playerinfo) or die(mysql_error());
  $playerinfo3=mysql_fetch_array($playerinfo2);
}
else
{
  print "Sorry, you are not logged in, please <A href='login.php'>Login</a><br>";
  exit;
}
$bypass = 0;
$newquest = 0;
if(isset($_POST['giver']))
{
  $qname = $_POST['name'];
  $bypass = 1;
  $house = "SELECT * from playerquests where pname='$playerinfo3[playername]' AND name='$qname' order by level DESC Limit 1";
  $house2 = mysql_query($house) or die(mysql_error());
  $house3 = mysql_fetch_array($house2);
  
  if (!isset($house3['name']))
  {
    $house3['level'] = 1;
    $newquest = 1;
  }
  
  $selectquest="SELECT * from questgivers where name='$qname' AND level='$house3[level]'";
  $selectquest2=mysql_query($selectquest) or die(mysql_error());
  $selectquest3=mysql_fetch_array($selectquest2);
  if (!isset($selectquest3['name']))
  {
    echo "There are no available quests at this time.<br><br>";
  }
  else
  {
  echo "<b><u>". $selectquest3['name'] . "</b></u><br><br>";
  echo $selectquest3['givequest'] . "<br><br>";
  echo "
       <form method='POST' action='quests.php'>
       <input type='submit' value='Accept' name='addw1' />
       <input type='hidden' name='name' value='$selectquest3[name]' />
       <input type='hidden' name='description' value='$selectquest3[description]' />
       <input type='hidden' name='preitem' value='$selectquest3[preitem]' />
       <input type='hidden' name='preitemtype' value='$selectquest3[preitemtype]' />
       <input type='hidden' name='accept' value='1'>
       </form><br><br>";
  if ($newquest != 1)
  {
    echo "
    <form method='POST' action='quests.php'>
    <input type='submit' value='Complete Quest' name='addw' />
    <input type='hidden' name='name' value='$selectquest3[name]' />
    <input type='hidden' name='level' value='1'>
    <input type='hidden' name='qcompleted' value='1'>
    
    </form><br><br";
  }
  else
  {
    echo "
    <form method='POST' action='quests.php'>
    <input type='submit' value='Complete Quest' name='addw' />
    <input type='hidden' name='name' value='$selectquest3[name]' />
    <input type='hidden' name='level' value='$house3[level]'>
    <input type='hidden' name='qcompleted' value='1'>
    </form><br><br";
    echo "
        <form method='POST' action='index.php'>
        <input type='submit' value='Leave' name='addw' />
        </form><br><br>";
  }}
  }
  if (isset($_POST['qcompleted']))
  {
     $qname = $_POST['name'];
     $qlevel = $_POST['level'];
     $bypass = 1;
     
     $selectquest="SELECT * from questgivers where  name='$qname' AND level='$qlevel'";
     $selectquest2=mysql_query($selectquest) or die(mysql_error());
     $selectquest3=mysql_fetch_array($selectquest2);
  if($selectquest3['reqitemtype'] == 'item')
  {
    $itemcount = 0;
    $iteminfo="SELECT * from inventory where name='$selectquest3[reqitem]' AND pname='$playerinfo3[playername]'";
    $iteminfo2=mysql_query($iteminfo) or die(mysql_error());
    while ($iteminfo3=mysql_fetch_array($iteminfo2))
    {
      $itemcount= $itemcount + 1;
    }
    if($itemcount < $selectquest3['reqamount'])
    {echo "You do not have enough " . $selectquest3['reqitem'] . " to complete this quest. ";}
    else
    {
      $iamount = $selectquest3['reqamount'];
      for($i = 0; $i < $iamount; $i=$i+1)
      {
        $updateinv="DELETE FROM inventory where pname='$playerinfo3[playername]' AND name='$selectquest3[reqitem]' limit 1";
        mysql_query($updateinv) or die(mysql_error());
      }
      echo $selectquest3['reqamount'] . " " . $selectquest3['reqitem'] . " removed from inventory<br><br>";
      echo $selectquest3['finishquest'] . "<Br><br>";
      $updatecurquests="DELETE FROM currentquests where pname='$playerinfo3[playername]' AND name='$qname' limit 1";
      mysql_query($updatecurquests) or die(mysql_error()); 
      if (isset($_POST['newquest']))
      {$SQL="INSERT into playerquests(pname,name,level) VALUES ('$playerinfo3[playername]','$qname','2')";
       mysql_query($SQL) or die(mysql_error());}
      else
      { $updatepquests="Update playerquests SET level=level+1 WHERE name='$playerinfo3[playername] AND name='$qname'";
        mysql_query($updatepquests) or die(mysql_error());
      }
      $updateplay="Update gamers SET credits=credits+'$selectquest3[copper]',exper=exper+'$selectquest3[exper]' WHERE playername='$playerinfo3[playername]'";
      mysql_query($updateplay) or die(mysql_error());
      echo "<br><br>Recieved " .$selectquest3['exper'] . " experience and " . $selectquest3['copper'] . " credits.";
      //////////////////if item is given//////////////////////////////////
     if($selectquest3['item'] != 'none')
        {
          $iteminfo="SELECT * from items where name='$selectquest3[item]'";
          $iteminfo2=mysql_query($iteminfo) or die(mysql_error());
          $iteminfo3=mysql_fetch_array($iteminfo2);
          $SQL="INSERT into inventory(pname,name,type,stats,statadd,price) VALUES ('$playerinfo3[pname]','$iteminfo3[name]','$iteminfo3[type]','$iteminfo3[stats]','$iteminfo3[statadd]','$iteminfo3[price]')";
          mysql_query($SQL) or die(mysql_error());
          echo $selectquest3['item'] . " added to your backpack.<br>";
        }
       echo "<br><form method='POST' action='quests.php'>
             <input type='submit' value='Finish' name='addw' />
             </form><br><br>";
    }
  }
}
  
  if (isset($_POST['accept']))
  {
    $qname = $_POST['name'];
    $preitemtype = $_POST['preitemtype'];
    $descript = $_POST['description'];
    $bypass = 1;
    
    $selectquest="SELECT * from currentquests where pname='$playerinfo3[playername]'";
    $selectquest2=mysql_query($selectquest) or die(mysql_error());
    $selectquest3=mysql_fetch_array($selectquest2);
    
    if (isset($selectquest3['name'])) {echo "You have already accepted this quest!<br><br>";}
    else
    {
      $SQL="INSERT into currentquests(pname,description,name) VALUES ('$playerinfo3[playername]','$descript','$qname')";
      mysql_query($SQL) or die(mysql_error());
      echo "Quest added to your quest log!.<br>";
      
      if ($preitemtype == 'item')
      {
        $iteminfo="SELECT * from item where name='$preitem'";
        $iteminfo2=mysql_query($iteminfo) or die(mysql_error());
        $iteminfo3=mysql_fetch_array($iteminfo2);
        $randid2 = rand(1000,999999999);
        $SQL="INSERT into inventory(id,name,type,stats,statadd,price) VALUES ('$playerinfo3[id]',
        '$iteminfo3[name]',$iteminfo3[type],'$iteminfo3[stats]','$iteminfo3[statadd]','$iteminfo3[price]')";
        mysql_query($SQL) or die(mysql_error());
        echo $iteminfo3['name'] . " has been added to your inventory.<br><br>";
      }
      echo "
       <form method='POST' action='index.php'>
        <input type='submit' value='Leave' name='addw1' />
       </form><br><br>";
    }
}
  if($bypass != 1)
  {
    $selectbackpack="SELECT * from questgivers where level=1";
    $selectbackpack2=mysql_query($selectbackpack) or die(mysql_error());
    while($selectbackpack3=mysql_fetch_array($selectbackpack2))
    {
      echo "
      <form method='POST' action='quests.php'>
      <input type='submit' value='$selectbackpack3[name]' name='addw' />
      <input type='hidden' name='name' value='$selectbackpack3[name]'>
      <input type='hidden' name='giver' value='1'>
      </form><br><br>";
      
      echo "
        <form method='POST' action='index.php'>
        <input type='submit' value='Leave' name='addw' />
        </form><br><br>";
    }
  }
  ?>