There are 2 functions which are executed when map loads.
1. OnMapStart() - This function is executed when map is loaded.
2. OnAutoConfigsBuffered() - This function is executed after the
OnMapStart() function.
The plugin
sm_ggdm_buymenu.smx is responsible for removal of buy zones in the map. The buyzones are removed in
OnMapStart() function.
But the plugin
mapconfigs.smx executes map based configs in
OnAutoConfigsBuffered() function. And this function is executed after
OnMapStart().
So technically, you are doing correct. But the buyzones are removed before the plugin is unloaded.
So you can solve your problem by following below steps :
1. Move all the deathmatch plugins to
sourcemod/plugins/disabled folder.
2. Remove the unload statements from
de_dust.cfg
3. Create
mapname.cfg only for the maps where you want Deathmatch plugins to be enabled.
4. Now write plugin load statements in those
mapname.cfg files. Which should look something like this :
C++:
sm plugins load disabled/sm_ggdm.smx
sm plugins load disabled/sm_ggdm_elimination.smx
sm plugins load disabled/sm_ggdm_firstspawn.smx
sm plugins load disabled/sm_ggdm_gunmenu.smx
sm plugins load disabled/sm_ggdm_ragdoll.smx
sm plugins load disabled/sm_ggdm_spawnprotection.smx
sm plugins load disabled/sm_ggdm_spawns.smx
sm plugins load disabled/sm_ggdm_weapons.smx
This way, deathmatch will be only enabled in required maps. By default they will be disabled because they are in
disabled folder
.
But this will cause another problem. Buyzones will be enabled in Deathmatch. But this is not big issue. To completely solve the problem, the plugin code must be modified.