Кто знает как сделать чтоб при вводе команды /cc общий чат у всех игроков очистился кроме администрации.
Кто знает как сделать чтоб при вводе команды /cc общий чат у всех игроков очистился кроме администрации.
Вместо SendClientMessageToAll сделать вывод пустых строк в цикле с помощью SendClientMessage и перед выводом сделать проверку на то, что игрок не админ.
Выглядеть должно примерно так:
PHP код:
CMD:cc(playerid, params[])
{
const EMPTY_LINES_COUNT = 20; // можно увеличить до 100, если хотите,
// чтобы игрок не мог увидеть старые сообщения,
// перелистывая чат с помощью PageUp/PageDown
for(new i = GetMaxPlayers()-1, j; i != -1; --i)
if(IsPlayerConnected(i) && !IsPlayerAdmin(i)) // вместо IsPlayerAdmin ставьте свою проверку на админку
for(j = 0; j < EMPTY_LINES_COUNT; ++j)
SendClientMessage(i, -1, " ");
return 1;
}
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Когда ввожу команду то чат не очищается. именно у игроков.
- - - Добавлено - - -
В общем вот моя команда.
И когда я воожу ничего не происходит игроков. Незнаю правильно ли я сделал. ?PHP код:
if(strcmp(cmd, "/cc", true) == 0){
if(Player[playerid][pAdmin] < 3)return NoRights;
if(AdminDuty[playerid] == 0)return NoAduTy;
const EMPTY_LINES_COUNT = 20;
for(new i = GetMaxPlayers(), j; i != -1; --i)
if(IsPlayerConnected(i) && Player[playerid][pAdmin] < 1)
for(j = 0; j < EMPTY_LINES_COUNT; ++j)
SendClientMessage(i, -1, " ");
f(string, "Общий чат был очищен администрацией.");
SendClientMessageToAll(COLOR_WHITE,string);
f(string, "[ACMD] %s очистил чат.",RPN(playerid));
ABroadCast(COLOR_ACMD,string,1);return 1;}
PHP код:
if(strcmp(cmd, "/cc", true) == 0)
{
const EMPTY_LINES_COUNT = 20;
for(new i = GetMaxPlayers(), j; i != -1; --i)
if(IsPlayerConnected(i) && Player[playerid][pAdmin] < 3)//Проверка на админа
for(j = 0; j < EMPTY_LINES_COUNT; ++j)
SendClientMessage(i, -1, " ");
SendClientMessageToAll(-1,"Чат очищен!");
return 1;
}
Странно но все коды не помогли только пишет что чат очищен но ничего не очищается.
PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..
25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/
#FIXSAMP
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
[ForD] (26.11.2014)
Вот вроде рабочий помог 1 человек.
PHP код:
if(strcmp(cmd, "/cc", true) == 0)
{
if(Player[playerid][pAdmin] < 3 || AdminDuty[playerid] == 0) return NoRights;
const EMPTY_LINES_COUNT = 20;
new string_claerchat[19 + (MAX_PLAYER_NAME)];
for(new i = GetMaxPlayers(), j; i != -1; --i)
{
if(!IsPlayerConnected(i) || Player[i][pAdmin] > 1) continue;
for(j = 0; j < EMPTY_LINES_COUNT; ++j)
{
SendClientMessage(i, -1, " ");
}
SendClientMessageToAll(COLOR_WHITE,"Общий чат был очищен администрацией.");
format(string_claerchat, sizeof(string_claerchat), "[ACMD] %s очистил чат.", RPN(playerid));
ABroadCast(COLOR_ACMD,string_claerchat,1);
}
return 1;
}
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)