Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 12
  1. #1
    Аватар для Dimon_Fanat
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Сообщений
    131
    Репутация:
    0 ±

    Очистка общего чата.

    Кто знает как сделать чтоб при вводе команды /cc общий чат у всех игроков очистился кроме администрации.

  2. #2
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Dimon_Fanat Посмотреть сообщение
    Кто знает как сделать чтоб при вводе команды /cc общий чат у всех игроков очистился кроме администрации.
    Вместо SendClientMessageToAll сделать вывод пустых строк в цикле с помощью SendClientMessage и перед выводом сделать проверку на то, что игрок не админ.
    Выглядеть должно примерно так:
    PHP код:
    CMD:cc(playeridparams[])
    {
        const 
    EMPTY_LINES_COUNT 20// можно увеличить до 100, если хотите,
                                      // чтобы игрок не мог увидеть старые сообщения,
                                      // перелистывая чат с помощью PageUp/PageDown
        
    for(new GetMaxPlayers()-1j!= -1; --i)
            if(
    IsPlayerConnected(i) && !IsPlayerAdmin(i)) // вместо IsPlayerAdmin ставьте свою проверку на админку
                
    for(0EMPTY_LINES_COUNT; ++j)
                    
    SendClientMessage(i, -1" ");
        return 
    1;

    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  3. #3
    Аватар для Dimon_Fanat
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Сообщений
    131
    Репутация:
    0 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Вместо SendClientMessageToAll сделать вывод пустых строк в цикле с помощью SendClientMessage и перед выводом сделать проверку на то, что игрок не админ.
    Выглядеть должно примерно так:
    PHP код:
    CMD:cc(playeridparams[])
    {
        const 
    EMPTY_LINES_COUNT 20// можно увеличить до 100, если хотите,
                                      // чтобы игрок не мог увидеть старые сообщения,
                                      // перелистывая чат с помощью PageUp/PageDown
        
    for(new GetMaxPlayers()-1j!= -1; --i)
            if(
    IsPlayerConnected(i) && !IsPlayerAdmin(i)) // вместо IsPlayerAdmin ставьте свою проверку на админку
                
    for(0EMPTY_LINES_COUNT; ++j)
                    
    SendClientMessage(i, -1" ");
        return 
    1;

    Когда ввожу команду то чат не очищается. именно у игроков.

    - - - Добавлено - - -

    В общем вот моя команда.


    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 
    GetMaxPlayers(), j!= -1; --i)
        if(
    IsPlayerConnected(i) && Player[playerid][pAdmin] < 1)
        for(
    0EMPTY_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;} 
    И когда я воожу ничего не происходит игроков. Незнаю правильно ли я сделал. ?

  4. #4
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±
    PHP код:
    if(strcmp(cmd"/cc"true) == 0)
    {
        const 
    EMPTY_LINES_COUNT 20;
        for(new 
    GetMaxPlayers(), j!= -1; --i)
            if(
    IsPlayerConnected(i) && Player[playerid][pAdmin] < 3)//Проверка на админа
                
    for(0EMPTY_LINES_COUNT; ++j)
                    
    SendClientMessage(i, -1" ");
        
    SendClientMessageToAll(-1,"Чат очищен!");
        return 
    1;


  5. #5
    Аватар для Dimon_Fanat
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Сообщений
    131
    Репутация:
    0 ±
    Странно но все коды не помогли только пишет что чат очищен но ничего не очищается.

  6. #6
    Аватар для Kegamand
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.07.2014
    Сообщений
    22
    Репутация:
    5 ±
    Цитата Сообщение от Dimon_Fanat Посмотреть сообщение
    Странно но все коды не помогли только пишет что чат очищен но ничего не очищается.
    Банальный вопрос:А может ты проверяешь,когда только ты на сервере и у тебя админка?

  7. #7
    Аватар для Dimon_Fanat
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Сообщений
    131
    Репутация:
    0 ±
    Цитата Сообщение от Kegamand Посмотреть сообщение
    Банальный вопрос:А может ты проверяешь,когда только ты на сервере и у тебя админка?
    Ну в общем проверяю я через песочницу не знаю можно ли так проверить или нет?

  8. #8
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    Цитата Сообщение от Dimon_Fanat Посмотреть сообщение
    Ну в общем проверяю я через песочницу не знаю можно ли так проверить или нет?
    а не проще убрать проверку на админа с команды,зайти как игрок и посмотреть что выйдет?
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

  9. #9
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Dimon_Fanat Посмотреть сообщение
    пишет что чат очищен но ничего не очищается.
    Просто оставлю это здесь:
    Цитата Сообщение от Salvador Посмотреть сообщение
    Код:
    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;
    }
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  10. Пользователь сказал cпасибо:
    [ForD] (26.11.2014)
  11. #10
    Аватар для Dimon_Fanat
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Сообщений
    131
    Репутация:
    0 ±
    Вот вроде рабочий помог 1 человек.

    PHP код:
        if(strcmp(cmd"/cc"true) == 0)
        {
            if(
    Player[playerid][pAdmin] < || AdminDuty[playerid] == 0) return NoRights;
            const 
    EMPTY_LINES_COUNT 20;
            new 
    string_claerchat[19 + (MAX_PLAYER_NAME)];
            for(new 
    GetMaxPlayers(), j!= -1; --i)
            {
                if(!
    IsPlayerConnected(i) || Player[i][pAdmin] > 1) continue;
                for(
    0EMPTY_LINES_COUNT; ++j)
                {
                    
    SendClientMessage(i, -1" ");
                }
                
    SendClientMessageToAll(COLOR_WHITE,"Общий чат был очищен администрацией.");
                
    format(string_claerchatsizeof(string_claerchat), "[ACMD] %s очистил чат."RPN(playerid));
                
    ABroadCast(COLOR_ACMD,string_claerchat,1); 
            }
            return 
    1;
        } 

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •