Puh, das wäre in der Tat sehr schwierig. Man könnte das Script der Verzauberungsaltare möglicherweise umschreiben, eine Variable einsetzen, die überprüft, ob der Spieler den Seelenstein im Inventar hat, wenn er den Altar aktiviert und anschließend in einem GameMode-Block abfragt, ob sich der Seelenstein immer noch im Inventar befindet; wenn ja, setzt er die Variable zurück, wenn nein, wird der Seelenstein readded. Quasi:

Code:
ScriptName EnchantingStationScript

;Script for activation of Enchanting Station (which brings up Enchant Menu)

short HatSeelenstein

Begin OnActivate

	if isActionRef player == 1
		showEnchantment
	endif

	if ( player.GetItemCount "MeinSeelensteinEditorID" == 1 )
		set HatSeelenstein to 1
	endif

End

Begin GameMode

	if ( HatSeelenstein == 1 ) && ( player.GetItemCount == 1 )
		set HatSeelenstein to 0
	else
		player.AddItem "MeinSeelensteinEditorID" 1
		set HatSeelenstein to 0
	endif

End
Keine Ahnung, ob das funktionieren würde, hab's nur kurz zusammen geschrieben und muss jetzt off. Aber das ist doch ein möglicher Ansatzpunkt.