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.x Stat/SKill System (http://www.mysidiaadoptables.com/forum/showthread.php?t=4563)

Hwona 06-29-2014 12:55 AM

Stat/Skill System(Tested with V.1.3.3)
 
Please pardon my poor explanation skills, but here's a quick guide to creating random-generated stats for adoptables. Please save back ups before beginning as this works perfectly for my site but I don't know what may happen with yours. Hence, please don't unleash your anger on me if there is anything amiss. :3

This first post shall cover assigning stats to created adoptables.

1. Go to PHPMyAdmin->your site's database->prefix_owned_adoptables
Once there, there should be a "structure" tab at the top of the screen - click that and then scroll to the bottom of the page until you find:
http://i1290.photobucket.com/albums/...pse6034c19.png
Press go. Then you'll come to a page that looks like this:
http://i1290.photobucket.com/albums/...psa2d07fcb.png
There, set the values to match those in the example and press "save".

2. In the "adopt.php" file, there should be something like this from lines 29 to 32:
PHP Code:

            $name = (!$mysidia->input->post("name"))?$adopt->getType():$mysidia->input->post("name");
            
$alts $adopt->getAltStatus();
            
$code $adopt->getCode();
            
$gender $adopt->getGender(); 

Below that, add:
$statname = rand(minimum value,maximum value);
Then find this on lines 33 to 34:
PHP Code:

            $mysidia->db->insert("owned_adoptables", array("aid" => NULL"type" => $adopt->getType(), "name" => $name"owner" => $mysidia->user->username"currentlevel" => 0"totalclicks" => 0"code" => $code
                                                        
"imageurl" => NULL"usealternates" => $alts"tradestatus" => 'fortrade'"isfrozen" => 'no'"gender" => $gender"lastbred" => 0)); 

Replace that with (See what was changed?):
PHP Code:

            $mysidia->db->insert("owned_adoptables", array("aid" => NULL"type" => $adopt->getType(), "name" => $name"statname" => $statname"owner" => $mysidia->user->username"currentlevel" => 0"totalclicks" => 0"code" => $code
                                                        
"imageurl" => NULL"usealternates" => $alts"tradestatus" => 'fortrade'"isfrozen" => 'no'"gender" => $gender"lastbred" => 0)); 

3. Go to the "breeding.php" file and find this on line 52:
PHP Code:

 $offspringID $mysidia->db->select("owned_adoptables", array("aid"), "1 ORDER BY aid DESC LIMIT 1")->fetchColumn() - $num 1

Below that, add:
$statname = rand(minimum value,maximum value) ;
and
PHP Code:

$mysidia->db->update("owned_adoptables",array("statname" => $statname),"aid = $offspringID"); 

3. Go to the "shop.php" file. You should find this line on line 73:
elseif($mysidia->input->post("shoptype") == "adoptshop"){
Put this under that:
$statname = rand(minimum value,maximum value) ;
And put this under that:
PHP Code:

$mysidia->db->update("owned_adoptables",array("statname" => $statname),"aid = $offspringID"); 

4. Go to your "class_promocode.php" file in your "classes" folder. Find this piece of code:
PHP Code:

 $mysidia->db->insert("owned_adoptables", array("aid" => NULL"type" => $this->reward"name" => $this->reward"owner" => $this->user"currentlevel" => 0"totalclicks" => 0"code" => $code
                                                           
"imageurl" => NULL"usealternates" => 'no'"tradestatus" => 'fortrade'"isfrozen" => 'no'"gender" => $genders[$rand], "lastbred" => 0)); 

Replace it with:
$statname = rand(minimum value,maximum value) ;
Put this under that:
PHP Code:

 $mysidia->db->insert("owned_adoptables", array("aid" => NULL"type" => $this->reward"name" => $this->reward"owner" => $this->user"currentlevel" => 0"totalclicks" => 0"code" => $code
                                                           
"imageurl" => NULL"usealternates" => 'no'"tradestatus" => 'fortrade'"isfrozen" => 'no'"gender" => $genders[$rand], "lastbred" => 0"statname" => $statname)); 

5. Now, read carefully! IF there are existing adoptables on the site, go back to the "adopt.php" file. I couldn't figure out how to give adoptables that were created prior to the addition of the modification their own unique values, but I decided to set the existing adoptables' values to half of the maximum initial value. Right below the edits just made to that file, add:
$mysidia->db->update("owned_adoptables",array("statname" => "value"),"") ;
Once that is done, save all changes to the file but don't close it. After that, go to your site and create a quick free adoptable. Adopt that adoptable once. This will update all adoptables in the database to have the set stat.
Go back to the "adopt.php" file and delete what you just added or right-click and select "undo".

Tada! Please contact me or post in the thread if you have any questions! This includes adding extra stats. The next section shall cover how to display those stats on an adoptable's levelup page.

Hwona 06-29-2014 12:56 AM

Displaying Stats On Levelup Page
 
This post will cover how to display stats on an adoptable's click page


1. Go to the "class_ownedadoptable.php" file(inside the "classes" folder). There, at the top, there's a bunch of "protected" variables. Add this below them:
protected $statname;
Add this function to the list of functions below:
public function getAdoptstatname(){
return $this->statname;
}

2. Got to the "levelup.php" file. On line 29, there should be something like this:
$ip = secure($_SERVER['REMOTE_ADDR']);
Under that with this:
$adoptablestatname = $this->adopt->getAdoptstatname();
On line 33, there's a piece of code like this:
PHP Code:

$message = ($mysidia->user instanceof Member)?$mysidia->lang->already_leveled_member:$mysidia->lang->already_leveled_guest

Replace that with:
PHP Code:

$message "<div id='stats'>Statname: {$adoptablestatname}</div>";
$message $message .= (($mysidia->user instanceof Member)?$mysidia->lang->already_leveled_member:$mysidia->lang->already_leveled_guest); 

Replace lines 38 and 39, which should contain something like this:
PHP Code:

$document->setTitle($mysidia->lang->frozen_title);
            
$document->addLangvar($mysidia->lang->frozen); 

With:
PHP Code:

    $message $message .= "
<div id='stats'>
Statname: 
{$adoptablestatname}
</div><br>
We're sorry, but you cannot add clicks to this adoptable at this time because its owner has chosen to freeze it.  Frozen adoptables do not accept new clicks and do not level up.  Thanks anyway for the click though, but the owner of this adoptable wants to keep this adoptable young so it will not be counted."
;
            
$document->setTitle($mysidia->lang->frozen_title);
            
$document->addLangvar($message); 

On line 41, there should be:
else{
Under that, put:
PHP Code:

$message $message .= "<br><text align ='center'><div id='clickpagelink'><a href='{$mysidia->path->getAbsolute()}levelup/click/{$this->adopt->getAdoptID()}'>Click here to visit {$adoptablename}</a><br></div>"

On line 67, there should be something like this:
$document->add($summary);
Under that, put:
$document->addLangvar($message);

Tada! The next section will go over the "stat-raising system".

Hwona 06-29-2014 12:57 AM

Creating Items to Raise Stats
 
This post will explain how to create items to raise an adoptable's stats.


1. Go to the “item_functions” table in your database. Once there, click the “insert” tab at the top of the page. You should arrive at a page like this:
http://i1290.photobucket.com/albums/...ps899d22a0.png
Fill out the values to match those in the example and then press “Go”.

2.Go to the “functions_items.php” file in the “functions” folder. Add this item function to the list:
PHP Code:

function items_statname($item$adopt){ $mysidia Registry::get("mysidia"); $newstatname $adopt->statname $item->value$mysidia->db->update("owned_adoptables", array("statname" => $newstatname), "aid='{$adopt->aid}'and owner='{$item->owner}'"); $note "By using {$item->itemname}, the adoptable's Statname raised by {$item->value}!"$delitem $item->remove(); return $note; } 

3. Go to your “class_privateitem.php” file in the “classes’ folder. See all that case-break stuff? Add this to the list:
PHP Code:

case "Statname":
            
$message items_Statname($this$owned_adoptable);
            break; 

4. Go to your ACP and create a “Statname” item. Make your you allow it to be consumed!

Tada! The next post shall cover the award system!

Missy Master 06-29-2014 08:35 AM

**Squees **

Okay gonna try this out, thank you soooooooo much for this!!! :)

Missy Master 06-29-2014 09:15 AM

Would you possibly be able to just upload your modded levelup file? I keep getting errors on that part of the changeover of code!


**Also, is there any way to just get the code for your brilliant and beautiful layout? I really am dying to see this as part of my display, it's gorgeous!!



Thank you !

Hwona 06-29-2014 09:40 AM

Award System
 
Allowing pets to earn "awards" through training.


1. Go to PHPMyAdmin->your site's database->prefix_owned_adoptables
Once there, there should be a "structure" tab at the top of the screen - click that and then scroll to the bottom of the page until you find:
http://i1290.photobucket.com/albums/...pse6034c19.png
Press go. Then you'll come to a page that looks like this:
http://i1290.photobucket.com/albums/...ps25a230e7.png
Set the values to match the example shown above and press "save".

2. Remember the item function we made earlier in the "functions_items.php" file? Go there and replace that part of the code with this:
PHP Code:

 function items_statname($item$adopt){
  
$mysidia Registry::get("mysidia");
  
$newstatname $adopt->statname $item->value;
  
$mysidia->db->update("owned_adoptables", array("statname" => $newstatname), "aid='{$adopt->aid}'and owner='{$item->owner}'");
  
$note "By using {$item->itemname}, the adoptable's statname raised by {$item->value}!<br>";
  
$note2 "By using {$item->itemname}, the adoptable's statname raised by {$item->value}! It now has 1 statname medal!<br>";
    if(
$newstatname >= 150) {
  
$mysidia->db->update("owned_adoptables", array("statnamemedalstatus" => 'yes'), "aid='{$adopt->aid}'and owner='{$item->owner}'");
  
$delitem $item->remove(); 
  return 
$note2;
  }
  else{
   
$delitem $item->remove(); 
  return 
$note;
  }
  } 

3. Go to your "class_ownedadoptable.php" file. Add this to the "protected" list:
protected $statnamemedalstatus;
Add this to the list of functions:
public function getAdoptObedienceMedalStatus(){
return $this->obediencemedalstatus;
}

4. Go to "levelup.php" and find this piece of code:
$adoptablestatname = $this->adopt->getAdoptstatname();
Under that, put:
$statnamemedalstatus = $this->adopt->getAdoptStatNameMedalStatus();
PHP Code:

$message $message .= "
<div id='stats'>
Statname: 
{$adoptablestatname}
</div><br>
We're sorry, but you cannot add clicks to this adoptable at this time because its owner has chosen to freeze it.  Frozen adoptables do not accept new clicks and do not level up.  Thanks anyway for the click though, but the owner of this adoptable wants to keep this adoptable young so it will not be counted."
;
            
$document->setTitle($mysidia->lang->frozen_title);
            
$document->addLangvar($message); 

Right after:
<div id='stats'>
Statname: {$adoptablestatname}
</div><br>
Add:
<div id ='trainingawards'><img src='{$mysidia->path->getAbsolute()}picuploads/awards/statnamemedalstatus{$statnamemedalstatus}.png'></div>

5. Awards Folder(Zipped)
to your picuploads folder and unzip it.
Here are some Photoshop bases you can color if you want to swap out the images provided in the folder:
Trophy Base
Ribbon Base
Medal Base
If you need non-photshop bases, please tell me.



That's done! Now, you may have noticed that the levelup page might not look as visually-appealing as you want it to be. The next post will take care of that.

Missy Master 06-29-2014 09:55 AM

I'm not sure :3

I will take another crack at this today, but I got a white screen when I did the edits on levelup ... maybe someone else can try and see what you get?

Might be error on my part pretty easy heheh :)

Hwona 06-29-2014 09:57 AM

Styling The Levelup Page
 
Styling the levelup page

Ok... just a heads up, I don't really know how to explain this, but I'll give it a shot!


So, do you all remember the "div id" stuff we added to the levelup page earlier on?:
PHP Code:

$message $message .= 
<div id='stats'> 
Statname: 
{$adoptablestatname} 
</div><br><div id ='trainingawards'><img src='
{$mysidia->path->getAbsolute()}picuploads/awards/statnamemedalstatus{$statnamemedalstatus}.png'></div> 
We're sorry, but you cannot add clicks to this adoptable at this time because its owner has chosen to freeze it.  Frozen adoptables do not accept new clicks and do not level up.  Thanks anyway for the click though, but the owner of this adoptable wants to keep this adoptable young so it will not be counted."


Go to the CSS stylesheet for your themes and add this:
#stats {
}
#trainingawards {

}
Add CSS code between those brackets to style the boxes the stats and awards are in! I'll make a custom them just for this. :3

Go to this thread for a CSS theme with levelup page styling: Spring Theme

Missy Master 06-29-2014 10:09 AM

Oh sure I can test it out for you! No problem! :)

Hwona 06-29-2014 10:16 AM

^Thanks a bunch! Ehh... it doesn't say what version you're using? Do you think this would work for earlier and later versions?

Missy Master 06-29-2014 10:26 AM

using 1.3.4 ! And it should, but yes using the latest :)

I will see if your levelup works okay on my live site ... and if it does that parts a go!

Hwona 06-29-2014 10:54 AM

^In that case, that MIGHT be the problem since this was made to work with v.1.3.3.

Hwona 06-29-2014 11:37 AM

^Nevermind! It was probably a mistake on my part- I caught a lot of miswording and issues. But, the first post works right? COuld you check your database for me?

Hwona 06-29-2014 11:51 AM

Great! I have the level up page ready for download. :3

Missy Master 06-29-2014 12:12 PM

Okay altering adopt and breeding both in the first section cause the dreaded white! page ... I did everything very slowly and carefully and then backtracked. As soon as I inserted '$statname = rand(minimum value,maximum value);' I lost adopt and breeding both!

Even with the table inserted correctly something isn't jibing for the code changes for the first random stats stuff.

Hwona 06-29-2014 12:32 PM

^Does it work for shop? Let me try and work this with my own files...

Hwona 06-29-2014 12:44 PM

Umm, would you mind showing me your files... there may be another way to do this... anyways, how does the database look?

Missy Master 06-29-2014 12:52 PM

2 Attachment(s)
here's my two files, if you can get this all worked out that will be wonderful ! :)

The Database is fine, it just has the added table --



15 statname int(4) No 0 Change Change Drop Drop

Hwona 06-29-2014 01:01 PM

^I don't know why, but your file popped up with no changes? Try this for adopt.php:
PHP Code:

<?php

use Resource\Native\Integer;
use 
Resource\Native\String;
use 
Resource\Native\Arrays;
use 
Resource\Native\Null;

class 
AdoptController extends AppController{

    public function 
__construct(){
        
parent::__construct("member");
        
$mysidia Registry::get("mysidia");
        if(
$mysidia->usergroup->getpermission("canadopt") != "yes"){
            throw new 
NoPermissionException("permission");
        }    
    }
    
    public function 
index(){
        
$mysidia Registry::get("mysidia");        
        if(
$mysidia->input->post("submit")){
            
$this->access "member";
            
$this->handleAccess();
            
$id $mysidia->input->post("id");
            if(
$mysidia->session->fetch("adopt") != or !$id) throw new InvalidIDException("global_id");            
            
            
$adopt = new Adoptable($id);                
            
$conditions $adopt->getConditions();
            if(!
$conditions->checkConditions()) throw new NoPermissionException("condition");
            
            
$name = (!$mysidia->input->post("name"))?$adopt->getType():$mysidia->input->post("name");
            
$alts $adopt->getAltStatus();
            
$code $adopt->getCode();
            
$gender $adopt->getGender();
            
$statname rand(0,100);
            
            
            
            
            
$mysidia->db->insert("owned_adoptables", array("aid" => NULL"type" => $adopt->getType(), "name" => $name"owner" => $mysidia->user->username"statname" => $statname"currentlevel" => 0"totalclicks" => 0"code" => $code
                                                           
"imageurl" => NULL"usealternates" => $alts"tradestatus" => 'notfortrade'"isfrozen" => 'no'"gender" => $gender"offsprings" => 0"lastbred" => 0));
                        
            
$aid $mysidia->db->select("owned_adoptables", array("aid"), "code='{$code}' and owner='{$mysidia->user->username}'")->fetchColumn();
            
$this->setField("aid", new Integer($aid));
            
$this->setField("name", new String($name));            
            
$this->setField("eggImage", new String($adopt->getEggImage()));
            return;
        }
        
        
$mysidia->session->assign("adopt"1TRUE);
        
$ids $mysidia->db->select("adoptables", array("id"), "shop='none'")->fetchAll(PDO::FETCH_COLUMN);
        
$total = ($ids)?count($ids):0;
        
        if(
$total == 0$adopts = new Null;
        else{        
            
$adopts = new Arrays($total);
            
$available 0;
            
            foreach(
$ids as $id){
                
$adopt = new Adoptable($id);
                
$conditions $adopt->getConditions();    
                  if(
$conditions->checkConditions()) $adopts[$available++] = $adopt;    
            }
            
            if(
$available == 0$adopts = new Null;
            else 
$adopts->setSize($available);            
        }        
        if(
$adopts instanceof Null) throw new InvalidActionException("adopt_none");
        
$this->setField("adopts"$adopts);
    }
}
?>


Missy Master 06-29-2014 01:20 PM

I wanted to mention that the new levelup code is giving me a white page :(

the adopt code IS working, though!

Hwona 06-29-2014 01:24 PM

^Try this for breeding?:
PHP Code:

<?php

use Resource\Native\Integer;
use 
Resource\Native\String;
use 
Resource\Native\Null;
use 
Resource\Collection\LinkedList;

class 
BreedingController extends AppController{

    public function 
__construct(){
        
parent::__construct("member");
        
$mysidia Registry::get("mysidia");        
        
$userStatus $mysidia->user->getstatus();
        if(
$userStatus->canbreed == "no") throw new NoPermissionException("permission");        
    }
    
    public function 
index(){
        
$mysidia Registry::get("mysidia");
        
$settings = new BreedingSetting($mysidia->db);
        if(
$settings->system != "enabled") throw new InvalidActionException("system");
        
        if(
$mysidia->input->post("submit")){
            if(
$mysidia->input->post("female") == "none" or $mysidia->input->post("male") == "none"){
                  throw new 
InvalidIDException("none_select");
            }
            
            try{
                
$female = new OwnedAdoptable($mysidia->input->post("female"), $mysidia->user->username);
                
$male = new OwnedAdoptable($mysidia->input->post("male"), $mysidia->user->username);
                
$breeding = new Breeding($female$male$settings); 
                
$validator $breeding->getValidator("all");
                
$validator->validate();
            }
            catch(
AdoptNotfoundException $ane){
                throw new 
InvalidIDException("none_exist");
            }
            catch(
BreedingException $bre){                
                
$status $bre->getmessage();
                
$validator->setStatus($status);
                throw new 
InvalidActionException($status);
            }
            
            if(
$settings->method == "advanced"$species $breeding->getBabySpecies();
            
$breeding->getBabyAdopts($species);
            
$breeding->breed($adopts);
            
$num $breeding->countOffsprings();
                        
            if(
$num 0){
            
                
$offsprings $breeding->getOffsprings();
                
$offspringID $mysidia->db->select("owned_adoptables", array("aid"), "1 ORDER BY aid DESC LIMIT 1")->fetchColumn() - $num 1;
                
$statname rand(0,100);
                
$links = new LinkedList;
                
$mysidia->db->update("owned_adoptables",array("statname" => $statname),"aid = $offspringID");  
                foreach(
$offsprings as $offspring){
                    
$image $offspring->getEggImage("gui");
                    
$links->add(new Link("myadopts/manage/{$offspringID}"$image));
                    
$offspringID++;
                }
                
$this->setField("links"$links);
            }
            else 
$this->setField("links", new Null);
            
$this->setField("breeding"$breeding);        
            return;
        }

        
$this->setField("cost", new Integer($settings->cost));
        
$current = new DateTime;
        
$lasttime $current->getTimestamp() - (($settings->interval) * 24 60 60);
                
        
$stmt $mysidia->db->select("owned_adoptables", array("name""aid"), "owner = '{$mysidia->user->username}' AND gender = 'f' AND currentlevel >= {$settings->level} AND lastbred <= '{$lasttime}'");
        
$female = ($stmt->rowcount() == 0)?new Null:$mysidia->db->fetchMap($stmt);
        
$this->setField("femaleMap"$female);
  
        
$stmt $mysidia->db->select("owned_adoptables", array("name""aid"), "owner = '{$mysidia->user->username}' AND gender = 'm' AND currentlevel >= {$settings->level} AND lastbred <= '{$lasttime}'");
        
$male = ($stmt->rowcount() == 0)?new Null:$mysidia->db->fetchMap($stmt);
        
$this->setField("maleMap"$male);
    }
}
?>

If it works, proceed with setting the stats for existing adoptables. :3 I'll work on level up... by the way, are you inserting the code based on the line number or the content? V1.3.4 is different than v1.3.3, so the line numbering and content doesn't match exactly.

Missy Master 06-29-2014 01:35 PM

Breeding works! So we have adopt and breeding working alright.

Levelup still white pages on me ...

Hwona 06-29-2014 01:42 PM

I'll work on level up... can you give me the file again? By the way, are you inserting the code based on the line number or the content? V1.3.4 is different than v1.3.3, so the line numbering and content doesn't match exactly.

Missy Master 06-29-2014 01:57 PM

1 Attachment(s)
I search for it by number but I double check the content ... I've attached the file for levelup.

Named it _1 for the upload, but it's what I was using for levelup.php.

Hwona 06-29-2014 02:11 PM

Umm, the code you got should work:
PHP Code:

<?php

class LevelupController extends AppController{

    const 
PARAM "aid";
    private 
$view;
    private 
$subController;
    private 
$adopt;

    public function 
__construct(){
        
parent::__construct();
        
$mysidia Registry::get("mysidia");
        if(
$mysidia->input->action() == "click" or $mysidia->input->action() == "siggy"$this->adopt = new OwnedAdoptable($mysidia->input->get("aid"));
        if(
$mysidia->user instanceof Member){
            
$status $mysidia->user->getstatus();   
            if(
$status->canlevel == "no") throw new InvalidActionException($mysidia->lang->banned);
        }    
    }
    
    public function 
index(){
        
$mysidia Registry::get("mysidia");
        throw new 
InvalidActionException($mysidia->lang->global_action);
    }
    
    public function 
click(){
        
$mysidia Registry::get("mysidia");
        
$document $mysidia->frame->getDocument();        
        
$date = new DateTime;
        
$ip secure($_SERVER['REMOTE_ADDR']);
        
$adoptablestatname $this->adopt->getAdoptstatname();
    
        if(
$this->adopt->hasVoter($mysidia->user$date)){
            
// The user has leveled up this adoptable today, show error message
            
$message "<div id='stats'>Statname: {$adoptablestatname}</div>";
            
$message $message .= (($mysidia->user instanceof Member)?$mysidia->lang->already_leveled_member:$mysidia->lang->already_leveled_guest);  
            
$document->setTitle($mysidia->lang->already_leveled_title);
            
$document->addLangvar($message);        
        }
        elseif(
$this->adopt->isFrozen() == "yes"){
                
$message $message .= "
<div id='stats'>
Statname: 
{$adoptablestatname}
</div><br>
We're sorry, but you cannot add clicks to this adoptable at this time because its owner has chosen to freeze it.  Frozen adoptables do not accept new clicks and do not level up.  Thanks anyway for the click though, but the owner of this adoptable wants to keep this adoptable young so it will not be counted."
;
            
$document->setTitle($mysidia->lang->frozen_title);
            
$document->addLangvar($message);
        }
        else{
            
$message $message .= "<br><text align ='center'><div id='clickpagelink'><a href='{$mysidia->path->getAbsolute()}levelup/click/{$this->adopt->getAdoptID()}'>Click here to visit {$adoptablename}</a><br></div>";  
            
$newClicks $this->adopt->getTotalClicks() + 1;
            
$this->adopt->setTotalClicks($newClicks"update");
            
$mysidia->db->insert("vote_voters", array("void" => NULL"date" => $date->format('Y-m-d'), "username" => $mysidia->user->username"ip" => $ip"adoptableid" => $mysidia->input->get("aid")));         
            
            if(
$this->adopt->hasNextLevel()){
                
// A higher level does exist, so we see if it is time to level up
                
$nextLevel $this->adopt->getNextLevel();
                
$requiredClicks $nextLevel->getRequiredClicks();
                if(
$requiredClicks and $newClicks >= $requiredClicks$this->adopt->setCurrentLevel($nextLevel->getLevel(), "update");
            }
            
            
$document->setTitle("{$mysidia->lang->gave} {$this->adopt->getName()} one {$mysidia->lang->unit}");
            
$reward $mysidia->user->clickreward($mysidia->settings->rewardmoney);
            
$mysidia->user->changecash($reward);            
            
$image $this->adopt->getImage("gui");        
            
$image->setLineBreak(TRUE);    
            
            
$summary = new Division;
            
$summary->setAlign(new Align("center"));
            
$summary->add($image);    
            
$summary->add(new Comment("{$mysidia->lang->gave}{$this->adopt->getName()} one {$mysidia->lang->unit}."));
            
$summary->add(new Comment($mysidia->lang->encourage));
            
$summary->add(new Comment("<br>"));
            
$summary->add(new Comment(" You have earned {$reward} {$mysidia->settings->cost} for leveling up this adoptable. "));
            
$summary->add(new Comment("You now have {$mysidia->user->getcash()} {$mysidia->settings->cost}"));
            
$document->add($summary);
            
$document->addLangvar($message);            
        }
    }

    public function 
siggy(){
        
$mysidia Registry::get("mysidia");
        
// The adoptable is available, let's collect its info
        
$usingimage "no";
        
$image $this->adopt->getImage(); 
      
        
$usegd $mysidia->settings->gdimages;
        
$imageinfo = @getimagesize($image);
        
$imagemime $imageinfo["mime"]; // Mime type of the image file, should be a .gif file...

        
if(function_exists('imagegif') and $usegd == "yes" and $imagemime == "image/gif"){
            
$usingimage "yes"//Turn the template system off
            
$type $this->adopt->getType();
            list(
$width$height$type$attr) = getimagesize($image); // The size of the original adoptable image

            // Lets create the new target image, with a size big enough for the text for the adoptable
            
$newheight $height 72;
            
$newwidth = ($newwidth 250)?250:$width;
            
$img_temp imagecreatetruecolor($newwidth$newheight); 
            
$alphablending true;  
         
            
// Lets create the image and save its transparency  
            
$img_old = @imagecreatefromgif($image);  
            
imagealphablending($img_oldtrue);  
            
imagesavealpha($img_oldtrue);
   
            
// Lets copy the old image into the new image with  
            
ImageCopyResampled($img_temp$img_old0000$width$height$width$height);    
            
$textheight $width 2;
            
$image $img_temp;
            
$bgi imagecreatetruecolor($newwidth$newheight);
            
$color imagecolorallocate($bgi515151);
         
            
// Build text for siggy
            
$str1 "Name: ".$this->adopt->getName();
            
$str2 "Owner: ".$this->adopt->getOwner();
            
$str3 "Click Here to Feed Me!";
            
$str4 "More Adopts at:";
            
$str5 "www.".constant("DOMAIN");

            
// Renger Image
            
imagestring ($image120$textheight,  $str1$color);
            
imagestring ($image120$textheight 13,  $str2$color);
            
imagestring ($image120$textheight 26,  $str3$color);
            
imagestring ($image120$textheight 42,  $str4$color);
            
imagestring ($image120$textheight 55,  $str5$color);
            
$background imagecolorallocate($image000);  
            
ImageColorTransparent($image$background);  
 
            
// At the very last, let's clean up temporary files
            
header("Content-Type: image/GIF");
            
ImageGif ($image);
            
imagedestroy($image);
            
imagedestroy($img_temp);
            
imagedestroy($img_old);
            
imagedestroy($bgi);

        }
        else{      
                
// We are going to try and get this image the old fashioned way...
            
$extList = array();
            
$extList['gif'] = 'image/gif';
            
$extList['jpg'] = 'image/jpeg';
            
$extList['jpeg'] = 'image/jpeg';
            
$extList['png'] = 'image/png';

            
//Define the output file type
            
$contentType 'Content-type: '.$extList$imageinfo['extension'] ];

            if(
$imageinfo['extension'] =! "image/gif" and $imageinfo['extension'] =! "image/jpeg" and $imageinfo['extension'] =! "image/png"){             
                throw new 
InvalidIDException("The file Extension is not allowed!");
            }
            else{
                
// File type is allowed, so proceed
                
$status "";
                
header($contentType);
                
$curl = new Curl($image);
                
$curl->setHeader();
                
$curl->exec();
                
$curl->close();
            } 
        }
    }
    
    public function 
daycare(){
        
$mysidia Registry::get("mysidia");
        
$document $mysidia->frame->getDocument();
        
$document->setTitle($mysidia->lang->daycare_title);
        
$document->addLangvar($mysidia->lang->daycareTRUE);
        
        try{
            
$daycare = new Daycare;
            
$adopts $daycare->getAdopts();
        }
        catch(
DaycareException $dae){
            
$message $dae->getmessage();
            
$document->addLangvar($mysidia->lang->{$message});
            return;
        }
        
        
$daycareTable = new Table("daycare"""FALSE);
        
$daycareTable->setBordered(FALSE);
        
$total $daycare->getTotalAdopts();
        
$index 0;

        for(
$row 0$row $daycare->getTotalRows(); $row++){
            
$daycareRow = new TRow("row{$row}");
            for(
$column 0$column $daycare->getTotalColumns(); $column++){
                
$adopt = new OwnedAdoptable($adopts[$index]);
                
$image = new Link("levelup/click/{$adopt->getAdoptID()}"$adopt->getImage("gui"), TRUE);
                
$stats = new Comment($daycare->getStats($adopt));
                
$daycareCell = new TCell(new ArrayObject(array($image$stats)), "cell{$index}");
                
$daycareCell->setAlign(new Align("center""center"));
                
$daycareRow->add($daycareCell);
                
$index++;
                if(
$index == $total) break;
            }
            
$daycareTable->add($daycareRow);            
        }
        
        
$document->add($daycareTable);
        if(
$pagination $daycare->getPagination()) $document->addLangvar($pagination->showPage());
    }
}
?>

Check your ownedadoptable class file.

Missy Master 06-29-2014 02:29 PM

NOW it's working to insert the stats!! Not sure why haha ...let me see if Levelup is !



EDIT -- still white page, with the levelup code!

Hwona 06-29-2014 02:37 PM

^Oh, wait a minute... for the levelup page, did you use the file I provided? THat's 1.3.3..

Missy Master 06-29-2014 02:54 PM

1 Attachment(s)
I did yes ... I didn't have much luck adding in the code to my own, didn't think of that.

Here's my 1.3.4 levelup file attached ..


if you want to see if you can add it and I'll try it!

Hwona 06-29-2014 03:21 PM

Try this:
PHP Code:

<?php

use Resource\Native\Integer;
use 
Resource\Collection\ArrayList;
use 
Resource\Utility\Curl;

class 
LevelupController extends AppController{

    const 
PARAM "aid";
    private 
$adopt;
    private 
$settings;

    public function 
__construct(){
        
parent::__construct();
        
$this->settings = new LevelSetting;
        
$mysidia Registry::get("mysidia");

        if(
$mysidia->input->action() == "click" or $mysidia->input->action() == "siggy"$this->adopt = new OwnedAdoptable($mysidia->input->get("aid"));
        if(
$mysidia->user instanceof Member){
            
$status $mysidia->user->getstatus();   
            if(
$status->canlevel == "no") throw new InvalidActionException("banned");
        }    
    }
    
    public function 
index(){
        throw new 
InvalidActionException("global_action");
    }
    
    public function 
click(){
        
$mysidia Registry::get("mysidia");
        
$date = new DateTime;
        
$ip secure($_SERVER['REMOTE_ADDR']);
        
$adoptablestatname $this->adopt->getAdoptstatname();

        if(
$this->settings->system != "enabled") throw new NoPermissionException("disabled");
        elseif(
$this->adopt->hasVoter($mysidia->user$date)){





           
$message "<div id='stats'>Statname: {$adoptablestatname}</div>";
$message $message .= (($mysidia->user instanceof Member)?$mysidia->lang->already_leveled_member:$mysidia->lang->already_leveled_guest);  


            throw new 
LevelupException($message);        
        }
        




        
        
        elseif(
$this->adopt->isFrozen() == "yes")  $message $message .= "
<div id='stats'>
Statname: 
{$adoptablestatname}
</div><br>
We're sorry, but you cannot add clicks to this adoptable at this time because its owner has chosen to freeze it.  Frozen adoptables do not accept new clicks and do not level up.  Thanks anyway for the click though, but the owner of this adoptable wants to keep this adoptable young so it will not be counted."
;
            
$document->setTitle($mysidia->lang->frozen_title);
            
$document->addLangvar($message);  
        elseif(
$mysidia->user->getVotes() > $this->settings->number) throw new LevelupException("number");
        elseif(
$this->settings->owner == "disabled" and $this->adopt->getOwner() == $mysidia->user->username){
             throw new 
LevelupException("owner");               
        }
        else{
        
$message $message .= "<br><text align ='center'><div id='clickpagelink'><a href='{$mysidia->path->getAbsolute()}levelup/click/{$this->adopt->getAdoptID()}'>Click here to visit {$adoptablename}</a><br></div>";  
            
$newClicks $this->adopt->getTotalClicks() + 1;
            
$this->adopt->setTotalClicks($newClicks"update");
            
$mysidia->db->insert("vote_voters", array("void" => NULL"date" => $date->format('Y-m-d'), "username" => $mysidia->user->username"ip" => $ip"adoptableid" => $mysidia->input->get("aid")));         
            
            if(
$this->adopt->hasNextLevel()){
                
$nextLevel $this->adopt->getNextLevel();
                
$requiredClicks $nextLevel->getRequiredClicks();
                if(
$requiredClicks and $newClicks >= $requiredClicks$this->adopt->setCurrentLevel($nextLevel->getLevel(), "update");
            }
            
            
$reward $mysidia->user->clickreward($this->settings->reward);
            
$mysidia->user->changecash($reward);            
            
$this->setField("adopt"$this->adopt);
            
$this->setField("reward", new Integer($reward));
            
$document->addLangvar($message);            
        }
    }

    public function 
siggy(){
        
$mysidia Registry::get("mysidia");
        
// The adoptable is available, let's collect its info
        
$usingimage "no";
        
$image $this->adopt->getImage(); 
      
        
$usegd $mysidia->settings->gdimages;
        
$imageinfo = @getimagesize($image);
        
$imagemime $imageinfo["mime"]; // Mime type of the image file, should be a .gif file...

        
if(function_exists('imagegif') and $usegd == "yes" and $imagemime == "image/gif"){
            
$usingimage "yes"//Turn the template system off
            
$type $this->adopt->getType();
            list(
$width$height$type$attr) = getimagesize($image); // The size of the original adoptable image

            // Lets create the new target image, with a size big enough for the text for the adoptable
            
$newheight $height 72;
            
$newwidth = ($newwidth 250)?250:$width;
            
$img_temp imagecreatetruecolor($newwidth$newheight); 
            
$alphablending true;  
         
            
// Lets create the image and save its transparency  
            
$img_old = @imagecreatefromgif($image);  
            
imagealphablending($img_oldtrue);  
            
imagesavealpha($img_oldtrue);
   
            
// Lets copy the old image into the new image with  
            
ImageCopyResampled($img_temp$img_old0000$width$height$width$height);    
            
$textheight $width 2;
            
$image $img_temp;
            
$bgi imagecreatetruecolor($newwidth$newheight);
            
$color imagecolorallocate($bgi515151);
         
            
// Build text for siggy
            
$str1 "Name: ".$this->adopt->getName();
            
$str2 "Owner: ".$this->adopt->getOwner();
            
$str3 "Click Here to Boost Me!";
            
$str4 "More Pets at:";
            
$str5 "www.".constant("DOMAIN");

            
// Renger Image
            
imagestring ($image120$textheight,  $str1$color);
            
imagestring ($image120$textheight 13,  $str2$color);
            
imagestring ($image120$textheight 26,  $str3$color);
            
imagestring ($image120$textheight 42,  $str4$color);
            
imagestring ($image120$textheight 55,  $str5$color);
            
$background imagecolorallocate($image000);  
            
ImageColorTransparent($image$background);  
 
            
// At the very last, let's clean up temporary files
            
header("Content-Type: image/GIF");
            
ImageGif ($image);
            
imagedestroy($image);
            
imagedestroy($img_temp);
            
imagedestroy($img_old);
            
imagedestroy($bgi);

        }
        else{      
                
// We are going to try and get this image the old fashioned way...
            
$extList = array();
            
$extList['gif'] = 'image/gif';
            
$extList['jpg'] = 'image/jpeg';
            
$extList['jpeg'] = 'image/jpeg';
            
$extList['png'] = 'image/png';

            
//Define the output file type
            
$contentType 'Content-type: '.$extList$imageinfo['extension'] ];

            if(
$imageinfo['extension'] =! "image/gif" and $imageinfo['extension'] =! "image/jpeg" and $imageinfo['extension'] =! "image/png"){             
                throw new 
InvalidIDException("The file Extension is not allowed!");
            }
            else{
                
// File type is allowed, so proceed
                
$status "";
                
header($contentType);
                
$curl = new Curl($image);
                
$curl->setHeader();
                
$curl->exec();
                
$curl->close();
            } 
        }
    }
    
    public function 
daycare(){        
        
$daycare = new Daycare;
        
$adopts $daycare->getAdopts();
        
$this->setField("daycare"$daycare);
    }
}
?>

I can try something else if it fails to work.

Missy Master 06-29-2014 03:33 PM

Nope :(

Still white page .. I am so sorry it's being such a pain

Hwona 06-29-2014 04:13 PM

Try this:
PHP Code:

<?php

use Resource\Native\Integer;
use 
Resource\Collection\ArrayList;
use 
Resource\Utility\Curl;

class 
LevelupController extends AppController{

    const 
PARAM "aid";
    private 
$adopt;
    private 
$settings;

    public function 
__construct(){
        
parent::__construct();
        
$this->settings = new LevelSetting;
        
$mysidia Registry::get("mysidia");

        if(
$mysidia->input->action() == "click" or $mysidia->input->action() == "siggy"$this->adopt = new OwnedAdoptable($mysidia->input->get("aid"));
        if(
$mysidia->user instanceof Member){
            
$status $mysidia->user->getstatus();   
            if(
$status->canlevel == "no") throw new InvalidActionException("banned");
        }    
    }
    
    public function 
index(){
        throw new 
InvalidActionException("global_action");
    }
    
    public function 
click(){
        
$mysidia Registry::get("mysidia");
        
$date = new DateTime;
        
$ip secure($_SERVER['REMOTE_ADDR']);
        
$statname rand(0,100) ;

        if(
$this->settings->system != "enabled") throw new NoPermissionException("disabled");
        elseif(
$this->adopt->hasVoter($mysidia->user$date)){





            
$message "<div id='stats'>Statname: {$adoptablestatname}</div>";
$message $message .= (($mysidia->user instanceof Member)?$mysidia->lang->already_leveled_member:$mysidia->lang->already_leveled_guest);  


            throw new 
LevelupException($message);        
        }
        




        
          
$message $message .= "
<div id='stats'>
Statname: 
{$adoptablestatname}
</div><br>
We're sorry, but you cannot add clicks to this adoptable at this time because its owner has chosen to freeze it.  Frozen adoptables do not accept new clicks and do not level up.  Thanks anyway for the click though, but the owner of this adoptable wants to keep this adoptable young so it will not be counted."
;
        elseif(
$this->adopt->isFrozen() == "yes") throw new LevelupException($message);
        elseif(
$mysidia->user->getVotes() > $this->settings->number) throw new LevelupException("number");
        elseif(
$this->settings->owner == "disabled" and $this->adopt->getOwner() == $mysidia->user->username){
             throw new 
LevelupException("owner");               
        }
        else{
          
$message $message .= "<br><text align ='center'><div id='clickpagelink'><a href='{$mysidia->path->getAbsolute()}levelup/click/{$this->adopt->getAdoptID()}'>Click here to visit {$adoptablename}</a><br></div>";  
            
$newClicks $this->adopt->getTotalClicks() + 1;
            
$this->adopt->setTotalClicks($newClicks"update");
            
$mysidia->db->insert("vote_voters", array("void" => NULL"date" => $date->format('Y-m-d'), "username" => $mysidia->user->username"ip" => $ip"adoptableid" => $mysidia->input->get("aid")));         
            
            if(
$this->adopt->hasNextLevel()){
                
$nextLevel $this->adopt->getNextLevel();
                
$requiredClicks $nextLevel->getRequiredClicks();
                if(
$requiredClicks and $newClicks >= $requiredClicks$this->adopt->setCurrentLevel($nextLevel->getLevel(), "update");
            }
            
            
$reward $mysidia->user->clickreward($this->settings->reward);
            
$mysidia->user->changecash($reward);            
            
$this->setField("adopt"$this->adopt);
            
$this->setField("reward", new Integer($reward));
            throw new 
LevelupException($message);
        }
    }

    public function 
siggy(){
        
$mysidia Registry::get("mysidia");
        
// The adoptable is available, let's collect its info
        
$usingimage "no";
        
$image $this->adopt->getImage(); 
      
        
$usegd $mysidia->settings->gdimages;
        
$imageinfo = @getimagesize($image);
        
$imagemime $imageinfo["mime"]; // Mime type of the image file, should be a .gif file...

        
if(function_exists('imagegif') and $usegd == "yes" and $imagemime == "image/gif"){
            
$usingimage "yes"//Turn the template system off
            
$type $this->adopt->getType();
            list(
$width$height$type$attr) = getimagesize($image); // The size of the original adoptable image

            // Lets create the new target image, with a size big enough for the text for the adoptable
            
$newheight $height 72;
            
$newwidth = ($newwidth 250)?250:$width;
            
$img_temp imagecreatetruecolor($newwidth$newheight); 
            
$alphablending true;  
         
            
// Lets create the image and save its transparency  
            
$img_old = @imagecreatefromgif($image);  
            
imagealphablending($img_oldtrue);  
            
imagesavealpha($img_oldtrue);
   
            
// Lets copy the old image into the new image with  
            
ImageCopyResampled($img_temp$img_old0000$width$height$width$height);    
            
$textheight $width 2;
            
$image $img_temp;
            
$bgi imagecreatetruecolor($newwidth$newheight);
            
$color imagecolorallocate($bgi515151);
         
            
// Build text for siggy
            
$str1 "Name: ".$this->adopt->getName();
            
$str2 "Owner: ".$this->adopt->getOwner();
            
$str3 "Click Here to Boost Me!";
            
$str4 "More Pets at:";
            
$str5 "www.".constant("DOMAIN");

            
// Renger Image
            
imagestring ($image120$textheight,  $str1$color);
            
imagestring ($image120$textheight 13,  $str2$color);
            
imagestring ($image120$textheight 26,  $str3$color);
            
imagestring ($image120$textheight 42,  $str4$color);
            
imagestring ($image120$textheight 55,  $str5$color);
            
$background imagecolorallocate($image000);  
            
ImageColorTransparent($image$background);  
 
            
// At the very last, let's clean up temporary files
            
header("Content-Type: image/GIF");
            
ImageGif ($image);
            
imagedestroy($image);
            
imagedestroy($img_temp);
            
imagedestroy($img_old);
            
imagedestroy($bgi);

        }
        else{      
                
// We are going to try and get this image the old fashioned way...
            
$extList = array();
            
$extList['gif'] = 'image/gif';
            
$extList['jpg'] = 'image/jpeg';
            
$extList['jpeg'] = 'image/jpeg';
            
$extList['png'] = 'image/png';

            
//Define the output file type
            
$contentType 'Content-type: '.$extList$imageinfo['extension'] ];

            if(
$imageinfo['extension'] =! "image/gif" and $imageinfo['extension'] =! "image/jpeg" and $imageinfo['extension'] =! "image/png"){             
                throw new 
InvalidIDException("The file Extension is not allowed!");
            }
            else{
                
// File type is allowed, so proceed
                
$status "";
                
header($contentType);
                
$curl = new Curl($image);
                
$curl->setHeader();
                
$curl->exec();
                
$curl->close();
            } 
        }
    }
    
    public function 
daycare(){        
        
$daycare = new Daycare;
        
$adopts $daycare->getAdopts();
        
$this->setField("daycare"$daycare);
    }
}
?>


Missy Master 06-29-2014 04:17 PM

Not working for me still ... anyone else want to try this on a 1.3.4 site?

I really can't imagine what's wrong!

Hwona 06-29-2014 04:29 PM

Does v.1.3.4 have the comment() function?

Missy Master 06-29-2014 04:45 PM

1 Attachment(s)
I'm not sure .. ah, and shop is giving the same error as adopt and breeding were.



I have uploaded the 1.3.4 shop file, if you have time you can alter that when you are able.

We're getting there, I'm anxious to get this all working because it's fantastic!!


I'm already working on a mod for the mod, to have the mother and father stats combine to be inherited!

Hwona 06-29-2014 06:32 PM

Try this code:
PHP Code:

<?php

use Resource\Native\Integer;

class 
ShopController extends AppController{

    const 
PARAM "shop";

    public function 
__construct(){
        
parent::__construct("member");    
        
$mysidia Registry::get("mysidia");        
        
$mysidia->user->getstatus();
        if(
$mysidia->user->status->canshop == "no"){
            throw new 
NoPermissionException($mysidia->lang->denied);
        }
        if(
$mysidia->input->action() != "index" and !$mysidia->input->get("shop")){
            throw new 
InvalidIDException($mysidia->lang->global_id);
        }
    }
    
    public function 
index(){
        
$mysidia Registry::get("mysidia");
        
$shopList = new Shoplist($mysidia->input->post("shoptype"));
        if(
$shopList->gettotal() == 0) throw new InvalidIDException("none");
        
$this->setField("shopList"$shopList);
    }
    
    public function 
browse(){
        
$mysidia Registry::get("mysidia");        
        
$shoptype $mysidia->db->select("shops", array("shoptype"), "shopname = '{$mysidia->input->get("shop")}'")->fetchColumn();
        
$shoplist = new Shoplist($shoptype);
        
$shop $shoplist->createshop($mysidia->input->get("shop"));
        
$this->setField("shop"$shop);
    }
    
    public function 
purchase(){
        
$mysidia Registry::get("mysidia");
        if(!
$mysidia->input->post("buy")) throw new InvalidIDException($mysidia->lang->global_id);
        
        if(
$mysidia->input->post("shoptype") == "itemshop"$this->purchaseItem();
        
        elseif(
$mysidia->input->post("shoptype") == "adoptshop"$this->purchaseAdopt();
        
        
        
        
        
        
        
        else throw new 
InvalidActionException($mysidia->lang->global_action);
    }
    
    private function 
purchaseItem(){
        
$mysidia Registry::get("mysidia");        
        
$shop = new Itemshop($mysidia->input->get("shop"));
        
$item $shop->getitem($mysidia->input->post("itemname"));
        
$item->assign($mysidia->user->username);
        
$oldquantity $item->getoldquantity();
        
$newquantity $oldquantity $mysidia->input->post("quantity");
            
        if(!
is_numeric($mysidia->input->post("quantity"))){
            throw new 
InvalidActionException($mysidia->lang->invalid_quantity);
        }
        elseif(
$newquantity $item->cap){
            throw new 
InvalidActionException($mysidia->lang->full_quantity); 
        }
        else{
            
$shop->purchase($item);
            
$this->setField("cost", new Integer($item->getcost($shop->salestax)));
        }        
    }
    
    private function 
purchaseAdopt(){
        
$mysidia Registry::get("mysidia");
        
$shop = new Adoptshop($mysidia->input->get("shop"));
        
$adopt $shop->getadopt($mysidia->input->post("adopttype"));
        
$statname rand(minimum value,maximum value) ;
        
$adopt->assign($mysidia->user->username);            
        
$shop->purchase($adopt);
        
$mysidia->db->update("owned_adoptables",array("statname" => $statname),"aid = $offspringID");  
        
$this->setField("cost", new Integer($adopt->getcost($shop->salestax)));        
    }
}
?>

Also, the breeding sounds great, but if you're going to implement the training and award system I have on my site, you'll also have to limit the number of training items that can be used on an adopt.

Missy Master 06-29-2014 07:14 PM

Aww this one didn't work ... and yeah very true, I'll have to change some of the item amounts allowed.

Hwona 06-29-2014 08:01 PM

Sorry about that - my mistake!
PHP Code:

<?php

use Resource\Native\Integer;

class 
ShopController extends AppController{

    const 
PARAM "shop";

    public function 
__construct(){
        
parent::__construct("member");    
        
$mysidia Registry::get("mysidia");        
        
$mysidia->user->getstatus();
        if(
$mysidia->user->status->canshop == "no"){
            throw new 
NoPermissionException($mysidia->lang->denied);
        }
        if(
$mysidia->input->action() != "index" and !$mysidia->input->get("shop")){
            throw new 
InvalidIDException($mysidia->lang->global_id);
        }
    }
    
    public function 
index(){
        
$mysidia Registry::get("mysidia");
        
$shopList = new Shoplist($mysidia->input->post("shoptype"));
        if(
$shopList->gettotal() == 0) throw new InvalidIDException("none");
        
$this->setField("shopList"$shopList);
    }
    
    public function 
browse(){
        
$mysidia Registry::get("mysidia");        
        
$shoptype $mysidia->db->select("shops", array("shoptype"), "shopname = '{$mysidia->input->get("shop")}'")->fetchColumn();
        
$shoplist = new Shoplist($shoptype);
        
$shop $shoplist->createshop($mysidia->input->get("shop"));
        
$this->setField("shop"$shop);
    }
    
    public function 
purchase(){
        
$mysidia Registry::get("mysidia");
        if(!
$mysidia->input->post("buy")) throw new InvalidIDException($mysidia->lang->global_id);
        
        if(
$mysidia->input->post("shoptype") == "itemshop"$this->purchaseItem();
        
        elseif(
$mysidia->input->post("shoptype") == "adoptshop"$this->purchaseAdopt();
        
        
        
        
        
        
        
        else throw new 
InvalidActionException($mysidia->lang->global_action);
    }
    
    private function 
purchaseItem(){
        
$mysidia Registry::get("mysidia");        
        
$shop = new Itemshop($mysidia->input->get("shop"));
        
$item $shop->getitem($mysidia->input->post("itemname"));
        
$item->assign($mysidia->user->username);
        
$oldquantity $item->getoldquantity();
        
$newquantity $oldquantity $mysidia->input->post("quantity");
            
        if(!
is_numeric($mysidia->input->post("quantity"))){
            throw new 
InvalidActionException($mysidia->lang->invalid_quantity);
        }
        elseif(
$newquantity $item->cap){
            throw new 
InvalidActionException($mysidia->lang->full_quantity); 
        }
        else{
            
$shop->purchase($item);
            
$this->setField("cost", new Integer($item->getcost($shop->salestax)));
        }        
    }
    
    private function 
purchaseAdopt(){
        
$mysidia Registry::get("mysidia");
        
$shop = new Adoptshop($mysidia->input->get("shop"));
        
$adopt $shop->getadopt($mysidia->input->post("adopttype"));
        
$statname rand(0,100) ;
        
$adoptid $mysidia->db->select("owned_adoptables", array("aid"), "1 ORDER BY aid DESC LIMIT 1")->fetchColumn() - $num 1;
        
$adopt->assign($mysidia->user->username);            
        
$shop->purchase($adopt);
        
$mysidia->db->update("owned_adoptables",array("statname" => $statname),"aid = $adoptid");  
        
$this->setField("cost", new Integer($adopt->getcost($shop->salestax)));        
    }
}
?>

Try this. :3

Missy Master 06-29-2014 08:24 PM

Heeeeey ! Looks like you got it!! YAY!! Thank you!!

If you're able to get Levelup going, I'll test that out ...just let me know. And thank you for all your work on this!

Hwona 06-29-2014 08:54 PM

Hmm, all I need to know is whether or not the comment function would work... either that or, I need to check some v.1.3.4 files.

Missy Master 06-29-2014 08:59 PM

HOF ? You know this PHP far better than I ...what say you ? :)


All times are GMT -5. The time now is 03:01 AM.

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