Thanks so much for your response. I've been playing around with your scripts (both variations) and I am seeing results, but I'm not sure I fully understand WHY they are working. So if you don't mind, let me see if I can explain it back to you.
spell property smithyspell autoperk property smithyperk auto
Here you are just declaring the variables - simple.
event onActivate(ObjectReference akActrionRef)
Set this script to fire when activated (in this case it is actually activated by another script)
if game.getplayer().hasperk(smithyperk) == 0 game.getplayer().addperk(smithyperk) endif
I believe this means that IF the player does not have the perk that I created, then he is given the perk.
The perk has been set up to multiply the players smithing skill by .5, cutting it in half.
smithyspell.cast(Game.getplayer(), game.getplayer())
Here, the spell that knocks the players smithing skill down is cast. Now, I don't understand why this is needed WITH the perk. Can't they act independently? I guess my greatest source of confusion is understanding how the spell and the perk interact. When I removed the spell line from the script, nothing happened, but the spell itself works well, albiet a little unpredictably. It's hard to determine how many points it will knock your smithing skill down, as the magnitude of the spell does not correlate to the number of points.
So far, I have been unable to cut the smithing skill down by 50 percent. I always seems to go WAY over that.
Also, wouldn't the perk need to be removed at the end of the script if this is to be a temporary effect?
I really appreciate your help, and I'm sorry that it took me a while to respond, I just wanted to see if I could figure out as much as possible before asking for more help.
EDIT: I got the 50% percent drop working correctly (needed to set spell duration to only 1 sec), the problem is that the drop seems to be permanent. How can I return the smithing skill to normal after the menu is closed?
Any more help you could provide would be much appreciated.