12.11.2009, 14:08
Хм, вот что я хочу у вас спросить, ув. профессиональные скриптеры. Вот у меня команда PM:
Не хватает лишь знаний на то, чтобы написать анти-флуд защиту. Пару раз мне приходилось видеть такую картину: заходит какой-нибудь игрок и запускает Flooder в PM. Весь чат по очереди у каждого игрока засирается PM'ками, чаще всего с рекламой. Чего я прошу? Элементарного кика за флуд, и думаю мне этого будет достаточно.
Code:
if(strcmp(cmd, "/pm", true) == 0) { tmp = strtok(cmdtext,idx); if(!strlen(tmp) || strlen(tmp) > 5) { SendClientMessage(playerid,COLOR_WHITE,"* Синтаксис: /pm [ID] [Сообщение]"); return 1; } giveplayerid = strval(tmp); tmp2 = strrest(cmdtext,idx); if(!strlen(tmp2)) { SendClientMessage(playerid,COLOR_WHITE,"* Синтаксис: /pm [ID] [Сообщение]"); return 1; } if(!IsPlayerConnected(giveplayerid)) { SendClientMessage(playerid,COLOR_ORANGE,"* Этот игрок не подключен."); return 1; } if(playerid != giveplayerid) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); format(string,sizeof(string),"PM для %s[%d]: %s",giveplayer,giveplayerid,tmp2); SendClientMessage(playerid,COLOR_YELLOW,string); format(string,sizeof(string),"PM от %s[%d]: %s",sendername,playerid,tmp2); SendClientMessage(giveplayerid,COLOR_YELLOW,string); else {SendClientMessage(playerid,COLOR_ORANGE,"* Нельзя отсылать PM самому себе.");} return 1;}