Sure.
- What is a core? ie Trinitycore etc.
A core in wow emulation is the MMORPG framework, and most popular these days - TrinityCore:
https://github.com/TrinityCore/TrinityCore , this handles the entities, networking, and various other systems all around. You build on top of this framework creating scripts for content, spells, events, etc.
- How do the client files interact with the server?
The client files don't interact with the server, if you mean the data files that are in the MPQ's. The one that does the interacting with the server is the client itself, the wow.exe, the communication between client and server, also called messages, is part of the network layer of the client, which comes down to everything your able to see ingame from the server, and how you tell the server your doing something. When you move forward you send a message to the server saying I am moving forward! which contains data like current position, transport information, current movement flags (like walking, flying, running), pitch (if your on a flying mount and you want to do a 360), orientation (way you are facing), etc. Then the server reads the message, validates it, makes sure some things are valid, like position, transport info, movementflags, etc, and creates another message to send to other players around you, showing that you are moving. This is only one example, there are plenty of other ones, like selecting a unit, will tell the server you selected someone, and send back their GUID (Globally Unique Identifier), the server validates it, and sets you selecting that unit, so other people around you see that you have that unit selected.
- How are things scripted?
Things are scripted per entity, either by entry, or guid, if you mean a creature, from the server we are able to control the creature, meaning move from position a to position b, do a talk, cast a spell, etc. Pretty much just code logic based on the framework's API. However this can get to a whole other topic, if you are interested to create scripts yourself, research on SmartAI (SAI) of trinitycore. It's a powerful system allowing you to script from the database.