Помогите Отчет времени

Статус
Закрыто для дальнейших ответов.

FAQCoder

Активный участник
Пользователь
Баллы
61
Здравствуйте, подскажите как сделать отчет времени от определенного события предположим когда был сломан последний блок через BlockBreakEvent. Предположим игрок сломал блок и запускается таймер который ведет запись в конфиг и который отсчитывает время от поломки блока. Слышал про System.currentTimeMillis() но разобраться с ним не могу. Время я хочу получать в long, как можно это реализовать?
 
Напиши, что нужно именно, попробую помочь.
Смотри, мне нужно сделать таймер который отчитывает время с какого-либо действия игрока, парсер лонга в даты имеется, а валидный лонг с этого получить не получается.
 
Смотри, мне нужно сделать таймер который отчитывает время с какого-либо действия игрока, парсер лонга в даты имеется, а валидный лонг с этого получить не получается.
В первом посте ты правильно указал на получение времени "в long", но до сих пор непонятно, какие конкретно проблемы ты с этим имеешь. Можешь показать это на примере кода что ты делал? Что ожидается и что получаешь?
 
В первом посте ты правильно указал на получение времени "в long", но до сих пор непонятно, какие конкретно проблемы ты с этим имеешь. Можешь показать это на примере кода что ты делал? Что ожидается и что получаешь?
На пример я хочу получить кол-во дней с того момента как определенный игрок сломал определеннай блок.
Вот пример:
Player1 : сломал блок grass или любой другой блок.
Он пишет команду, предположим /seetime где видит : когда он сломал последний блок.
Предполодим он сломал последний блок 20 секунд назад, мне нужно вывести эти данные в чат из конфига.
Предположим в чат выведется: Вы сломали последний блок - 20 секунд назад. Каждая секунда должна записываться long в конфиг, а потом мой парсер этот последний лонг преобразует сначало в секунды, потом в минуты и тп. Когда игрок ломает блок таймер сбрасывается и ему предположим будет писать что-бы сломали последний блок : n-ое кол-во секунд. Крч простой таймер который записывает данные в конфиг и отчтывает время.
 
Тебе нужен System.currentTimeMillis(). Дает время в Long.
А как мне таймер сделать который будет считать время с определенного момента, и само обновление конфига, если при создании потока в 5 секунд он в конфиг записывает невероятные значения.
 
На пример я хочу получить кол-во дней с того момента как определенный игрок сломал определеннай блок.
Вот пример:
Player1 : сломал блок grass или любой другой блок.
Он пишет команду, предположим /seetime где видит : когда он сломал последний блок.
Предполодим он сломал последний блок 20 секунд назад, мне нужно вывести эти данные в чат из конфига.
Предположим в чат выведется: Вы сломали последний блок - 20 секунд назад. Каждая секунда должна записываться long в конфиг, а потом мой парсер этот последний лонг преобразует сначало в секунды, потом в минуты и тп. Когда игрок ломает блок таймер сбрасывается и ему предположим будет писать что-бы сломали последний блок : n-ое кол-во секунд. Крч простой таймер который записывает данные в конфиг и отчтывает время.
Тебе не нужен таймер.
Ты при поломке берешь этот System.currentTimeMillis() и записываешь в мапу, где ключ это ник игрока а значение - время с предыдущего метода. При команде ты достаешь из мапы время и сверяешь со временем команды, дальше идет математика. Поделить на 1000 и узнать разницу.
 
А как мне таймер сделать который будет считать время с определенного момента, и само обновление конфига, если при создании потока в 5 секунд он в конфиг записывает невероятные значения.

BukkitRunnable и System.currentTimeMillis()-oldTime из конфига.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх