So what's next? I still have a long way to go to do all the things I want to do! Inspired by Wallie, I've already redirected the error page after you've already fed a pet for a day to a profile for the pet - it contains all the same information about a pet the management page will, but with no links to manage a pet. If the pet is your own, there will be a link to go to the pet's management page so you can do things such as rename it, etc.

(I still haven't saved art for some layers of the pets yet, ahaha, so there are broken image layers...)
As just as example of some of the work I want to do moving forward, on just this one section of the site, here is my to-do list, rated by how difficult I think it'll be for myself to accomplish:
★☆☆☆ Easy:- Limit today's visitors to really just be today's, while also clearing any database entries older than a month. (I'm keeping this data for up to a month so I can run contests based on site participation.)
- Check if the visitor is the owner and don't reward any Aurum (site currency) if they are the owner. (Experience will still be gained.)
- Beside the birthday, also include an age in years, months, and days.
- Change the layout during intially playing with a Novu. (I'd like the image to be to the right of the text, rather than below it.)
★★☆☆ Somewhat Easy:- Allow items to sometimes drop from pets. (There is a mod for this, so all I really need to do is look into installing it. However, it may not entirely suit my needs. For example, only Nightmare pets will drop a certain item, and any pet can become a Nightmare pet... and some items will only be obtainable from visiting your own pets, or only by visiting other's pets... so some customizing of the mod is to be done.)
- Currently the profile pages I've created for Novu after they've been played with for the day cannot be seen if they are 'frozen'. I'd like to fix this - of course they'll still be prevented from gaining experience. I'm not, however, certain what all I'll have to do to achieve this yet.
★★★☆ Somewhat Difficult:- I want to create a text field so users are able to create a roleplay profile for their pets and include some custom information about them. I want to allow some basic HTML. (Later, I'll use what I learned here to spruce up the user's profile page text field as well!)
- I want to allow users to 'like' pets, just like people can 'like' posts on social media. But then, I also need to create a page for users to view all the pets they've ever liked. And, also, give them the ability to recant a 'like' in case they change their mind or clicked by accident.
★★★★ Difficult:- Create a separate page that will hold a pet's heritage, that is, a family tree map. It will include their parents, aunts and uncles, grandparents, and of course their own children. Later this information will be cross-referenced to prevent some immediate inbreeding.
- If a user owns items of a type (item types will be a new column in the database) that a pet likes (such as, maybe this pet likes candy), then when the user visits that pet's profile, offer to let the user choose an item of that type that they own, warning them that it will be removed from their inventory, and let them give the item to the pet they are visiting. It will grant additional experience to the pet, Aurum to the user, and possibly additional effects. I also need to consider making it so a user can only do this once per pet per day. The pet won't necessarily need to be their own - letting you directly help other user's pets. If another user's pet is 'frozen' then they don't want it gaining experience -- so I'll also prevent frozen pets from receiving items in this way, that way visitors aren't raising your pets for you if you want them to stay young forever.
Breeding Update Thought I'd bring up that the breeding page looks like this, thanks to some jQuery:

*It's intentional now that pets can breed with one another regardless of their gender, so it's possible to select two of the same pet. I go out of my way to show that if you try to have the parents both be the same pet, it won't let you. (It won't in the end, anyway, for now it just visually won't let you.)
Also! Thank you for your continued support, everyone!!!!!!!
I love helping out the community, but I can't always help everyone with everything. There are many, many things I'm doing for my own site that I will probably never, ever release as mods for you guys, and I feel kind of bad about it. Still, I give back what I can while maintaining a competitive edge. I aim to teach by helping with small simple tasks (of no more than two stars of difficulty, going by the examples above), rather than just giving large handouts.
I've never directly been asked how I do some things, but I'm sure it'll come up in time. Don't be afraid to ask, but, also be prepared to get 'Ahh, I really don't want to tell you that...' as an answer. I do my best to point people in the right direction, with words, but no code, however. You're always welcome to imitate, but at some point, you'll have to do the hard parts yourself just like I have had to.
__________________
Please do not contact me directly outside of Mysidia.
I also cannot troubleshoot code more than two years old - I legit don't remember it.
Last edited by Kyttias; 04-17-2015 at 11:31 PM.
|