Someone messaged me having issues with the script running in other apps. You can exit the script by pressing Escape, or you can add the following to the third line:

#IfWinActive ahk_class Turbine Device Class

This should make the script only function in DDO (and seems to from my testing, let me know if that is not the case for you).

Another issue brought up is that once you dissolve once, the dissolve option is now auto-selected which moves the clicking option up a section and makes the script miss (QoL update lol rip).

There's probably some way to set a variable so it does it only once then moves on, but I haven't been deconstructing in a while so I'm not going to figure it out lol (I'd guess if you made a variable and added one each time and checked if it was 0? Blah testing though lol). Instead I'll recommend you to change the DissY line to the below, and deconstruct one item before you run the script:

DissY := SetupY - 300

Overall script would then look like:

#SingleInstance Force				; prevents multiple instances of script
CoordMode, Mouse, Screen			; sets coordinates to absolute
#IfWinActive ahk_class Turbine Device Class     ; checks to make sure you're in DDO

SetupX :=  	  				; X position of drop point
SetupY := 	 				; Y position of drop point
DissX := 	  				; X position of dissolve point
DissY := 	  				; Y position of dissolve point
DecoX := 	 	 			; X position of deconstruct point
DecoY := 		  			; Y position of deconstruct point

+RButton:: 					; Shift-Right Click on left box of drop point to set up
MouseGetPos, SetupX, SetupY			; get current mouse position for setup
DissX := SetupX + 30				
DissY := SetupY - 300
DecoX := SetupX + 200
DecoY := SetupY + 30

+LButton::					; Shift+Left Click on item to be deconstructed
MouseGetPos, VarX, VarY				; get current mouse positon
BlockInput On					; prevent user input
MouseClickDrag, L, , , %SetupX%, %SetupY% 	; click and drag to drop point
Sleep 200 					; wait, not always long enough
Click %DissX%, %DissY%				; click on dissolve
Sleep 50					; brief delay
Click %DecoX%, %DecoY%				; click on deconstruct
MouseMove, %VarX%, %VarY%			; move mouse to start location 
BlockInput Off					; allow user input

^D:: 						; Ctrl-D displays your current variables
MsgBox %SetupX%, %SetupY% Setup X/Y		; drop point
 ,`n%DissX%, %DissY% Diss X/Y			; dissolve point
 ,`n%DecoX%, %DecoY% Deco X/Y			; deconstruct point

Esc::         					; Escape closes this