Log and pause technique before it crashes may help part of your problem. Illustration snip:
Code:
public plugin_precache()
{
if(file_exists("sound/misc/Temp.wav")){
precache_sound(SOUND_GOTATEMP);
}
else
{
log_amx("Paused to prevent crash from missing %s.",SOUND_GOTATEMP);
pause "a";
}
}
Code:
get_datadir(g_filepath, charsmax(g_filepath));
formatex(g_szFile[0], charsmax(g_szFile), "%s/%s", g_filepath, g_szRequired_Files[0]);
formatex(g_szFile[1], charsmax(g_szFile), "%s/%s", g_filepath, g_szRequired_Files[1]);
if( (!file_exists(g_szFile[0])) || !file_exists(g_szFile[1]) ){
server_print("Check your Maxmind databases...%s|%s...halting to prevent crash.",g_szFile[0],g_szFile[1]);
pause("a");
}
__________________