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

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

    Вопрос по gettime()

    Уважаемые знатоки pro-pawn. Хочу разобраться с функцией gettime(), но не с получением времени, а для таких вещей, как /mute, /jail, /warn, /ban. Поэтому прощу обьяснить мне по поводу это функции.
    Например возьмем например варн. Для снятия варна, нужно чтобы прошло ну к примеру 10 дней, в секундах получится "864000" и далее проверять вышло истекло ли указанно время так, в паблике типа:


    PHP код:
    forward unwarn(playerid);
    public 
    unwarn(playerid)
    {
        if(
    player_info[playerid][pWarn] < gettime())
        {
           
    // действия
        
    }

    так получается? ну это примерный код
    А чтобы в /time показать сколько осталось, это от надо от массива вычитать gettime() ?


    PHP код:
    player_info[playerid][pWarn] - gettime()) 
    - - - Добавлено - - -

    Интересует как отсчитывается время.
    gettime без параметров() получает unix время, а там отсчет с какого - то там года как я понял.

    вот в паблике снятия допустим варна стоит проверка , если время указанное в массиве меньше чем gettime, то происходит снятие наказания, но ведь как не крути, gettime не может быть меньше чем время указанное в массиве, ведь в сравнении с полученными unix временем, то что указано в массиве player_info[playerid][pWarn] куда меньше чем то, что находится в gettime, или я чего - то не понимаю, может какие - то тонкости есть у этой функции?
    Последний раз редактировалось pawno_Lyubitel; 18.06.2016 в 13:39.

  2. #2
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Можно написать простую функцию для нахождения оставшегося времени:
    PHP код:
    stock GetPlayerWarnRemainingTime(playerid)
    {
        return 
    player_info[playerid][pWarn] - gettime();

    И проверять так:
    PHP код:
    forward unwarn(playerid);
    public 
    unwarn(playerid)
    {
        if (
    GetPlayerWarnRemainingTime(playerid) <= 0)
        {
            
    // действия
        
    }

    Время в player_info[playerid][pWarn] записываешь так:
    PHP код:
    player_info[playerid][pWarn] = gettime() + 864000

 

 

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

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

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

Ваши права

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