maxon4ick
Дебютант
Здравствуйте форумчане!
В данном уроке я расскажу вам как сделать так чтобы хитманы были "Неизвестными" в чатах.
Нам понадобиться урок от Fancy(Тык!)
Делаем все как написано там. Далее ищем команду чата. Для примера я взял /shout.
Вот наш код:
И так, нам нужно пихнуть код.Вставим код:
Должно получится:
И так разберем что мы вставили:
if(PlayerInfo[playerid][pMask] == 1)- Проверяет, надета ли на игрока маска.
format(string, sizeof(string), "Незнакомец кричит: %s!", result);- в "кавычках" то, что будет показывать у нас в чате. result- то что мы ввели в чате после команды /s
Компилируем, и вуаля хитманы "Незнакомцы".
Также вы можете проделать с другими чатами.
Прошу строго не судить, это мой первый урок, оставляйте коменты =)
Отдельное спасибо 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 за его мануал
Желаю удачи!
Последнее редактирование:
