Custom NMs

Post Reply
NekoNinja
Posts: 30
Joined: Thu Jun 01, 2017 10:20 am

Custom NMs

Post by NekoNinja » Sun Feb 04, 2018 12:16 pm

Hello,
My question today is about NMs. I know you can adjust them globaly to have more HP etc is there a way to only enhance certain mobs? is it as simple as just messing around in their table?

also

I have used the renamer thing when playing on Valhalla which is an awesome server btw. is there a guide to follow to use the renamer on my own server?

basically i want to take pointless NMs add drops, rename them and make them stronger more or less to add play value to my server and be able scale difficulty levels

thanks in advance!

User avatar
TeoTwawki
Developer
Posts: 527
Joined: Mon Jul 15, 2013 9:50 pm

Re: Custom NMs

Post by TeoTwawki » Sun Feb 04, 2018 3:56 pm

It's better to just use an ID outside of the range of existing ones for the zone but within the 0-1023 limit for the NPC/MOB block for making custom NMs if going the renamer route. As for actually using renamer the info you see is in the example list's it comes with. :) I never wrote a guide for it because its pretty straight forward and I marked the min/max IDs for each zone already. https://github.com/TeoTwawki/renamer/bl ... .lua#L1791
Hi, I run The Demiurge server.


Image
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. - Martin Golding
PLS USE [ code ] CODE TAGS [ /code ] WHEN POSTING CODE
DO NOT PRIVATE MESSAGE ME ABOUT BUGS

warlord1352
Posts: 34
Joined: Sat Feb 10, 2018 1:52 am

Re: Custom NMs

Post by warlord1352 » Fri Feb 16, 2018 1:20 am

Can you actually use the renamer to edit level, HP, MP and so on?

nasomi
Posts: 141
Joined: Wed Feb 13, 2013 8:51 am

Re: Custom NMs

Post by nasomi » Sat Feb 17, 2018 12:03 am

No, you would do all that in the database.

select * from mob_spawn_points a, mob_groups b, mob_pools c where a.groupid = b.groupid and b.poolid = c.poolid and a.mobid >> 12 & 0xFFF = 103;

Replace 103 with any zoneid you want, zoneid 103 is the valkurm dunes. You can find zoneid's in the zone_settings table in the database.

User avatar
TeoTwawki
Developer
Posts: 527
Joined: Mon Jul 15, 2013 9:50 pm

Re: Custom NMs

Post by TeoTwawki » Sat Feb 17, 2018 11:55 pm

Sorry I only answered the "guide to using renamer" part.

The rest, make new lines for new NMs, preferably in a new file like mob_pools_custom.sql or something. Or modify an existing NM's using UPDATE or REPLACE statements saved to a file. If you edit your live database and later have to replace the table with updated darkstar files you will lose your customization's because the data would get wiped (same reason we have to use ALTER statements or a GUI editor to update character tables). Nasomi's instructions are for actions on a live database, not files.

Example of wiping out a mobs droplist to replace it with your own:

Code: Select all

DELETE FROM `mob_droplist` WHERE dropId=4; -- erasing Absolute Virtue's entire droplist
INSERT INTO `mob_droplist` VALUES (4,0,0,1000,1260,125); -- AV now drops a Water Ore at a 12.5% rate for example purposes
Example of changing mobs LEVEL via UPDATE statement:

Code: Select all

UPDATE `mob_groups` SET minLevel = 99 WHERE group groupid = 125; -- Bonnacon's minimum spawn lvl is now 99
UPDATE `mob_groups` SET maxLevel = 99 WHERE group groupid = 125; -- Bonnacon's maximum spawn lvl is now 99
Same level change, but via REPLACE statement (btw don't use replace for droplist changes):

Code: Select all

REPLACE INTO `mob_groups` VALUES (125,500,5,14400,0,370,0,0,99,99,0);-- Bonnacon now always level 99;
As you can see, REPLACE is useful when you want to rewrite every value of the row and not just 1 or 2 values.
For reference, you can find the field names where I got "minLevel" and "maxLevel in the top of sql\mob_groups.sql

Mob HP and MP are calculated per job level and the value in mob_family_system unless you override them in mob_groups. If you set a value in mob_groups you will get exactly that hp or mp, assuming you haven't touched the multipliers in your conf files.

tl;dr
yes just messing around in their table
Last edited by TeoTwawki on Wed Feb 21, 2018 11:46 pm, edited 1 time in total.
Hi, I run The Demiurge server.


Image
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. - Martin Golding
PLS USE [ code ] CODE TAGS [ /code ] WHEN POSTING CODE
DO NOT PRIVATE MESSAGE ME ABOUT BUGS

NekoNinja
Posts: 30
Joined: Thu Jun 01, 2017 10:20 am

Re: Custom NMs

Post by NekoNinja » Tue Feb 20, 2018 5:29 pm

thank you so much for all of your help when i ask questions you are all so helpful :)

-Neko

BraMithra
Posts: 1
Joined: Tue Apr 03, 2018 2:14 pm

Re: Custom NMs

Post by BraMithra » Tue Apr 03, 2018 2:33 pm

I just started playing around with my own server. Rather than start a new thread this thread seems to be similar to what I need to ask.

So I use mysql workbench 6.3CE to edit my sql files. This is my first time ever using sql so this might be a stupid question.

In mysql workbench when you open the mob drop list file you can see the entire table in the result grid. I have made edits to the sql files from the result grid before, and they have worked.

I found the drop pool I wanted to edit by filtering the result grid to 2922. This is Rampaging Rams drop pool. He has 10 rows all starting with 2922. What I want to do is make Rampaging Ram drop Lumbering Horn in addition to his normal drops. When I make the edit to add 911 or 910 (whatever it is) in the dropId, to just one of the rows in the result grid, then change the itemRate to 1000 or whatever. It will change every row to this. All 10 rows will then be changed. Sure this will make Rampaging Ram drop the horn, but I don't want 10 horns.

Can you make edits like this from the result grid? Making the edit from the result grid would make things simple. If you can not make a edit from the result grid without changing the entire pool, then how do you do it?

The result grid would be the ideal method.

Avatarati
Posts: 53
Joined: Mon Jun 30, 2014 2:51 pm

Re: Custom NMs

Post by Avatarati » Wed Apr 04, 2018 6:52 am

@BraMithra

Best way to learn is by studying the actual .sql files in an editor, like Notepad++. Look at how the queries are built. In mob_droplist, you'll see a lot of INSERT INTO statements. Here's an example:

Code: Select all

INSERT INTO mob_droplist VALUES ('2185','0','0','1000','3082','50'); -- Withered Bud
You really only need to focus on three columns: dropid, itemid, rate. Once you figure out the drop ID of the monster you are interested in, build the query like so:

INSERT INTO mob_droplist VALUES ('dropid','0','0','1000','itemid','rate');

Then, in Workbench, run this query and you'll now have a mob that drops your own custom entry. Please keep in mind that you will need to restart the map server in order for the changes to be implemented.

Here's a tip too: if you're going to be customizing stuff, it's almost essential to save your customization queries. Every time you update the database, you will need to insert the changes again. Going through and manually altering tables isn't ideal (very tedious/time consuming). This seems trivial at first, but after you start doing more and more customizations, saving queries will become a life safer.

Post Reply