This is how I create "books" that give spells/feats/experience, similar to those in The Witcher
1) Use the KOTOR Tool to extract plc_datapad .utp from Kotor II-Templates.bif-Blueprint, Placeables
2) Rename it to something else. Under the Basic tab, change the Name to the name of your "book". Change the Tag (Basic tab) and Template ResRef (Advanced tab).
I *always* use the exact same name for the .utp, Tag, and Template ResRef.
Also under the Advanced tab, select "Usable". Under the Scripts tab, in the OnUsed field, enter the name of the script that will fire your conversation (without the .ncs extension). Example: ev_dlg001.
Example script, where ev_givewpnmstr is the name of the .dlg file:
ActionStartConversation(GetFirstPC(), "ev_givewpnmstr", 0, 0, 0, "", "", "", "", "", "", 0);
3) Create a dialog, then attach a script to one of the lines that gives the player some spell, feat, or other bonus.
AddBonusForcePoints( GetFirstPC(), 100 );
4) Place your "book" where it will be easily found. I like to use door "OnOpen" fields to fire a script like this, where ev_givewpnmstr is the "object template" of your new .utp:
vector vPosition=Vector(-1.52743, -4.13317, 9.09430);
CreateObject( OBJECT_TYPE_PLACEABLE, "ev_givewpnmstr", lSpawn);
The Vector coordinates are (in this order) X, Y, and Z coordinates that I obtained with Darth333's ingenious Whereami Armband.
Thanks to TK102 and this thread for scripting syntax that made it possible for me to figure out how to do this:
Original Thread:Click Here]