@ Grimoa
Zwei Schlaue, fast ein Gedanke. Etwas Ähnliches ist mir vorhin auch eingefallen und ich habe es gleich mal ausprobiert. Es funktioniert; wie immer kann ich das nur im Bereich meiner Testereien garantieren. Existierende Scripte müssen dabei nicht modifiziert werden.

Was man braucht: Zwei neue Scripte, zwei neue Quests. Da die Scripte nicht besonders groß sind, entstehen keine besonderen Performanceeinbußen. Beide müssen natürlich Quest-Scripte sein.

Code:
scn SoulGemReAddScript01

short controlvar

Begin MenuMode 1049
;Recharge-Menü

	if ( player.getitemcount "Seelenstein" >= 1 ) && ( controlvar == 0 )
		set controlvar to 1
	endif

End

Begin GameMode

	if ( controlvar == 1 ) && ( player.getitemcount "Seelenstein" >= 1 )
		set controlvar to 0
	endif

	if ( controlvar == 1 ) && ( player.getitemcount "Seelenstein" <= 0 )
		message " "
		message " "
		player.additem "Seelenstein" 1
		set controlvar to 0
	endif

End
Code:
scn SoulGemReAddScript02

short controlvar

Begin MenuMode 1042
;Enchantment-Menü

	if ( player.getitemcount "Seelenstein" >= 1 ) && ( controlvar == 0 )
		set controlvar to 1
	endif

End

Begin GameMode

	if ( controlvar == 1 ) && ( player.getitemcount "Seelenstein" >= 1 )
		set controlvar to 0
	endif

	if ( controlvar == 1 ) && ( player.getitemcount "Seelenstein" <= 0 )
		message " "
		message " "
		player.additem "Seelenstein" 1
		set controlvar to 0
	endif

End
Du erstellst zwei neue Quests und hängst an jedes eines der Scripte (Start Game Enabled muss markiert sein). OnEquip könnte wohl auch irgendwie funktionieren, kann Grimoa ja ausprobieren. Ich tu's jedenfalls nicht.