There are several ways to do this, depends on the complexity of the game and your programming skills.
1. You can do this with variables and layouts. Each location will be a separate layout and you can add an invisible object (sprite) LocationInfo with a bunch of instance variables, which will contain all the data required for this location. So, when player goes to a new location, on start of the layout you read variables from LocationInfo sprite and change music, display messages etc.
2. You can store all the data in one of several text files, which can be in XML, JSON, CSV or your own format. When changing location, read the file for this location and load the data from it. Take a look at this post to see how it can be done with XML. Also, check out the tutorials section:
construct.net/en/tutorials
PS: Not all tutorials are good. This one demonstrates how text adventure games should not be made. Hard-coding everything in events is a bad practice and I don't recommend it.