Il y avait Begin OnAdd oui, mais ça ne collait pas tout à fait avec ce que tu demandais.
Je te propose ceci :
Il te faut créer une quête bateau, et lui coller le script du type Quest suivant :
Begin MenuMode
If player.GetItemCount IDdeLaGemme <= 0
player.RemoveSpell IDdusort1
player.RemoveSpell IDdusort2
Etc.
Endif
End
Dès que tu seras en MenuMode, c'est à dire dans le menu principal, la carte, l'inventaire etc., le jeu va regarder toutes les secondes si le joueur possède 0 ou moins (donc ici de toute façon, 0) GemmeAjouteuseDeSort. Si c'est le cas, c'est donc que le joueur ne l'a plus, donc il faut enlever les sorts.
Si MenuMode ne marche pas, à cause du timming (supprimer de l'inventaire et le refermer tout de suite dans la foulée), mets un GameMode à la place, tu auras juste une petite latence et ça sera un peu moins réaliste car il faudra nécessairement quitter le menu pour que les sorts disparaissent, donc on devra pouvoir les voir dans la liste même sans avoir la gemme sur soi. Sinon on peut affiner quel menu, l'inventaire doit posséder un chiffre.
Mais normalement ça devrait le faire ainsi
Il y a d'autres possibilités peut-être plus simples et plus logiques pour ce genre de manipulations !
Par contre... tiens compte de mes corrections, merci.

(placement de la ponctuation)