Mysidia Adoptables Support Forum  

Home Community Mys-Script Creative Off-Topic
Go Back   Mysidia Adoptables Support Forum > Mysidia Adoptables > Addons and Modifications > Mys v1.1.x Mods

Reply
 
Thread Tools Display Modes
  #1  
Old 11-28-2010, 07:53 AM
Hall of Famer's Avatar
Hall of Famer Hall of Famer is online now
Administrator, Lead Coder
 
Join Date: Dec 2008
Location: Somerville
Posts: 4,388
Gender: Male
Credits: 126,219
Hall of Famer is on a distinguished road
Default Hall of Famer's HP system

Well before we get this started, I am noticing you that this is based on Pokemon's HP system. You will have to modify the formula or even redefine the variables used in your formula to create a custom HP system of your own interest. Here I will begin:

Before getting started, we will need to set up the new structure of the 'adoptables' and 'owned_adoptables' tables. In my pokemon HP system, the following column is needed in 'adoptables' table and another three are required for 'owned_adoptables' table. You can do it pretty much easily in phpmyadmin:

in table 'adoptables', add:
PHP Code:
'basehitpoints'INT11 
in table 'owned_adoptables', add:
PHP Code:
'individualvalue'INT11 )  
'maxhp'INT11 ), DEFAULT '10'
'basehp'
INT11 

Alright, we are done with the database structure. The next thing to do is to add this definition of base hp to admincp.

In admin.php, find:

PHP Code:
<hr>
  <
p><strong>Alternate Outcomes Settings:</strong></p>
  <
p>This section allows you to set if you want to enable alternate outcomesThis setting allows you to specify what the chances are of a user getting an alternate or special version of this adoptableCheck the checkbox below to enable this feature and then fill out the information below.. </p>
  <
p><strong>
    <
input name='alternates' type='checkbox' id='alternates' value='enabled'>
</
strong>Enable Alternate Outcomes </p>
  <
p>Alternate Outcomes Selection Information:</p>
  <
p>Start using the alternate outcome at level number
    <
input name='altoutlevel' type='text' id='altoutlevel' size='6' maxlength='6'>
    <
br>
    (Use 
Level 0 to have the alternate outcome be used from birthThis will not affect the first egg image.) </p>
  <
p>The alternate outcome has a chance of 1 in 
    
<input name='altchance' type='text' id='altchance' size='6' maxlength='6'>
 
of being selected.<br>
 (
Here you can select the chance that the alternate images for this adoptable are usedSo, for an equal chance of using say male or female imagesput 2 in the box to have a 1 out of 2 or 50chance of using the alternate image. If you want to have the alternate images be rare images, use a higher numberlike 100 for a 1 out of 100 chance of using the alternates.)</p>
  <
p
Add after:
PHP Code:
<p><strong>Stats Settings</strong></p>
   <
p>The Base HP of this Adoptable is
  
<input name='basehitpoints' type='text' id='basehitpoints' size='6' maxlength='6'
  <
p>
<
p


This step is technically not required, but it makes your life easier if you wish to add adoptables through admin control panel instead of phpmyadmin. The next thing to do is to update nadopt.php so you will be able to successfully created this adoptable.

In nadopt.php, find:
PHP Code:
$alternates $_POST["alternates"];
$alternates secure($alternates);

$altoutlevel $_POST["altoutlevel"];
$altoutlevel secure($altoutlevel);

$altchance $_POST["altchance"];
$altchance secure($altchance); 
Add after:
PHP Code:
$basehitpoints $_POST["basehitpoints"];
$basehitpoints secure($basehitpoints); 
Then find the sql query(assume you have yet to add other columns to this 'adoptables table'):
PHP Code:
mysql_query("INSERT INTO ".$prefix."adoptables VALUES ('', '$name', '$description','$eggimage','$cba','$promocode', '$freqcond', '$number','$datecond','$date','$adoptscond','$maxnumcond','$morethannum','$usergroupcond','$usergroups','$alternates','$altoutlevel','$altchance')"); 
Replace with:
PHP Code:
mysql_query("INSERT INTO ".$prefix."adoptables VALUES ('', '$name', '$description','$eggimage','$cba','$promocode', '$freqcond', '$number','$datecond','$date','$adoptscond','$maxnumcond','$morethannum','$usergroupcond','$usergroups','$alternates','$altoutlevel','$altchance','$basehitpoints')"); 


So basically what we are doing here is to enable admins to create adoptables successfully by matching the number of columns in table 'adoptables'. If you are using Kaeliah's multialternative mods, your sql query will look quite different and all you have to do is to add ,'$basehitpoints' to the end of your codes. We are done with the definition of base HP, and its still rather important to convert this base HP to an adoptable's actual HP. You may wonder where the variable 'individualvalue' come from, and I will illustrate this point to you next.

In doadopt.php, find:
PHP Code:
$name $_GET["name"];
$name preg_replace("/[^a-zA-Z0-9\\040.]/"""$name);
$name secure($name); 
Add below:
PHP Code:
$basehitpoints $_GET["basehitpoints"];
$basehitpoints preg_replace("/[^a-zA-Z0-9\\040.]/"""$basehitpoints);
$basehitpoints secure($basehitpoints); 
Next, find:
PHP Code:
$aid=@mysql_result($result,$i,"id"); //The adoptable's ID
$type=@mysql_result($result,$i,"type");
$description=@mysql_result($result,$i,"description");
$eggimage=@mysql_result($result,$i,"eggimage"); 
Add below:
PHP Code:
$basehitpoints=@mysql_result($result,$i,"basehitpoints"); 
By doing this, we successfully add the reference of basehitpoints to each individual adoptable. The value 'basehitpoints' will be passed onto the database table 'owned_adoptables', since it is a variable in our HP formula. Another variable that determines an adoptable's HP is this 'individualvalue', a random variable between 0 and 31. To do this, find the following codes:


PHP Code:
if($name == ""){
$name $type;

Add below:
PHP Code:
//This is what we do to determine a pet's individual value(IV) and base HP, which is simple
$individualvalue rand(031);
$basehp $basehitpoints
Before closing out your script file, you will still need to edit the sql query codes. Assume you havent added any other columns to your owned_adoptable table yet, find the following codes below:

PHP Code:
mysql_query("INSERT INTO ".$prefix."owned_adoptables VALUES ('', '$type', '$name','$loggedinname','0','0', '$code', '','$alts','notfortrade','no')"); 
Replace with:
PHP Code:
mysql_query("INSERT INTO ".$prefix."owned_adoptables VALUES ('', '$type', '$name','$loggedinname','0','0', '$code', '','$alts','notfortrade','no','$individualvalue','10', '$basehp')"); 


We are done with doadopt.php now, isnt this easy? By doing this, an adoptable's hp will be determined to be 10 once it is added to your party. Note I define the column 'basehp' in 'owned_adoptables' table so that it wont mess up with the corresponding column 'basehitpoints' in 'adoptables' table. However, the key point of this HP system is that its value is not a constant and thus varies with the following three variables:

Base HP
Individual Values
Levels

Therefore, its rather important to make sure that the adoptable's HP does receive a new value after its level increases. To do this, you will need to modify another script file.

In levelup.php, find:
PHP Code:
$aid=@mysql_result($result,$i,"aid");
$type=@mysql_result($result,$i,"type"); 
$name=@mysql_result($result,$i,"name");
$totalclicks=@mysql_result($result,$i,"totalclicks");
$currentlevel=@mysql_result($result,$i,"currentlevel"); 
$usealternates=@mysql_result($result,$i,"usealternates");
$isfrozen=@mysql_result($result,$i,"isfrozen");
$owner=@mysql_result($result,$i,"owner"); 
Replace with:
PHP Code:
$aid=@mysql_result($result,$i,"aid");
$type=@mysql_result($result,$i,"type"); 
$name=@mysql_result($result,$i,"name");
$totalclicks=@mysql_result($result,$i,"totalclicks");
$currentlevel=@mysql_result($result,$i,"currentlevel"); 
$usealternates=@mysql_result($result,$i,"usealternates");
$isfrozen=@mysql_result($result,$i,"isfrozen");
$owner=@mysql_result($result,$i,"owner");
$individualvalue=@mysql_result($result,$i,"individualvalue");
$maxhp=@mysql_result($result,$i,"maxhp");
$basehp=@mysql_result($result,$i,"basehp"); 
Here comes the fun, you will need to find the codes below which updates a pet's level when its totalclicks matches requiredclicks:
PHP Code:
// We need to level this adoptable up...

    
$query "UPDATE ".$prefix."owned_adoptables SET currentlevel='".$nextlevel."' WHERE aid='".$id."'";
    
mysql_query($query); 
Add after:
PHP Code:
// We need to update this adoptable's maximum HP...
    
$newhp = (($individualvalue 2*$basehp 100)*$nextlevel)/100 10;
    
$query "UPDATE ".$prefix."owned_adoptables SET maxhp='".$newhp."' WHERE aid='".$id."'";
    
mysql_query($query); 


By doing this, we define the adoptable's new HP after its level increases by 1. Note the formula is used for pokemon HP system, you can modify it to wahtever you like for your own adoptable site. Make sure the variables you will need may not be the same with Pokemon system. We are almost done now, there's one last thing to do before heading to bed. You may want to display your pet's HP when looking at its stats.

If this is what you want, then go to myadopts.php and find the following lines:

PHP Code:
$aid=@mysql_result($result,$i,"aid"); //The adoptable's ID
$currentlevel=@mysql_result($result,$i,"currentlevel");
$type=@mysql_result($result,$i,"type");
$name=@mysql_result($result,$i,"name");
$totalclicks=@mysql_result($result,$i,"totalclicks"); 
Add after:
PHP Code:
$maxhp=@mysql_result($result,$i,"maxhp"); 
The very last thing to do is quite simple, find:

PHP Code:
$article_title $name."'s Statistics:";
$article_content "<img src='".$image."'><br><br>
<b>Total Clicks: "
.$totalclicks."<br>
Current Level: "
.$currentlevel."<br>
Next Level: "
.$nloutput."<br></b>"
Replace with:
PHP Code:
$article_title $name."'s Statistics:";
$article_content "<img src='".$image."'><br><br>
<b>Total Clicks: "
.$totalclicks."<br>
HP: "
.$maxhp."<br>
Current Level: "
.$currentlevel."<br>
Next Level: "
.$nloutput."<br></b>"


You are all set now, cheers. If done correctly, you should get a similar stats page for your adoptables as the screenshot provided below. Keep in mind that I have Arianna's gender mod added to my script file, so it may not appear to be the same with yours:




This HP system may look quite useless at this point, unless a battle system is made. But anyway, this is the first step to create a complicated battle system. You can use my HP system directly if you run a Pokemon site, but if not, please do at least modify the formula so that it works out for your site. Note the variable 'individualvalue' is designed for Pokemon games only, and you may need a different set of variables in your HP formula. If you are using Kaeliah's status system, you may wish to create another column called 'currenthp' for your adoptables. The pet's current HP value may be set to be exactly the same as max HP but it may decreases if your pet's sick. If you have an itemshop system, you may even be able to create medicines/potions used to heal your pets. So yeah, this HP system can be easily integrated with other addons we currently have here.

For me, I will create other stats such as attack, defense for adoptables next, and maybe I should create a new table 'stats' to store each individual pet's stats if too many columns make the table 'owned_adoptables' look messy. My thanksgiving break will end soon so I wont be quite active since the end of the week, but I will continue to learn and write codes whenever I can. Thanks for support, everyone.
Reply With Quote
  #2  
Old 11-28-2010, 11:11 AM
sensacion sensacion is offline
Member
 
Join Date: Mar 2010
Posts: 24
Credits: 849
sensacion
Default RE: Hall of Famer's HP system

great contribution, hopefully soon there is a mod of battles: D
Reply With Quote
  #3  
Old 11-28-2010, 01:04 PM
PokePets PokePets is offline
Premium Member
 
Join Date: Jun 2010
Posts: 228
Gender: Male
Credits: 8,832
PokePets
Default RE: Hall of Famer's HP system

Nice ;O, i gone use this <3
-------------------------------------------------------------------------------------
Reply With Quote
  #4  
Old 11-28-2010, 05:19 PM
PTGigi's Avatar
PTGigi PTGigi is offline
Crazily Friendly~HoF
 
Join Date: Jul 2009
Location: Somewhere >.>
Posts: 370
Gender: Female
Credits: 7,301
PTGigi
Default RE: Hall of Famer's HP system

Nice :D Lot better than the one I was working on X3

Can you explain the IV to me though? I play Pokemon and still don't understand the whole IV and EV values thing O.o
__________________


"I see now that the circumstances of one's birth are irrelevant; it is what you do with the gift of life that determines who you are."~Mewtwo
My Adoptables|Nuzlocke Webcomic
Reply With Quote
  #5  
Old 11-28-2010, 07:48 PM
Hall of Famer's Avatar
Hall of Famer Hall of Famer is online now
Administrator, Lead Coder
 
Join Date: Dec 2008
Location: Somerville
Posts: 4,388
Gender: Male
Credits: 126,219
Hall of Famer is on a distinguished road
Default RE: Hall of Famer's HP system

Thanks for the comments everyone, I really appreciate all these. I am not sure if a battle system will be available anytime soon, it may not be possible even during next summer seeing how many pre-requisites we will need for a battle system to function well. Not only the HP of a pet can be integrated to a future battle system, but also other stats such as attack, defense, speed and so on.

@ gigi:
IV = Individual value, which is a random number between 0 to 31. A pokemon with higher individual value is usually stronger than others of the same species.
EV = Effort Value, which is a number that increases through battling. Seems that the effort value of your pokemon is largely dependent on the enemy pokemon you defeat, which is too complicated to be implemented into this HP system(so of course, I neglect this effect for pokemon's HP determination at this point, at least until a battle system is added).

Also note that in reality, a pokemon can have up to 6 different Individual and Effort values for each of its stats. For instance, your pokemon may have rather high HP if its individual value for HP is 31, but in the meantime its individual value for Speed may be low so you always get hit by your opponent first. The same applies for Effort values, which becomes a problem if you try to add all these columns to your owned_adoptables table(lemme see, 20 new columns at least). This is why I am considering whether to create a new table that stores data for each pokemon's stats with references passed by adoptable ID numbers.
Reply With Quote
  #6  
Old 12-11-2010, 10:59 AM
Hall of Famer's Avatar
Hall of Famer Hall of Famer is online now
Administrator, Lead Coder
 
Join Date: Dec 2008
Location: Somerville
Posts: 4,388
Gender: Male
Credits: 126,219
Hall of Famer is on a distinguished road
Default RE: Hall of Famer's HP system

Another spambot? Amusing, havent been banning them for days and now I am sorta bored because of this.
Reply With Quote
  #7  
Old 12-11-2010, 03:42 PM
redheadturkey redheadturkey is offline
Senior Member
 
Join Date: Jan 2010
Posts: 136
Gender: Female
Credits: 4,176
redheadturkey is on a distinguished road
Default RE: Hall of Famer's HP system

This whole system is fantastic!! I've been wanting to comment on it, and I have to say this is nothing less than wonderful! thank you so much for sharing this .... :)

when you get a chance, come check out the NEW Pantheras :D

The blended breeding is working now, and it's utterly amazing ....
Reply With Quote
  #8  
Old 12-19-2010, 03:51 PM
Hall of Famer's Avatar
Hall of Famer Hall of Famer is online now
Administrator, Lead Coder
 
Join Date: Dec 2008
Location: Somerville
Posts: 4,388
Gender: Male
Credits: 126,219
Hall of Famer is on a distinguished road
Default RE: Hall of Famer's HP system

Thank you Anna, and I hope your site takes off too. ^^ Finals are over for me, and I should get the compilation release done asap. ^^
Reply With Quote
  #9  
Old 01-28-2011, 04:16 PM
Tequila's Avatar
Tequila Tequila is offline
MommyGMR
 
Join Date: Jan 2009
Location: Souther Tier, New York State
Posts: 1,355
Gender: Female
Credits: 45,254
Tequila is on a distinguished road
Send a message via AIM to Tequila
Default

Wow, that's nice to have. It works like a charm. :)
__________________
mommygmr :: artist :: fiverr
Do you want to be in a Video Game inspired Novel? Click HERE for details!
Reply With Quote
  #10  
Old 01-28-2011, 07:03 PM
Hall of Famer's Avatar
Hall of Famer Hall of Famer is online now
Administrator, Lead Coder
 
Join Date: Dec 2008
Location: Somerville
Posts: 4,388
Gender: Male
Credits: 126,219
Hall of Famer is on a distinguished road
Default

Thank you so much Enddayne. Well this thread is sorta outdated, I've made an improved version for the stats system in premium members forum. ^^
__________________


Mysidia Adoptables, a free and ever-improving script for aspiring adoptables/pets site.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Hall of Famer's Evolution Mod v1.2 Hall of Famer Mys v1.2.x Mods 9 07-08-2012 02:48 AM
^_^ Happy Birthday Hall Of Famer ^_^ Alaric Other Chat 10 05-22-2012 11:35 PM
Hall of Famer's Gender Ratio Mod v1.2 Hall of Famer Mys v1.2.x Mods 45 04-02-2012 12:42 PM
New interview with Hall of Famer! cpvr Other Chat 6 03-08-2011 11:51 PM
Hall of Famer's gender ratio system Hall of Famer Mys v1.1.x Mods 34 01-25-2011 02:19 AM


All times are GMT -5. The time now is 10:39 PM.

Currently Active Users: 239 (2 members and 237 guests)
Threads: 3,942, Posts: 31,405, Members: 15,530
Welcome to our newest members, ancrsbys01.
BER





What's New?

What's Hot?

What's Popular?


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.
vBCommerce I v2.0.0 Gold ©2010, PixelFX Studios
vBCredits I v2.0.0 Gold ©2010, PixelFX Studios
Emoticons by darkmoon3636