Scribing scrolls at your full caster level is tricky, but this script makes some progress in that direction. In fact, it goes as far as possible (I think) without either a client-side hak/override or a lot of scripting. Furthermore, this script is ready to implement true-level scribing, once someone makes the needed item properties available (or modifies every spell script).
So what does this package do? BioWare's Scribe Scroll script ignored a PC's caster level. This script does not. It makes the resulting scroll as powerful as possible, without going over the PC's level (unless the weakest possible scroll is already over the PC's level, in which case the weakest possible is used).
There are limits, though. The caster levels available for scrolls are limited to those found in iprp_spells.2da, so not every caster level is possible. To see what levels are available in BioWare's version of that file, download and read Scroll_levels.txt. Every spell & level combo listed in that file is a possibility with this script.
If you want to extend iprp_spells.2da to allow all (or more) possible caster levels, download and read Extended_scribing.txt to see how to change the included .2da so that this scroll scribing system accesses your new item properties. There is still a bit of work involved, but this will save you from having to re-write the scroll scribing script.
Yes, this package contains a .2da, even though I said there would be no haks and no client-side overrides. This .2da only needs to go into the server's override directory; your players do not need it. Hak-free PW's can use this system.
Players: If you want to use this better Scribe Scroll in your single-player modules, download the "PlayerOverride" zip file and unzip its contents into your override directory.
Builders: If you want to use this better Scribe Scroll in the module you're building, download and unzip the "BuilderVersion" zip file. Inside, there's an .erf file that gets imported into your module, overwriting the standard BioWare resources x2_inc_craft and x2_pc_craft, and there's a .2da file that can either be packaged into a .hak or used as a server-side override (place it in the override directory the server will use). There is also a merge document that can be helpful if you have already customized the standard BioWare script x2_inc_craft.
Server hosts: If you're hosting a module that you don't want to modify, the "PlayerOverride" version should work if it's unzipped into your server's override directory.
Enjoy!
Notes:
* With this system, scribed scrolls can only be used by the class that created them.
* Any spell you can cast is scribable, except War Cry. For some reason, there is no War Cry scroll in the core resources. If you have a War Cry scroll in your module, you can make that spell scribable by replacing the "****" in the the "BaseScroll" column of row 373 of the included .2da with the ResRef of your War Cry scroll.
* Creating the .2da required significant data entry. I've verified a good chunk of it in-game, but the possibility of a typo still exists. If you find an error, please let me know.
* One other thing I thought of... If you use this with a module that has custom spells, you can get weird results if you try to scribe the custom spells. Adding enough rows to the included .2da would fix this. ("Enough rows" = "rows in your custom spells.2da")
* Scribed scrolls now automatically stack. However, scrolls scribed under the previous version of this script will not stack with scrolls scribed under the current version.
* If you want to also improve brewed potions and crafted wands, skip this entry and go over to a better Craft Magic.
Override warning: It is unlikely that this override will cause problems, but it's always possible. For reference the contents of the override are:
x2_pc_craft.ncs -- replaces a standard BioWare script.
tk_craft_scroll.2da -- a custom file that should not be in conflict with anything.
tk_craft_scroll.txt -- some documentation for the .2da. NWN will ignore this file.