I am wondering if there is any event for "Improving an Item" like the EVENT_CRAFT_COMPLETED that I can hook to and perform some logic? For Example, when an item is improved from Green to Blue in a crafting station.. is there a way to know that an improvement just happened?
There's no actual improve Item crafting event. However, there is EVENT_CRAFT_COMPLETED. While it does fire for anything you do at a crafting station, you can further filter it down with GetLastCraftingResultItemInfo(number resultIndex). The 9th return value is the itemQuality. If the quality is not white, and it is an armour or a weapon, and the stack (3rd return) > 0 then it is an improvement.
It's even easier (assuming you use the improvement station to improve an item, not sure if it would be possible without or just opening the crafting station but NOT selecting the improvement tab) to check if the imporvement tab is shown.
Use the event_craft_complete to register your callback function and then check if the improvement's inventory control is not hidden: