Mysidia Adoptables Support Forum

Mysidia Adoptables Support Forum (http://www.mysidiaadoptables.com/forum/index.php)
-   Suggestions and Feature Requests (http://www.mysidiaadoptables.com/forum/forumdisplay.php?f=21)
-   -   Making Daycare Optional (http://www.mysidiaadoptables.com/forum/showthread.php?t=5331)

NobodysHero 01-12-2017 10:12 AM

Making Daycare Optional
 
One of my players suggested it and I could see why they'd want the option. If they're looking to level their pet once or only to a certain level, then don't get to it once they've hit that level, it could be a problem. Or if they forget to freeze their pets.

So, I was hoping there would be someone awesome enough to doodle up a bit of code and tell me what to add/change in the database to make that happen.

If this code is already floating around out there, can someone aim me in that direction?

Thank you!

NobodysHero
http://i.imgur.com/jg3sMFC.png

Dinocanid 01-12-2017 05:26 PM

After looking through the daycare's files, turns out there's actually a pretty short solution that I was able to come up with.

1. First I went into phpMyAdmin, owned_adoptables, and added a new column like this:
Quote:

Name: exclude
Type: VARCHAR
Length: 3
Default: (As Defined) no
Collation: latin1_swedish_ci
Check the null box
2. Now go to class_daycare.php and change line 36 to this (assuming no prior edits were made):
PHP Code:

if(is_numeric($this->settings->level)) $conditions .= " and currentlevel <= '{$this->settings->level}' and exclude = 'no'"

  Spoiler: Sidenote 
Now the daycare won't include any pets that have "exclude" set to yes.


3. Now there's how to update it. This is where my brain started to fry. I'm unsure of this part since most people have their owned_adoptables.php set up differently than others (including myself). Here's one way of doing it:
*Create a new form with two radio buttons, one named "do exclude" and one named "do not exclude" (or something like that).
* Then create an if statement so that if the person selected do exclude, this line happens:
PHP Code:

$mysidia->db->update("owned_adoptables", array("exclude" => 'yes'"username = '{$mysidia->user->username}'"); 

*Create a elseif statement so when the person chooses don't exclude, this line happens:
PHP Code:

$mysidia->db->update("owned_adoptables", array("exclude" => 'no'"username = '{$mysidia->user->username}'"); 

-End guide-

I haven't tested the part where users change it themselves, since I have absolutely no idea how radio buttons work. I have tested the parts before it though, and it does work if you were to change the value manually through phpMyAdmin. Here's a mockup code of the different button conditions, but that's where my knowledge ends unfortunately. It won't work on it's own, but it can give you an idea of what you need to do:
PHP Code:

if($mysidia->input->post("submit")){
$choice $mysidia->input->post("exclude");
if(
$choice == "doexclude"){
$document->add(new Comment("This pet has been excluded from the pound."));
$mysidia->db->update("owned_adoptables", array("exclude" => 'yes'"aid = '{$adopt->getAdoptID()}'");
}
elseif(
$choice == "donotexclude"){
$document->add(new Comment("This pet will now be visible the pound."));
$mysidia->db->update("owned_adoptables", array("exclude" => 'no'"aid = '{$adopt->getAdoptID()}'");
}
return 
TRUE;} 


NobodysHero 01-12-2017 11:44 PM

I'll have to give this a try. Thanks!

Hall of Famer 01-13-2017 02:03 PM

In Mysidia v1.4.0 and future releases, almost all features are optional, that you can turn on and off from admin control panel, even user registration. For current version v1.3.4, you will need to edit the source file to hide the daycare system.

NobodysHero 01-13-2017 08:32 PM

I don't want to hide it, I want it so some people could opt into it, instead of all pets automatically going into it.

When I was on other sites (Neopets, Restreatu, etc) that had a similar feature, they were more user action than automation. A user would bring their pets to the day care, pay some currency to put them in, then they'd come back to their pet's stats being raised.

What Dino submitted was what I was looking for. About to try it now, though... >.> I've no idea how radios work either. XD Sooo... This should be interesting.


All times are GMT -5. The time now is 03:35 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.