Descriere versiune 1.0.1: Avand in vedere ca exista o proasta functionare a mai multor coduri de a rezolva svc_print m-am gandit sa impartasesc o rezolvare mai decenta (codul mascheaza orice comanda inregistrata in register_clcmd/concmd care foloseste acele coduri pe care le gasesti in clientul jocului)
el mascheaza toate comenzile care sunt inregistrate/neinregistrate in consola/chat (ex amx_say/amx_psay/amx_rcon etc.......)
De asemenea comenzile de tip Cmd_AddCommand (in serverul hlds ) nu sunt filtrate deoarece nu am incercat , si aici ma refer la comenzile pe care le poti executa din server (say %s0 , si orice alta comanda inregistrata prin srvcmd/cmd_addcommand care apeleaza functia svc_print pentru client)
Poate intereseaza pe cineva : http://zanyxproject.pw/ok.txt

Nume: Fix svc_print
Versiunea 1.0.0
Link oficial:
Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fakemeta>

#define PrefixProtection "[HLDS-Shield Advanced]"

#define console_max 0x80

#define Pmax 0x21
#define V0nr 0x00
#define V1nr 0x01

/*
.data:01E4E604                 dd offset aSvc_disconnect ; "svc_disconnect"
.data:01E4E608                 dd offset sub_1D2AA70
//pfnClientPrintf center ------> CL_CenterPrint
//pfnClientPrintf print_notify --------> CL_Print
//SVC_DISCONNECT ------> CL_Disconnect
//SV_Print("Salutare eu sunt %s %d %f %i")
//CL_Print(id,"Hellooooooooo^n");
*/



new const me[][]={"SkillartzHD","1.0.7","HLDS-Project"}

stock SV_Print(msg[]){server_print("%s %s",PrefixProtection,msg);} // fara any:...
stock Argv(){new text[console_max];read_argv(V0nr,text,charsmax(text)); return text;}
stock Register(){ register_plugin(me[0x00],me[0x01],me[0x02]);}
stock Argv1(){new text[console_max];read_argv(V1nr,text,charsmax(text)); return text;}
stock UserName(index){new PlayerName[Pmax];get_user_name(index,PlayerName,charsmax(PlayerName));return PlayerName;}
stock CL_Disconnect(index,message[]){message_begin(0x01,0x02,_,index);write_string(message);message_end();} 
stock CL_Print(index,message[]){message_begin(0x01,0x08,_,index);write_string(message);message_end();}
stock CL_CenterPrint(index,message[]){message_begin(0x01,0x1A,_,index);write_string(message);write_byte(0x01);message_end();}
stock CL_Final(index,message[]){message_begin(0x01,0x1F,_,index);write_string(message);message_end();}

new const MessageHook[][]=
{
	"#cstrike_","#career_","#vac_",
	"#serverbrowser_","#cam_","#valve_",
	"#ba_","#t0","#of","#player",
	"#vgui_","#spec","#spect",
	"#steam","#gameui_","#app_",
	"#admin_","#game_","#czero_",
	"#obs_","#WizardPanel_","#QueryBox_",
	"#textentry_","#FileOpenDialog",
	"#PropertyDialog","#MessageBox_OK","#Frame_",
	"#SysMenu_","#IME","%s",
	"","","",""
}


public plugin_precache()
{
	Register()
	SV_Print("salut , eu sunt %s %d %f %i")
	register_forward(FM_ClientUserInfoChanged,"UserInfoHook")
	register_forward(FM_ClientConnect,"ClientConnectHook")
	register_forward(FM_ClientCommand,"ClientCommandHook")
}

public ClientConnectHook(id,buffer){if(is_user_connecting(id)){UserInfoHook(id,buffer);}}

public UserInfoHook(id,buffer)
{
	new old[Pmax]
	get_user_info(id,"name",old,charsmax(old))
	for (new i = 0; i < sizeof (MessageHook); i++)
	{
		if(containi(old,MessageHook[i]) != -1)
		{
			CL_CenterPrint(id,"My name is skillartzhd^n");
			engfunc(EngFunc_InfoKeyValue,buffer,"name",UserName(id))
			engfunc(EngFunc_SetClientKeyValue,id,buffer,"name",random_num('A','Z'),random_num('A','z'),random_num('1','9'))
			CL_Disconnect(id,"Salut")
			return FMRES_SUPERCEDE
			
		}
	}
	return FMRES_IGNORED
}
public ClientCommandHook(id)
{
	for (new i = 0; i < sizeof (MessageHook); i++)
	{
		if(containi(Argv(),MessageHook[i])!= -1|| containi(Argv1(),MessageHook[i])!= -1)
		{
			CL_CenterPrint(id,"My name is skillartzhd^n");
			CL_Print(id,"Hello eu sunt %s !^n")
			CL_Final(id,"You've got cancer ^n Please reconnect")
			log_amx("%s User %s used ^"%s %s^"",PrefixProtection,UserName(id),Argv(),Argv1())
			return FMRES_SUPERCEDE
		}
	}
	return FMRES_IGNORED
}
Instalare:
1. Fisierul fix.sma il puneti in addons/amxmodx/scripting
2. Fisierul fix.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:
Code:
fix.amxx
Download : http://zanyxproject.pw/hl1.txt