Добавлен VIRUS_97,
не публикуется
+Вступление.+
В этой статье я расскажу о том, как создать часы в мультибордах.
Самое главное их преимущество в том, что для их создания необходим только один триггер.
В принципе этот алгоритм можно использовать и в других механизмах.
(например, как вам идея сделать часы из декораций прямо на карте?)
Самое главное их преимущество в том, что для их создания необходим только один триггер.
В принципе этот алгоритм можно использовать и в других механизмах.
(например, как вам идея сделать часы из декораций прямо на карте?)
Но сейчас не об этом. Мы создадим красивые часы.
(если значение часов,минут, или секунд меньше чем 10, то к ним автоматически приставляются нолики.)
Итак, поехали.
(если значение часов,минут, или секунд меньше чем 10, то к ним автоматически приставляются нолики.)
Итак, поехали.
Часть первая. Создание алгоритма.
Для начала нам надо составить алгоритм, который будет вычислять, когда нам следует обнулять или увеличивать значения часов минут и секунд.
Создадим триггер и назовём его "Clock".
Для начала нам понадобятся 6 пременных.
Давайте назовём их так:
Давайте назовём их так:
TimeS - целочисленная (секунды)
TimeM - целочисленная (минуты)
TimeH - целочисленная (часы)
*TimeS_S* - строковая (секунды,строка)
*TimeM_S* - строковая (минуты,строка)
TimeH_S - cтроковая (часы, строка)
TimeM - целочисленная (минуты)
TimeH - целочисленная (часы)
*TimeS_S* - строковая (секунды,строка)
*TimeM_S* - строковая (минуты,строка)
TimeH_S - cтроковая (часы, строка)
В событии мы указываем минимальную величину, которая используется в часах. В нашем случае это секунды. (я думаю, нет необходимости делать часы с миллисекундами) =)
Соответственно:
Событие: Периодическое событие (каждые 1.00 секунд)
Событие: Периодическое событие (каждые 1.00 секунд)
Теперь переходим к действиям.
*Создаём основную связку "Если - То - Иначе".*
Начнём с секунд.
Проверяем значение переменной TimeS.
И если она равна 59, то проверяем дальше.
Иначе увеличиваем TimeS на 1.
И если она равна 59, то проверяем дальше.
Иначе увеличиваем TimeS на 1.
Переходим к минутам.
Внутри основной связки "Если - То - Иначе" в графе "То" создаём ещё одну такую же. Назовём её "Связкой второго уровня".
Проверяем минуты в связке второго уровня.
Если TimeM равна 59 то:
Увеличиваем TimeH на 1
Обнуляем TimeS
Обнуляем TimeM
Увеличиваем TimeH на 1
Обнуляем TimeS
Обнуляем TimeM
Иначе:
Увеличиваем TimeM на 1
Обнуляем TimeS.
Увеличиваем TimeM на 1
Обнуляем TimeS.
Отлично! Со связками покончено.
Если вы сделали всё правильно, то у вас должны получится 2 связки "Если - то - иначе" (одна в другой), которые соединяются в графе "Иначе" (первая связка) Обе должны быть заполнены.
Если вы сделали всё правильно, то у вас должны получится 2 связки "Если - то - иначе" (одна в другой), которые соединяются в графе "Иначе" (первая связка) Обе должны быть заполнены.
Поздравляю! вы только что сделали Логический алгоритм вычисления времени. Теперь у вас есть основа для часов, которая записывает значения в 3 переменные.
В принципе вы теперь можете найти ей другое применение, но я продолжаю.
В принципе вы теперь можете найти ей другое применение, но я продолжаю.
Часть вторая. Определение меньших чисел.
Теперь можно приступать визуализации наших часиков.
Вы думаете, зачем я создал целых 6 переменных, когда можно обойтись и тремя?
А вот зачем: решить задачу с появлением ноликов можно только с использованием ещё трёх строковых переменных.
А вот зачем: решить задачу с появлением ноликов можно только с использованием ещё трёх строковых переменных.
*Поехали.*
Для начала давайте после основной части (со связками) впишем в строковые переменные значения из целочисленных.
Итак, после связок у нас идут следующие команды:
Установить TimeS_S = Конвертировать целое число в строку-Строка(TimeS)
Установить TimeM_S = Конвертировать целое число в строку-Строка(TimeM)
Установить TimeH_S = Конвертировать целое число в строку-Строка(TimeH)
Установить TimeS_S = Конвертировать целое число в строку-Строка(TimeS)
Установить TimeM_S = Конвертировать целое число в строку-Строка(TimeM)
Установить TimeH_S = Конвертировать целое число в строку-Строка(TimeH)
А теперь самое нудное: мы проверяем значения чисел, и при необходимости изменяем их.
Так как циклы тут почему то не работают, придётся делать всё вручную.
Так как циклы тут почему то не работают, придётся делать всё вручную.
Теперь создаём 3 связки "Если - То - Иначе".
В первой связке проверяем секунды.
**Если:
(добавляем оператор ИЛИ)
TimeS_S = 0
TimeS_S = 1
TimeS_S = 2
TimeS_S = 3
...
...
(и.т.д. до 9)**
(добавляем оператор ИЛИ)
TimeS_S = 0
TimeS_S = 1
TimeS_S = 2
TimeS_S = 3
...
...
(и.т.д. до 9)**
То:
Установить TimeS_S = Сцпеленные строки: 0+TimeS_S
Установить TimeS_S = Сцпеленные строки: 0+TimeS_S
Иначе:
Установить TimeS_S = Конвертировать целое число в строку-Строка(TimeS)
Установить TimeS_S = Конвертировать целое число в строку-Строка(TimeS)
Аналогично поступаем с остальными тремя переменными.
Поздравляю! Теперь у вас есть хорошие часы с красивым отображением времени.
Осталось только записать значения строковых переменных в мультиборд.
Осталось только записать значения строковых переменных в мультиборд.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Жасс учите, будет вам счастье
Да задрали уже со своим Джассом. Честно. Кому гуи кому джасс.