Jump to content

multiple drops on user-defined sets 0.9.1

Sign in to follow this  

1 Screenshot

About This File

(as originally requested in this topic)

 

What is it?

As the download name says, it's an automatic event that will change the drop rate on a set of mobs. Each roll is made every Monday at 00:00 (also at server startup or using reloadscript). It also has custom announces on each roll and a nifty @command that informs the users of the current active set.

 

You can fully customize its behavior easily on the configurations, starting from the amount of sets (which have to follow a pattern on the variable that carries them) and the name to assign to them, the amount of mobs the sets have (you may have sets of different amount of members), the drop rate multiplicator and so on. Have a peek on the configurations as of v 0.9.1. As you can see, it's fully customizable!

	// Add in mob IDs (or SpriteNames if you want) where the numbers are.	// You can virtually have an unlimited sets, and an unlimited amount of	// members for each set. Just remember that you each array member has to	// follow this pattern: member1, member2, (...), memberN; 	setarray .set_0[0], 1001, 1002, 1004, 1005, 1007; // Neutral	setarray .set_1[0], 1001, 1002, 1004, 1005, 1007; // Water	setarray .set_2[0], 1001, 1002, 1004, 1005, 1007; // Earth	setarray .set_3[0], 1001, 1002, 1004, 1005, 1007; // Fire	setarray .set_4[0], 1001, 1002, 1004, 1005, 1007; // Wind	setarray .set_5[0], 1001, 1002, 1004, 1005, 1007; // Poison	setarray .set_6[0], 1001, 1002, 1004, 1005, 1007; // Holy	setarray .set_7[0], 1001, 1002, 1004, 1005, 1007; // Shadow	setarray .set_8[0], 1001, 1002, 1004, 1005, 1007; // Ghost	setarray .set_9[0], 1001, 1002, 1004, 1005, 1007; // Undead	//setarray .set_10[0], 1001, 1002, 1004, 1005, 1007; 	// You may add more sets here in this fashion.		// Set to the name of the type of each set of $@set_X	// BEWARE! Number of members on this array MUST be the same as the total	// amount of sets (which is quite obvious). This is VERY IMPORTANT.	// Remember that strings should be enclosed in double quotes: ""	setarray .names$[0], "Neutral", "Water", "Earth", "Fire", "Wind", 		"Poison", "Holy", "Shadow", "Ghost", "Undead";	// Set to the multiplication rate of drops (should be >= 1)	// Examples: 100 = x1 (useless); 200 = x2; 50 = x0.5	// Based on final drop rates after battle conf calculations.	.multiplicator = 200;		// Force change of element each week? (1 = Yes; 0 = No)	.force_change = 1;		// Text message. You can change or translate it if you want, but be careful	// not to touch the %s since you'll screw the dynamic formatting.	.announce_format$ = "The element %s has been doubled for this week!";		// Atcommand name you want to use for keeping your users informed.	.atcommand$ = "ddw";

 

That's not all it has to offer. This script is also extensively commented and well formatted as an effort of mine to encouraging their users to try reading it, editing it and adding features to it or integrating with other scripts. It's not optimized to work fastest on execution (if it was I'd have to remove most of the configurations and all of the middle steps I've took to make it more readable for newbies). It's designed so that most people could easily extract the maximum knowledge of it as if it was an example from a manual while causing the minimum harm to its run speed.

 

What does it come with, by default?

It comes with an event that doubles the mob drop rate on sets based on he element of the mobs. Sadly the sets are filled with placeholders because original requester didn't specify its contents but it'd be nice if somebody else came with suitable mobs for it since I'm not good at events. Any reasonable proposal to show up the script will be welcome and help for releasing a fully functional script out of the box for next users.

 

Warnings!

While I would like this script to be perfect, there are a some issues it has you should take into account:

  • addmonsterdrop/delmonsterdrop script commands don't work well with mobs that drop the same item more than once. It means that if a monster has 2 drop slots occupied by a same item ID, the design flaw these script commands have is that they'll attempt to modify the first item whose ID matches, leaving the second and later drop slot which has that item intact (and having the first one be modified to the rate of the last drop slot found with that item ID).
  • Reloadscript or server restart will make the script choose another set.
  • If the multiplied rate of a drop is more than the equivalent to 100%, you'll get a warning on the server console. While you can avoid this by capping the value script side, you can safely ignore it since the script comand caps it for you.
  • Works fine with more than a single set. I don't know if you're doing good if you specify only one, but in that case keep at least the .force_change parameter set to 0 to avoid infinity loops and warnings on the map server console you should totally not ignore.

While last 2nd, 3rd and 4th ones can be fixed script side (be wary 2nd one is a mess to fix I preferred not to do myself), you're welcome to try fixing 3rd and 4th yourself to help your scripting since they are very easy to fix.

 

Finally!

I hope you all enjoy the script! ;)

 

P.S.: Reminder, I'd really appreciate if someone lent me out any help to fill out the dummy spaces to provide version 1.0.0. Thanks on advance!


What's New in Version 0.9.1

Released

  • 0.9.1 First uploaded version



User Feedback

Recommended Comments

There are no comments to display.

Join the conversation

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

Guest
Add a comment...

×   Pasted as rich text.   Restore formatting

  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...
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.