Sign in to follow this  
Cretino

Multiple Extra Drops - Add drops to monsters or in global mode!

Recommended Posts

Hey guys, this is my first published script (in Hercules Community).

 

Name: Multiple Extra Drops

Creator: Me (@@Cretino)

Description: Add unlimited drops to monsters or in global mode. (Global mode = Items that can be dropped by any monster)

Version: 1.8b (Little mistake fixed.)

Contributors: @@Aeromesi (Script revised to English. Thank you very much!), @@evilpuncker (Idea to add 'bindatcmd')

 

Q: 'What features have 'Multiple Extra Drops'?'

R:

 

You can add unlimited extra drop to unlimited monsters.
You can add a rate for each extra drop.
You can remove an extra drop of a specific monster.
You can remove all extra drops of a specific monster.
You can change an extra drop or it rate of a specific monster or in global mode.
You can see all extra drops of all monsters or in global mode.
You can add element and/or race and/or boss type for global extra drops.
You can add a specific time to extra drops or in global mode.

 

 

Q: 'How to use these features?'

R: 'You will need read a little my comments for understand, but you can try use '@drop' to see all commands and prototypes.'

 

// All commands:

//@drop add monster <monster_id> <item_id> <rate> <time>
//@drop add global <item_id> <rate> <element or time> <race or time> <boss_type or time> <time>

//@drop remove monster_item <monster_id> <item_id>
//@drop remove all_monster_item <monster_id>
//@drop remove global_item <item_id>
//@drop remove all_globals
//@drop remove all_monsters

//@drop show monsters
//@drop show globals
//@drop show monster <monster_id>

//@drop edit monster_item <monster_id> <item_id> <new_item_id>
//@drop edit monster_rate <monster_id> <item_id> <new_rate>
//@drop edit global_item <item_id> <new_item_id>
//@drop edit global_rate <item_id> <new_rate>
//@drop edit global_element <item_id> <new_element>
//@drop edit global_race <item_id> <new_race>
//@drop edit global_boss <item_id> <new_boss_type>

// Mapping:

// Elements

// None			= -1
// Neutral		= 0
// Water		= 1
// Earth		= 2
// Fire			= 3
// Wind			= 4
// Poison		= 5
// Holy			= 6
// Dark			= 7
// Ghost		= 8
// Undead		= 9

// Races

// None			= -1
// Formless		= 0
// Undead		= 1
// Brute		= 2
// Plant		= 3
// Insect		= 4
// Fish			= 5
// Demon		= 6
// DemiHuman	= 7
// Angel		= 8
// Dragon		= 9

// Variables
//<rate>        = Rate to get the item. (1 = 0.01%, 10 = 0.10%, 100 = 1.00%, 1000 = 10.00%, 10000 = 100.00%)

//<element>     = If <element> isn't defined your value is equal to '-1'.

//<race>        = If <race> isn't defined your value is equal to '-1'.

//<boss_type>   = If <boss_type> is '1' the item will be dropped only by boss monsters,
//                else if <boss_type> is '0' or '-1' the item will be dropped only for non boss monsters.

//<time>        = If added, an item can only be dropped in the period. (day:hour:minute:second)
//                eg: 1:4:54:47 = 1 day, 4 hours, 54 minutes and 47 seconds.
//                    0:1:11:24 = 1 hour, 11 minutes and 24 seconds.
//                    0:0:41:59 = 41 minutes and 59 seconds.

// Examples of usage:

// Examples of '@drop add':

//@drop add monster_item 1002 517 10
// The above command adds the item 'Meat' in the monster 'Poring' with chance of '0.10%'. (<item_id> = 517) (<monster_id> = 1002) (<rate> = 10)

//@drop add monster_item 1002 511 10000
// The above command adds the item 'Green Herb' in the monster 'Poring' with chance of '100.00%'. (<item_id> = 511) (<monster_id> = 1002) (<rate> = 10000)

//@drop add monster_item 1002 512 10000 0:0:4:54
// The above command adds the item 'Apple' in the monster 'Poring' with chance of '100.00%' only for '4 minutes and 54 seconds'.
//(<item_id> = 512) (<monster_id> = 1002) (<rate> = 10000) (<time> = 0:0:4:45)

//@drop add global_item 519 1697
// The above command adds the item 'Milk' in global mode with chance of '16.97%'. (<item_id> = 519) (<rate> = 1697)
// NOTE: Global extra drops can be dropped by any monster

//@drop add global_item 520 1411 1
// The above command adds the item 'Hinalle Leaflet' in global mode with chance of '14.11%' and element 'Water'.
//(<item_id> = 520) (<rate> = 1411) (<element> = 1)
// NOTE: If <element> is defined like this example, only monsters with same element will be able to drop the item.
// NOTE 2: This example will work only for monsters with element 'Water'.

//@drop add global_item 521 1671 -1 5
// The above command adds the item 'Aloe Leaflet' in global mode with chance of '16.71%' of the monster race 'Fish'.
//(<item_id> = 521) (<rate> = 1671) (<race> = 5)
// NOTE: If <race> is defined like this example, only monsters with same race will be able to drop the item.
// NOTE 2: This example will work only for monsters with race 'Fish'.

//@drop add global_item 522 5411 3 7
// The above command adds the item 'Mastela Fruit' in global mode with chance of '54.11%' and element 'Fire' and of the monster race 'DemiHuman'.
//(<item_id> = 522) (<rate> = 5411) (<element> = 3) (<race> = 7)
// NOTE: If <element> and <race> is defined like this example, only monsters with same element and race will be able to drop the item.
// NOTE 2: This example will work only for monsters with element 'Fire' and of the monster race 'DemiHuman'.

//@drop add global_item 523 3147 -1 -1 1
// The above command adds the item 'Holy Water' in global mode with chance of '31.47%' and only for boss monsters.
//(<item_id> = 523) (<rate> = 3147) (<boss_type> = 1)
// NOTE: This example will work only for boss monsters.

//@drop add global_item 525 6931 3 7 1
// The above command adds the item 'Panacea' in global mode with chance of '31.47%' and element 'Fire' and of the monster race 'Undead' and only for boss monsters.
//(<item_id> = 525) (<rate> = 3147) (<element> = 3) (<race> = 1) (<boss_type> = 1)
// NOTE: If <element>, <race> and <boss_type> is defined like this example, only boss monsters with same element and race will be able to drop the item.
// NOTE 2: This example will work only for boss monsters with element 'Fire' and of the monster race 'Undead'.

// Examples of '@drop remove':

//@drop remove all_monster_item 1002
// The above command removes all added items in the monster 'Poring'. (<monster_id> = 1002)

//@drop remove monster_item 1002 517
// The above command removes the item 'Meat' in the monster 'Poring'. (<item_id> = 517) (<monster_id> = 1002)

//@drop remove global_item 519
// The above command removes the global item 'Milk'. (<item_id> = 519)

//@drop remove all_globals
// The above command removes all global items added.

//@drop remove all_monsters
// The above command removes all the items from all monsters added.

// Examples of '@drop show':

//@drop show monsters
// The above command shows all extra items dropped from all monsters added.

//@drop show monster 1002
// The above command shows all extra items dropped by the monster 'Poring'. (<monster_id> = 1002)

//@drop show globals
// The above command shows all global extra items.

// Examples of '@drop edit':

//@drop edit monster_item 1002 511 517
// The above command change the item 'Green Herb' in the monster 'Poring' to 'Meat'.
// (<item_id> = 511) (<monster_id> = 1002) (<new_item_id> = 517)

//@drop edit monster_rate 1002 517 1000
// The above command change the rate of item 'Meat' in the monster 'Poring' to '10.00%'.
// (<item_id> = 517) (<monster_id> = 1002) (<new_rate> = 1000)

//@drop edit global_item 519 522
// The above command change the global item 'Milk' to 'Mastela Fruit'.
// (<item_id> = 519) (<new_item_id> = 522)

//@drop edit global_rate 522 158
// The above command change the rate of global item 'Mastela Fruit' to '1.58%'.
// (<item_id> = 522) (<new_rate> = 158)

//@drop edit global_element 522 1
// The above command change the element of global item 'Mastela Fruit' to 'Element: Water'.
// (<item_id> = 522) (<element> = 1)

//@drop edit global_race 522 0
// The above command change the race of global item 'Mastela Fruit' to 'Race: Formless'.
// (<item_id> = 522) (<race> = 0)

//@drop edit global_race 522 -1
// The above command change the race of global item 'Mastela Fruit' to 'Race: None'.
// (<item_id> = 522) (<race> = -1)

//@drop edit global_element 522 -1
// The above command change the element of global item 'Mastela Fruit' to 'Element: None'.
// (<item_id> = 522) (<element> = -1)

//@drop edit global_boss 522 1
// The above command change the boss type of global item 'Mastela Fruit', now the item will be dropped only by boss monsters.
// (<item_id> = 522) (<boss_type> = 1)

//@drop edit global_boss 522 0
// The above command change the boss type of global item 'Mastela Fruit', now the item will be dropped only by non boss monsters.
// (<item_id> = 522) (<boss_type> = 0)

 

 

Q: 'How do I configure it?'

R: 'You can go to line '245' in script, and you will see details like:'

 

// Settings

// NOTE: To change npc coordinates, map, name and so on, go to line '1043'.

// GameMaster Level to Access
.gm_level = 99;

// true = Drop item on floor
// false = Get item to player like '@autoloot'.
// NOTE: If 'false' and player is overweight the item will drop on floor.
.drop_style = false;

// true = Show a message to player if drop an item (Message format: '"You got 'Royal Jelly' {526}, chance: 10.05%.')
// false = Disabled
.show_msg = true;

// Will check 'battle_flags' (drops_by_luk, drops_by_luk2, pk_mode, rare_drop_announce) and do calculations like the emulator.
// false = Disabled
// TODO: Enable support to 'mob_size_influence' battleflag.
.check_battle_flag = true;

// Will check if players have 'SC_CASH_RECEIVEITEM' or 'SC_OVERLAPEXPUP' active,
// like 'Bubble Gum' and 'Malang Cat Can'. (Effects to increment drop rate)
// false = Disabled
.check_item_boost = true;

// Save the drops to table 'picklog', like the emulator.
// false = Disabled
.log = true;

// While enabled a special modified based on the difference between the player and monster level is applied
// based on the http://irowiki.org/wiki/Drop_System#Level_Factor table like the emulator.
// false = Disabled
// Note: Need 'RENEWAL_DROP' constant defined too.
.renewal_drop = true;

 

 

About percentage system:

It work almost identical to emulator.

 

I'm accepting suggestions.

If you found any bug, report in topic or send me a private message.

I'll solve the problem as quickly as possible.

 

I think is it. :)

 

multiple_extra_drops_v1.8.txt

multiple_extra_drops_v1.8.txt

multiple_extra_drops_v1.8.txt

multiple_extra_drops_v1.7.txt

Edited by Cretino
Besides correcting script english I also corrected your topic Q's

Share this post


Link to post
Share on other sites

 

 

I'm accepting suggestions.

 

use bindatcmd instead of whisper :P

I'll update the npc other time, when I created it, it was to use with old eAthena, so it uses whisper system and have 'limit array break function'.
I'm too lazy to change it now and works the same way. :)
Edited by Cretino

Share this post


Link to post
Share on other sites

Don't edit anything @@mrlongshen, this script requires no editing. if @@Cretino doesn't want to bind it to an @command I will do it for him, I find NPC:whispertothisNPC quite annoying. With the bindatcmd we can easily make this an @command for GM, similar to my events. Nice release though @@Cretino, seen you recently joined our board and I'm happy to have you along! Very skilled person.

Share this post


Link to post
Share on other sites

Don't edit anything @@mrlongshen, this script requires no editing. if @@Cretino doesn't want to bind it to an @command I will do it for him, I find NPC:whispertothisNPC quite annoying. With the bindatcmd we can easily make this an @command for GM, similar to my events. Nice release though @@Cretino, seen you recently joined our board and I'm happy to have you along! Very skilled person.

 

I'll do support to bind in my npc, don't worries. :)
I just want help for review all spelling errors.

Share this post


Link to post
Share on other sites

Here's a better english copy (It still contains the native language you use, which I couldn't improve) but all the english language inside of the descriptions and script itself is updated. Awesome script @@Cretino!

http://upaste.me/50ca24758c37b8653

I declared it 1.7a (For the fixed english)

Share this post


Link to post
Share on other sites

I dont know how to explain my feeling, maybe feeling pickup 100$ on street.

I love it. :wub:

i'' use it, i will use it.

Thank you very much.

Edited by Hirist

Share this post


Link to post
Share on other sites

Here's a better english copy (It still contains the native language you use, which I couldn't improve) but all the english language inside of the descriptions and script itself is updated. Awesome script @@Cretino!

 

http://upaste.me/50ca24758c37b8653

 

I declared it 1.7a (For the fixed english)

Thank you!

 

I'll translate the rest of Portuguese to english.

 

@EDIT

 

Version 1.8 added, see the first post.

Edited by Cretino

Share this post


Link to post
Share on other sites

After the rest of the translation I'll check and convert it to a more suitable english so our english users understand, this script's pretty comprehensive so the better they understand the better they will be able to use it. @@Cretino   :no1:



Also I just noticed you named the @command @drop, the parameter if "add" something happens, so what, will it be "@dropadd <parameter details>"?



Or does this script imply you can add/remove drops you made to a mob?

Share this post


Link to post
Share on other sites

After the rest of the translation I'll check and convert it to a more suitable english so our english users understand, this script's pretty comprehensive so the better they understand the better they will be able to use it. @@Cretino   :no1:

 

Also I just noticed you named the @command @drop, the parameter if "add" something happens, so what, will it be "@dropadd <parameter details>"?

 

Or does this script imply you can add/remove drops you made to a mob?

 

I put '@drop' because you can add new items using parameter 'add', remove items using 'remove', edit items using 'edit' and see your items using 'show'.

 

 

@drop add monster <monster_id> <item_id> <rate> <time>
@drop add global <item_id> <rate> <element or time> <race or time> <boss_type or time> <time>
 
@drop remove monster_item <monster_id> <item_id>
@drop remove all_monster_item <monster_id>
@drop remove global_item <item_id>
@drop remove all_globals
@drop remove all_monsters
 
@drop show monsters
@drop show globals
@drop show monster <monster_id>
 
@drop edit monster_item <monster_id> <item_id> <new_item_id>
@drop edit monster_rate <monster_id> <item_id> <new_rate>
@drop edit global_item <item_id> <new_item_id>
@drop edit global_rate <item_id> <new_rate>
@drop edit global_element <item_id> <new_element>
@drop edit global_race <item_id> <new_race>
@drop edit global_boss <item_id> <new_boss_type>

 

 

 

I'll finish the translation to English in another time, so if you may review everything, I'll appreciate. :)

Edited by Cretino

Share this post


Link to post
Share on other sites

@@Cretino does it work with rAthena also if you mind? :D

 

P.S: This script is way very useful thank you! i appreciate your release and idea.

 

I think works in rAthena, but you will need change all constants 'true' and 'false' to '1' and '0'.

 

@EDIT

 

Version 1.8a released.

Now the script is all in English. (But need revise, because may have spelling errors.)

I'll wait for @@Aeromesi now. :)

 

@EDIT2

 

Version 1.8b released.

Little mistake fixed.

 

@EDIT3

 

@@Vlync

 

I converted my script to rAthena, but I don't have intention to update it more, but if you want to use this version, is working fine.

 

multiple_extra_drops_v1.8_rathena.txt

Edited by Cretino

Share this post


Link to post
Share on other sites

 

@@Cretino does it work with rAthena also if you mind? :D

 

P.S: This script is way very useful thank you! i appreciate your release and idea.

 

I think works in rAthena, but you will need change all constants 'true' and 'false' to '1' and '0'.

 

@EDIT

 

Version 1.8a released.

Now the script is all in English. (But need revise, because may have spelling errors.)

I'll wait for @@Aeromesi now. :)

 

@EDIT2

 

Version 1.8b released.

Little mistake fixed.

 

@EDIT3

 

@@Vlync

 

I converted my script to rAthena, but I don't have intention to update it more, but if you want to use this version, is working fine.

 

attachicon.gifmultiple_extra_drops_v1.8_rathena.txt

 

Thank you so much and i appreciate it.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this