The Charm Searcher of Otacoo.com has been moved to a new subsite called Mamonavi.

Mamonavi, numbered as release 0.3.2 of the Charms Searcher, is the only ressource in Japanese and English to search for Charms in Monster Hunter Portable 3rd.

It contains also a new functionality to check the presence of specific charms in the 12 tables for up to 5 charms. This new feature is called Table Checker.

Enjoy!

This post is for fans of Monster Hunter and Database stuff.
If you study database systems, you can use this post as an application example.

You can find on the web a lot of applications that permits you to search charms of Monster Hunter Portable 3rd.
A couple of famous examples with:

The point is: How the hell did they built that?
Well, they built an interface application (javascript or php) that interacts with a database whose structure is more or less as in the picture below.

DB Charms details

This image shows the different table of the database.
(*) means the primary keys of each table. Multiple (*) means that the primary keys is built on multiple column data.
Arrows indicate the dependencies between each table. It is called a FOREIGN KEY.

The most important part is the detailed table. This one contains all the data for each Charms (Skills, points, charm name, stone name, table number). And as it is the one using the most data, it has been reduced a maximum to use only numerical IDs.

Creating those tables can be made with the following SQL for stone table:
CREATE TABLE stone_table (
stone_id integer,
name_jp varchar(30),
name_en varchar(30),
CONSTRAINT stone_list_key PRIMARY KEY(stone_id)); -- stone_id is now unique!!

Charms and Skill table have the same shape, so I think you can imagine how their SQL looks :) .
For the detailed table, something like that:

CREATE TABLE detailed_table (
range_id integer,
fabrication_id integer,
charm_id integer,
stone_id integer,
skill_1_id integer,
skill_point_1 integer,
skill_2_id integer,
skill_point_2 integer,
slots integer,
table_id integer,
CONSTRAINT detailed_key PRIMARY KEY(charm_id, seed_num), -- unique ID for each Charm
FOREIGN KEY (charm_id) references charms_table(charm_id), -- refers to charm table
FOREIGN KEY (stone_id) references stone_table(stone_id), -- refers to stone table
FOREIGN KEY (skill_1_id) references skill_table(skill_id), -- refers to skill table
FOREIGN KEY (skill_2_id) references skill_table(skill_id)); -- refers to skill table

A little bit of technical background…

  • PRIMARY KEY is a table constraint that forces the tuples (the lines) of the tables to have a unique value of it, this permits to avoid duplicate values in the table.
  • FOREIGN KEY a table constraint that permits to refer to another table.

Why using such a structure database structure?
For Charms searcher, the table containing the most data is the detailed table, so you need a light way to manage it.

For instance, imagine you want to look for Charms having the Stone name “Soldier Stone”.
You have to look in the stone table where is the line of the soldier Stone, and take its ID.
SELECT stone_id
FROM stone_table
WHERE en_name LIKE 'Soldier Stone';

With this ID, simply look for the data in the detailed table.
SELECT *
FROM detailed_table
WHERE stone_id = ??

?? being the value you found previously in the stone table.

Then the secret is to limit the number of requests to the Database if you deal with a large amount of data.
This can be done in 1 query to the charms Database with JOIN mechanisms.
And don’t worry, this is used in the current version of the Charms Searcher ;)

If you don’t remember what are charms in MHP3, you can still have a look at a previous post here.
v0.1 contained only 1/12th of the whole database.

It is now all the data that is available in our MHP3 wiki.
The whole database algorithm has been updated to make your requests come out more quickly.
There is also the addition of a double language mode.

You are free to choose if you want your results in Japanese, in English, or even both.

Compared to the limited functionalities of v0.1, you can now order the results as you want, depending on skill points, slot numbers, table number.
To see the evolution of the different versions, I wrote some release notes.

Another functionality allowing to check the presence of specific charms in tables will also be added soon.

I hope this will be a useful tool, for you hunters!

After long hours of coding, between two quests, the database of Charms is finally ready and running.
It has been released at this URL.

So, what are charms in MHP3?
Like in Monster Hunter Tri, it is a complement of your equipment that permits to extend the capacities of your hunter.
They can be found by mining on maps under the form of 3 items:

  • 光るお守りShining Charm
  • 古びたお守りTimeworn Charm
  • なぞのお守りMystery Charm

Once a quest is finished, those items are transformed automatically into stones, for a total of 7 types of stones.
You can have a look there for details about charms.

At the current state, the database contains 16,400 charms.

If you want to make a collection of all the types of stones, it’s going to take you a bunch of time!

As a first release, database has basics but still useful functionalities!
You can try to find possible charms for given skills, with the points you want.
Release is in beta state. It is possible that it has a couple of bugs.

As next steps, functionalities will be extended to allow users to have more choices to set slots.
Another functionality that will be added will be the possibility to order results at will.

So don’t forget to consult the database at this URL.
It is the only one on the web in both Japanese and English!

Here is a selection of gameplay videos.

Jin’ouga, Village ★5 urgent quest

OK, this is not really done in 6mn 42s, as the video has been accelerated by 20~25%.
Still this guy is pretty good. He anticipates well the movements of Jin’ouga.
His equipment is also Level 2&3.

Gold Rathian and Silver Rathalos

This quest is Bath Assembly ★8 “Night meeting under the moon 月下の夜会”.
I personally fell in love with those guys’ technique. Nice teamwork!

Deviljho battle with Lance
Here also someone playing with Deviljho’s patience.
Nice gameplay once again. His dodging technique is well-temporized.

©2010-2013 Michael Paquier All content is ©Copyright of Otacoo.com 2010-2013. Privacy Policy - Terms of Use