Hello, Baby modder here. I've been working on a script to fuse soul gem pieces together and I can't get this thing to compile for the life of me. Something that I really don't understand is that when I change the lines in the function TakeAway from (PiecesToRemove -=) to (PiecesToRemove = PiecesToRemove - 1), what used to be only six or so errors confined ONLY to that function suddenly become a bazillion errors spread throughout the whole script. Don't these mean the same thing? Is my syntax wrong? The compiler treats PiecesToRemove-= and PiecesToRemove -= as the same thing. My apologies if the post is too long or I'm breaking some kind of forum rules or something. I'm very new here and just want to figure out what I'm doing wrong. Thank you. Scriptname CustomSoulGemRefuser {This script detects how many soul gem pieces a Player has, and allows them to fuse a certain amount together to make a whole empty one of a certain size.} FormList Property SoulGemPieceList Auto;List of all accepted pieces, used to determine what menu pops up and how many options it includes SoulGem Property EmptyPetty AutoSoulGem Property EmptyLesser AutoSoulGem Property EmptyCommon Auto;Base items of unfilled soul gems, given to Player MiscItem Property SoulGemPiece001 AutoMiscItem Property SoulGemPiece002 AutoMiscItem Property SoulGemPiece003 AutoMiscItem Property SoulGemPiece004 AutoMiscItem Property SoulGemPiece005 Auto;Soul gem pieces, needed for function TakeAway (i had them there but was getting errors???) Message Property OnlyPetty AutoMessage Property PettyLesser AutoMessage Property PettyLesserCommon Auto;The three menus based on how many soul gem pieces the Player has. Options are limited to only what they can make;EG if they have four pieces, the menu will not include the option to craft a common soul gem ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Event OnActivate(ObjectReference akActionRef)Menu()EndEvent ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Function Menu(Int aiButton = 0);This function determines what menu pops up based on how many soul gems the Player has and introduces the PiecesToRemove variableInt PlayerPieceCount = Game.GetPlayer().GetItemCount(SoulGemPieceList)Int PiecesToRemove = 0 If PlayerPieceCount == 3PiecesToRemove = 3aiButton = OnlyPetty.show()If aiButton == 0 ;Cancel optionElseIf aiButton == 1 ;Make petty soul gem optionTakeAway()Game.GetPlayer().AddItem(EmptyPetty)EndIf;This is the menu option if the player has only 3 pieces. They will only be able to craft a petty soul gem or exit the menu ElseIf PlayerPieceCount == 4 aiButton = PettyLesser.show()If aiButton == 0ElseIf aiButton == 1PiecesToRemove = 4TakeAway()Game.GetPlayer().AddItem(EmptyPetty)ElseIf aiButton == 2PiecesToRemove = 3TakeAway()Game.GetPlayer().AddItem(EmptyLesser);The menu option for 4 pieces. Options are to cancel, make a petty gem, or make a lesser gem ElseIf PlayerPieceCount > 4aiButton = PettyLesserCommon.show()If aiButton == 0ElseIf aiButton == 1PiecesToRemove == 3TakeAway()Game.GetPlayer().AddItem(EmptyPetty)ElseIf aiButton == 2PiecesToRemove == 4TakeAway()Game.GetPlayer().AddItem(EmptyLesser)ElseIf aiButton == 3PiecesToRemove == 5TakeAway()Game.GetPlayer().AddItem(EmptyCommon);The menu option if the player has more than 4 gems. All soul gem crafting options are offered to them ElseDebug.Notification("You don't have enough soul gem pieces to make anything")EndIf;If the Player has 2 or fewer pieces, this notification will show EndIfEndifEndFunction ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Function TakeAway(Int PiecesToRemove) ;These properties point to base items of all 5 soul gem pieces individually, used for Function TakeAway Int Piece01 = Game.GetPlayer().GetItemCount(SoulGemPiece001)Int Piece02 = Game.GetPlayer().GetItemCount(SoulGemPiece002)Int Piece03 = Game.GetPlayer().GetItemCount(SoulGemPiece003)Int Piece04 = Game.GetPlayer().GetItemCount(SoulGemPiece004)Int Piece05 = Game.GetPlayer().GetItemCount(SoulGemPiece005) While PiecesToRemove > 0While Piece01 > 0Game.GetPlayer().RemoveItem(SoulGemPiece001)PiecesToRemove = PiecesToRemove - 1EndWhileWhile Piece02 > 0Game.GetPlayer().RemoveItem(SoulGemPiece002)PiecesToRemove = PiecesToRemove - 1EndWhileWhile Piece03 > 0Game.GetPlayer().RemoveItem(SoulGemPiece003)PiecesToRemove = PiecesToRemove - 1EndWhileWhile Piece04 > 0 Game.GetPlayer().RemoveItem(SoulGemPiece004)PiecesToRemove = PiecesToRemove - 1EndWhileWhile Piece05 > 0Game.GetPlayer().RemoveItem(SoulGemPiece005)PiecesToRemove = PiecesToRemove - 1EndWhileEndWhileEndFunction