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.3 Gender Ratio Mod for Mys v1.3.3 (http://www.mysidiaadoptables.com/forum/showthread.php?t=4062)

Hall of Famer 03-16-2013 07:37 PM

Gender Ratio Mod for Mys v1.3.3
 
1 Attachment(s)
Now that Mys v1.3.3 has been released, it is about time for me to update my old addons/plugins to be compatible with the new version. The first Mod I have converted is this gender ratio Mod, whose process took me just about half an hour. I've included an rar file at the end of this post for you to download the files, make sure to enter the directory /install and execute the file /install/genderratio.php so that the column genderratio will be inserted successfully into the database.

Incase you cannot use the default files I have provided for some reason, I am writing a simple guide for manual installation of this Mod. It is quite easy, and requires less script edits than the older version.


Anyway, to begin with, insert the column genderratio into your table prefix.adoptables. Its type is INT, default value should be 50:

PHP Code:

'genderratio'INT11 ), default 50 

After this is done, go to your script file /admincp/adopt.php, and find the following code:

PHP Code:

        $adoptForm->add($basicInfo);
        
$adoptForm->add($shopSettings);
        
$adoptForm->add($conditions);
        
$adoptForm->add($miscellaneous);
        
$adoptForm->add(new Button("Create this Adoptable""submit""submit"));
        
$document->add($adoptForm); 

Add above:(it actually does not matter if you mistakenly inserted these lines below instead, thats the beauty of OOP and GUI!)
PHP Code:

        $miscellaneous->add(new Comment("The Gender Ratio of your adoptable is "FALSE));
        
$miscellaneous->add(new TextField("genderratio"50)); 

Before closing this file, find the sql insertion query for prefix.adoptables at:
PHP Code:

            $mysidia->db->insert("adoptables", array("id" => NULL"type" => $mysidia->input->post("type"), "class" => $mysidia->input->post("class"), "description" => $mysidia->input->post("description"), "eggimage" => $eggimage"whenisavail" => $mysidia->input->post("cba"),
                                                     
"alternates" => $mysidia->input->post("alternates"), "altoutlevel" => $mysidia->input->post("altoutlevel"), "altchance" => $mysidia->input->post("altchance"), "shop" => $mysidia->input->post("shop"), "cost" => $mysidia->input->post("cost"))); 

Replace this chunk of code with:
PHP Code:

            $mysidia->db->insert("adoptables", array("id" => NULL"type" => $mysidia->input->post("type"), "class" => $mysidia->input->post("class"), "description" => $mysidia->input->post("description"), "eggimage" => $eggimage"whenisavail" => $mysidia->input->post("cba"),
                                                     
"alternates" => $mysidia->input->post("alternates"), "altoutlevel" => $mysidia->input->post("altoutlevel"), "altchance" => $mysidia->input->post("altchance"), "shop" => $mysidia->input->post("shop"), "cost" => $mysidia->input->post("cost"), "genderratio" => $mysidia->input->post("genderratio"))); 

You may now close this /admincp/adopt.php file. The very next thing to do is to open a file located at /classes/class_adoptable.php. First of all, find a list of properties for this class at:
PHP Code:

    protected $id;
    protected 
$type;
    protected 
$class;
    protected 
$description;
    protected 
$eggimage;
    protected 
$whenisavail;
    protected 
$alternates;
    protected 
$altoutlevel;
    protected 
$altchance;
    protected 
$shop;
    protected 
$cost;  
    protected 
$conditions;
    protected 
$levels

Replace by:
PHP Code:

    protected $id;
    protected 
$type;
    protected 
$class;
    protected 
$description;
    protected 
$eggimage;
    protected 
$whenisavail;
    protected 
$alternates;
    protected 
$altoutlevel;
    protected 
$altchance;
    protected 
$shop;
    protected 
$cost;  
    protected 
$genderratio;
    protected 
$conditions;
    protected 
$levels

Perfect, we only have one last thing to do before this is all completed. Find the gender determination code at:
PHP Code:

    public function getGender(){
        
$genders = array('f''m');
        
$rand rand(0,1);
        return 
$genders[$rand];
    } 

Replace by:
PHP Code:

    public function getGenderRatio(){
        return 
$this->genderratio;
    }
    
    public function 
getGender(){        
        
$genderNumber rand(099);
        if(
$genderNumber $this->genderratio$gender "f";
        else 
$gender "m";
        return 
$gender;        
    } 

This is a reusable method, which means that both adopt.php and breeding.php can make use of it without writing the same block of code twice. Another reason why OOP pwns.


So this marks the end of manual installation process, its a lot simpler than last time isnt it? Anyway I hope you enjoy the Mods I am making for the script, I've decided to work on a few more new plugins for the script in the next few days. Lemme know if you have any suggestions to make, please do lemme know.

SilverDragonTears 05-07-2013 10:39 PM

When I run it I get a blank screen.

Hall of Famer 05-07-2013 11:06 PM

Blank page? Well there is a syntax error somewhere in your script then. Did you download the files I attached, or did the manual installation?

SilverDragonTears 05-08-2013 12:49 PM

I downloaded the files.

Alaric 06-02-2013 03:11 AM

Is this correct?

http://oi40.tinypic.com/2q9c2ep.jpg

Tequila 06-14-2013 09:54 AM

I just installed this on a test site (theory site) and got this when I created an adoptable for it:
Quote:

Fatal error: Uncaught exception 'Exception' with message 'Database error 1054 - Unknown column 'genderratio' in 'field list'' in /home/felinefl/public_html/classes/class_database.php:161 Stack trace: #0 /home/felinefl/public_html/classes/class_database.php(54): Database->_query('adoptables', Array, 'insert') #1 /home/felinefl/public_html/admincp/adopt.php(65): Database->insert('adoptables', Array) #2 /home/felinefl/public_html/admincp/index.php(71): ACPAdoptController->add() #3 /home/felinefl/public_html/admincp/index.php(125): AdminCP->handleRequest() #4 /home/felinefl/public_html/admincp/index.php(135): AdminCP::main() #5 {main} thrown in /home/felinefl/public_html/classes/class_database.php on line 161

Hall of Famer 06-16-2013 12:06 PM

Oh yeah Tequila my dear, you forgot to add a database column into your table prefix.adoptables. XD

Tequila 06-16-2013 03:00 PM

*smacks forehead* ... :el:

Edit I typed the column name wrong.... ╯.╰

Hall of Famer 06-17-2013 02:22 AM

Oh I see, so thats the problem. XD

Twinkle And Kessie 08-22-2013 03:52 AM

Either "table prefex.adoptables" is really hard to find, or was deleted completely from my system some how. What is a Table Prefix supposed to be anyway!? The instructions are very unclear and vague, there's no specifics that help newbies like me learn what exactly we're doing. I'll have to manually learn php just to figure out what every little insignificant thing means.

I did exactly as it said step for step, and when I try to create a new adoptable or edit one of the ones I have already, I get a blank white screen. There's not even an Error Message, just a blank screen.

Wait, lemme figure this out on my own, I think I got it now.

No... I redid everything, and it still doesn't work, it's still a blank white screen. This is frustrating. :P


All times are GMT -5. The time now is 06:54 AM.

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