Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Afar ~ 1,000 Players

Status
Not open for further replies.
IP addresses are still logged as are most actions done in the game; and banning is still possible. Hopefully it won't be an issue.

RuneScape lasted ten years under a similar system :)
 

Tuna

Awesome Bro

I can understand the simpler sign-up process, but what if you decide to send out something like a newsletter in the future? Food for thought.
 
ivancamp.png


Our second dungeon, the Snow Caves, are now live. Set sail from Tiben Port to the Northern lands to find the new dungeon which features eight enemies of larger difficulty than the Fire Caverns, a new reward which will (when finished) allow you to create some new items, and eleven scenes with their own graphics.

This is a repeatable dungeon but you have to complete it before starting again. It also isn't linear - there are branches and such. It is still a small dungeon, but is much larger than the aforementioned fire caves.

Graphics have NOT been made for the enemies yet.
 

Tuna

Awesome Bro

None of the monsters in the Snow Caves are actually appearing image-wise. There are also some compass arrows in and around the dungeon that highlight when you mouse over them, as though you were mousing over a link in a town. I tried to test the caves out in Firefox, but I could not for the life of me remember my password. You should send that to me in a PM. While failing at putting in my password, I noticed that the password fail screen shifts your textboxes out of place.

passwordbox.png


Instead of having the same green backdrop on the battle screen, why not make it the blue icy color when you're fighting in a snowy zone?

I finished the dungeon, and I believe all I got was a... fire orb?

And the words "Port Glade" don't show up on the world map when you're travelling in the northern lands.
 

Ares

Member

Another bug found: if you beat the droll that hangs around in the fields, you may pass. But if you then return to an area before the droll map and try again, it says "There is nothing to fight, you must have scared them away" and you can't pass.

Also I pm'd you a bug you should fix.
 
Viktor Lorks 	19
Ares 9
Chris Dolinski 9
Skunk the Funky Monk 9
Cye Revanche 9
Sarah Jane Smith 7
Kinzoku Ekitai 3
Sir Ronald Rumble 3
Tomas the Brave 3
Eddy Syfer King of Disco 2

We're getting there :p

None of the monsters in the Snow Caves are actually appearing image-wise

Sorry, I'm half way there. A couple more to format.

There are also some compass arrows in and around the dungeon that highlight when you mouse over them, as though you were mousing over a link in a town.

Thanks, I will try and fix this.

While failing at putting in my password, I noticed that the password fail screen shifts your textboxes out of place.

This too.

Another bug found: if you beat the droll that hangs around in the fields, you may pass. But if you then return to an area before the droll map and try again, it says "There is nothing to fight, you must have scared them away" and you can't pass.

Thank you, fixed.

I am working on the PM'ed bug now.
 
Apologies for the lack of progress. To make up for it yesterday I added ten new items to drop tables:

68.png
69.png
70.png
71.png
72.png
73.png
74.png
75.png
76.png
77.png


They can all only be obtained by battles.



The private messaging system is up, with a few changes which I needed to make to allow game things such as sending messages to players on certain events. I will find a place for it soon but for now use this link:

http://vengeance-rpg.com/v/ucp.php?i=pm&folder=inbox

I am working on something that will use it. Trading!



To show why trading is taking so long, take a look at this unfinished script:

<?php // trading.php


// part one: second hand store

function shs_in_stock($id)
{
global $db, $user;
$sql = "SELECT * FROM `U336282`.`trade_shs_items` WHERE item_id='".$id."' LIMIT 1";
$result = $db->sql_query($sql);
while ($row2 = $db->sql_fetchrow($result))
{
if ($row2['item_id'] == $id)
{
return true;
}
else
{
return false;
}
}
}

function sell_item_to_shs($id)
{
global $db, $user;

if (item_owned($id))
{
$sql = "SELECT * FROM `U336282`.`guildwars_items` WHERE id='".$id."' LIMIT 1";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$switch = $row['switch'];
$buyable = $row['sell'];
}

if (($buyable == "1") && ($switch == "0") && ($id != "14")) {
$sql = "INSERT INTO `trade_shs_items` (item_id, user_id) VALUES ('".$id."', '".$user->data['user_id']."')";
$db->sql_query($sql);
remove_item($id);

$sql = "SELECT * FROM `U336282`.`guildwars_items` WHERE id='".$id."' LIMIT 1";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$price = $row['price'];
}

add_gold($user->data['user_id'], (int)($price / 2));
if (count_shs_items >= 32)
{
$sql = "DELETE FROM `U336282`.`trade_shs_items` WHERE 1 ORDER BY `id` ASC LIMIT 1";
}
$db->sql_query($sql);
header('Location: http://vengeance-rpg.com/v/page.php?p=s ... #39;.$id.&#39;&s');
} else {
header('Location: http://vengeance-rpg.com/v/page.php?p=e ... sell&#39;&#41;;
}
}
else {
header('Location: http://vengeance-rpg.com/v/page.php?p=e ... sell&#39;&#41;;
}
}

function buy_item_from_shs($id)
{
global $db, $user;

if (shs_in_stock($id))
{
$sql = "SELECT * FROM `U336282`.`guildwars_items` WHERE id='".$id."' LIMIT 1";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$price = $row['price'];
}

$gold = get_game_var('gold');
if ($gold >= ($price / 2))
{
$gold -= (int)($price / 2);
add_item($id);
set_game_var('gold', $gold);
header('Location: http://vengeance-rpg.com/v/page.php?p=s ... #39;.$id.&#39;');
}

$sql = "DELETE FROM `U336282`.`trade_shs_items` WHERE item_id='".$id."' LIMIT 1";
$db->sql_query($sql);
}
}

function list_my_shs_items()
{
global $db, $user, $config, $cache;

echo "<center><b>Tat Exchange</b></center><br /><img src='http://bb.hbgames.tk/upload/shopowner_port_fishing.png' /> \"Please choose an item to sell, I'll give you what I think it's worth.\"<br /><br />";


$sql = "SELECT * FROM `U336282`.`guildwars_owneditems` WHERE user_id=".$user->data['user_id']." ";
$result = $db->sql_query($sql);
$array = array();
$i = 0;
while ($row = $db->sql_fetchrow($result))
{
$j = $row['item_id'];
$array[$i] = $j;
$i++;
}
for ($i=0; $i>count($array); $i++)
{
$array[$i] = get_item_data($array[$i]);
}

for ($i = 0; $i < count($array); $i++)
{
if ($array[$i] != "0") {
echo "<a href='http://vengeance-rpg.com/v/action.php?tatsell=".$array[$i]."' title='Price: ".ceil(get_item_cost($array[$i]) / 2)." gold'><img title=\"".$title."\" alt=\"".$title."\" src='http://www.vengeance-rpg.com/v/images/items/" . $array[$i] . ".png' /></a> "; }
}
}

function list_shs_items()
{
global $db, $user;

echo "<center><b>Tat Exchange</b></center><br /><img src='http://bb.hbgames.tk/upload/shopowner_port_fishing.png' /> \"Feel free to browse the general tish-tosh that players have sold to me.\"<br /><br />";

$sql = "SELECT * FROM `U336282`.`trade_shs_items` ORDER BY `id` ASC";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
echo "<a href='http://vengeance-rpg.com/v/action.php?tatbuy=".$row['item_id']."' title='Price: ".ceil(get_item_cost($row['item_id']) / 2)." gold'><img title=\"".$title."\" alt=\"".$title."\" src='http://www.vengeance-rpg.com/v/images/items/" . $row['item_id'] . ".png' /></a> ";
}
}

function count_shs_items()
{
global $db, $user;

$sql = "SELECT COUNT(*) AS `bcount` FROM `U336282`.`trade_shs_items`";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
return $row['bcount'];
}
}






// TRADING TRADING TRADING TRADING

function list_cache()
{
global $db, $user;

$sql = "SELECT * FROM `U336282`.`trade_cache` WHERE user_id='".$user->data['user_id']."'";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
echo "<a href='http://vengeance-rpg.com/v/action.php?tradeto=".$_GET['tradeto']."&tradecachedel=".$row['item_id']."' title='Remove item from trade'><img src='http://www.vengeance-rpg.com/v/images/items/" . $row['item_id'] . ".png' /></a> ";
}
}

function list_items_to_cache()
{
global $db, $user, $config, $cache;

$sql = "SELECT * FROM `U336282`.`guildwars_owneditems` WHERE user_id='".$user->data['user_id']."' ";
$result = $db->sql_query($sql);
$array = array();
$i = 0;
while ($row = $db->sql_fetchrow($result))
{
$j = $row['item_id'];
$array[$i] = $j;
$i++;
}
for ($i=0; $i>count($array); $i++)
{
$array[$i] = get_item_data($array[$i]);
}

for ($i = 0; $i < count($array); $i++)
{
if ($array[$i] != "0") {
echo "<a href='http://vengeance-rpg.com/v/action.php?tradeto=".$_GET['tradeto']."&tradecacheadd=".$array[$i]."' title='Add item to trade'><img src='http://www.vengeance-rpg.com/v/images/items/" . $array[$i] . ".png' /></a> "; }
}
}

function add_to_cache($id)
{
global $user, $db;

$count = 0;
$to_id = (int)$_GET['tradeto'];

$sql = "SELECT COUNT(*) AS counted FROM `U336282`.`trade_cache` WHERE user_id='".$id."'";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result)) { $count = $row['counted']; }
if ((int)$count < 8)
{

if (item_owned($id))
{
$sql = "SELECT * FROM `U336282`.`guildwars_items` WHERE id='".$id."' LIMIT 1";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$switch = $row['switch'];
$buyable = $row['buy'];
}

if (($buyable == "1") && ($switch == "0")) {
$sql = "INSERT INTO `trade_cache` (item_id, user_id) VALUES ('".$id."', '".$user->data['user_id']."')";
$db->sql_query($sql);
remove_item($id);
}
}}
header('Location: http://vengeance-rpg.com/v/page.php?p=i ... ;.$to_id.&#39;');
}

function item_in_cache($id)
{
global $db, $user;
$sql = "SELECT * FROM `U336282`.`trade_cache` WHERE item_id='".$id."' AND user_id='".$user->data['user_id']."' LIMIT 1";
$result = $db->sql_query($sql);
while ($row2 = $db->sql_fetchrow($result))
{
if ($row2['item_id'] == $id)
{
return true;
}
else
{
return false;
}
}
}

function take_from_cache($id)
{
global $user, $db;

$to_id = (int)$_GET['tradeto'];

if (item_in_cache($id))
{
$sql = "DELETE FROM `U336282`.`trade_cache` WHERE item_id='".$id."' AND user_id='".$user->data['user_id']."' LIMIT 1";
$db->sql_query($sql);
add_item($id);
}

header('Location: http://vengeance-rpg.com/v/page.php?p=i ... ;.$to_id.&#39;');
}

function send_trade_request($to, $from, $gold)
{
global $user, $db;

$sql = "INSERT INTO `trade_requests` (to_id, from_id, gold) VALUES ('".$to."', '".$from."', '".$gold."')";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result)) { $tradeid = $row['id']; }

$sql = "SELECT * FROM `trade_cache` WHERE user_id='".$user->data['user_id']."'";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$sql = "INSERT INTO `trade_items` (item_id, user_id, trade_id) VALUES ('".$row['item_id']."', '".$user->data['user_id']."', '".$tradeid."')";
$db->sql_query($sql);
}

// clear cache

$sql = "DELETE FROM `U336282`.`trade_cache` WHERE user_id='".$user->data['user_id']."'";
$db->sql_query($sql);
}

function deny_trade_request()
{
}

function send_trade_reply($to, $from, $gold)
{
global $user, $db;

$sql = "SELECT * FROM `trade_requests` WHERE trade_id='".$tradeid."'";
$result = $db->sql_query($sql);
$reply = 0;
while ($row = $db->sql_fetchrow($result))
{
$reply = $row['reply'];
if ($reply == 1)
{
die("Trade error: this trade has already been replied to?");
}
}

$sql = "INSERT INTO `trade_reply` (to_id, from_id, gold) VALUES ('".$to."', '".$from."', '".$gold."')";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result)) { $tradeid = $row['id']; }

$sql = "SELECT * FROM `trade_cache` WHERE user_id='".$user->data['user_id']."'";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$sql = "INSERT INTO `trade_replyitems` (item_id, user_id, trade_id) VALUES ('".$row['item_id']."', '".$user->data['user_id']."', '".$tradeid."')";
$db->sql_query($sql);
}

// clear cache

$sql = "DELETE FROM `U336282`.`trade_cache` WHERE user_id='".$user->data['user_id']."'";
$db->sql_query($sql);
}

function deny_trade_reply()
{
}

function accept_trade_reply($tradeid)
{
global $db, $user;

$reply = 0;

$sql = "SELECT * FROM `trade_requests` WHERE trade_id='".$tradeid."'";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$reply = $row['reply'];
if ($reply == 0)
{
die("Trade error: this trade has not been replied to?");
}

$to = $row['to_id'];
$from = $row['from_id'];

add_gold($row['gold'], $to);
}

$sql = "SELECT * FROM `trade_reply` WHERE trade_id='".$tradeid."'";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
add_gold($row['gold'], $from);
}

$sql = "SELECT * FROM `trade_items` WHERE trade_id='".$tradeid."'";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
add_item($row['item_id'], $to);
}

$sql = "SELECT * FROM `trade_replyitems` WHERE trade_id='".$tradeid."'";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
add_item($row['item_id'], $from);
}

$sql = "DELETE FROM `U336282`.`trade_items` WHERE trade_id='".$tradeid."'";
$db->sql_query($sql);
$sql = "DELETE FROM `U336282`.`trade_replyitems` WHERE trade_id='".$tradeid."'";
$db->sql_query($sql);
$sql = "DELETE FROM `U336282`.`trade_reply` WHERE trade_id='".$tradeid."'";
$db->sql_query($sql);
$sql = "DELETE FROM `U336282`.`trade_requests` WHERE trade_id='".$tradeid."'";
$db->sql_query($sql);
}

?>







lolllllllll
 

Ares

Member

Looking good!
But I've encountered a problem: I wanted to post a reaction on the forums but I couldn't post. Then I remembered I had to enable it in the Settings tab. So I clicked "allow forum posting", but it just redirected me to an empty page. (I tried it in Chrome, IE, and Firefox)
 
Oh, you should be able to, according to your profile. I will have to have a look, sorry about that.



I am going to be working on trade logs and battle logs soon. Should I make these public? Or, public but anonymous? Or just mod only?
 
I think battle logs should be public, trade logs I'm not so sure on some I guess it depends on how trading works if its between two people I think logs should be private however if its a public trade system (Auction House, Grand Exchange, etc) then logs would be fine.
 
Since we now have two Knights I'm going to have to get around to adding some paid perks. Appreciate suggestions but I have a lot in mind.

I'm still working on trading, and some battle improvements will come soon.
 
Soon. I am waiting until I've made some actual paid content before charging.

The paid ed I was planning on £5 with an introductory offer of £4 but I think four quid might be way too cheap thinking about it. I think a fiver is fair. It would be a one-time fee.
 
found a glitch with the tat exchange.
I sold some tattered robes, i got the gold for it but it didn't take the robes from my inventory
 
Status
Not open for further replies.

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top