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

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

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

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

Делаем чтобы хитманы в чате отображались как "Неизвестный".

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

maxon4ick

Дебютант
Здравствуйте форумчане!
В данном уроке я расскажу вам как сделать так чтобы хитманы были "Неизвестными" в чатах.




​
Нам понадобиться урок от Fancy(Тык!)

Делаем все как написано там. Далее ищем команду чата. Для примера я взял /shout.
Вот наш код:

Код:
    if(strcmp(cmd, "/shout", true) == 0 || strcmp(cmd, "/s", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(gPlayerLogged[playerid] == 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "   Вы не залогинены!");
                return 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_GRAD2, " Используй: (/s)hout [local chat]");
                return 1;
            }
            spaceGroupsToSpaces(result);
            trimSideSpaces(result);
            new word[256],Index;while(Index < strlen(result)) { 
            word = strtok(result,Index);
            if(Adv(word)==1||ZP(word)||U(word)||T(word)||N(word)||PP(word)||P(word)||V(word)||R(word)||PL(word)||ZV(word)||I(word)||ST(word)||PR(word)||DL(word)||RE(word)||VOC(word)||A(word)||NO(word)||TCZ(word)||BOP(word)){
                    new i=strfind(result,word),j=i+strlen(word)-1; result[i++]='[';
                    while(i<j) {result[i]='|';i++;}
                    result[j]=']';
                    BanEx(playerid, " Подозрение на рекламу");
                }
             }
            if(PlayerInfo[playerid][pMuted] == 1)
            {
                SendClientMessage(playerid, TEAM_CYAN_COLOR, "У тебя бан чата!");
                return 1;
            }
                else if(PlayerInfo[playerid][pMaskOn] == 0)
            {
                format(string, sizeof(string), "%s кричит: %s!", sendername, result);
                ApplyAnimation(playerid,"RIOT","RIOT_shout",4.0,0, 0,0,0,0);
                ProxDetector(30.0, playerid, string,COLOR_BLUE,COLOR_BLUE,COLOR_BLUE,COLOR_FADE1,COLOR_FADE2,0,0);
                printf("%s", string);
            }
        }
        return 1;
    }
И так, нам нужно пихнуть код.Вставим код:

Код:
	if(PlayerInfo[playerid][pMask] == 1)
			{
			    format(string, sizeof(string), "Незнакомец кричит: %s!", result);
			    ApplyAnimation(playerid, "RIOT", "RIOT_shout", 4.0, 0, 0, 0, 0, 0);
			    ProxDetector(30.0, playerid, string, COLOR_BLUE, COLOR_BLUE, COLOR_BLUE, COLOR_FADE1, COLOR_FADE2, 0, 0);
			    printf("%s", string);
			}
Должно получится:
Код:
	if(strcmp(cmd, "/shout", true) == 0 || strcmp(cmd, "/s", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	        if(gPlayerLogged[playerid] == 0)
	        {
	            SendClientMessage(playerid, COLOR_GREY, "   Залогинься!");
	            return 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_GRAD2, " Используй: (/s)hout [local chat]");
				return 1;
			}
			spaceGroupsToSpaces(result);
    		trimSideSpaces(result);
			new word[256],Index;while(Index < strlen(result)) { 
			word = strtok(result,Index);
			if(Adv(word)==1||ZP(word)||U(word)||T(word)||N(word)||PP(word)||P(word)||V(word)||R(word)||PL(word)||ZV(word)||I(word)||ST(word)||PR(word)||DL(word)||RE(word)||VOC(word)||A(word)||NO(word)||TCZ(word)||BOP(word)){
					new i=strfind(result,word),j=i+strlen(word)-1; result[i++]='[';
					while(i<j) {result[i]='|';i++;}
					result[j]=']';
					BanEx(playerid, " Подозрение на рекламу");
				}
		 	}
			if(PlayerInfo[playerid][pMuted] == 1)
			{
				SendClientMessage(playerid, TEAM_CYAN_COLOR, "У тебя бан чата!");
				return 1;
			}
				if(PlayerInfo[playerid][pMask] == 1)
			{
			    format(string, sizeof(string), "Незнакомец кричит: %s!", result);
			    ApplyAnimation(playerid, "RIOT", "RIOT_shout", 4.0, 0, 0, 0, 0, 0);
			    ProxDetector(30.0, playerid, string, COLOR_BLUE, COLOR_BLUE, COLOR_BLUE, COLOR_FADE1, COLOR_FADE2, 0, 0);
			    printf("%s", string);
			}
				else if(PlayerInfo[playerid][pMaskOn] == 0)
			{
			    format(string, sizeof(string), "%s кричит: %s!", sendername, result);
                ApplyAnimation(playerid,"RIOT","RIOT_shout",4.0,0, 0,0,0,0);
				ProxDetector(30.0, playerid, string,COLOR_BLUE,COLOR_BLUE,COLOR_BLUE,COLOR_FADE1,COLOR_FADE2,0,0);
				printf("%s", string);
			}
		}
		return 1;
	}
И так разберем что мы вставили:
if(PlayerInfo[playerid][pMask] == 1)- Проверяет, надета ли на игрока маска.
format(string, sizeof(string), "Незнакомец кричит: %s!", result);- в "кавычках" то, что будет показывать у нас в чате. result- то что мы ввели в чате после команды /s
Компилируем, и вуаля хитманы "Незнакомцы".
Также вы можете проделать с другими чатами.

Прошу строго не судить, это мой первый урок, оставляйте коменты =)
Отдельное спасибо Fancy за его мануал :)
Желаю удачи!​
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу