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

Реклама


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

    Статус
    Оффлайн
    Регистрация
    28.11.2013
    Сообщений
    5
    Репутация:
    2 ±

    Часы в диалоге с обновлением (v3)

    Hola.

    Новая версия моих стареньких часов.



    Убраны ошибки, и не нужные функции.

    Для работы потребуются foreach и ZCMD/DC_CMD.

    Ко всем #define:
    PHP код:
    #define DLG_TIME 1010 
    В OnGameModeInit:
    PHP код:
    SetTimer("ClockTimer"1000true); 
    В конец мода:
    PHP код:
    CMD:time(playeridparams[])
    {
        
    SetPVarInt(playerid"show_time"1);
        static const 
    fmt_str[] = "Время: %02d:%02d:%02d";
        new 
    string[sizeof(fmt_str)+(-4+2)*3];
        new 
    hourminutesecond;
        
    gettime(hourminutesecond);
        
    format(stringsizeof(string), fmt_strhourminutesecond);
        return 
    ShowPlayerDialog(playeridDLG_TIMEDIALOG_STYLE_MSGBOX"Time"string"ok""");
    }

    forward ClockTimer();
    public 
    ClockTimer()
    {
        foreach(new 
    i:Player)
            if(
    GetPVarInt(i"show_time"))
                
    cmd_time(i"");

    В OnDialogResponse:
    PHP код:
        if(dialogid == DLG_TIME) return DeletePVar(playerid"show_time"); 
    Последний раз редактировалось Daniel_Cortez; 15.03.2014 в 23:15. Причина: Обновил //DC

  2. 2 пользователя(ей) сказали cпасибо:
    Daniel_Cortez (15.12.2013)ߣΘnÐγ* (22.12.2013)
  3. #2
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,282
    Репутация:
    417 ±
    Молодец.

  4. #3
    Аватар для #Vito
    #define

    Статус
    Оффлайн
    Регистрация
    14.09.2013
    Адрес
    Одесса
    Сообщений
    129
    Репутация:
    38 ±
    Норм, только
    PHP код:
    CMD:timeplayeridparams[] ) //if standard processor 
    Это не стандартный процессор)
    Skype: vitya.saveliev


  5. Пользователь сказал cпасибо:
    TimoXa32 (24.12.2013)
  6. #4
    Аватар для Engineer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.11.2013
    Сообщений
    5
    Репутация:
    2 ±
    бамп

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

    Статус
    Оффлайн
    Регистрация
    17.05.2014
    Сообщений
    70
    Репутация:
    0 ±
    Ребят как из показанного выше кода, добавить к нему еще и дату.
    Пример: 22 августа 2014 г.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Я бы сделал как-то так
    PHP код:
    //Начало мода
    #define DLG_TIME 1010

    static const month_name[12][9] =
    {
        
    "января",
        
    "февраля",
        
    "марта",
        
    "апреля",
        
    "мая",
        
    "июня",
        
    "июля",
        
    "августа",
        
    "сентября",
        
    "октября",
        
    "ноября",
        
    "декабря"
    };
    //Команда
    CMD:time(playeridparams[])
    {
        
    SetPVarInt(playerid"show_time_dialog"1);
        
    SetTimerEx("UpdateClockDialog"999false"i"playerid);
    }
    //В конец мода
    forward UpdateClockDialog(playerid);
    public 
    UpdateClockDialog(playerid)
    {
        if(!
    GetPVarInt(playerid"show_time_dialog")) return 1;
        static const 
    fmt_str[] = "Время: %02d:%02d:%02d\nДата: %02d:%02d:%04dг";
        new 
    string[sizeof(fmt_str)+(-4+2)*4+4+sizeof(month_name[])];
        
    gettime(string[1], string[2], string[3]);
        
    getdate(string[4], string[5], string[6]);
        
    format(stringsizeof(string), fmt_strstring[1], string[2], string[3], string[6], month_name[string[5]-1], string[4]);
        
    ShowPlayerDialog(playeridDLG_TIMEDIALOG_STYLE_MSGBOX"Информация"string"Закрыть""");
        return 
    SetTimerEx("UpdateClockDialog"999false"i"playerid);
    }

    //К диалогам
    if(dialogid == DLG_TIME) return DeletePVar(playerid"show_time_dialog"); 
    Последний раз редактировалось DeimoS; 22.09.2014 в 14:42.
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    19.04.2014
    Адрес
    Уфа, Россия
    Сообщений
    313
    Репутация:
    51 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Я бы сделал как-то так
    PHP код:
    //Начало мода
    #define DLG_TIME 1010

    static const month_name[12][] =
    {
        
    "января",
        
    "февраля",
        
    "марта",
        
    "апреля",
        
    "мая",
        
    "июня",
        
    "июля",
        
    "августа",
        
    "сентября",
        
    "октября",
        
    "ноября",
        
    "декабря"
    };
    //Команда
    CMD:time(playeridparams[])
    {
        
    SetPVarInt(playerid"show_time_dialog"1);
        
    SetTimerEx("UpdateClockDialog"999false"i"playerid);
    }
    //В конец мода
    forward UpdateClockDialog(playerid);
    public 
    UpdateClockDialog(playerid)
    {
        if(!
    GetPVarInt(playerid"show_time_dialog")) return 1;
        static const 
    fmt_str[] = "Время: %02d:%02d:%02d\nДата: %02d:%02d:%04dг";
        new 
    string[sizeof(fmt_str)+(-4+2)*4+4+sizeof(month_name[])];
        
    gettime(string[1], string[2], string[3]);
        
    getdate(string[4], string[5], string[6]);
        
    format(stringsizeof(string), fmt_strstring[1], string[2], string[3], string[6], month_name[string[5]-1], string[4]);
        
    ShowPlayerDialog(playeridDLG_TIMEDIALOG_STYLE_MSGBOX"Информация"string"Закрыть""");
        return 
    SetTimerEx("UpdateClockDialog"999false"i"playerid);
    }

    //К диалогам
    if(dialogid == DLG_TIME) return DeletePVar(playerid"show_time"); 
    PHP код:
    if(dialogid == DLG_TIME) return DeletePVar(playerid"show_time_dialog");//Маленькая поправочка 

  10. Пользователь сказал cпасибо:
    DeimoS (23.08.2014)
  11. #8
    Аватар для Archange
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2014
    Сообщений
    10
    Репутация:
    1 ±
    Перезалей скриншот

  12. #9
    Аватар для Пельмень
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.12.2013
    Сообщений
    181
    Репутация:
    112 ±
    PHP код:
    ShowTimeDlg(playerid); 
    Функцию забыл..

  13. #10
    Аватар для denis01
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.05.2014
    Сообщений
    70
    Репутация:
    0 ±
    Код HTML:
    warning 224: indeterminate array size in "sizeof" expression (symbol "")
    строка:
    PHP код:
        new string[sizeof(fmt_str)+(-4+2)*4+4+sizeof(month_name[])]; 

 

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

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

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

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

Ваши права

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