Mysidia Adoptables Support Forum  

Home Community Mys-Script Creative Off-Topic
Go Back   Mysidia Adoptables Support Forum > Mysidia Adoptables > Questions and Supports

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 04-17-2009, 08:03 PM
Seapyramid Seapyramid is offline
Premium Member
 
Join Date: Feb 2009
Posts: 373
Gender: Female
Credits: 15,579
Seapyramid
Default Freezing and limiting adoptables

Heya,

I am using the mod that allows only a set amount of "young" pets to be adopted at a time. Now with the freezing, if a user freezes a pet then I want to set it up so that pet no longer counts as one of their "young" so that members might have pets in many different stages and not be penalized for having them if they are frozen. What area of the tables would I need to look at to exclude frozen pets from the count as I do with "older" pets?

Sea
Reply With Quote
  #2  
Old 04-17-2009, 10:03 PM
Ashje Ashje is offline
Member
 
Join Date: Jan 2009
Posts: 179
Credits: 10,069
Ashje
Default RE: Freezing and limiting adoptables

I don't have the script, but it should work if you go to where it excludes the older ones, copy the script and replace "old" or whatever with freeze.
Reply With Quote
  #3  
Old 04-18-2009, 09:56 AM
Seapyramid Seapyramid is offline
Premium Member
 
Join Date: Feb 2009
Posts: 373
Gender: Female
Credits: 15,579
Seapyramid
Default RE: Freezing and limiting adoptables

Quote:
Originally Posted by Ashje
I don't have the script, but it should work if you go to where it excludes the older ones, copy the script and replace "old" or whatever with freeze.
Not that simple.. it now needs to look at the level, the amount and whether frozen or not.
Reply With Quote
  #4  
Old 04-18-2009, 11:48 AM
BMR777 BMR777 is offline
Member
 
Join Date: Jan 2011
Posts: 1,122
Gender: Male
Credits: 10,713
BMR777 is on a distinguished road
Default RE: Freezing and limiting adoptables

Look in functions.php, at the canadopt function.

If you wanted to make it where users can only adopt a certain number of this type of pet, however frozen ones of this type do not count, in functions.php you would find:

PHP Code:
if($morethannumberen == "enabled"){

    
$num 0;

    
$query "SELECT * FROM ".$prefix."owned_adoptables WHERE owner='$loggedinname' and type='$type'";
    
$result mysql_query($query);
    
$num mysql_numrows($result);

    if(
$num $morethannumber){

    
$canadopt "no";


    }


    } 
// End morethannumberen check 
Replace:

PHP Code:
$query "SELECT * FROM ".$prefix."owned_adoptables WHERE owner='$loggedinname' and type='$type'"
With:

PHP Code:
$query "SELECT * FROM ".$prefix."owned_adoptables WHERE owner='$loggedinname' and type='$type' and isfrozen='no'"
That will only count adoptables of that type that are NOT frozen. :)

Brandon
Reply With Quote
  #5  
Old 04-18-2009, 02:49 PM
Seapyramid Seapyramid is offline
Premium Member
 
Join Date: Feb 2009
Posts: 373
Gender: Female
Credits: 15,579
Seapyramid
Default RE: Freezing and limiting adoptables

Not Quite what I am needing...

This is a revision of the code I was using which was on the adopt page with the last version...

Code:
//Defines what level is used for mature count and number of babies user may adopt
$query = "SELECT * FROM adopts_owned_adoptables WHERE currentlevel < '5' and owner='$loggedinname' and isfrozen='no'";
$result = mysql_query($query);
$num = mysql_numrows($result);

if($num >= 5){

$article_title = "Your companions have you busy!";
//$article_date = date('Y-m-d');
$article_content = "<b>You have too many young companions!  Please <a href='myadopts.php'>help your young companions reach age 5 or higher</a> before 
adopting new companions.</b>";

}
You can see I have made some revisions but it is not working. I currently have it on the adopt.php page above the output for adoptables content as I had on the last version.

Sea
Reply With Quote
  #6  
Old 04-18-2009, 02:53 PM
BMR777 BMR777 is offline
Member
 
Join Date: Jan 2011
Posts: 1,122
Gender: Male
Credits: 10,713
BMR777 is on a distinguished road
Default RE: Freezing and limiting adoptables

It's not working how? Do you get an error at all or it just seems to be ignored?

I think the problem is that after your IF you don't have an else to proceed with the adoption. So, even if your condition is true then it is not obeyed as something else later overrides it.

It should be...

PHP Code:
if($num >= 5){

$article_title "Your companions have you busy!";
//$article_date = date('Y-m-d');
$article_content "<b>You have too many young companions!  
Please <a href='myadopts.php'>help your young companions reach age 5 or higher</a> 
before adopting new companions.</b>"
;

}
else{

// The code to actually adopt a pet goes here...
// Wrap my existing code inside the else statement.


Reply With Quote
  #7  
Old 04-18-2009, 05:37 PM
Seapyramid Seapyramid is offline
Premium Member
 
Join Date: Feb 2009
Posts: 373
Gender: Female
Credits: 15,579
Seapyramid
Default RE: Freezing and limiting adoptables

Still ignoring.. no errors.. just ignoring... larger section of code offered...

Code:
//Defines what level is used for mature count and number of babies user may adopt
$query = "SELECT * FROM adopts_owned_adoptables WHERE currentlevel < '5' and owner='$loggedinname' and isfrozen='no'";
$result = mysql_query($query);
$num = mysql_numrows($result);

if($num >= 5){

$article_title = "Your companions have you busy!";
//$article_date = date('Y-m-d');
$article_content = "<b>You have too many young companions!  Please <a href='myadopts.php'>help your young companions reach age 5 or higher</a> before 
adopting new companions.</b>";

}
else{
// Begin the output of all the adoptables to the user...

$query = "SELECT * FROM ".$prefix."adoptables ORDER By RAND() LIMIT 6";
$result = mysql_query($query);
$num = mysql_numrows($result);
}
//Loop out code
$i=0;
while ($i < $num) {

$aid=@mysql_result($result,$i,"id"); //The adoptable's ID
//$type=@mysql_result($result,$i,"type");
//$description=@mysql_result($result,$i,"description");
$eggimage=@mysql_result($result,$i,"eggimage");

// Call a function to check if we have the proper privledge level to adopt this pet
// This function checks all of the little conditions and makes sure they are present
// If they are not present, the adoptable is not shown here, as that would be cruel.
// We call the function with the showing flag to not deny the showing if the user is a guest.


if($promocode == ""){
$promocode = "none";
}

$canadopt = canadopt($aid, "showing", $promocode); // Feed an adoptable ID and showing, to show the adopt to guests...

if($canadopt == "yes"){

//If we can adopt the adoptable, show the image and adoption link...

$article_content = $article_content."
<a href='adopt.php?id=".$aid."'><img src='".$eggimage."' border='0'></a>&nbsp;&nbsp;";

	if($isloggedin == "yes"){
	$article_content = $article_content."&nbsp;";
	}
	else{
	$article_content = $article_content."<p><img src='templates/icons/no.gif' border=0> <b>".$guesterror."</b></p>";
	}


}

$i++;
} // End the looping out of all adoptables...
Sea
Reply With Quote
  #8  
Old 04-18-2009, 06:56 PM
BMR777 BMR777 is offline
Member
 
Join Date: Jan 2011
Posts: 1,122
Gender: Male
Credits: 10,713
BMR777 is on a distinguished road
Default RE: Freezing and limiting adoptables

Did you by chance use a different table prefix other than adopts_ when you installed? Your code is using adopts_ rather than the $prefix variable, so that may be the case.

Also, try echoing out $num using an echo statement. It should appear at the top of the page. Is the number correct or something else?
Reply With Quote
  #9  
Old 04-18-2009, 08:14 PM
Seapyramid Seapyramid is offline
Premium Member
 
Join Date: Feb 2009
Posts: 373
Gender: Female
Credits: 15,579
Seapyramid
Default RE: Freezing and limiting adoptables

adopts_ is correct prefix & I am showing the adoptable (6 total random) but it is just ignoring the 5 limit for total amount of adoptables under level 5. An account with 6 pets level 4 and under is still being offered and can adopt.

total code
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 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
// This page sets up the new adoptions and then forwards the user to
// a secondary page for adoptables processing.....
// **********************************************************************

$id = $_GET["id"];
$id = preg_replace("/[^a-zA-Z0-9s]/", "", $id);
$id = secure($id);

$promocode = $_GET["promocode"];
$promocode = preg_replace("/[^a-zA-Z0-9\\040.]/", "", $promocode);
$promocode = secure($promocode);

// Here we check if we have an ID that has been submitted or no

if($id == "" or !is_numeric($id)){

// We did not enter in an id, or it is not a number
// Show the available adoptables to the user...

$article_title = $showingtitle;
$article_content = $showing;

// If we are a guest, show a message that lets them know that they cannot adopt...

if($isloggedin != "yes"){

$article_content = $article_content."".$showingguest;

}
//Defines what level is used for mature count and number of babies user may adopt
$query = "SELECT * FROM adopts_owned_adoptables WHERE currentlevel < '5' and owner='$loggedinname' and isfrozen='no'";
$result = mysql_query($query);
$num = mysql_numrows($result);

if($num >= 5){

$article_title = "Your companions have you busy!";
//$article_date = date('Y-m-d');
$article_content = "<b>You have too many young companions!  Please <a href='myadopts.php'>help your young companions reach age 5 or higher</a> before 
adopting new companions.</b>";

}
else{
// Begin the output of all the adoptables to the user...

$query = "SELECT * FROM ".$prefix."adoptables ORDER By RAND() LIMIT 6";
$result = mysql_query($query);
$num = mysql_numrows($result);
}
//Loop out code
$i=0;
while ($i < $num) {

$aid=@mysql_result($result,$i,"id"); //The adoptable's ID
//$type=@mysql_result($result,$i,"type");
//$description=@mysql_result($result,$i,"description");
$eggimage=@mysql_result($result,$i,"eggimage");

// Call a function to check if we have the proper privledge level to adopt this pet
// This function checks all of the little conditions and makes sure they are present
// If they are not present, the adoptable is not shown here, as that would be cruel.
// We call the function with the showing flag to not deny the showing if the user is a guest.


if($promocode == ""){
$promocode = "none";
}

$canadopt = canadopt($aid, "showing", $promocode); // Feed an adoptable ID and showing, to show the adopt to guests...

if($canadopt == "yes"){

//If we can adopt the adoptable, show the image and adoption link...

$article_content = $article_content."
<a href='adopt.php?id=".$aid."'><img src='".$eggimage."' border='0'></a>&nbsp;&nbsp;";

	if($isloggedin == "yes"){
	$article_content = $article_content."&nbsp;";
	}
	else{
	$article_content = $article_content."<p><img src='templates/icons/no.gif' border=0> <b>".$guesterror."</b></p>";
	}


}

$i++;
} // End the looping out of all adoptables...

} // This bracket ends the IF check for whether or not an ID was entered
else{

// We have specified an ID of an adoptable we wish to adopt
// Let the user name the adoptable, then forward them
// to an additional page that actually adds the adoptie
// to their account.

// Now we have to connect to the database and get information about the adoptable

$query = "SELECT * FROM ".$prefix."adoptables WHERE id='$id'";
$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");
$eggimage=@mysql_result($result,$i,"eggimage");

$i++;
}

if($aid == $id){

//The adoptable exists and is valid

// Make sure again that we can adopt this adoptie...

$canadopt = canadopt($aid, "adopting", $promocode); 

if($canadopt == "yes"){

$article_title = "Adopting ".$type;
$article_content = $langa1."".$type.$langa2;



$article_content = $article_content."<br><img src='".$eggimage."' border='0'><br>
<form name='form1' method='get' action='doadopt.php'>
  <p>Adoptable Name: 
    <input name='name' type='text' id='name'>
    <input name='id' type='hidden' id='id' value='".$id."'>
    <input name='promocode' type='hidden' id='promocode' value='".$promocode."'>
  </p>
  <p>
    <input type='submit' name='Submit' value='Adopt Me'>
</p>
</form>";


}
else{

$article_title = $accden;
$article_content = $adoptnoper;

} // End Can Adopt ELSE

}
else{

//The adoptable does not exist, nothing we can do...

$article_title = $err_idnoexist;
$article_content = $err_idnoexist_text;

} // End adoptable does not exist ELSE



} // This bracket ends the else statements for whether or not an ID was entered


// **********************************************************************
// 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
// **********************************************************************



?>
Also maybe we should move this to the donators forum since it is getting a lot more indepth then I had planned :)

Sea
Reply With Quote
  #10  
Old 04-18-2009, 08:21 PM
BMR777 BMR777 is offline
Member
 
Join Date: Jan 2011
Posts: 1,122
Gender: Male
Credits: 10,713
BMR777 is on a distinguished road
Default RE: Freezing and limiting adoptables

For this:

PHP Code:
$query "SELECT * FROM adopts_owned_adoptables WHERE currentlevel < '5' and owner='$loggedinname' and isfrozen='no'";
$result mysql_query($query);
$num mysql_numrows($result); 
Add after:

PHP Code:
echo "Number: ".$num."<br>"
At the top of the screen you should see Number: and then the number of adoptables that match that query. Is the number greater than 5 or does a number even appear?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Creating a "Faction" for adoptables/owned adoptables Vaporman87 Questions and Supports 1 03-04-2014 03:38 PM
Limiting number of eggs and hatchlings SilverDragonTears Questions and Supports 1 05-05-2012 08:44 AM
Choosing Adoptables Type [EASY ADOPTABLES SCRIPT ONLY] Ashje Addons/Mods Graveyard 2 05-24-2009 03:17 AM
Freezing adoptable development kisazeky Addons/Mods Graveyard 3 03-26-2009 03:11 PM
Pet 'Freezing' Quillink Suggestions and Feature Requests 5 01-08-2009 09:43 AM


All times are GMT -5. The time now is 09:18 AM.

Currently Active Users: 9664 (0 members and 9664 guests)
Threads: 4,080, Posts: 32,024, Members: 2,016
Welcome to our newest members, jolob.
BETA





What's New?

What's Hot?

What's Popular?


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
vBCommerce I v2.0.0 Gold ©2010, PixelFX Studios
vBCredits I v2.0.0 Gold ©2010, PixelFX Studios
Emoticons by darkmoon3636