K1llers
Дебютант
Данная Антиреклама блокирует чат игрока от нежелательной рекламы айпи адресов чужих серверов. И выводит сообщение Админу о подозрении на рекламу.
Изображение ниже:
Сам Код:
Полный код команды /me Ниже:
Изображение ниже:
Код:
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
for(new i;i < strlen(result);i++)
{
new a[2],c=0;
for(new j = 0;j < strlen(result);j++)
{
strmid(a,result,i+j,i+j+1,2);
if('0' <= a[0] <= '9')c+=1;
}
if(c == 10)
{
PlayerInfo[playerid][pMuteTime] = 20;
PlayerInfo[playerid][pMuted] = 1;
SendClientMessage(playerid, 0xFFFFFFAA, " Слишком много цифр");
SendClientMessage(playerid, 0xFFFFFFAA, " Идет анализ твоего сообщения, ты заткнут(а) на 20 сек");
format(string,sizeof(string)," Внимание. %s[%d] пытался отправить текст: %s",sendername, playerid, result);
ABroadCast(COLOR_YELLOW,string,1);
return true;
}
}
Код:
else if(strcmp(cmd, "/me", true) == 0)
{
if(gag[playerid] == 1) return SendClientMessage(playerid, COLOR_LIGHTRED, "У Вас кляп, вы не можете говорить!");
if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_GREY, "Вы не вошли!");
if(PlayerInfo[playerid][pMuted] == 1) return format(string, sizeof(string), "У Вас бан чата! До снятия: %d секунд(ы)",PlayerInfo[playerid][pMuteTime]);
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, " Введите: /me [действие]");
for(new i;i < strlen(result);i++)
{
new a[2],c=0;
for(new j = 0;j < strlen(result);j++)
{
strmid(a,result,i+j,i+j+1,2);
if('0' <= a[0] <= '9')c+=1;
}
if(c == 10)
{
PlayerInfo[playerid][pMuteTime] = 20;
PlayerInfo[playerid][pMuted] = 1;
SendClientMessage(playerid, 0xFFFFFFAA, " Слишком много цифр");
Слишком много цифр
SendClientMessage(playerid, 0xFFFFFFAA, " Идет анализ твоего сообщения, ты заткнут(а) на 20 сек");
format(string,sizeof(string)," Внимание. %s[%d] пытался отправить текст: %s",sendername, playerid, result);
ABroadCast(COLOR_YELLOW,string,1);
return 1;
}
}
format(string, sizeof(string), "%s %s", sendername, result);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetPlayerChatBubble(playerid,result,COLOR_PURPLE,30.0,10000);
}
