I tested this in qasmoke, and a general testing room I made. It worked fine. But when I try it out in whiterun, I noticed that it ignores the script and lets the player activate the forge normally?
I made sure to make sure I assigned the forge an owner (Lydia, because I am also testing another thing on here that adds the gold to the player who owns the forge)
So the forge in whiterun by warmaidens is owned by Lydia, which means my script should ask to charge me some money? but it doesnt it just activates it normally.
Any Ideas
Script
Spoiler
scriptName BlacksmithForge01 extends ObjectReferenceimport Debug; How we going to get things to work!!!!spell property FlameDamage AutoMessage Property BlackSmithForgeMSGOwned AutoMiscObject Property Gold001 autoFormList Property EmptyFLST AutoEVENT OnInit()BlockActivation() ; Can't let you activate this just yet, lets validate some.endEventEVENT onActivate ( objectReference triggerRef ); You better be the player. Otherwise, I don't care about you.if (triggerRef == game.getplayer()) ; Do you own the forge, if so, sorry, you can use it freely! If (triggerRef.GetActorOwner() != Game.GetPlayer().GetActorBase()) ; Ha, you don't own this forge, bet you can't afford it. If (Game.GetPlayer().GetItemCount(Gold001) >= 10) ; My plans are foiled once again, BUT do you really want to pay for it? int checkBtn = BlackSmithForgeMSGOwned.Show() If (checkBtn == 0) ; Damn, I guess you can use the forge, if you really must Game.GetPlayer().removeItem(Gold001, 10) self.activate(triggerRef, true) playAnimation("activate") EndIf EndIf Else playAnimation("activate") EndIfElse self.activate(triggerRef, true) playAnimation("activate")EndIfendEventEvent OnTriggerEnter ( objectReference triggerRef )if (triggerRef == Game.GetPlayer()) FlameDamage.Cast(triggerRef, triggerRef)endIfendEvent