play.php
Code: Select all
<html
<head>
<link rel="stylesheet" type="text/css" href="main.css" />
<script type="text/javascript" src="df.js"></script>
</head>
<body>
<?php
//an animal is giving out a fake item
require 'smarty.php';
require 'weapon-stats.php';
require 'login-check.php';
$smarty = new smarty_connect;
require_once 'stats.php';
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
session_start();
/* $playerinfo = "SELECT * from users where username='$username'";
$playerinfo2 = mysql_query($playerinfo) or die("could not get player stats!");
$playerinfo3 = mysql_fetch_array($playerinfo2); */
$smarty->assign('level', getStat('lvl', $userID));
$smarty->assign('attack', getStat('atk', $userID));
$smarty->assign('magic', getStat('mag', $userID));
$smarty->assign('defence', getStat('def', $userID));
$smarty->assign('gold', getStat('gc', $userID));
$smarty->assign('setlvl', getStat('setlvl', $userID));
$setLVL = getStat('setlvl', $userID);
////////////////////MOVE/////////////////////
/*
$query = sprintf("SELECT curarea FROM users WHERE username = '$name'", mysql_real_escape_string('$name'));
$result = mysql_query($query);
list($curarea) = mysql_fetch_row($result);
$smarty->assign('curarea', $curarea);
$query = sprintf("SELECT lasarea FROM users WHERE username = '$name'", mysql_real_escape_string('$name'));
$result = mysql_query($query);
list($lasarea) = mysql_fetch_row($result);
$smarty->assign('lasarea', $lasarea);
$smarty->assign('lasarea', '7');
$query = sprintf("UPDATE users SET lasarea = '$lasarea' WHERE id = '$userID'", mysql_real_escape_string('$userID'));
$smarty->assign('curarea','$area_id');
$query = sprintf("UPDATE users SET curarea = '$curarea' WHERE id = '$userID'", mysql_real_escape_string('$userID'));
////////////////////////////////////////////// */
if ($setLVL == 0) {
// haven't set up the user's Level values yet - let's set those!
setStat('setlvl', $userID, 1);
setStat('level', $userID, 1);
setStat('curexp', $userID, 0);
setStat('nextlvl', $userID, 100);
} //$setLVL == 0
$smarty->assign('CurrentExperience', getStat('curexp', $userID));
$smarty->assign('NextLevel', getStat('nextlvl', $userID));
$setHP = getStat('sethp', $userID);
if ($setHP == 0) {
// haven't set up the user's HP values yet - let's set those!
setStat('curhp', $userID, 10);
setStat('maxhp', $userID, 10);
setStat('sethp', $userID, 1);
} //$setHP == 0
$smarty->assign('currentHP', getStat('curhp', $userID));
$smarty->assign('maximumHP', getStat('maxhp', $userID));
$smarty->assign('name', $_SESSION['username']);
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// our database settings
require 'database.php';
// monster stats
require 'monster-stats.php';
$area_id = $_REQUEST['area'];
$query = sprintf("SELECT curarea FROM users WHERE id = '$userID'", mysql_real_escape_string('$userID'));
$result = mysql_query($query);
list($curarea) = mysql_fetch_row($result);
$smarty->assign('curarea', $curarea);
$smarty->assign('curarea', $area_id);
$query = sprintf("UPDATE users SET curarea = '$curarea' WHERE id = '$userID'", mysql_real_escape_string('$userID'));
$query = sprintf("SELECT monsters FROM areas WHERE id = '$area_id' ORDER BY RAND() LIMIT 1", mysql_real_escape_string($area_id));
$result = mysql_query($query);
list($monsterarea) = mysql_fetch_row($result);
$smarty->assign('monsterarea', $monsterarea);
$query = sprintf("SELECT monsters FROM areas WHERE id = '$area_id' ", mysql_real_escape_string($_POST['areamonster']));
$result = mysql_query($query);
list($areamonster) = mysql_fetch_row($result);
$smarty->assign('areamonster', $areamonster);
$query = sprintf("SELECT north FROM areas WHERE id = '$area_id' ", mysql_real_escape_string($_POST['north']));
$result = mysql_query($query);
list($area_north) = mysql_fetch_row($result);
$smarty->assign('north', $area_north);
$query = sprintf("SELECT south FROM areas WHERE id = '$area_id' ", mysql_real_escape_string($_POST['south']));
$result = mysql_query($query);
list($area_south) = mysql_fetch_row($result);
$smarty->assign('south', $area_south);
$query = sprintf("SELECT west FROM areas WHERE id = '$area_id' ", mysql_real_escape_string($_POST['west']));
$result = mysql_query($query);
list($area_west) = mysql_fetch_row($result);
$smarty->assign('west', $area_west);
$query = sprintf("SELECT east FROM areas WHERE id = '$area_id' ", mysql_real_escape_string($_POST['east']));
$result = mysql_query($query);
list($area_east) = mysql_fetch_row($result);
$smarty->assign('east', $area_east);
if ($_POST) {
if ($_POST['action'] == 'Attack') {
// to begin with, we'll retrieve our player and our monster stats
$query = sprintf("SELECT id FROM users WHERE UPPER(username) = UPPER('%s')", mysql_real_escape_string($_SESSION['username']));
$result = mysql_query($query);
list($userID) = mysql_fetch_row($result);
$player = array(
name => $_SESSION['username'],
attack => getStat('atk', $userID),
defence => getStat('def', $userID),
curhp => getStat('curhp', $userID)
);
$phand = getStat('phand', $userID);
$atk = getWeaponStat('atk', $phand);
$player['attack'] += $atk;
// armor stats
require 'armor-stats.php';
$armor = array(
'atorso',
'ahead',
'alegs',
'aright',
'aleft'
);
foreach ($armor as $key) {
$id = getStat($key, $userID);
$defence = getArmorStat('defence', $id);
$player['defence'] += $defence;
} //$armor as $key
$query = sprintf("SELECT id FROM monsters WHERE name = '%s'", mysql_real_escape_string($_POST['monster']));
$result = mysql_query($query);
list($monsterID) = mysql_fetch_row($result);
$monster = array(
name => $_POST['monster'],
attack => getMonsterStat('atk', $monsterID),
defence => getMonsterStat('def', $monsterID),
curhp => getMonsterStat('maxhp', $monsterID)
);
$combat = array();
$turns = 0;
while ($player['curhp'] > 0 && $monster['curhp'] > 0 && $turns <= 100) {
if ($turns % 2 != 0) {
$attacker =& $monster;
$defender =& $player;
} //$turns % 2 != 0
else {
$attacker =& $player;
$defender =& $monster;
}
$damage = 0;
if ($attacker['attack'] > $defender['defence']) {
$damage = $attacker['attack'] - $defender['defence'];
} //$attacker['attack'] > $defender['defence']
$defender['curhp'] -= $damage;
$combat[$turns] = array(
attacker => $attacker['name'],
defender => $defender['name'],
damage => $damage
);
$turns++;
} //$player['curhp'] > 0 && $monster['curhp'] > 0 && $turns <= 100
setStat('curhp', $userID, $player['curhp']);
if ($player['curhp'] > 0) {
// player won
setStat('gc', $userID, getStat('gc', $userID) + getMonsterStat('gc', $monsterID));
$smarty->assign('won', 1);
$smarty->assign('gold', getMonsterStat('gc', $monsterID));
$rand = rand(0, 100);
$query = sprintf("SELECT item_id FROM monster_items WHERE monster_id = %s ORDER BY RAND() LIMIT 1", mysql_real_escape_string($monsterID), mysql_real_escape_string($rand));
$result = mysql_query($query);
list($itemID) = mysql_fetch_row($result);
$query = sprintf("SELECT count(id) FROM user_items WHERE user_id = '%s' AND item_id = '%s'", mysql_real_escape_string($userID), mysql_real_escape_string($itemID));
$result = mysql_query($query);
list($count) = mysql_fetch_row($result);
if ($count > 1) {
// already has one of the item
$query = sprintf("UPDATE user_items SET quantity = quantity ++ 1 WHERE user_id = '%s' AND item_id = '%s'", mysql_real_escape_string($userID), mysql_real_escape_string($itemID));
} //$count > 1
else {
// has none - new row
$query = sprintf("INSERT INTO user_items(quantity,user_id,item_id) VALUES (1,'%s','%s')", mysql_real_escape_string($userID), mysql_real_escape_string($itemID));
}
mysql_query($query);
// retrieve the item name, so that we can display it
$query = sprintf("SELECT name FROM items WHERE id = %s", mysql_real_escape_string($itemID));
$result = mysql_query($query);
list($itemName) = mysql_fetch_row($result);
$smarty->assign('item', $itemName);
$monster_exp = getMonsterStat('exp', $monsterID);
$smarty->assign('exp', $monster_exp);
$nextlevel = getStat('nextlvl', $userID);
$curexp = getStat('curexp', $userID);
$level = getStat('Level', $userID);
$curexp += $monster_exp;
if ($curexp >= $nextlevel) {
// level up!
$nextlevel += $nextlevel * .3;
$level += 1;
$curexp = 0;
$v = 1;
} //$curexp >= $nextlevel
else {
$v = 0;
}
$smarty->assign('v', $v);
setStat('curexp', $userID, $curexp);
setStat('nextlvl', $userID, $nextlevel);
setStat('lvl', $userID, $level);
} //$player['curhp'] > 0
else {
// monster won
$smarty->assign('lost', 1);
}
$smarty->assign('combat', $combat);
} //$_POST['action'] == 'Attack'
else {
// Running away! Send them back to the main page
header('Location: index.php');
}
} //$_POST
else {
$area_id = $_REQUEST['area'];
if ($areamonster = '1'); {
$query = sprintf("SELECT monster FROM area_monsters WHERE area = %s ORDER BY RAND() LIMIT 1", mysql_real_escape_string($area_id));
$result = mysql_query($query);
list($monster_id) = mysql_fetch_row($result);
$smarty->assign('monster_id', $monster_id);
$query = sprintf("SELECT name FROM monsters WHERE id = '%s' ", mysql_real_escape_string($monster_id));
$result = mysql_query($query);
list($monster) = mysql_fetch_row($result);
$smarty->assign('monster', $monster);
}
}
$query = sprintf("SELECT name FROM areas WHERE id = %s", mysql_real_escape_string($_REQUEST['area']));
$result = mysql_query($query);
list($area_name) = mysql_fetch_row($result);
$smarty->assign('area', $area_name);
$smarty->assign('area_id', $_REQUEST['area']);
$query = sprintf("SELECT description FROM areas WHERE id = %s", mysql_real_escape_string($_REQUEST['area']));
$result = mysql_query($query);
list($area_description) = mysql_fetch_row($result);
$smarty->assign('description', $area_description);
///////////////////////////////////////////////
$query = sprintf("SELECT is_admin FROM users WHERE id='$userID'", mysql_real_escape_string($userID));
$result = mysql_query($query);
list($is_admin) = mysql_fetch_row($result);
$smarty->assign('is_admin', $is_admin);
///////////////////Merchant//////////////////////
/* $query = sprintf("SELECT id FROM merchant WHERE id = '$userID' ", mysql_real_escape_string($_POST['userID']));
$result = mysql_query($query);
list($merchid) = mysql_fetch_row($result);
$smarty->assign("merchid", $merchid);
$query = sprintf("SELECT name FROM merchant WHERE id = '$userID' ", mysql_real_escape_string($_POST['userID']));
$result = mysql_query($query);
list($merchname) = mysql_fetch_row($result);
$smarty->assign('merchname', $merchname);
$query = sprintf("SELECT title FROM merchant WHERE id = '$userID' ", mysql_real_escape_string($_POST['userID']));
$result = mysql_query($query);
list($merchtitl) = mysql_fetch_row($result);
$smarty->assign('merchtitl', $merchtitl);
$query = sprintf("SELECT description FROM merchant WHERE id = '$userID' ", mysql_real_escape_string($_POST['userID']));
$result = mysql_query($query);
list($merchdesc) = mysql_fetch_row($result);
$smarty->assign('merchdesc', $merchdesc);
$query = sprintf("SELECT type FROM merchant WHERE id = '$userID' ", mysql_real_escape_string($_POST['userID']));
$result = mysql_query($query);
list($merchtype) = mysql_fetch_row($result);
$smarty->assign('merchtype', $merchtype);
$query = sprintf("SELECT area FROM merchant WHERE id = '$userID' ", mysql_real_escape_string($_POST['userID']));
$result = mysql_query($query);
list($mercharea) = mysql_fetch_row($result);
$smarty->assign('mercharea', $mercharea);
$query = sprintf("SELECT sellitem FROM merchant WHERE id = '$userID' ", mysql_real_escape_string($_POST['userID']));
$result = mysql_query($query);
list($merchsell) = mysql_fetch_row($result);
$smarty->assign('merchsell', $merchsell); */
////////////////////////////////////////////////////
/////////////////////Merchant Array/////////////////
$query = sprintf("SELECT area FROM merchant WHERE id = '$userID' ", mysql_real_escape_string($_POST['userID']));
$result = mysql_query($query);
list($mercharea) = mysql_fetch_row($result);
$smarty->assign('mercharea', $mercharea);
$query = sprintf("SELECT * FROM merchant WHERE id = '$userID' ", mysql_real_escape_string($_POST['userID']));
$result = mysql_query($query);
print_r(mysql_fetch_assoc($result));
$smarty->assign('m', array(
'merchid' => $merchant["id"],
'merchname' => $merchant["name"],
'merchtitl' => $merchant["title"],
'merchdesc' => $merchant["description"],
'merchtype' => $merchant["type"],
'mercharea' => $merchant["area"],
'merchsell' => $merchant["sellitem"]
));
$smarty->display('play.tpl');
?>
</body>
</html>
Code: Select all
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>The Dark Flame: {$area}</title>
</head>
<body>
<div id='navbar'>
<ul>
<li><a href="play.php?area={$curarea}">Play<!--img src="images/play.png" alt="Move" width="100" height="40" /--></a></li>
<li><a href="inventory.php">Inventory<!--img src="images/inventory.png" alt="Inventory" width="100" height="40" /--></a></li>
<li><a href="character.php">Character<!--img src="images/character.png" alt="Character" width="100" height="40" /--></a></li>
<li><a href="logout.php">Logout<!--img src="images/logout.png" alt="Logout" width="100" height="40" /--></a></li>
</ul>
</div>
<div id=maindiv>
<h1 id="areat">{$area}</h1>
<p id="aread">{$description}</p>
{if $areamonster eq '1' && $combat eq ''}
<p>You've encountered a {$monster}!</p>
<form action='play.php?area={$area_id}' method='post'>
<input type='submit' name='action' value='Attack' accesskey="c" /> or
<input type='submit' name='action' value='Run Away' accesskey="v" />
<input type='hidden' name='monster' value='{$monster}' />
</form>
{else}
<ol id='b'>
{foreach from=$combat key=id item=i}
<li>{$i.attacker} attacks {$i.defender} for {$i.damage} damage!</li>
{/foreach}
</ol>
{if $won eq 1}
<p>You killed {$smarty.post.monster}! You gained {$gold} gold, and {$exp} experience.</p>
{if $v == '1'}
<p>You gained a level!</p>
{/if}
<p>You found a {$item}!</p>
{/if}
{if $lost eq 1}
<p>You were killed by {$smarty.post.monster}.</p>
<p><a href="healer.php">I hope you can pay to be healed.</a></p>
{/if}
{/if}
{if $won eq '1' || $areamonster eq '0' }
<div id=movediv>
{if $north != ''}
<p><a id='move' href='play.php?area={$north}' accesskey="w"><img src="images/north.png" alt="North" width="100" height="40" /></a></p>
{/if}
{if $east != ''}
<p><a id='move' href='play.php?area={$east}' accesskey="d"><img src="images/east.png" alt="North" width="100" height="40" /></a></p>
{/if}
{if $west != ''}
<p><a id='move' href='play.php?area={$west}' accesskey="a"><img src="images/west copy.png" alt="North" width="100" height="40" /></a></p>
{/if}
{if $south != ''}
<p><a id='move' href='play.php?area={$south}' accesskey="s"><img src="images/south.png" alt="North" width="100" height="40" /></a></p>
{/if}
<p><a id='move' href='index.php' accesskey="b">Back to Main</a></p>
<ul class="b">
<li>Level: {$level}</li>
<li>Experience: {$CurrentExperience}</li>
<li>Experience to Level: {$NextLevel}</li>
<li>Attack: {$attack}</li>
<li>Defence: {$defence}</li>
<li>Magic: {$magic}</li>
<li>Gold in hand: {$gold}</li>
{/if}
<li>Current HP: {$currentHP}/{$maximumHP}</li></ul>
</div>
<div id="merchdiv">
{if $won eq '1' || $areamonster eq '0' }
{if $area_id == $mercharea}
<p><a id='merchant' href='{$m.merchtype}.php?merchid={$m.merchid}'>{$m.merchname}</a> | </p>
{/if}
{/if}
</div>
{include file='footer.tpl'}
</div>
</body>
</html>