Troubleshooting
The store does not open
Check that the actor has an AC Merchant Store, that its StoreID is set and unique, and that the actor exists at startup. Call CanOpenStore and display OutLockReason when the store is locked.
A transaction returns LogicContextInvalid
Check that your ADS_MerchantLogicBase child is passed to SetLogicContextClass. Verify the events that read and modify items and currencies return values consistent with the changes actually made.
A price is missing or incorrect
Check ItemID in both the store entry and DT_MerchantPrice. With Use Global Price enabled, the plugin looks for a row whose ItemID matches; the row name alone is not enough.
Store state is lost after loading
Before saving, retrieve GetAllStoreStates. After loading, provide that same map to SetAllStoreStates; its keys must match registered component StoreID values.