Jump to content
Followers 0
cristiii.

Fix symbols

Recommended Posts

Descriere: înlocuiește simbolurile # , %(unicode) și eventual + , ^ , & , "(la final de nick) unele fiind blocate de majoritatea plg. de protecție, și de unele noi versiuni de amxx/metamod/engine

Descarcare: .AMXX compilat cu .inc de 182(utf8) Descarcă
[sursa=SMA]

#pragma tabsize 0
	#include <amxmodx>
	#pragma ctrlchar '\'
	/*
1 - caută pentru mai multe simboluri, precum: ^ / & / + / " (la sf. de nick)
orice valoare care nu este egală cu 1 reprezintă ocolirea simbolurilor precizate anterior
*/
#define EXTRA 0
	new cmdx[21]
	public plugin_init()
{
    if(GetEngineVersion()>=6999)    set_fail_state("Ai o versiune avansata a engine-ului, iar acest plugin nu mai este necesar")
    else if(AMXX_VERSION_NUM>str_to_num("182"))    set_fail_state("Ai o versiune avansata a amxmodx-ului, iar acest plugin nu mai este necesar")
    else if(cvar_exists("reu_version")||GetEngineVersion()<=3000)    set_fail_state("Acest plugin nu este necesar pe rehlds")
	
    /*register_clcmd("say","chat_handle")
    register_clcmd("say_team","chat_handle2")*/
}
	public client_connect(id)
{
   new name[32]
   get_user_info(id,"name",name,charsmax(name))
   check_param(id,name,charsmax(name),1)
}
	public client_infochanged(id)
{
   new newname[32],oldname[32]
   get_user_info(id,"name",newname,charsmax(newname))
   get_user_name(id,oldname,charsmax(oldname))
   if(!equal(oldname,newname))   check_param(id,newname,charsmax(newname),1)
}
	public client_command(id)
{
    new cmd[9],Said[130],said[2]
    read_argv(0,cmd,charsmax(cmd))
	    read_argv(1,said,1)
    if(said[0]=='@')    return PLUGIN_CONTINUE
    
    read_args(Said,charsmax(Said))
    remove_quotes(Said)
	    if(equali(cmd,"say_team",8)||equali(cmd,"say",3))    copy(cmdx,charsmax(cmdx),cmd)
	    if(equali(cmd,"say_team",8))    check_param(id,Said,charsmax(Said),2)
    else if(equali(cmd,"say",3))    check_param(id,Said,charsmax(Said),2)
	    return PLUGIN_CONTINUE
}
	/*
public chat_handle(id)
{
   new args[195]
   read_args(args,charsmax(args))
   remove_quotes(args)
	   check_param(id,args,charsmax(args),2)
}
public chat_handle2(id)
{
   new args[195]
   read_args(args,charsmax(args))
   remove_quotes(args)
	   check_param(id,args,charsmax(args),3)
}
*/
	check_param(const id,fc[],fc_max,number)
{
   switch(number)
   {
      case 1:
      {
         if(containi(fc,"%")!=-1)
         {
            replace_all(fc,fc_max,"%","%")
            set_user_info(id,"name",fc)
         }
         if(containi(fc,"#")!=-1)
         {
            replace_all(fc,fc_max,"#","﹟")
            set_user_info(id,"name",fc)
         }
	
#if EXTRA==1
         if(containi(fc,"+")!=-1)
         {
            replace_all(fc,fc_max,"+"," + ")
            set_user_info(id,"name",fc)
         }
         if(containi(fc,"&")!=-1)
         {
            replace_all(fc,fc_max,"&","&")
            set_user_info(id,"name",fc)
         }
         if(containi(fc,"\"")!=-1)
         {
            replace_all(fc,fc_max,"\"","^")
            set_user_info(id,"name",fc)
         }
	         new lenx=strlen(fc)-1
         if(lenx>0)
         {
            if(equali(fc[lenx],"\""))
            {
               fc[lenx]='^'//s3x
               set_user_info(id,"name",fc)
            }
         }
#endif
	      }
      case 2:
      {
         if(containi(fc,"%")!=-1)
         {
            replace_all(fc,fc_max,"%","%")
            engclient_cmd(id,cmdx,fc)
         }
         if(containi(fc,"#")!=-1)
         {
            replace_all(fc,fc_max,"#","﹟")
            engclient_cmd(id,cmdx,fc)
         }
	
#if EXTRA==1
         if(containi(fc,"+")!=-1)
         {
            replace_all(fc,fc_max,"+"," + ")
            engclient_cmd(id,cmdx,fc)
         }
         if(containi(fc,"&")!=-1)
         {
            replace_all(fc,fc_max,"&","&")
            engclient_cmd(id,cmdx,fc)
         }
         if(containi(fc,"\"")!=-1)
         {
            replace_all(fc,fc_max,"\"","^")
            engclient_cmd(id,cmdx,fc)
         }
#endif
      }
   }
}
	
GetEngineVersion()
{
   new VersionPonter,VersionString[24],Pos
   new const VersionSizeNum=4
   
   VersionPonter=get_cvar_pointer("sv_version")
   get_pcvar_string(VersionPonter,VersionString,charsmax(VersionString))
   Pos=strlen(VersionString)-VersionSizeNum
   format(VersionString,VersionSizeNum,VersionString[Pos])
   
   return str_to_num(VersionString)
}

[/sursa]

Nume: -
Versiune: 17.02.2019 / 12:50
Instalare:
1. Fisierul nume_plugin.sma il puneti in addons/amxmodx/scripting
2. Fisierul nume_plugin.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:

nume_plugin.amxx


4. Să fie primul în lista de plugine

Share this post


Link to post
Share on other sites

Stiu ca e usor copy paste...dar unii din noi nu stiu sa faca un sma..si sa il compileze va rog sa il compilati voi si sa il puneti,nu e pentru mine asta,dar tine de ajutorul tuturor.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Followers 0
HAPPYHALLOWEEN PUBZONE
  • FFA.FRAGS.RO [CS2]

    Server FFA.PUBZONE.RO [CS2] DM | FFA WarmupServer

|

Theme Made by Zayon & Cyber Designs

×
×
  • Create New...