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

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

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

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

Как перевести /ooc чат на DC_CMD?

Статус
В этой теме нельзя размещать новые ответы.
PHP:
if(strcmp(cmd, "/ooc", true) == 0 || strcmp(cmd, "/o", true) == 0)
 	{
	        if(IsPlayerConnected(playerid))
	        {
	            if(gPlayerLogged[playerid] == 0)
				{
	                SendClientMessage(playerid, COLOR_RED, "Вы ещё не вошли в игру!");
                     return true;
			    }
			    if(PlayerInfo[playerid][pMuted] == 1)
            	{
    				MutePlayer(playerid);
    				return true;
    			}
					new is1=0;
					new r=0;
					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), "{EBF619}Подозрение на рекламу в общий чат %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 true;
				} // Вот антирекл
				if(PlayerInfo[playerid][pJailed] == 1 || PlayerInfo[playerid][pJaileda] == 1 || PlayerInfo[playerid][pJailedlv] == 1)
				{
	                SendClientMessage(playerid, COLOR_RED, "Вы в заключении !");
                     return true;
			    }
                if(OOCChat[playerid] > 0 && !IsPlayerAdmin(playerid) && !PlayerInfo[playerid][pAdmin])
	            {
	                format(string,sizeof(string),"{FF0000}[Ошибка]{FFFFFF} Ты сможешь отправить следующее сообщение через {E3BE88}%d {ffffff}секунд",OOCChat[playerid]);
	        	    SendClientMessage(playerid, COLOR_WHITE,string);
                    return true;
	            }
		        if ((noooc) && PlayerInfo[playerid][pAdmin] < 1)
				{
				    new msg123[MAX_STRING+64];
                    format(msg123,sizeof(msg123),"Общий чат отключён Администрацией сервера.");
                    SendClientMessage(playerid,COLOR_GREY, msg123);
					return true;
				}
                if(PlayerInfo[playerid][pLevel] < 1 && !IsPlayerAdmin(playerid) && !PlayerInfo[playerid][pAdmin])
				{
                    SendClientMessage(playerid, COLOR_WHITE, "{FF0000}[Ошибка]{FFFFFF} Чтобы писать в общий чат необходим {FFCC99}[1 LvL]");
                    return true;
				}
		        if(PlayerInfo[playerid][pMute] == 1)
				{
				}
			    GetPlayerName(playerid, sendername, sizeof(sendername));
			    new admtext[64];
   			    if(PlayerInfo[playerid][pAdmin] == 6) { admtext = "<{FF3300} Гл.A {FFFFFF}>"; } //
   			    else if(PlayerInfo[playerid][pAdmin] == 5) { admtext = "<{FF3300} А {FFFFFF}>"; }
				else if(PlayerInfo[playerid][pAdmin] == 4) { admtext = "<{FF3300} Гл.M {FFFFFF}>"; }
				else if(PlayerInfo[playerid][pAdmin] == 3) { admtext = "<{FF3300} M {FFFFFF}>"; }
				else if(PlayerInfo[playerid][pAdmin] == 2) { admtext = "<{FF3300} M {FFFFFF}>"; }
				else if(PlayerInfo[playerid][pAdmin] == 1) { admtext = "<{FF3300} M {FFFFFF}>"; }
				else if(PlayerInfo[playerid][pHelper] == 4) { admtext = "<{FF3300} H {FFFFFF}>"; }
				else if(PlayerInfo[playerid][pHelper] == 3) { admtext = "<{e3be88} H {FFFFFF}>"; }
				else if(PlayerInfo[playerid][pHelper] == 2) { admtext = "<{e3be88} H {FFFFFF}>"; }
				else if(PlayerInfo[playerid][pHelper] == 1) { admtext = "<{e3be88} H {FFFFFF}>"; }
				else if(PlayerInfo[playerid][pLeader] >= 1) { admtext = "<{0346FF} L {FFFFFF}>"; }
			            new length = strlen(cmdtext);
			            while ((idx < length) && (cmdtext[idx] <= ' '))
			            {
				              idx++;
			            }
		        new offset = idx;
			    new result[256];
			    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 true;
			    }
			    if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] >= 1 || PlayerInfo[playerid][pLevel] <= 99)
			    {
			    new word[256],Index;while(Index < strlen(cmdtext)){word = strtok(cmdtext,Index);if(checkbanan(word)==1 && PlayerInfo[playerid][pAdmin] ==0){banan(playerid,cmdtext);return false;}}
			    format(string, sizeof(string), "%s %s[%d]: %s",admtext,sendername,playerid, result);
			    SendClientMessageToAll(COLOR_WHITE,string);
		        log("Chat", string);
    			OOCChat[playerid] = 80;
	            }
    			else if(PlayerInfo[playerid][pLevel] == 1)
			    {
			    new word[256],Index;while(Index < strlen(cmdtext)){word = strtok(cmdtext,Index);if(checkbanan(word)==1 && PlayerInfo[playerid][pAdmin] ==0){banan(playerid,cmdtext);return false;}}
			    format(string, sizeof(string), "> %s[%d]: %s", sendername,playerid, result);
			    SendClientMessageToAll(COLOR_WHITE,string);
		        log("Chat", string);
    			OOCChat[playerid] = 30;
    			}
		    }
		    return true;
	    }
P.S Про оптимизацию знаю, сам потом оптимизирую.. не надо меня кидать в стол заказов -_-
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу