@ TechKnow
Some notes:
There is already a PLATFORM_MAX_PATH define in SM (though, to be fair, it is the same size as your MAX_FILE_LEN define).
Code:
public Action:Event_RoundStart( Handle:event, const String:name[], bool:dontBroadcast )
{
if( GetConVarInt( gDbonezEnabled ) == 1 )
{
new ent = NULL_ENTITY;
while( ( ent = FindEntityByClassname( ent, "prop_dynamic_override" ) != NULL_ENTITY ) )
{
RemoveEdict( ent );
}
}
}
Deleting all prop_dynamic_overrides at round start is a bit irresponsible since you could be deleting ents created by other sources. I recommend saving references to the entities in an adt_array on creation, then at round start, loop the array, removing the ent if the reference is still valid and then clear the array when done.
When removing, AcceptEntityInput(ent, "Kill") is a bit safer than RemoveEdict as it allows the game to clean up the ent and remove itself, rather than removing it forcefully.
Also, you're only doing your remove at round start if the plugin is enabled. If someone dies, skeleton is created, server op disables plugin, then new round starts, the skeleton will not get cleaned up. The cleanup should happen regardless of whether or not the plugin is still enabled.