I have modified this code, and borrowed Tatsu's suggestion for the death fade to improve the plugin as follows:rnThe death fade now lasts MUCH longer, which is especially useful for this function I added:rnAnyone that joins the spectator team also gets the fade, and it lasts as long as seems possible, which is excellent.rnrnSo why this modification? Well - it prevents ghosting, this is especially useful during realisms. Everyone check it out, let me know if it needs to be fixed, etc.rnrn
#include <amxmodx>rn#include <amxmisc>rn#include <dodx>rnrnpublic plugin_init()rn{rn register_plugin("DoD FadeToBlack","0.8beta","AMXX DoD Team")rn register_statsfwd(XMF_DEATH)rn register_concmd("amx_dodftb","cmdsetftb",ADMIN_CFG,"<1/0> - enable/disable DoD FadeToBlack")rn register_cvar("dod_fadetoblack","0")rn register_cvar("dod_fadetoblack_obeyimmunity","0")rn register_event("TextMsg","specblack","a","1=3","2=#game_joined_team","4=Spectators")rn} rnrnpublic plugin_modules()rn{rn require_module("dodx")rn}rnrnpublic specblack()rn{rn if(get_cvar_num("dod_fadetoblack")==1)rn {rn new username[32]rn read_data(3,username,31)rn new id = get_user_index(username)rn set_task(0.1,"fade_to_black", id)rn while(is_user_alive(id)==0)rn {rn set_task(20.0,"fade_to_black", id)rn }rn }rn return PLUGIN_CONTINUErn}rnpublic client_death(killer,victim,wpnindex,hitplace,TK){ rn if(get_cvar_num("dod_fadetoblack") == 1){rn if((get_user_flags(victim)&ADMIN_IMMUNITY) && get_cvar_num("dod_fadetoblack_obeyimmunity") == 1){rn return PLUGIN_CONTINUErn }rn set_task(0.1,"fade_to_black",victim)rn }rn return PLUGIN_CONTINUErn}rnrnpublic fade_to_black(victim){rn new FadeToBlack = get_user_msgid("ScreenFade")rn message_begin(MSG_ONE_UNRELIABLE,FadeToBlack,{0,0,0},victim)rn write_short( 1<<13)rn write_short(~0)rn write_short( 1)rn write_byte(0)rn write_byte(0)rn write_byte(0)rn write_byte(255)rn message_end()rn}rnrnpublic cmdsetftb(id,level,cid){rn if (!cmd_access(id,level,cid,2)){rn return PLUGIN_HANDLEDrn }rn new ftb_s[2]rn read_argv(1,ftb_s,2)rn new ftb = str_to_num(ftb_s)rn if(ftb == 1){rn if(get_cvar_num("dod_fadetoblack") == 1){rn client_print(id,print_chat,"[AMXX] DoD FadeToBlack is already enabled.....")rn }rn else if (get_cvar_num("dod_fadetoblack") == 0){rn set_cvar_num("dod_fadetoblack",1)rn client_print(id,print_chat,"[AMXX] DoD FadeToBlack ENABLED.....")rn }rn }rn else if(ftb == 0){rn if(get_cvar_num("dod_fadetoblack") == 0){rn client_print(id,print_chat,"[AMXX] DoD FadeToBlack is already disabled.....")rn }rn else if(get_cvar_num("dod_fadetoblack") == 1){rn set_cvar_num("dod_fadetoblack",0)rn client_print(id,print_chat,"[AMXX] DoD FadeToBlack DISABLED.....")rn }rn }rn return PLUGIN_HANDLEDrn}rn