View Single Post
  #4  
Old 10-30-2012, 07:13 AM
Hedgen's Avatar
Hedgen Hedgen is offline
Member
 
Join Date: Oct 2012
Posts: 36
Gender: Male
Credits: 4,867
Hedgen is on a distinguished road
Default

Quote:
Originally Posted by Hall of Famer View Post
umm I was wondering how you modified your code tbh. If you are adding new item functions, its a good practice to add new functionalities in its corresponding function file rather than edit the main script files such as inventory.php.
I decided to just modify breeding.php since that seemed easier for me than figuring out how to make a new item function ^^' I don't really have any php knowledge but I do have basic programming college. (in college with software design as major)

The modified code for breeding.php:

Code:
<?php

include("functions/functions.php");
include("functions/functions_users.php");
include("functions/functions_adopts.php");
include("inc/lang.php");

//***************//
//  START SCRIPT //
//***************//

$breedinglevel = grabanysetting('breedinglevel');

$article_title = "Breeding System"; 
$article_content = "<p>You may breed your adoptables here. They must be at least a level {$breedinglevel} to be able to breed.</p>"; 

$femaleid = $_POST['female'];
$maleid = $_POST['male'];
$breed = $_POST['breed'];
$userstatus = getuserstatus($loggedinname);
//$idfemale1;
//$idfemale2;

if($isloggedin == "yes" and $userstatus['canbreed'] == "yes"){
    if ($breed != 'yes'){ // if they have not chosen which pets to breed yet, we let them choose
        $article_content .= "<p>Select the two adoptables that you'd like to breed:</p><form method='post'>"; 
		$lastweek = time() - ((grabanysetting('breedinginterval')) * 24 * 60 * 60);
		
		// show all available female adoptables
        $stmt = $adopts->select("owned_adoptables", array(), "owner = '{$loggedinname}' AND gender = 'f' AND currentlevel >= {$breedinglevel} AND lastbred <= '{$lastweek}'");
        $row = $stmt->fetchObject();
		if(is_object($row)){
            //Fetch the first row...
			$article_content .= "<p>Female: <select name='female'>
            <option value='{$row->aid}'>{$row->name} ({$row->type})</option>";
		$idfemale1 = $row->aid;
            // Continue to fetch more rows...
			while ($row = $stmt->fetchObject()) {
				$article_content .= "<option value='{$row->aid}'>{$row->name} ({$row->type})</option>";
			}
			$article_content .= "</select></p>";
		}
		else {
			$article_content .= "<p>None of your female adoptables can breed at the time.</p>";
		}
		
		// show all available male adoptables
		$stmt = $adopts->select("owned_adoptables", array(), "owner = '{$loggedinname}' AND gender = 'f' AND currentlevel >= {$breedinglevel} AND lastbred <= '{$lastweek}'");
        $row = $stmt->fetchObject();
		if (is_object($row)) {
			$article_content .= "<p>Female: <select name='male'>
                                 <option value='{$row->aid}'>{$row->name} ({$row->type})</option>";
			while ($row = $stmt->fetchObject()) {
				$article_content .= "<option value='{$row->aid}'>{$row->name} ({$row->type})</option>";
				//$idfemale2 = $row->aid;
			}
			$article_content .= "</select></p>";
		}
		else {
			$article_content .= "<p>None of your male adoptables can breed at the time.</p>";
		}
        $article_content .= "<input type='hidden' name='breed' value='yes'><input type='submit' value='Breed It'></form>";
    } 
    else {
		$female = $adopts->select("owned_adoptables", array(), "aid = '{$femaleid}'")->fetchObject();	
		$female_species = $adopts->select("adoptables", array(), "type = '{$female->type}'")->fetchObject();	
        $female_class = explode(",",$female_species->class);
		
		$male = $adopts->select("owned_adoptables", array(), "aid = '{$maleid}'")->fetchObject();	
		$male_species = $adopts->select("adoptables", array(), "type = '{$male->type}'")->fetchObject();
        $male_class = explode(",",$male_species->class);

		// let's check the requirements first.
        if(classcheck($female_class, $male_class) == "no"){//check if the male and female belong to the same breeding class
            $article_content = "Sorry, it seems that your two adoptables do not belong to the same breeding class.";
        }
        elseif(($female->currentlevel < (grabanysetting('breedinglevel'))) OR ($male->currentlevel < (grabanysetting('breedinglevel')))){ // check the adoptables' levels
            $article_content .= "Sorry, one of your adoptables don't have the minimum level to breed. Keep getting clicks for them so they can grow.";    
        } elseif ($female->aid == $male->aid) { //new
        $article_content .= "Sorry, you can not breed the same adoptable with itself.";
        }//end new
       // elseif($female->owner != $loggedinname or $male->owner != $loggedinname){ //commented these out so I wouldn't accidentally ban myself again
           // The adoptables do not belong to the owner... This user has apparently modified the content of drop-down form, and thus deserves his/her punishment
          // $ban = banuser($loggedinname);
          // $article_title = "An error has occurred";    
          // $article_content = "It appears that at least one of the adoptables selected do not belong to yours. You have been banned for this action, please contact site administrator for more info.";
        //}
        //elseif($female->gender != "f" or $male->gender != "m"){
           // The female's gender is male or male's gender is female? This user has apparently modified the content of drop-down form, and thus deserves his/her punishment
          // $ban = banuser($loggedinname);
          // $article_title = "An error has occurred";    
          // $article_content = "It appears that the female and/or male adoptables gender's have been modified. You have been banned for this action, please contact site administrator for more info.";              
       // }  
        else {
			// we choose the type!
			$types = array($female->type, $male->type);
			$typerand = rand(0,1);		
			
			// we choose the gender
			$genders = array('f','f');
			$genderrand = rand(0,1);				
            $code = codegen(10, 0);

			// MESSY - I'm blanking out on how to find the actual alt status stuff right now, any help would be lovely.
			$alts = getaltstatus($female_species->id, 0, 0);

			$time = time();
	        $adopts->insert("owned_adoptables", array("aid" => NULL, "type" => $types[$typerand], "name" => $types[$typerand], "owner" => $loggedinname, "currentlevel" => 0, "totalclicks" => 0, "code" => $code, 
			                "imageurl" => NULL, "usealternates" => $alts, "tradestatus" => 'fortrade', "isfrozen" => 'no', "gender" => $genders[$genderrand], "lastbred" => 0));
						
			$article_content = "Congratulations! Breeding is successful, you have acquired a baby {$types[$typerand]} from breeding center.
            <br><a href='myadopts.php'>Manage your new {$types[$typerand]} now!</a></p>";

			$adopts->update("owned_adoptables", array("lastbred" => $time), "aid = '{$femaleid}'");
			$adopts->update("owned_adoptables", array("lastbred" => $time), "aid = '{$maleid}'");
		
		} // we end the place where it goes on if the levels are ok
    } //this bracket ends the else where we find the male/female id's
}// this is the end of if($isloggedin == "yes")
elseif($isloggedin == "yes" and $userstatus['canbreed'] == "no"){
    $article_content .= "It appears that you have been banned from breeding your adoptables. Please contact an administrator for assistance.";   
}
else {
    $article_content .= "You are not logged in. Please log in to use this feature.";
}

//***************//
//  OUTPUT PAGE  //
//***************//

echo showpage($article_title, $article_content, $date);

?>

I will probaby modify the ban that talks about modifying the code to try breeding adoptables that aren't yours, and modify it into not banning but having a message "Big brother is now watching you for trying to breed adoptables that aren't yours"
__________________
I have some small tutorials Here that show things such as re-arranging the SIDEFEED and LINKSBAR, and redirecting people after login.
Reply With Quote