Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Антифлуд в /ooc, помогите доделать.

Статус
В этой теме нельзя размещать новые ответы.

Dark_Fox

Дебютант
Проблема заключается вот в чём:
Вырезал из мода CreativRPG /ooc, на нём работает общий чат, к примеру: "Написал сообщение, теперь можно написать следующее сообщение через 30 сек". А на моём сервере примерно так: "Написал сообщение в /ooc, и всё, больше писать нельзя, даже ели перезайти на сервер или рестартануть его". Надеюсь поможете, "+" не зажму...
PHP:
		if(strcmp(cmd, "/ooc", true) == 0 || strcmp(cmd, "/o", true) == 0)
	    {
	        if(IsPlayerConnected(playerid))
	        {
	            if(gPlayerLogged[playerid] == 0)
				{
	                SendClientMessage(playerid, COLOR_RED, "** Âû åù¸ íå âîøëè â èãðó !");
                     return 1;
			    }
			    if(PlayerInfo[playerid][pMuted] == 1)
			    {
				SendClientMessage(playerid, TEAM_CYAN_COLOR, " * Âû íå ìîæåòå ðàçãîâàðèâàòü, ó âàñ ìîë÷àíêà.!");
				return 1;
			    }
			new is1=0;
			new r=0;
			new strR[255];
			while(strlen(cmdtext[is1]))
			{
	    		if('0'<=cmdtext[is1]<='9')
	    		{
	    			new is2=is1+1;
	    			new p=0;
	    			while(p==0)
	    			{
	    	   			if('0'<=cmdtext[is2]<='9'&&strlen(cmdtext[is2])) is2++;
						else
						{
							strmid(strR[r],cmdtext,is1,is2,255);
							if(strval(strR[r])<255) r++;
							is1=is2;
							p=1;
						}
	    			}
	    		}
	    		is1++;
			}
			if(r>=4)
			{
	    		new strMy[255];
	    		new STRname[255];
	    		GetPlayerName(playerid,STRname,255);
				format(strMy, sizeof(strMy), "Ïîäîçðåíèå íà ðåêëàìó â OOC ÷àò %s(%d): %s",STRname,playerid,cmdtext);
				ABroadCast(COLOR_YELLOW, strMy, 1);
				for(new z=0;z<r;z++)
				{
					new pr2;
					while((pr2=strfind(cmdtext,strR[z],true))!=-1) for(new i=pr2,j=pr2+strlen(strR[z]);i<j;i++) cmdtext[i]='*';
				}
				return 1;
			}
                if(OOCChat[playerid] > 0)
	            {
	                format(string,sizeof(string),"Àíòè-Ôëóä: Òû ñìîæåøü èñïîëüçîâàòü ýòó êîìàíäó ÷åðåç %d ñåêóíä",OOCChat[playerid]);
	        	    SendClientMessage(playerid, COLOR_WHITE,string);
                    return 1;
	            }
		        if ((noooc) && PlayerInfo[playerid][pAdmin] < 1)
				{
			        SendClientMessage(playerid, COLOR_GRAD2, "*CreatiVe RPG : Îáùèé ÷àò îòêëþ÷¸í Àäìèíèñòðàòîðîì  !");
			        return 1;
				}
                if(PlayerInfo[playerid][pLevel] < 1)
				{
                    SendClientMessage(playerid, COLOR_RED, "** ×òî - áû ïèñàòü â îáùèé ÷àò íåîáõîäèì 1 LvL !");
                    return 1;
				}
		        if(PlayerInfo[playerid][pMuted] == 1)
				{
				}
			    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))
			    {
				    SendClientMessage(playerid, COLOR_GREY, "*Èñïîëüçóéòå: /o [òåêñò]");
				    return 1;
			    }
	        if(Rekl[playerid] == 1 && strfind(cmdtext,"www",true)!=-1 || Rekl[playerid] == 1 && strfind(cmdtext,".ru",true)!=-1
	 		|| Rekl[playerid] == 1 && strfind(cmdtext,".net",true)!=-1 || Rekl[playerid] == 1 && strfind(cmdtext,".com",true)!=-1
			|| Rekl[playerid] == 1 && strfind(cmdtext,"http",true)!=-1 || Rekl[playerid] == 1 && strfind(cmdtext,"org",true)!=-1)
			{
   				format(string,256,"Ïîäîçðåíèå íà ðåêëàìó â OOC ÷àò %s(%d): %s", sendername, playerid, cmdtext);
				ABroadCast(COLOR_YELLOW,string,1);
				return 1;
			}
			    format(string, sizeof(string), "((Îáùèé ÷àò: %s[%d]: %s ))", sendername,playerid, result);
			    OOCOff(COLOR_OOC,string);
			    format(string, sizeof(string), "Îáùèé ÷àò: %s: %s",sendername,result);// ëîã-÷àòà
    			OOCChat[playerid] = 31;
		    }
		    return 1;
	    }
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу