Jump to content
MakeWebGames

Recommended Posts

  • Replies 52
  • Created
  • Last Reply

Top Posters In This Topic

Posted
<?php

$macropage = "gym.php";
include "globals.php";
global $db, $h, $ir, $userid;

if ($ir['hospital']) 
{ 
echo "

You cannot access the gym whilst in hospital</p>";
$h->endpage();
exit;
}

$prefs   = isset($_SESSION['gymprefs']) ? $_SESSION['gymprefs'] : array('what' => "all", 'expend' => "100%");
$what    = $prefs['what'];
$expend  = $prefs['expend'];
$message = false;
$sql     = sprintf("SELECT us.strength, us.agility, us.guard, us.labour, u.energy, u.will, u.jail FROM users u LEFT JOIN userstats us ON (u.userid = us.userid) WHERE (u.userid = %u) AND (u.user_level < 3)", $userid);
$row     = $db->fetch_row($db->query($sql));
$formID  = preg_replace("`^([0-9A-F]{8})([0-9A-F]{4})([0-9A-F]{4})([0-9A-F]{4})([0-9A-F]{12})$`ms", "{\\1-\\2-\\3-\\4-\\5}", strtoupper(md5(serialize(array(session_id(), "Gym", null)))));

if (isset($_POST['formID']) && is_string($_POST['formID']) && ($_POST['formID'] === $formID))
{
$what    = isset($_POST['what']) && is_string($_POST['what']) && preg_match("`^((all)|(strength)|(agility)|(guard)|(labour))$`ims", $_POST['what']) ? strtolower($_POST['what']) : $what;
$expend  = isset($_POST['expend']) && is_string($_POST['expend']) && preg_match("`^((100%)|(75%)|(50%)|(25%)|(value))$`ims", $_POST['expend']) ? strtolower($_POST['expend']) : $expend;
$value   = isset($_POST['value']) && is_string($_POST['value']) && preg_match("`^\d+$`ims", $_POST['value']) ? @intval($_POST['value']) : 0;
$sql     = sprintf("SELECT energy, will FROM users WHERE (userid = %u)", $userid);
$rs      = $db->query($sql);	
$info    = $db->fetch_row($rs);
$energy  = $row['energy'];
$will    = $row['will'];

switch ($expend)
{
	case "100%":	$value = $row['energy'];		break;
	case "75%":		$value = $row['energy'] * 0.75;	break;
	case "50%":		$value = $row['energy'] * 0.50;	break;
	case "25%":		$value = $row['energy'] * 0.25;	break;
	default:										break;
}

$value = floor($value);

if ($value > $row['energy'])
	$message = "<span style='color:#C00;'>You don't have enough energy</span>";
else
{
	$prefs = array('what' => $what, 'expend' => $expend);
	$gain  = 0;
	$will  = $row['will'];

	for ($i = 0; $i < $value; $i++)
	{
		$gain += mt_rand(1, 3) / mt_rand(500, 900) * mt_rand(500, 900) * (($will + 20) / 150);
		$will  = max(0, $will - mt_rand(1, 3));
	}

	if ($row['jail'])
		$gain *= 0.5;

	$row['will']    = floor($will);
	$row['energy'] -= $value;

	switch ($what)
	{
		case "all":
			$message = sprintf("<span style='color:#070;'>You gain %s in each stat</span>", number_format($gain * 0.25, 2));
			$row['strength'] += $gain * 0.25;
			$row['agility']  += $gain * 0.25;
			$row['guard']    += $gain * 0.25;
			$row['labour']   += $gain * 0.25;
			break;

		case "strength":
			$message = sprintf("<span style='color:#070;'>You gain %s in strength</span>", number_format($gain, 2));
			$row['strength'] += $gain;
			break;				

		case "agility":
			$message = sprintf("<span style='color:#070;'>You gain %s in agility</span>", number_format($gain, 2));
			$row['agility'] += $gain;
			break;				

		case "guard":
			$message = sprintf("<span style='color:#070;'>You gain %s in guard</span>", number_format($gain, 2));
			$row['guard'] += $gain;
			break;				

		case "labour":
			$message = sprintf("<span style='color:#070;'>You gain %s in labour</span>", number_format($gain, 2));
			$row['labour'] += $gain;
			break;
	}

	$sql1 = sprintf("UPDATE userstats SET strength = %.6f, agility = %.6f, guard = %.6f, labour = %.6f WHERE (userid = %u)", $row['strength'], $row['agility'], $row['guard'], $row['labour'], $userid);
	$sql2 = sprintf("UPDATE users SET will = %u, energy = %d WHERE (userid = %u)", $row['will'], $row['energy'], $userid);

	$db->query($sql1);
	$db->query($sql2);
}				

$_SESSION['gymprefs'] = $prefs;
}

$row['ranks'] = array
(
'strength' => $db->fetch_single($db->query(sprintf("SELECT COUNT(userid) FROM userstats WHERE (strength > %.6f)", $row['strength']))) + 1,
'agility'  => $db->fetch_single($db->query(sprintf("SELECT COUNT(userid) FROM userstats WHERE (agility > %.6f)", $row['agility']))) + 1,
'guard'    => $db->fetch_single($db->query(sprintf("SELECT COUNT(userid) FROM userstats WHERE (guard > %.6f)", $row['guard']))) + 1,
'labour'   => $db->fetch_single($db->query(sprintf("SELECT COUNT(userid) FROM userstats WHERE (labour > %.6f)", $row['labour']))) + 1,
'total'    => $db->fetch_single($db->query(sprintf("SELECT COUNT(userid) FROM userstats WHERE (strength + agility + guard + labour > %.6f)", $row['strength'] + $row['agility'] + $row['guard'] + $row['labour']))) + 1,
);

echo "<style type='text/css'>";
echo "#gym { }";
echo "#gym h3, #gym p { }";
echo "#gym table { width:90%;border-collapse:collapse; }";
echo "#gym th { border:solid 1px #333;background:#F6F6F6 url(th.png);padding:3px;color:#333; }";
echo "#gym td { border:solid 1px #CCC;padding:3px;color:#CCC; }";
echo "#gym { }";
echo "</style>";

echo "<div id='gym'>";
echo sprintf("<h3>%sGym</h3>", $ir['jail'] ? "Jail " : "");

if ($message)
echo sprintf("

%s</p>", $message);

echo "<form name='train' id='train' action='gym.php' method='post' style='padding:0;margin:0;'>";
echo sprintf("<input type='hidden' name='formID' value='%s' />", $formID);
echo "<table cellpadding='0' cellspacing='0'>";
echo "<tr>";
echo "<th class='sub' style='width:50%;'>Train</th>";
echo "<th class='sub' style='width:50%;'>Expend</th>";
echo "</tr>";
echo "<tr>";
echo "<td style='line-height:200%;'>";
echo sprintf("<input type='radio' name='what' id='what0' value='all' %sstyle='vertical-align:middle;' /><label for='what0' style='cursor:pointer;'>All (25%% energy in each) [Rank #%s]</label>
", $what === "all" ? "checked='checked' " : "", number_format($row['ranks']['total']));
echo sprintf("<input type='radio' name='what' id='what1' value='strength' %sstyle='vertical-align:middle;' /><label for='what1' style='cursor:pointer;'>Strength (%s) [Rank #%s]</label>
", $what === "strength" ? "checked='checked' " : "", number_format($row['strength']), number_format($row['ranks']['strength']));
echo sprintf("<input type='radio' name='what' id='what2' value='agility' %sstyle='vertical-align:middle;' /><label for='what2' style='cursor:pointer;'>Agility (%s) [Rank #%s]</label>
", $what === "agility" ? "checked='checked' " : "", number_format($row['agility']), number_format($row['ranks']['agility']));
echo sprintf("<input type='radio' name='what' id='what3' value='guard' %sstyle='vertical-align:middle;' /><label for='what3' style='cursor:pointer;'>Guard (%s) [Rank #%s]</label>
", $what === "guard" ? "checked='checked' " : "", number_format($row['guard']), number_format($row['ranks']['guard']));
echo sprintf("<input type='radio' name='what' id='what4' value='labour' %sstyle='vertical-align:middle;' /><label for='what4' style='cursor:pointer;'>Labour (%s) [Rank #%s]</label>
", $what === "labour" ? "checked='checked' " : "", number_format($row['labour']), number_format($row['ranks']['labour']));
echo "</td>";
echo "<td style='line-height:200%;'>";
echo sprintf("<input type='radio' name='expend' id='expend0' value='100%%' %sstyle='vertical-align:middle;' /><label for='expend0' style='cursor:pointer;'>100%% Energy</label>
", $expend === "100%" ? "checked='checked' " : "");
echo sprintf("<input type='radio' name='expend' id='expend1' value='75%%' %sstyle='vertical-align:middle;' /><label for='expend1' style='cursor:pointer;'>75%% Energy</label>
", $expend === "75%" ? "checked='checked' " : "");
echo sprintf("<input type='radio' name='expend' id='expend2' value='50%%' %sstyle='vertical-align:middle;' /><label for='expend2' style='cursor:pointer;'>50%% Energy</label>
", $expend === "50%" ? "checked='checked' " : "");
echo sprintf("<input type='radio' name='expend' id='expend3' value='25%%' %sstyle='vertical-align:middle;' /><label for='expend3' style='cursor:pointer;'>25%% Energy</label>
", $expend === "25%" ? "checked='checked' " : "");
echo sprintf("<input type='radio' name='expend' id='expend4' value='value' %sstyle='vertical-align:middle;' onclick='document.train.value.focus();' /><label for='expend4' style='cursor:pointer;'><input type='text' id='value' name='value' value='{$row['energy']}' size='8' onfocus='this.select();' /> Energy</label>
", $expend === "value" ? "checked='checked' " : "");//(C)2008,Nyna
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan='2' style='text-align:center;padding:6px;'>";
echo "<input type='submit' name='submit' value='Train' />";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</form>";
echo "</div>";
echo "<p style='color:#CCC;'>An open-source extension from [url='http://nyna.co.uk/']Nyna[/url]</p>";

$h->endpage();

?>
Posted

nyna owns nyna.co.uk and when you whois that domain the Registrant: Nyna Zpsneynar

Nothing weird there...

Lets play with some basic encryptions

rot13: Nyna Zpsneynar => Alan Mcfarlane

I seem to have forgot the website which is his website.

Nyna/Alan was a very good programmer and did make some interesting work, Advanced beyond most on MWG/CE.

Posted

Look above in the post, it adds a link to her website. She also made a decent slots mod as well. I see it in games as well. I miss her, as she was a good coder, and a decent person.

Posted
I have seen this gym on 3 games I play...I have adopted it myself!

Anyone know where I can get in touch with him/her/them?

You'll have problems getting in contact with Nyna, seems like his/her mail server wont accept mail, his/her site was down in 2009 and bought backup this year.

Posted

Is it wrong to want to hide your identity online?

Are you not wanting to keep yourself safe from online predators of information (or more)?

I, personally, couldn't give a crap what people find out about me, I have very little to hide.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...