Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 6 из 6
  1. #1
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    111
    Репутация:
    1 ±

    /mute на время

    привет всем
    помогите сделать систему /mute в формате %d:%d:%d Час, мин, сек
    PHP код:
        if(strcmp(cmd"/mute"true) == 0)
        {
             if(
    PlayerInfo[playerid][pAdmin] >= 2)
            {
                new 
    time;
                
    cmd strtok(cmdtextidx);
                if(!
    strlen(cmd)) return SendClientMessage(playeridCOLOR_WHITE"Введите: /mute [id] [Время]");
                
    giveplayerid ReturnUser(cmd);
                if(!
    IsPlayerConnected(giveplayerid)) return SendClientMessage(playeridCOLOR_WHITE"[Ошибка]: Игрок не найден!");
                if(
    giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playeridCOLOR_WHITE"[Ошибка]: Игрок не найден!");
                
    cmd strtok(cmdtextidx);
                
    time strval(cmd);
                if(
    PlayerInfo[giveplayerid][pMuted] == 0)//Если у игрока нету бана = 0 то...
                
    {
                    
    PlayerInfo[giveplayerid][pMuted] = 1;//Дали бан чата
                    
    PlayerInfo[giveplayerid][pMuteTime] = time*60;
                    
    format(Stringerssizeof(Stringers), "%s получил бан чата от администратора: %s"Name(giveplayerid), Name(playerid));
                    
    SendClientMessageToAll(COLOR_LIGHTREDStringers);
                    
    OnPlayerUpdateRL(giveplayerid);
                }
                else
                {
                    
    PlayerInfo[giveplayerid][pMuted] = 0;
                    
    PlayerInfo[giveplayerid][pMuteTime] = 0;
                    
    format(Stringerssizeof(Stringers), "Администратор: %s, снял бан чата у %s"Name(playerid), Name(giveplayerid));
                    
    SendClientMessageToAll(COLOR_LIGHTREDStringers);
                    
    OnPlayerUpdateRL(giveplayerid);
                }
            }
            return 
    1;
        } 
    и потом если вы пишите в чат и у вас бан чата то писала: у вас бан чата снятие через и %d - час:%d - минут:%d - сек

    помогите пжл все кто сможет

  2. #2
    Аватар для I'm Cobra
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.10.2013
    Сообщений
    152
    Репутация:
    17 ±
    PHP код:
    CMD:mute(playeridparams[]) { new string[144];
        if(!
    Pl::isAdmin(playeridMODER1LVL)) return Send(playeridCOLOR_GRAD1"* Недостаточно прав!");
        if(
    sscanf(params"uds[64]"params[0], params[1], params[2])) return Send(playeridCOLOR_GREY"Введите: /mute [id] [time] [reason]");
        if(!
    Pl::isLogged(params[0])) return Send(playeridCOLOR_GREY"* Этот игрок не авторизован!");
        switch(
    Pl::Info[params[0]][pMuted]) {
            case 
    : {
                if(
    params[1] < || params[1] > 60) return Send(playeridCOLOR_LIGHTRED"* Минуты 1, и максимум 60 минут!");
                
    Pl::Info[params[0]][pMuted] = 1;
                
    Pl::Info[params[0]][pMutedTime] = params[1]*60;
                
    format(stringsizeof string"SERVERNAME": %s получил молчанку от администратора %sПричина: %s", GetName(params[0]), GetName(playerid), params[2]);
                SendToAll(COLOR_LIGHTRED, string);
            }
            case 1..2 : {
                Pl::Info[params[0]][pMuted] = 0;
                Pl::Info[params[0]][pMutedTime] = 0;
                format(string, sizeof string, "
    SERVERNAME": Администратор %s снял молчанку с %s."GetName(playerid), GetName(params[0]));
                
    SendToAll(COLOR_LIGHTREDstring);
            }
        }
        return 
    1;


  3. #3
    Аватар для Osetin
    •Администратор•

    Статус
    Оффлайн
    Регистрация
    26.03.2013
    Адрес
    Pro-Pawn.Ru
    Сообщений
    3,428
    Репутация:
    1079 ±
    Цитата Сообщение от systƩm™ Посмотреть сообщение
    PHP код:
    CMD:mute(playeridparams[]) { new string[144];
        if(!
    Pl::isAdmin(playeridMODER1LVL)) return Send(playeridCOLOR_GRAD1"* Недостаточно прав!");
        if(
    sscanf(params"uds[64]"params[0], params[1], params[2])) return Send(playeridCOLOR_GREY"Введите: /mute [id] [time] [reason]");
        if(!
    Pl::isLogged(params[0])) return Send(playeridCOLOR_GREY"* Этот игрок не авторизован!");
        switch(
    Pl::Info[params[0]][pMuted]) {
            case 
    : {
                if(
    params[1] < || params[1] > 60) return Send(playeridCOLOR_LIGHTRED"* Минуты 1, и максимум 60 минут!");
                
    Pl::Info[params[0]][pMuted] = 1;
                
    Pl::Info[params[0]][pMutedTime] = params[1]*60;
                
    format(stringsizeof string"SERVERNAME": %s получил молчанку от администратора %sПричина: %s", GetName(params[0]), GetName(playerid), params[2]);
                SendToAll(COLOR_LIGHTRED, string);
            }
            case 1..2 : {
                Pl::Info[params[0]][pMuted] = 0;
                Pl::Info[params[0]][pMutedTime] = 0;
                format(string, sizeof string, "
    SERVERNAME": Администратор %s снял молчанку с %s."GetName(playerid), GetName(params[0]));
                
    SendToAll(COLOR_LIGHTREDstring);
            }
        }
        return 
    1;

    И что ты скинул ему? Другие переменные, другой ком.процессор, будет куча ошибок.

  4. Пользователь сказал cпасибо:
    Dima_Tushin (10.10.2014)
  5. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    PHP код:
    if(strcmp(cmd"/mute"true) == 0)
    {
        if(
    PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playeridCOLOR_WHITE"Нет доступа");
        
    cmd strtok(cmdtextidx);
        if(!
    strlen(cmd)) return SendClientMessage(playeridCOLOR_WHITE"Введите: /mute [id] [Часы] [Минуты] [Секунды]");
        
    giveplayerid ReturnUser(cmd);
        if(!
    IsPlayerConnected(giveplayerid)) return SendClientMessage(playeridCOLOR_WHITE"[Ошибка]: Игрок не найден!");
        
    cmd strtok(cmdtextidx);
        if(!
    strlen(cmd)) return SendClientMessage(playeridCOLOR_WHITE"Введите: /mute [id] [Часы] [Минуты] [Секунды]");
        new 
    hour strval(cmd);
        if(
    hour 0) return SendClientMessage(playeridCOLOR_WHITE"Количество часов не может быть меньше 0");
        
    cmd strtok(cmdtextidx);
        if(!
    strlen(cmd)) return SendClientMessage(playeridCOLOR_WHITE"Введите: /mute [id] [Часы] [Минуты] [Секунды]");
        new 
    minute strval(cmd);
        if(
    minute || minute 60) return SendClientMessage(playeridCOLOR_WHITE"Количество минут не может быть меньше 0 или больше 60");
        
    cmd strtok(cmdtextidx);
        if(!
    strlen(cmd)) return SendClientMessage(playeridCOLOR_WHITE"Введите: /mute [id] [Часы] [Минуты] [Секунды]");
        new 
    seconds strval(cmd);
        if(
    seconds || seconds 60) return SendClientMessage(playeridCOLOR_WHITE"Количество секунд не может быть меньше 1 или больше 60");
        if(
    PlayerInfo[giveplayerid][pMuted] == 0)//Если у игрока нету бана = 0 то...
        
    {
            
    PlayerInfo[giveplayerid][pMuted] = 1;//Дали бан чата
            
    PlayerInfo[giveplayerid][pMuteTime] = (hour*3600)+(minute*60)+seconds;
            
    format(Stringerssizeof(Stringers), "%s получил бан чата от администратора: %s"Name(giveplayerid), Name(playerid));
            
    SendClientMessageToAll(COLOR_LIGHTREDStringers);
            
    OnPlayerUpdateRL(giveplayerid);
        }
        else
        {
            
    PlayerInfo[giveplayerid][pMuted] = 0;
            
    PlayerInfo[giveplayerid][pMuteTime] = 0;
            
    format(Stringerssizeof(Stringers), "Администратор: %s, снял бан чата у %s"Name(playerid), Name(giveplayerid));
            
    SendClientMessageToAll(COLOR_LIGHTREDStringers);
            
    OnPlayerUpdateRL(giveplayerid);
        }
        return 
    1;

    А для конвертации можно использовать эту функцию.
    PHP код:
    stock ConvertSeconds(time, &hours, &minutes,&seconds)
    {
        if(
    time <= 60)
        {
            
    hours 0;
            
    minutes 0;
            
    seconds time;
        }
        else if(
    time 60 && time 3600)
        {
            
    hours 0;
            
    minutes time 60;
            
    seconds floatround(time 60floatround_tozero);
        }
        else if(
    time == 3600){ hours 1minutes 0seconds 0; }
        else if(
    time 3600)
        {
            new 
    minutes_int;
            
    hours time 3600;
            
    minutes_int floatround(time 3600floatround_tozero);
            
    minutes minutes_int 60;
            
    seconds floatround(minutes_int 60floatround_tozero);
        }
        return 
    1;

    Пример использования:
    PHP код:
    new hourminutesecondstring[40];
    ConvertSeconds(PlayerInfo[giveplayerid][pMuteTime], hourminutesecond);
    format(stringsizeof(string), "У Вас бан чата. Снятие через : %d:%d:%dс"hourminutesecond);
    SendClientMessage(playerid, -1string); 
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  6. Пользователь сказал cпасибо:
    Dima_Tushin (10.10.2014)
  7. #5
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    111
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    PHP код:
    if(strcmp(cmd"/mute"true) == 0)
    {
        if(
    PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playeridCOLOR_WHITE"Нет доступа");
        
    cmd strtok(cmdtextidx);
        if(!
    strlen(cmd)) return SendClientMessage(playeridCOLOR_WHITE"Введите: /mute [id] [Часы] [Минуты] [Секунды]");
        
    giveplayerid ReturnUser(cmd);
        if(!
    IsPlayerConnected(giveplayerid)) return SendClientMessage(playeridCOLOR_WHITE"[Ошибка]: Игрок не найден!");
        
    cmd strtok(cmdtextidx);
        if(!
    strlen(cmd)) return SendClientMessage(playeridCOLOR_WHITE"Введите: /mute [id] [Часы] [Минуты] [Секунды]");
        new 
    hour strval(cmd);
        if(
    hour 0) return SendClientMessage(playeridCOLOR_WHITE"Количество часов не может быть меньше 0");
        
    cmd strtok(cmdtextidx);
        if(!
    strlen(cmd)) return SendClientMessage(playeridCOLOR_WHITE"Введите: /mute [id] [Часы] [Минуты] [Секунды]");
        new 
    minute strval(cmd);
        if(
    minute || minute 60) return SendClientMessage(playeridCOLOR_WHITE"Количество минут не может быть меньше 0 или больше 60");
        
    cmd strtok(cmdtextidx);
        if(!
    strlen(cmd)) return SendClientMessage(playeridCOLOR_WHITE"Введите: /mute [id] [Часы] [Минуты] [Секунды]");
        new 
    seconds strval(cmd);
        if(
    seconds || seconds 60) return SendClientMessage(playeridCOLOR_WHITE"Количество секунд не может быть меньше 1 или больше 60");
        if(
    PlayerInfo[giveplayerid][pMuted] == 0)//Если у игрока нету бана = 0 то...
        
    {
            
    PlayerInfo[giveplayerid][pMuted] = 1;//Дали бан чата
            
    PlayerInfo[giveplayerid][pMuteTime] = (hour*3600)+(minute*60)+seconds;
            
    format(Stringerssizeof(Stringers), "%s получил бан чата от администратора: %s"Name(giveplayerid), Name(playerid));
            
    SendClientMessageToAll(COLOR_LIGHTREDStringers);
            
    OnPlayerUpdateRL(giveplayerid);
        }
        else
        {
            
    PlayerInfo[giveplayerid][pMuted] = 0;
            
    PlayerInfo[giveplayerid][pMuteTime] = 0;
            
    format(Stringerssizeof(Stringers), "Администратор: %s, снял бан чата у %s"Name(playerid), Name(giveplayerid));
            
    SendClientMessageToAll(COLOR_LIGHTREDStringers);
            
    OnPlayerUpdateRL(giveplayerid);
        }
        return 
    1;

    А для конвертации можно использовать эту функцию.
    PHP код:
    stock ConvertSeconds(time, &hours, &minutes,&seconds)
    {
        if(
    time <= 60)
        {
            
    hours 0;
            
    minutes 0;
            
    seconds time;
        }
        else if(
    time 60 && time 3600)
        {
            
    hours 0;
            
    minutes time 60;
            
    seconds floatround(time 60floatround_tozero);
        }
        else if(
    time == 3600){ hours 1minutes 0seconds 0; }
        else if(
    time 3600)
        {
            new 
    minutes_int;
            
    hours time 3600;
            
    minutes_int floatround(time 3600floatround_tozero);
            
    minutes minutes_int 60;
            
    seconds floatround(minutes_int 60floatround_tozero);
        }
        return 
    1;

    Пример использования:
    PHP код:
    new hourminutesecondstring[40];
    ConvertSeconds(PlayerInfo[giveplayerid][pMuteTime], hourminutesecond);
    format(stringsizeof(string), "У Вас бан чата. Снятие через : %d:%d:%dс"hourminutesecond);
    SendClientMessage(playerid, -1string); 
    спс от души DeimoS ++

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

    Цитата Сообщение от Osetin Посмотреть сообщение
    И что ты скинул ему? Другие переменные, другой ком.процессор, будет куча ошибок.
    да да будут бредятину скинул :)

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

    еще последний вопрос в БД делать VarChar ? со значением

  8. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Нет. Просто одно поле с Int. Время будет хранится в секундах
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 

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

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

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

Ваши права

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