Really looking forward to this. Thanks Sea.Seapyramid said:You are allowed & Bloodrun was supposed to be posting it here, but he has been very busy with school. I just got back from vacation and since it is not yet available I will work on creating a downloadable version & tutorial for it.
Sea
Bloodrun said:Class is over, and I am currently trying to find all my old files to get back to coding/posting things that I needed to post.
I was not thinking ahead of time, and I didn't organize correctly. I apologize for the long wait.
<?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()
// **********************************************************************
// **********************************************************************
// Define our ads by calling getads()
// **********************************************************************
// **********************************************************************
// Grab any dynamic article content from the content table
// **********************************************************************
$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 {
$image = getcurrentimage($id);
$article_title = $lang_gave . "" . $name . " one " . $lang_unit;
$article_content = "<br /><br /><img src='" . $image . "'><br /><br />" . $name . " was already at maximun training.";
// Adoptable is NOT frozen, so I think we can actually proceed with the leveling up of this adoptable...
// Add 1 click to the current click total of this adoptable...
$newclicks = $totalclicks + 1;
// 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) {
// The number of clicks required for the next level
$requiredclicks = @mysql_result($result, $i, "requiredclicks");
$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...
// Get the ID of the parent type adoptable
$parentid = converttypetoparentid($type);
// Check if we are using alternate images or not...
$altstatus = getaltstatus($parentid, $id, $nextlevel);
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
$image = getcurrentimage($id);
$article_title = $lang_gave . "" . $name . " one " . $lang_unit;
$article_content = "<br /><br /><img src='" . $image . "'><br /><br />";
}
// ************************************************
// Start Rewards
// ************************************************
//Get currency on level up
$query = "SELECT * FROM `adopts_users` WHERE `username`='$loggedinname'";
$result = mysql_query($query);
$num = mysql_numrows($result);
$i = 0;
while ($i < 1) {
$money = @mysql_result($result, $i, "money");
// Change this number 10 to the number of currency you want users to earn on level up
$newbalance = $money + 2;
$i++;
}
mysql_query("UPDATE `adopts_users` SET `money`='" . $newbalance . "' WHERE `username`='$loggedinname'");
$article_content = $article_content . "<div align='center'><br />You have earned 2 Gold Pieces for leveling up this pet. <br />You now have " . $newbalance . " Gold Pieces.</div>";
// **********************************************************************
// End Level Up - Begin Random for Gifts
// **********************************************************************
// Now we have to connect to the database and get information about the adoptable
$query = "SELECT * FROM " . $prefix . "adoptables WHERE id='45'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i = 0;
while ($i < 1) {
$aid = @mysql_result($result, $i, 'id');
//The adoptable's ID
$type = @mysql_result($result, $i, 'type');
$description = @mysql_result($result, $i, 'description');
$eggimage1 = @mysql_result($result, $i, 'eggimage');
$i++;
}
// This is where we actually determine if member has won a special pet...
$randnum = rand(1, 6500);
if ($randnum == 1009) {
$canadopt = 'yes';
// If we pull a 1 as the random number, they won :)
} else {
$canadopt = 'no';
}
if ($canadopt == 'no') {
$article_content = $article_content . $lang_levelup_gift_no;
}
elseif ($canadopt == 'yes') {
$code = rand(1, 20000);
mysql_query('INSERT INTO ' . $prefix . "owned_adoptables VALUES ('', 'Centaur Scribe', 'Centaur Scribe','$loggedinname','0','0','$code', '','no','trade','no','no','no','no','Centaur','civil','civil','0','','','20','','no','0','0')");
// Adoption complete, show the user a confirmation screen...
// We need to show the adoptable info from the database...
$query = 'SELECT * FROM ' . $prefix . "owned_adoptables WHERE code='$code' and owner='$loggedinname'";
$result = mysql_query($query);
$num = mysql_numrows($result);
//Loop out code
$i = 0;
while ($i < 1) {
$id = @mysql_result($result, $i, 'aid');
$i++;
$article_content = $article_content . $lang_levelup_gift_pixie;
// *************************************
// End Rewards
// *************************************
}
// show a thank you message along with the adoptable's information to the user...
// Get the current image of the adoptable...
$article_content = $lang_gave . "" . $name . " one " . $lang_unit . "<br />" . $lang_levelup_encourage . $article_content;
}
// 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
// End Can Adopt ELSE
// **********************************************************************
// END the actual adoption process
// **********************************************************************
// **********************************************************************
// Begin Template Definition
// **********************************************************************
//Define our current theme
// Do the template changes and echo the ready template
$file = $themeurl;
$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
echo $template;
// **********************************************************************
// End Template Definition
// **********************************************************************
?>
Seapyramid said:Bloodrun said:Class is over, and I am currently trying to find all my old files to get back to coding/posting things that I needed to post.
I was not thinking ahead of time, and I didn't organize correctly. I apologize for the long wait.
Welcome Back Hope you did good on your finals! I have modified the levelup.php since the version I sent you to correct a few little things
PHP:<?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() // ********************************************************************** // ********************************************************************** // Define our ads by calling getads() // ********************************************************************** // ********************************************************************** // Grab any dynamic article content from the content table // ********************************************************************** $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 { $image = getcurrentimage($id); $article_title = $lang_gave . "" . $name . " one " . $lang_unit; $article_content = "<br /><br /><img src='" . $image . "'><br /><br />" . $name . " was already at maximun training."; // Adoptable is NOT frozen, so I think we can actually proceed with the leveling up of this adoptable... // Add 1 click to the current click total of this adoptable... $newclicks = $totalclicks + 1; // 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) { // The number of clicks required for the next level $requiredclicks = @mysql_result($result, $i, "requiredclicks"); $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... // Get the ID of the parent type adoptable $parentid = converttypetoparentid($type); // Check if we are using alternate images or not... $altstatus = getaltstatus($parentid, $id, $nextlevel); 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 $image = getcurrentimage($id); $article_title = $lang_gave . "" . $name . " one " . $lang_unit; $article_content = "<br /><br /><img src='" . $image . "'><br /><br />"; } // ************************************************ // Start Rewards // ************************************************ //Get currency on level up $query = "SELECT * FROM `adopts_users` WHERE `username`='$loggedinname'"; $result = mysql_query($query); $num = mysql_numrows($result); $i = 0; while ($i < 1) { $money = @mysql_result($result, $i, "money"); // Change this number 10 to the number of currency you want users to earn on level up $newbalance = $money + 2; $i++; } mysql_query("UPDATE `adopts_users` SET `money`='" . $newbalance . "' WHERE `username`='$loggedinname'"); $article_content = $article_content . "<div align='center'><br />You have earned 2 Gold Pieces for leveling up this pet. <br />You now have " . $newbalance . " Gold Pieces.</div>"; // ********************************************************************** // End Level Up - Begin Random for Gifts // ********************************************************************** // Now we have to connect to the database and get information about the adoptable $query = "SELECT * FROM " . $prefix . "adoptables WHERE id='45'"; $result = mysql_query($query); $num = mysql_numrows($result); //Loop out code $i = 0; while ($i < 1) { $aid = @mysql_result($result, $i, 'id'); //The adoptable's ID $type = @mysql_result($result, $i, 'type'); $description = @mysql_result($result, $i, 'description'); $eggimage1 = @mysql_result($result, $i, 'eggimage'); $i++; } // This is where we actually determine if member has won a special pet... $randnum = rand(1, 6500); if ($randnum == 1009) { $canadopt = 'yes'; // If we pull a 1 as the random number, they won :) } else { $canadopt = 'no'; } if ($canadopt == 'no') { $article_content = $article_content . $lang_levelup_gift_no; } elseif ($canadopt == 'yes') { $code = rand(1, 20000); mysql_query('INSERT INTO ' . $prefix . "owned_adoptables VALUES ('', 'Centaur Scribe', 'Centaur Scribe','$loggedinname','0','0','$code', '','no','trade','no','no','no','no','Centaur','civil','civil','0','','','20','','no','0','0')"); // Adoption complete, show the user a confirmation screen... // We need to show the adoptable info from the database... $query = 'SELECT * FROM ' . $prefix . "owned_adoptables WHERE code='$code' and owner='$loggedinname'"; $result = mysql_query($query); $num = mysql_numrows($result); //Loop out code $i = 0; while ($i < 1) { $id = @mysql_result($result, $i, 'aid'); $i++; $article_content = $article_content . $lang_levelup_gift_pixie; // ************************************* // End Rewards // ************************************* } // show a thank you message along with the adoptable's information to the user... // Get the current image of the adoptable... $article_content = $lang_gave . "" . $name . " one " . $lang_unit . "<br />" . $lang_levelup_encourage . $article_content; } // 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 // End Can Adopt ELSE // ********************************************************************** // END the actual adoption process // ********************************************************************** // ********************************************************************** // Begin Template Definition // ********************************************************************** //Define our current theme // Do the template changes and echo the ready template $file = $themeurl; $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 echo $template; // ********************************************************************** // End Template Definition // ********************************************************************** ?>
WARNING!!!! Anyone who tries to use this version of the levelup.php BEFORE Bloodrun modifies it and give instructions will find themselves with many problems.
Sea
Thread starter | Title | Forum | Replies | Date |
---|---|---|---|---|
Games With the Cash System | Suggestions and Feature Requests | 8 | ||
A | Cash System | Questions and Supports | 10 | |
S | Cash System | Addons/Mods Graveyard | 28 | |
Mys 1.3.4 Easy Change User Cash | Mys v1.3.x Mods | 2 | ||
Users able to give themselves cash or edit cost of items | Questions and Supports | 7 |