View Full Version : Mod: Currency
Magnie
03-04-2010, 09:50 PM
Well, you know everyone is wanting a currency mod ( Including me )? Well, I've figured out how to make one, so I decided to show everyone how to have one. Do note, all this will do, is give you a currency and allow you to increase it by clicking/leveling adoptables. You will have to make all the extensions for it yourself. :P But I guess I will be willing to help you make one if you ask ( nicely xD ). :D
Step 1: Make the currency table.
Open up your MySql then find "Query" ( I have no idea how you access your MySql DB or what it looks like, so you'll need to find stuff yourself ) It should allow you to run a MySql Query, the query I want you to run is this:
ALTER TABLE users
ADD money INT(11) NULL DEFAULT '0'
Change 'users' to whatever you "prefix" is plus 'users'. Mine is adopt_users. Just an example. :P Then change 'money' to whatever currency you want, then run it. :)
Step 2: Make it so you get money for clicking on adopts.
There is a file called 'levelup.php'. Open that up then go to line 98, it should be a "}". Then after that, copy and paste then edit to your desires ( You can add some enters to keep everything clean :P ):
$query = "SELECT * FROM ".$prefix."users WHERE username = '".$loggedinname."'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i=0;
while ($i < 1) {
$money=@mysql_result($result,$i,"money");
$i++;
}
Now change the money variable to whatever you want, but change the second 'money' to the same as the one in the in Step 1 where you named the currency. :D Okay, now go to line 162 it should say:
$newclicks = $totalclicks + 1; // Add 1 click to the current click total of this adoptable...
Now after that add:
$newmoney = $money + 10;
Then go to line 168 and it should say:
mysql_query($query);
Then after that add:
$query = "UPDATE ".$prefix."users SET money='".$newmoney."' WHERE username = '".$loggedinname."'";
mysql_query($query);
Then that should be it for 'levelup.php'
Step 3: Fixing other files...
There may be some files that need fixing, like the 'register.php' file. We will need to fix it so other people can register. :D Go to line 182, it should say:
mysql_query("INSERT INTO ".$prefix."users VALUES ('', '$username', '$pass1','$email','3','1', '$date', '0','','','','','')");
and replace it with:
mysql_query("INSERT INTO ".$prefix."users VALUES ('', '$username', '$pass1','$email','3','1', '$date', '0','','','','','','0')");
There may be some other files that need fixing, but I have no idea, or I don't remember. So if you notice any problems, please tell me and I'll figure it out. O.O
A simple 3 Step tutorial thingy on how to make a currency mod. :D
Please note, it is not my fault if you mess up your website. I messed mine up and had to remake it. So make sure you have some sort of Backup or something. :D Or, just try it on another website. ;)
redheadturkey
03-05-2010, 10:35 AM
wow that's really fantastic!!
thank you for posting all that, I am sure it's going to be a tremendous help to people --- thanks!! Gonna try it out in a bit here and give it a test run, and yes, I always make sure to back up everything, haha!
Magnie
03-05-2010, 06:42 PM
Thanks! Yeah, I noticed people wondering it too and I did also, so I tried to find out myself. :P Yeah, I tend not to back things up... so... I loose stuff sometimes, but not too often cause I remember, or find out what's wrong. :)
Seapyramid
03-08-2010, 11:38 PM
I am not good at explaining mods but I tried to make this one fool-prrof. :) So far noone has had a problem. :)
Sea
SieghartZeke
03-09-2010, 06:32 AM
There is the possibility of add Some words when you click the adopt....like:
"You have received 25 Gp to level up this character...now you have 5000 Gp?"
Magnie
03-09-2010, 10:11 AM
Sea: What do you mean Fool-Proof?
Zeke:
Go to line 243 in 'levelup.php'. It should say ( Or look for it around line 243 ):
$article_content = "<img src='".$image."'><br>".$lang_gave."".$name." one ".$lang_unit.".<br>".$lang_levelup_encourage;
And after that add this line:
$article_content = $article_content."<br>You have received [Amount of currency Earned] [Currency Name] and now have ".$newmoney." [Currency Name]."
Change '[Amount of currency Earned]' and '[Currency Name]' to what it says. ;)
On Step 2 it tells you to put '$newmoney = $money + 10' set '$newmoney' and '$money' in the above code to whatever you put for Step 2.
Hope that Helps! :D
SieghartZeke
03-16-2010, 06:34 AM
Err...Dont work the currency in my site!!
I Get an error when i go to lvl up a pet!
What i have errated??
Magnie
03-16-2010, 11:46 PM
First thing you do when you have a problem. You post the error(s). ;)
SieghartZeke
03-23-2010, 08:44 AM
Oh-Oh...
Is not possible that you add for the cash code in my level up 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);
// 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,$templ ate);
$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
// ************************************************** ********************
?>
Magnie
04-01-2010, 11:07 PM
I guess I could do it for you... I'll get it done asap. :)
sensacion
05-03-2010, 07:17 PM
and how do I receive the coins on the web
Skullette
05-21-2010, 04:15 AM
How do I add/edit a user's cash? Do I have to add that? And how can we display the amount of cash in the sidebar? Anndd... How do add a cost to an adoptable? (if user has 1800 cash and adopts adoptable which costs 800 cash, user will have 1000 cash left)
Thanks for the mod... :D
Magnie
06-05-2010, 10:05 AM
Sensacion: What do you mean?
Skullette: Er... Yes, you have to add these things yourself. I was only giving out the cash part.
I posted somewhere about adding the cash to the side panel, I don't remember where...
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.