I have totally re-written the socket item system and the way it works.
You now target the socket items with the gem's unique power (Just as it should be) instead of vice versa.
You can use the item's unique power to check how many socket slots are left on the item.
Becase so much of the code has been optimized and modified, it is no longer compatible with the old socket items and gems, however this one is far superior and has alot more options so it's in your best interest ti change over.
You can use both this and the old version together, but I would recommend just using this one.
For those of you who don't know what socketed items are I will explain... A socketed item is a normal item like a sword for example; except it has sockets in it that special gems can be placed into for adding bonuses to it (i.e. Keen, Enhancement Bonus etc...).
Items that can be socketed:
Armour
Melee Weapons
Cloaks
Bracers
Gloves
Helmets
Boots
Shields
Rings
Amulets
Staffs
Bows and Crossbows
Gems you can make for socketing
Attack Bonus
Damage Bonuses
Enhancement Bonuses
Keen
Bonus Spell Slots
Mighty
Extra Ranged Damage
Unlimitted Ammo
AC Bonus
Bonus Feats
Cast Spell
On-Hit Cast Spell
Damage Resistance
Haste
Freedom
Improved Evasion
Spell Resistance
Saving Throws
Skill Points
Regeneration
Ability Bonuses
Holy Avenger
True seeing
Massive Criticals
Vampiric Regeneration
More to come soon :)
Damage types for Damage Bonuses and Damage Resistances are: Acid, Bludgeioning, cold, Divine, Electrical, Fire, Magical, Negative, Piercing, Positive, Slashing, Sonic. Other customizable options:
Allow gems of the same bonus type to be stacked (i.e. +2 regen & +2 regen = +4 regen)
If you set the stackable gems switch then there is another switch that allows you to decide if you want gems of the same type to take up a seperate socket or if you want them to occupy the same socket as a gem already socketed with the same bonus type.
Set the maximum amount of each bonus allowed on an item... for example you could set it to only allow a maximum of +8 Attack Bonus, or a maximum of +12 AC Bonus etc...
You just create your socketed items and gems, add some simple local variables onto them via toolset; customize the constants in the include script and you are ready to go.
WARNING!!
Variables on items are automatically deleted when sold from standard merchants that have their inventory items set to "Infinite" (blame Bioware for that). If items are NOT set to "Infinite"; then they will retain their variables and the system will work; please bare that in mind when using this system.
There me be other possible compatibility problems with some scripts that use CopyItem(). If you use any scripts that involve socket items and the CopyItem() function, be sure to make sure the last paramter bCopyVars = TRUE otherwise vars are lost and socket items and gems will break. Some armour dying kits and crafting can cause this issue, but it is an easy fix by doing as suggested above.
Compiled Previous Updates:
Fixed incorrect variables on pre-made damage bonus gems.
Fixed function that allows limiting of damage bonus & massive criticals.
Added a new function to display maximum dice roll damage allowed on a weapon.
Added function to allow skill points gems.
Added functions to allow cast spells to be added to items.
Added functions to allow On-Hit cast spells to be added to items.
Update 7th August 07:
Added functions to socket ranged weapons.
Added functions for mighty.
Added functions for Extra Ranged Damage.
Added functions for Unlimited Ammo.
Added functions for Bonus Spell Slots.
Fixed broken variable on Acid damage pre-made gem.
Created a heap more socketed items, gems and weapons.
Added a new function for checks to be made that will now allow the user to use other types of items as gems instead of just "Misc Small".
Fixed variables small bugs.
Update 18th September 07:
Fixed a bug where damage resistance was stacking over the maximum specified in the config script.
Myths And Lies All Answered Here:
Please do not believe the utter nonsense being spread by a certain troll on Bioware forums, this system has NO dupe bugs, and does NOT lag servers, a well known expert in scripting Looked at the code, and couldn't find ANYTHING that would allow duping (Check link in my comments), you can also have this proven if you want to log onto my fairly popular PW server and try it out for yourself. As for efficiency, here is my proof:
NWNX and the Profiler plugin was left running on my PW for 2 hours with 15 players (early morning).
Average Results:
sf_sockets - 4 msec - 56 calls
This is calls per profiler update, this is extremely fast, lets compare it to an unmodified default Bioware spell:
NW_S0_AcidArrow - 31 msec - 28 calls
Now let's face it, Acid arrow isn't exactly a laggy spell is it, it has low visual effects and the code is very small in size yet it's read time is 15 times slower than my socket scripts.
What does this mean? It means trolls can't be trusted :)
The reason I posted this in the description is to clear up any misinformation being spread by trolls who know very little about scripting.
Please post REAL bugs found; on our forums. the forum link is in the forum link box above, thanks.
Nevermind on my last post. I was looking for a Documentation file among the erf files lol. Imported it and I see the commented style doc script. ;) - Thanks!
Posted by BloodGodxXx at on09/18/09
Truely an amazing edition to any server no matter what the category! Scarface if you can can you link me to the DOC as it was not included in the download. I'm sure I wont need it but I like to understand everything thoroughly and I cannot register on forums linked in your signature. Thanks, |Meph|
Posted by maddogfargo at on03/23/09
PPS - Triple-post anyone? (* Sorry I'm getting OLD and SENILE) I did need to add additional variables to the item and include ONE of them them in your custom functions to Decrement Sockets before I could make this a dynamic system. Other than that...everything else in your scripts was left as-is.
Posted by maddogfargo at on03/23/09
PS - There are currently NO CAPS on the number of bonus sockets gained from skills, but it would be easy enough to add an 'IF' statement to handle that if you wanted to cap them.
Posted by maddogfargo at on03/23/09
If anyone's interested... I liked this system so much I tweaked it and added event scripts to a new PW project I'm working on to really beef it up. Items only need to have a local variable set to identify them as socketable. The rest is handles automatically via on-acquire item scripts and levelup scripts. Players get 1 free socket on all socketable items. Players gain 1 additional socket slot per 10 levels (Max 5 sockets at level 40) Players gain 1 additional socket on weapons for every 10 ranks in Craft Weapon Players gain 1 additional socket on armor for every 10 ranks in Craft Armor The scripts that handle these and more are built into the core of my PW project...which isn't released publicly yet (* still some work to do...) BUT...if you'd liketo see it in action or use the scripts, feel free to e-mail me and I will reply with the mod for you to examine. maddogfargo AT carolina DOT rr DOT com A GREAT system Scarface! Hope you like my add-ons. :) - MDF
Posted by +scarface+ at 2009-04-0104:13:58
maddogfargo, I don't see any issues with modifying the variable stored ont he items for the number of sockets. _________________________ §çà®Fãçë? NWN1 Submissions: [Persistent Banking] - [Character Appearance Modifier] [XP/GP Distribution] - [Item Crafting] - [Socketed Items] NWN2 Submissions: [Persistent Banking]
Posted by maddogfargo at on03/23/09
Bravo, Scarface! Very nice, VERY clean, just 3 scripts and VERY well documented. Love that! I have a question though if you'll indulge me. This system is almost DEAD on the same system I was preparing to create for a project of my own. The only difference is that I planned to have the number of mods a player could apply be dependent on their rank in Craft Armor and Craft Weapon skills. Here's my question: If I were to tag the base items as socketable with a default value of 1 socket, and then bump that value up depending on the player's skill level, perhaps even re-checking their inventory for socketable items on levelup, do you think that would work OK with your system? I'm guessing it would, but wanted to consult with you before I start changing things. Thanks again for a great and simple crafting system. Regards. - MDF
Posted by +scarface+ at 2008-12-2601:52:09
I'm glad your issue was resoved with the Trials of Newcastle server, I expect they realize they cannot expect players not to play elsewhere through fear of being an outcast to their community, how rediculous... _________________________ §çà®Fãçë? NWN1 Submissions: [Persistent Banking] - [Character Appearance Modifier] [XP/GP Distribution] - [Item Crafting] - [Socketed Items] NWN2 Submissions: [Persistent Banking]
Posted by CAP at on12/24/08
Hands down this is one of the BEST item enchanting scripts out there. Thanks Scarface ... oh and that thing, I was talking about on your forums... don't worry, its all good. _________________________ Vox Populi. Vox Dei The Community Adventure Project
Posted by Mescalino at 2008-11-2200:09:54
Im not sure if i can explain my problem correctly but when i use a gem on a weapon nothing happens. I reintegrated the system in the PW. I checked all tags. Double checked. I checked all the variables, double checked. Do i need to put an include or a line of text/code in one of the script under module properties? Anything else that could mess with your system? Thanks. Great work!