This script allows players to turn in multiple quest items at the same time, instead of forcing them to repeat the same conversation for each
collected item. The script checks the number of quest items in inventory, calculates the appropriate total reward, and awards it to the character(s).
In order to enforce caps, it reports the number of items turned in, either per reset, or persistently (your choice).
Huge include file to do all the dirty work of your Hunting/Gathering quests. Simply include the "RFMI"-script, type in one single line and you are
done.
"Hunting Quests" are quests, where the Player Character was to retreive many of the same items (e.g. Hunting wolves for their skins) and trade
in these items for rewards (both XP and Gold).
- Fixed Loop error in SetVariables_INT. Had used the wrong object.
- Added new PartyMember Sorting Function. You can now force PartyMembers to be within 25 or 50 meters of the player turning in Items along
with the standard restrictions (Same Area, No Party Members or All Party Members) This has made the bServerWide option in all functions
redundant. bServerWide entries in the argumentation list will now appear as "iNotUsed=0". The Old bAllParty has been renamed into iRestrictions
and is accompanied by a set of new consts.
RFMI Updated to v1.30 30th of Oct 2005
- Fixed the Set/ChangeVariable-functions, they now find the correct variable name for each PartyMember.
- Made the Set/ChangeVariable-functions DELETE variables to clear space IF the value of the variable would be 0.
- Made RFMI round up/down after human standards when calculating rewards rather than always rounding down (SSE only)
RFMI Updated to v1.29 18th of Oct 2005
- Fixed cheat, where players, who did not level up, would count as their current level rather than their true level, when determining rewards for
RFMI scripts. [Function snatched from SSE]
- Changed RewardForMultipleItems from void to int function. RewardForMultipleItems will now return values on Success, Sanity Failure (Player
does not exist or does not have the item), No Reward (Cap Reached) or Zero Reward (if the party size or level difference was to high.)
- Added the RFMI-function (RewardForMultipleItems) without return value and shorter argumentation list. It uses all the default values from
RFMI_const. (Result is the same)
- Merged Variable Functions, Less coding, easier to update.
- Added Shayan Subrace Code to Calculate Subrace HP and XP De-/increasements.(SSE Only)
- Made the RP_XP function take Subrace Favored class into consideration, when handing out XP. (SSE Only)
RFMI Updated to v1.27 16th of Aug 2005
- Fixed bug, which caused the RFMI script to default oStorage to oPC (rending RFMI useless unless oPC was oStorage from the beginning)
- Added a Delay to Messages sent to players. This puts the RFMI Messages AFTER the list of lost items rather than before (saves the player
a scroll, don't say I don't do anything for you o.O )
RFMI Updated to v1.25 8th of Aug 2005
- Added Reward modifaction Function (RFMI_RewardProcentage). You can now penaltize large parties and / or parties with huge level
differences (Default values can easily be set in RFMI_const.nss)
- Added a DM Message for the TakeAllItems-function and removed the old from the RFMI.
- Fixed strange DM Messages within RP_INT (I was apperently sleeping when I made RFMI)
- Fixed the RP_GP and RP_XP functions (Error: Same as above)
- Fixed bug that would allow players to turn in items even when cap was reached
- Added RFMI_Const.nss file to allow easy modification of default RFMI values for your module and make you keep your settings through new
updates.
- Turned RewardForMultipleItems into a Wrapper for three functions (TakeAllItems + RFMI_RewardProcentage + RP_INT), thus you now have
more options with the functions induvidually, should you need this.
RFMI Features.
-Get and Set Variable Scripts for all RFMIs Variables. (In case you need a variable set by the RFMI-script or wish to change one)
- RFMI cannot be cheated by the "Drop Bug", which can be used some times to avoid losing the item you were supposed to lose, nor can the
Cap be exceeded by ANY PartyMember, since it updates each members Variable.
- RFMI allows a "DisplayToAllDMs"-Function, if the DMs wants to be notified, when someone uses the RFMI to turn in items. By default this has
to be ticked on for ALL(!) RFMI-Scripts that DMs want to be notified about. (Suggested for capless Quests) NOTE: DMs will be notified ANYTIME the
script is triggered, telling them who turned the items in (incl Affected Party Members), what item (Item tag), how many (This may differ from Party
Member to Party Members as some reach the cap before others).
- Allows Persistant Storages via items (Stored on items players cannot get rid off) and Campaign Databases (Used in the NwN Chapters).
Please Remember that you need to do a "Build Module - Recompile Script" before the patch takes effect.
RFMI has been tested on Elronds Server (Module: Unrest in Arda).
Comments, feedback, Ideas, Bugs and issues are welcome, just mail [email protected]
Enjoy your Script
~Moon
NB: The script was made with SoU and HotU version 1.66. It may be compatiable with earlier versions or without SoU/HotU. (No
Promises though)
RFMI contains both the default RFMI and the mergable RFMI for Shayan's Subrace System.
RFMI Default v1.31 + v1.30 (if you do not want the new system)
RFMI Sha_subr v1.31 + v1.30 (if you do not want the new system)
Posted by Ubersaint at 2007-03-06 21:30:04 Voted 10.00 on 03/06/07
Great system only problems i see are some typos! Currently using it in my own server! _________________________ Trimaris - Kingdom of the 3 Seas PW Story Link
Posted by Adomar ( 88.113.xxx.xxx ) at 2006-06-30 23:25:26
I have confirmed that the Capless RMFI-part is not functional.
When I get time, I will see if I can get a RFMI2 up running, though its release might after NwN2's release.
If I do make a RFMI2 then my primary focus will be on Memory handling. Of course I will also fix known bugs in RFMI v1.31. (so far only the Capless RFMI-Quest is a known issue) Please contact me if you had found any other bugs with RFMI v1.31
With the update I managed to create a new PartyMember Sorting Function, which is much cooler than the default one. However, there is a catch for you old-time users. I needed to add a new const to rfmi_const.nss, so EITHER you will have to override your rfmi_const.nss and redo your default settings (which I promised you would never have to) OR you can open the README_Old_Users.txt (inside the RFMI.ZIP) and copy/paste the new constant into rfmi_const.nss yourself. Remember that you will have to re-compile rfmi_const.nss before you attempt to compile rfmi.nss. After rfmi.nss has been re-compiled, a Build Module - Compile Scripts should handle the rest of your rfmi-using scripts.
Please note that the new system defaults to PARTY_RESTRICT_SAME_AREA if bAllParty was TRUE and PARTY_RESTRICT_NO_PARTY if bAllParty was FALSE (see the definitions of these constants inside RFMI.ZIP)
Feel free to come with suggestions here or via e-mail ( [email protected] )
- Fixed bug, which caused the RFMI script to default oStorage to oPC (rending RFMI unless unless oPC was oStorage from the beginning)
- Added a Delay to Messages sent to players. This puts the RFMI Messages AFTER the list of lost items rather than before (saves the player a scroll, don't say I don't do anything for you o.O )
This was a quick... but VERY Important fix.
Remember that users of RFMI 1.25 can keep their default settings by NOT overwriting the rfmi_const.nss file.
I just downloaded this file, hope I will have some time to test it soon. Sounds great and it is one of things I planned to deal with in the near future. I have many hunting quests in my module and was tired about long conversations needed to get rid of all hides. Thanks for saving my time :)
I had hoped to get the header file (the script explaination) re-written by a friend of mine, who is a bit better at being user-friendly than I tend to be. *cough*
However he is currently very busy with other stuff and I have decided not to delay the update any more. I have reviewed the scripts and have made a few (*coughs*) fixes.
Among the things I have done:
- Fixed some of the DM Messages
- Added new feature to allow reward decreasement for larger parties or/and very level differenced parties (e.g. a level 2 and a level 17)
- Added a RFMI_const.nss file to allow easy manage of your Default values for the RFMI script AND allow you to keep these settings should I update RFMI once more.
In my comming update of RFMI I will add a Reward Modification, which allows you to decrease the XP AND gold reward for large Parties and/or Parties, whos members have huge level difference.
With the update, new Variables can be put in to the RFMI Script Commands and as much as I would like to, I will NOT change the order of the variables. This means that downloaders of RFMI v1.00 will NOT have to update their scripts due to my update.
The update will be ready as soon as I have succesfully fixed OR substituted the RP_XP / RP_GP commands (expect the latter) AND when the updates have been made User-Friendly
Hopefully I can have it all ready and set by Saturday the 23rd.
Bug in RFMI v1.00.
After working with the RFMI script again, it seemed that the Locallizable RewardPartyXP/RewardPartyGP (RP_XP / RP_GP) are not (always) working as intended.
As a temp replacement you can use RP_INT(oPC, oPC, "", XP, GP, 1, 0) where oPC is the Defined player character (e.g. GetPCSpeaker()) XP and GP is the amount of XP/GP (if the party should not receive Gold/XP then replace GP/XP with 0)
These functions are NOT used by the RFMI script and does NOT affect the other functions.
I am working on fixing RP_XP and RP_GP, as well as making a list of "Defaults" to make it easier for lazy scripters/builders. This will be included in a seperate script file, so your defaults are not altered by updates/patches.
It takes all the items the player is carrying once it is triggered. You can customize the Cap though to suit your needs
A) Hard Cap. (Takes all of the items, even if cap is reached)
B) Soft Cap. (Stops taking items when the Cap is reached)
C) No Cap.
It takes all the items the player is carrying once it is triggered. You can customize the Cap though to suit your needs
A) Hard Cap. (Takes all of the items, even if cap is reached)
B) Soft Cap. (Stops taking items when the Cap is reached)
C) No Cap.
To answer your question Black Dragon
"I am confused what exactly does this do?"
I have worked on Stormplay (Closed), StormNexus and Elronds. All three of them used quests, where the Player Character was to retreive many of the same items (e.g. Hunting wolves) and trade in these items for rewards (both XP and Gold).
Rather than having the player to run though the same conversation 20 times to turn in the 20 items, this script founds out how many items the player have and give the reward timed the amount of items, he had. It also keeps trace of how many items were turned in per reset or persistantly (Scripters Choice) in other to enforce Caps, (if you dont want players to cash in 400 items).
Asside from this, it also have the RewardPartyXP and RewardPartyGP Functions included. However this version of them allows locallization. (Only Party Members in the same area as the player being rewarded, receive the reward).