Here's my current script:
ScriptName WTaxeSCPTshort pickup //this variable keeps track of whether the weapon has ever been placed in inventoryBegin OnLoad if pickup == 0 //if the weapon hasn't been picked up yet SetRigidBodyMass 0 //keeps it from moving by giving it no mass, preventing Havok from working with it. else SetRigidBodyMass 50 /*Gives it a regular mass so that it can be placed like any other object after it's been "pulled" from the stone. Bad things happen if this isn't done.*/ endifend Begin GameMode if pickup == 0 /*keeps it from rotating to 0,0,0 and staying there after being struck by player's weapon if it hasn't been picked up yet. Bad things happen if this is left out.*/ SetAngle y, 270 SetAngle z, 30 endifendBegin OnActivate if player.GetLevel < 20 Message "You are not yet worthy of this weapon." else Set pickup to 1 Activate EndIfend
(And by "bad things happen if this is left out" I mean that if I fail to check to see if the weapon has been picked up yet and don't give it back a normal mass and/or stop it from rotating, it seems to screw up the clipping when the player removes the weapon from their inventory and places it back into the game world, resulting in the PC and the weapon melting through the floor.)