Mixing Game Content
It is not advisable to mix game content - use weapons/materials/models/maps from different Source games - if you wish to run your work on all players’ machines. This is because there is no guarantee that the person downloading your work has installed all the games required, and so there is no guarantee that your prospective player has all the materials/etc required installed.
If a material is missing, then it will be replaced with a purple and black checkered texture. If a prop model is missing, it will be replaced with the words ERROR displayed as a large red model. Other content may cause your work to not run. For example, you can not use the M4 Carbine in a Half-Life 2 singleplayer mod because there is no way of ensuring that the people who play your mod also have Counter-Strike: Source installed and fully updated. Players who lack the needed files will get an error, and not be able to play your mod.
This is especially important when creating content which will be auto-downloaded from a multiplayer game server, or creating content for existing mods (e.g. a Counter-Strike map). It is, of course, less important when creating a single-player mod, since it will be possible to warn a player ahead of time what the requirements will be for running your mod.
For worldmodels and textures that are map-specific, you can package them into a distributable map with BSPzip or another equivalent. These tools will save the required materials into a compiled map so the source material does not have to previously exist on a client's computer. This, however, will significantly increase the map size, and for singleplayer mods that re-use textures and models, it's far more efficient to simply package in the required materials that all maps can reference.