Swacky
Новичок
Товарищи, нужна ваша помощь.
Я уже истощен, как сделать анти-капс в общем чате?
Допустим: игрок написал в /o высшим регистром, получается ПРИВЕТ, высшей регистр нужно чтобы остался, но за это выдать молчанку.
Вот сам код анти-капса, этот код я вставил в команду /o.
new count;
for(new i = 0; i <= strlen(cmdtext); i++)
{
switch(cmdtext)
{
case 'A'..'Z', 'А'..'Я': count++;
}
if(count > 256 && PlayerInfo[playerid][pAdmin] == 0) cmdtext = tolower(cmdtext);
}
Капс остается, но как выдать молчанку игроку? Подскажите.
Команда, на всякий:
Возможно есть другой способ, если знаете, подскажите. Буду признателен.
Я уже истощен, как сделать анти-капс в общем чате?
Допустим: игрок написал в /o высшим регистром, получается ПРИВЕТ, высшей регистр нужно чтобы остался, но за это выдать молчанку.
Вот сам код анти-капса, этот код я вставил в команду /o.
new count;
for(new i = 0; i <= strlen(cmdtext); i++)
{
switch(cmdtext)
{
case 'A'..'Z', 'А'..'Я': count++;
}
if(count > 256 && PlayerInfo[playerid][pAdmin] == 0) cmdtext = tolower(cmdtext);
}
Капс остается, но как выдать молчанку игроку? Подскажите.
Команда, на всякий:
if(strcmp(cmd, "/ooc", true) == 0 || strcmp(cmd, "/o", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " You havent logged in yet !");
return 1;
}
new mins = PlayerInfo[playerid][pMutedTime]/60;
if(PlayerInfo[playerid][pMuted] > 0)
{
format(string, sizeof(string), " Вы не можете говорить, вам выдана молчанка. // Оставшееся время: %d мин..",mins);
SendClientMessage(playerid, TEAM_CYAN_COLOR,string);
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
new count;
for(new i = 0; i <= strlen(cmdtext); i++)
{
switch(cmdtext)
{
case 'A'..'Z', 'А'..'Я': count++;
}
if(count > 256 && PlayerInfo[playerid][pAdmin] == 0) cmdtext = tolower(cmdtext);
}
if(OOCLim[playerid] > 0 && PlayerInfo[playerid][pAdmin] == 0)
{
format(string,sizeof(string)," Cтоп! Не флуди! Сообщение можно отправлять только раз в %d секунд.",ooclimit);
SendClientMessage(playerid,TEAM_AZTECAS_COLOR,string);
return 1;
}
if ((noooc) && PlayerInfo[playerid][pAdmin] < 1)
{
SendClientMessage(playerid, COLOR_GRAD2, " Общий чат отключен админом.");
return 1;
}
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_GRAD2, "USAGE: /o [text]");
return 1;
}
if(PlayerInfo[playerid][pJailed] > 0)
{
SendClientMessage(playerid, COLOR_RED, " Вы находитесь в тюрьме, вам недоступен общий чат!");
return 1;
}
format(string, sizeof(string), "| %s: %s", sendername, result);
OOCOff(COLOR_OOC,string);
format(string, sizeof(string), "[%d] | %s: %s",playerid,sendername,result);
OOCOffA(COLOR_OOC,string);
OOCLim[playerid] = ooclimit;
printf("%s", string);
}
return 1;
}
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " You havent logged in yet !");
return 1;
}
new mins = PlayerInfo[playerid][pMutedTime]/60;
if(PlayerInfo[playerid][pMuted] > 0)
{
format(string, sizeof(string), " Вы не можете говорить, вам выдана молчанка. // Оставшееся время: %d мин..",mins);
SendClientMessage(playerid, TEAM_CYAN_COLOR,string);
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
new count;
for(new i = 0; i <= strlen(cmdtext); i++)
{
switch(cmdtext)
{
case 'A'..'Z', 'А'..'Я': count++;
}
if(count > 256 && PlayerInfo[playerid][pAdmin] == 0) cmdtext = tolower(cmdtext);
}
if(OOCLim[playerid] > 0 && PlayerInfo[playerid][pAdmin] == 0)
{
format(string,sizeof(string)," Cтоп! Не флуди! Сообщение можно отправлять только раз в %d секунд.",ooclimit);
SendClientMessage(playerid,TEAM_AZTECAS_COLOR,string);
return 1;
}
if ((noooc) && PlayerInfo[playerid][pAdmin] < 1)
{
SendClientMessage(playerid, COLOR_GRAD2, " Общий чат отключен админом.");
return 1;
}
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_GRAD2, "USAGE: /o [text]");
return 1;
}
if(PlayerInfo[playerid][pJailed] > 0)
{
SendClientMessage(playerid, COLOR_RED, " Вы находитесь в тюрьме, вам недоступен общий чат!");
return 1;
}
format(string, sizeof(string), "| %s: %s", sendername, result);
OOCOff(COLOR_OOC,string);
format(string, sizeof(string), "[%d] | %s: %s",playerid,sendername,result);
OOCOffA(COLOR_OOC,string);
OOCLim[playerid] = ooclimit;
printf("%s", string);
}
return 1;
}
Возможно есть другой способ, если знаете, подскажите. Буду признателен.
