Ejemplo n.º 1
0
void AdminCmds::SM_Chat(const char* line, int clnum)
{
  char chattername[256];
  char cleanname[256];
  int i;

  if(line[0] == 0)
  {
    return;
  }

  if ( clnum >= 0 )
  {
    Q_strncpyz(cleanname, Plugin_GetPlayerName(clnum), sizeof(cleanname));
    Q_CleanStr(cleanname);
    if(Plugin_CanPlayerUseCommand(clnum, "sm_chat"))
    {
        Com_sprintf(chattername, sizeof(chattername), "^3%s", cleanname);
    }else{
        Com_sprintf(chattername, sizeof(chattername), "^2%s", cleanname);
    }
  }else{
    Q_strncpyz(chattername, "^1Console", sizeof(chattername));
  }

  for ( i = 0; i < Plugin_GetSlotCount(); ++i )
  {
    if ( Plugin_CanPlayerUseCommand(i, "sm_chat") || i == clnum)
    {
      Plugin_ChatPrintf(i, "^3[^0AdminChat^3]^7 (%s^7): %s", chattername, line);
    }
  }
}
void Antispam_Initialize()
{
    if(data.players != NULL){
	Plugin_Free(data.players); // just in case, Plugin_Free is safe to be called on unknown pointers and on already freed pointers
    }
    data.maxPlayers = Plugin_GetSlotCount();
    data.players = (userData_t *)Plugin_Malloc(sizeof(userData_t)*data.maxPlayers);
    memset(data.players,0x00,sizeof(userData_t)*data.maxPlayers);
}
int OnInit(){	// Funciton called on server initiation

	//G_SayCensor_Init();
	data.maxPlayers = Plugin_GetSlotCount();
	data.maxMPM = Cvar_RegisterFloat("antispam_maxMessagesPerMinute",8,0,30,0,"Count of maximum messages a player can send in a minute. 0 disables the chat completely.");
	data.minAP = Cvar_RegisterInt("antispam_minAdminPower",50,0,100,0,"Minimum power points which disable the player. 0 means enabled for everyone.");
	data.minMD = Cvar_RegisterInt("antispam_minMessageDelay",4,0,60,0,"Ammount of time after sending a message after which the player can chat again. 0 disables the limit.");
	data.renMD = Cvar_RegisterBool("antispam_renewedMessageDelay",qfalse,0,"Do messages sent before minMessageDelay passes make the delay prolonged?");
	Antispam_Initialize();
	return 0;
}