Mysidia Adoptables Support Forum

Mysidia Adoptables Support Forum (http://www.mysidiaadoptables.com/forum/index.php)
-   Mys v1.3.x Mods (http://www.mysidiaadoptables.com/forum/forumdisplay.php?f=42)
-   -   Mys v1.3.1 Gender Ratio Mod for v1.3.1 (http://www.mysidiaadoptables.com/forum/showthread.php?t=3592)

Hall of Famer 04-15-2012 03:33 PM

Gender Ratio Mod for v1.3.1
 
1 Attachment(s)
It is about time to upgrade some of my old Mods. This one is the simple Gender Ratio addon, which I have been thinking about whether to add into the official package. Lemme know if you want this to happen, it is really an easy modification anyway.

I've provided a zip file that contains all necessary modifications to make in your script file in order to get this to work. Incase you have a highly customized site, you may install this Mod manually by following the instruction below. To begin with, insert a new column into table prefix.adoptables as usual:

PHP Code:

'genderratio'INT11 ), default 50 

Since admin.php file does not exist nowadays, you need to go to the file /admincp/adopt.php to modify the form. To add the input field Genderratio into adoptables creation form, find the following code below:

PHP Code:

                            <p>
                            <
input name='page' type='hidden' id='page' value='createanadopt'>
                            <
input type='submit' name='Submit' value='Create This Adoptable'
                            </
p>
                            </
form>"; 

Add above

PHP Code:

                                  <p>The Gender Ratio of your adoptable is 
                          
<input name='genderratio' type='text' id='genderratio' size='6' maxlength='6'
                          <
p

The gender ratio input field can theoretically be added anywhere you like, just do not 'break' your form. As you have completed this very first step, go to admincp/adoptpost.php and find these lines:

PHP Code:

            $alternates $_POST["alternates"];
            
$altoutlevel $_POST["altoutlevel"];
            
$altchance $_POST["altchance"]; 

Add below:

PHP Code:

$genderratio $_POST["genderratio"]; 

Then find this database insert code you should be familiar with:

PHP Code:

$adopts->insert("adoptables", array("id" => NULL"type" => $name"class" => $class"description" => $description"eggimage" => $eggimage"whenisavail" => $cba,
                                                    
"alternates" => $alternates"altoutlevel" => $altoutlevel"altchance" => $altchance"cost" => $cost)); 

Replace by the following new line:

PHP Code:

                $adopts->insert("adoptables", array("id" => NULL"type" => $name"class" => $class"description" => $description"eggimage" => $eggimage"whenisavail" => $cba,
                                                    
"alternates" => $alternates"altoutlevel" => $altoutlevel"altchance" => $altchance"cost" => $cost"genderratio" => $genderratio)); 

The last thing to do, of course, is to manually update our doadopt.php file to enable gender ratio to work while a user is trying to adopt a pet. Find these lines that determine adoptables gender:

PHP Code:

                        $genders = array('f''m');
                        
$rand rand(0,1);
  
                        
$adopts->insert("owned_adoptables", array("aid" => NULL"type" => $row->type"name" => $name"owner" => $loggedinname"currentlevel" => 0"totalclicks" => 0"code" => $code
                                        
"imageurl" => NULL"usealternates" => $alts"tradestatus" => 'fortrade'"isfrozen" => 'no'"gender" => $genders[$rand], "lastbred" => 0)); 

Replace by the gender ratio generation code:
PHP Code:

                       if($tempgender $row->genderratio){
                            
$gender "f";
                            unset(
$tempgender);
                        }
                        else {
                            
$gender "m";
                            unset(
$tempgender);
                        }
  
                        
$adopts->insert("owned_adoptables", array("aid" => NULL"type" => $row->type"name" => $name"owner" => $loggedinname"currentlevel" => 0"totalclicks" => 0"code" => $code
                                        
"imageurl" => NULL"usealternates" => $alts"tradestatus" => 'fortrade'"isfrozen" => 'no'"gender" => $gender"lastbred" => 0)); 

You are done with it, or almost. The below edit is not required, but for those who want pets gender ratio to take effect on breeding. To do this, you need to go to breeding.php and find the following lines:

PHP Code:

            $genders = array('f''m');
            
$genderrand rand(0,1); 

Replace with:

PHP Code:

            $genderratio = ($typerand == 0)?$female_species->genderratio:$male_species->genderratio;
            
$tempgender rand(099);
            if(
$tempgender $genderratio){
               
$gender "f";
            unset(
$tempgender);
            }
            else {
                
$gender "m";
                unset(
$tempgender);
            } 

Now we are all done, it is just this simple isnt it? Like I mentioned earlier I've uploaded a zip file containing all modified scripts for those who are running a fresh installation of Mysidia Adoptables. Note you can only use them if you have not heavily modified your script files. The install_genderratio.php file needs to be executed to insert the column genderratio(INT 11) automatically to your database, although you can again do it manually. Enjoy!

PokePets 04-16-2012 09:05 AM

Thaaanks *will use*

Tequila 04-20-2012 09:28 AM

Trying to install this for CH, and I'm getting the following as an error:
Quote:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/u666097869/public_html/admincp/adopt.php on line 549
When I look the string up it's the following:
PHP Code:

"<input name='reward' type='checkbox' id='reward' value='yes'>"

Any idea?

Hall of Famer 04-20-2012 09:39 AM

1 Attachment(s)
My goodness, what a mistake. I accidentally typed an arbitrary string(generated from strongpassword.com) into the /admincp/adopt.php file... *sigh* Now just download the new file and it should work nicely:

Tequila 04-20-2012 09:58 AM

Thanks, it works now. ;3

kristhasirah 05-23-2012 11:30 AM

HI, i have a problem when it comes to breeding, the offspring dont have a gender, dont know if the problem is how i created the parents, or if is the code...
i usually create 2 adopts 1 100% female and 1 100% male. my site is based on pokemon, so in order to add the shiny version i do that, and works perfectly when adopting, but when it comes to breeding is like the code cant decide if the offspring is going to be male or female.... is there a way to fix that? right now i use the original breeding code, but i have to change some of the images manually, because it use the male image on a female.

SilverDragonTears 05-23-2012 12:19 PM

You have to do the same thing to the breeding script that you did with the adopt script.

kristhasirah 05-23-2012 04:51 PM

i did change it, i followed HoF instructions, and after that, the offspring dint get a gender. so i reverted the changes that i made to the breeding code.

PTGigi 05-23-2012 05:11 PM

Quote:

This one is the simple Gender Ratio addon, which I have been thinking about whether to add into the official package. Lemme know if you want this to happen, it is really an easy modification anyway.
I think you should add it! (...because I completely forgot it wasn't built in already XD)

MaximumRide 05-23-2012 05:34 PM

What does this do? :)


All times are GMT -5. The time now is 06:49 PM.

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