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; }