Ashje |
12-23-2009 11:55 PM |
Help with a mod
Hey guys,
I'm trying to make a currency mod. I've just started and added money to the users table as well as editing register.php to account for the new field. Now I've hit a snag on the levelup.php script. Here's what I have:
PHP Code:
<?php
// ********************************************************************** // Rusnak PHP Adoptables Script // Copyright 2009 Brandon Rusnak // For help and support: http://www.rusnakweb.com/forum/ // // Redistribution prohibited without written permission // **********************************************************************
// Wake the sleeping giant
// ********************************************************************** // Basic Configuration Info // **********************************************************************
include("inc/functions.php"); include("inc/config.php"); include("lang/lang.php");
$themeurl = grabanysetting("themeurl");
// ********************************************************************** // Define our top links by calling getlinks() // **********************************************************************
$links = getlinks();
// ********************************************************************** // Define our ads by calling getads() // **********************************************************************
$ads = getads("any");
// ********************************************************************** // Grab any dynamic article content from the content table // **********************************************************************
$pagecontent = getsitecontent("index"); $article_title = $pagecontent[title]; $article_content = $pagecontent[content]; $article_content = nl2br($article_content);
// ********************************************************************** // Grab any settings that we will need for the current page from the DB // **********************************************************************
$browsertitle = grabanysetting("browsertitle"); $sitename = grabanysetting("sitename"); $slogan = grabanysetting("slogan");
// ********************************************************************** // Check and see if the user is logged in to the site // **********************************************************************
$loginstatus = logincheck(); $isloggedin = $loginstatus[loginstatus]; $loggedinname = $loginstatus[username];
// ********************************************************************** // End Prepwork - Output the page to the user // **********************************************************************
$id = $_GET["id"]; $id = preg_replace("/[^a-zA-Z0-9s]/", "", $id); $id = secure($id);
if($id == "" or !is_numeric($id)){
// If the ID is blank or non-numeric, then it is invalid...
$article_title = $err_idnoexist; $article_content = $err_idnoexist_text;
} else{
// We have what appears to be a valid adoptable ID, so we pull the adoptable's information from the database...
$query = "SELECT * FROM ".$prefix."owned_adoptables WHERE aid='$id'"; $result = mysql_query($query); $num = mysql_numrows($result);
//Loop out code $i=0; while ($i < 1) {
$aid=@mysql_result($result,$i,"aid"); $type=@mysql_result($result,$i,"type"); $name=@mysql_result($result,$i,"name"); $totalclicks=@mysql_result($result,$i,"totalclicks"); $currentlevel=@mysql_result($result,$i,"currentlevel"); $usealternates=@mysql_result($result,$i,"usealternates"); $isfrozen=@mysql_result($result,$i,"isfrozen"); $owner=@mysql_result($result,$i,"owner");
$i++; }
if($aid == $id){
// The adoptable does exist, so now we need to see if we can vote... // We need to get the date today and the user's IP address (if is guest we use this)
$date = date('Y-m-d');
$ip = $_SERVER['REMOTE_ADDR']; $ip = preg_replace("/[^a-zA-Z0-9@._-]/", "", $ip); $ip = secure($ip);
$num = 0;
if($isloggedin == "yes"){
// If we are logged in, we check if a user with our username voted for this adoptable today...
$query = "SELECT * FROM ".$prefix."vote_voters WHERE adoptableid='$id' and username = '$loggedinname' and date = '$date'";
} else{
$query = "SELECT * FROM ".$prefix."vote_voters WHERE adoptableid='$id' and ip = '$ip' and date = '$date'";
} // End the is logged in check else statement
// Check what the number for the query is...
$result = mysql_query($query); $num = mysql_numrows($result);
if($num == 0){
// The number of results is still zero, so we did not vote on this adoptable yet today... // Now we see if the adoptable is frozen by its owner. If it is, we do not level...
if($isfrozen == "yes"){
$article_title = $lang_isfrozen_title; $article_content = $lang_isfrozen_explain;
} else{
// Adoptable is NOT frozen, so I think we can actually proceed with the leveling up of this adoptable...
$newclicks = $totalclicks + 1; // Add 1 click to the current click total of this adoptable...
// Actually insert our click information into the database...
$query = "UPDATE ".$prefix."owned_adoptables SET totalclicks='".$newclicks."' WHERE aid='".$id."'"; mysql_query($query);
// Currency Mod starts here
$query = "SELECT * FROM ".$prefix."users WHERE username='$loggedinname'"; $result = mysql_query($query); $num = mysql_numrows($result);
$money=@mysql_result($result,$i,"money");
// Change this number 10 to the number of currency you want users to earn on level up $money = $money + 10;
$query = "UPDATE ".$prefix."users SET 'money'='".$money."' WHERE 'username'='".$loggedinname."'"; mysql_query($query);
// Now we need to update our vote_voters table with the user's vote... mysql_query("INSERT INTO ".$prefix."vote_voters VALUES ('$date', '$loggedinname', '$ip','$id')");
// Now we need to see if we actually level this adoptable up... // See if another level actually exists...
$nextlevelexists = getnextlevelexists($type, $currentlevel);
if($nextlevelexists == "true"){
// A higher level does exist, so we see if it is time to level up
$nextlevel = $currentlevel + 1;
$query = "SELECT * FROM ".$prefix."levels WHERE adoptiename='$type' and thisislevel='$nextlevel'"; $result = mysql_query($query); $num = mysql_numrows($result);
//Loop out code $i=0; while ($i < 1) { $requiredclicks=@mysql_result($result,$i,"requiredclicks"); // The number of clicks required for the next level
$i++; }
// Check if the number of clicks we have now is greater than or equal to the required clicks to level up...
if($newclicks >= $requiredclicks and $requiredclicks != 0 and $requiredclicks != ""){
// We need to level this adoptable up...
$query = "UPDATE ".$prefix."owned_adoptables SET currentlevel='".$nextlevel."' WHERE aid='".$id."'"; mysql_query($query);
// Now we check if we are enabling alternate images... $parentid = converttypetoparentid($type); // Get the ID of the parent type adoptable $altstatus = getaltstatus($parentid, $id, $nextlevel); // Check if we are using alternate images or not...
if($altstatus == "yes"){
// We are enabling alternate images for this adoptable...
$query = "UPDATE ".$prefix."owned_adoptables SET usealternates='yes' WHERE aid='".$id."'"; mysql_query($query);
}
// Now we can see if the adoptable's owner gets a reward... // The reward function will take care of sending out any reward that exists...
$rewardstatus = reward($id, $type, $nextlevel, $owner);
} // End the if statement if we are leveling the adoptable up
}
// Show a thank you message along with the adoptable's information to the user...
$image = getcurrentimage($id); // Get the current image of the adoptable...
$article_title = $lang_gave."".$name." one ".$lang_unit; $article_content = "<img src='".$image."'><br>".$lang_gave."".$name." one ".$lang_unit.".<br>".$lang_levelup_encourage;
} // Adoptable is not frozen, end isfrozen else check
} else{
// We already voted on this adoptable today, so show an error...
if($isloggedin == "yes"){
$article_title = $lang_alreadyleveled_title; $article_content = $lang_member_alreadyleveled;
} else{
$article_title = $lang_alreadyleveled_title;; $article_content = $lang_guest_alreadyleveled;
}
}
} else{
// Adoptable is invalid, show an error...
$article_title = $err_idnoexist; $article_content = $err_idnoexist_text;
}
} // End the ID is not blank and is numeric else check
// ********************************************************************** // Begin Template Definition // **********************************************************************
//Define our current theme $file = $themeurl;
// Do the template changes and echo the ready template $template = file_get_contents($file);
$template = replace(':ARTICLETITLE:',$article_title,$template); $template = replace(':ARTICLECONTENT:',$article_content,$template); $template = replace(':ARTICLEDATE:',$article_date,$template);
$template = replace(':BROWSERTITLE:',$browsertitle,$template); $template = replace(':SITENAME:',$sitename,$template);
//Define our links $template = replace(':LINKSBAR:',$links,$template);
//Get the content for the side bar...
$sidebar = getsidebar(); $template = replace(':SIDEFEED:',$sidebar,$template);
//Get the ad content... $template = replace(':ADS:',$ads,$template);
//Get the slogan info $template = replace(':SLOGAN:',$slogan,$template);
echo $template;
// ********************************************************************** // End Template Definition // **********************************************************************
?>
More specifically the actual currency mod in that script is here:
PHP Code:
// Actually insert our click information into the database...
$query = "UPDATE ".$prefix."owned_adoptables SET totalclicks='".$newclicks."' WHERE aid='".$id."'"; mysql_query($query);
// Currency Mod starts here
$query = "SELECT * FROM ".$prefix."users WHERE username='$loggedinname'"; $result = mysql_query($query); $num = mysql_numrows($result);
$money=@mysql_result($result,$i,"money");
// Change this number 10 to the number of currency you want users to earn on level up $money = $money + 10;
$query = "UPDATE ".$prefix."users SET 'money'='".$money."' WHERE 'username'='".$loggedinname."'"; mysql_query($query);
// Now we need to update our vote_voters table with the user's vote...
mysql_query("INSERT INTO ".$prefix."vote_voters VALUES ('$date', '$loggedinname', '$ip','$id')");
But when I go to level up my adoptable, the money field doesn't update in my database.
Any help is appreciated. =D
Thanks,
Ashje
|