Как сделать таймер при помощи переменных - Wc3-Maps Форум













[ Главная · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: Strateg, Melissa 
Wc3-Maps Форум » Раздел для картостроителей » Вопросы по картостроению » Как сделать таймер при помощи переменных
Как сделать таймер при помощи переменных
-
PaladinДата: Среда, 25-07-2012, 19:20:45 | Сообщение # 1
НЕ ГНОМ

загрузка наград ...
Группа: Модераторы
Сообщений: 1713
Репутация: 2705
Статус: Не на сайте
Как сделать простейший таймер на переменных

В сегодняшней статье я расскажу вам как сделать простой таймер на переменных. Для начала создадим триггер, назовем его, например «Init». Далее действием «Меню паузы» создадим мультиборд с одной колонкой и одним рядом. Создадим еще одно действие, тоже меню паузы – Стиль Отображения Ячейки. Установим значения на Показать текст и Скрыть изображения. Ряд и колонку ставьте ту, в которой будет мультиборд, в данном случае это первый ряд и первая колонка. И установим ширину действием «Меню паузы – Ширина ячейки» на 6%. Все, первый триггер готов. Он должен выглядеть вот так:

Теперь перейдем к созданию непосредственно самого таймера. Сначала создадим переменную – целочисленную и назовем еe «timer» и обязательно сделаем ее «Массивом» поставив галочку на «Массив». Теперь создадим событие «Время – Каждые 1.00 секунд». Теперь каждую секунду значения таймера будут меняться. И добавим действие Установить переменную – timer[1] + (timer[1] + 1). Уясним некоторые аспекты.
Переменная timer[1] будет показывать секунды.
Переменная timer[2] будет показывать минуты.
Переменная timer[3] будет показывать часы.

А значит, что каждую секунду к timer[1] будет прибавляться один, то есть одна секунда. Теперь, что бы наше значение отображалось в мультиборде, сделаем действие «Меню паузы – Изменить текст Ячейки» с следующими функциями:
Установить текст для, (Последняя созданная мультидоска) для ячейки в колонке 1, в ряду 1 на (Строка(timer[1]))
Функцию Строка мы делаем с помощью преобразования целого числа. В итоге мы должны получить такой триггер:

Но, эта доска будет показывать количество пройденного время исключительно в секундах. Для показа минут мы будем использовать ту же переменную, только уже со 2 массивом, то бишь timer[2]. Для насчитывания минут мы не будем использовать новый триггер с событием каждые 60 секунд, а сделаем это в этом же триггере с помощью условий. Создадим событие Если, Тогда, Иначе, функции. Создадим в этом действии условие «Сравнение целых чисел - timer [1] больше или равно 60». Это значит, что действие будет осуществлятся только если переменная будет больше или равна 60.

Следующее действие будет «Установить переменную – timer [1] = 0». Это значит, что каждые 60 секунд переменная будет обнулятся, да бы секунды не перевалили за максимальные для них 60 ед. И последним действием установим переменную минут (timer [2]) + 1 действием «Установить переменную – timer [2] = timer [2] + 1». Почти все. В заключение к этому действию в Иначе добавляем «Ничего не делать».

Т.к мы добавили минуты, нужно изменить действие «Меню паузы». Меняем значение преобразования на «((Строка timer [2])) + (: + (Строка timer [1]))))». Переведя это на русский язык это будет: Значение timer [2] + : + Значение timer [1].

В конце должно получится это:


Ну что ж, перейдем к часам, для долгих карт. Часы делаются по тому же принципу что и минуты, поэтому ничего разжевывать не буду.
Если\Тогда\Иначе, Функции
Если:
Timer[2] больше или равно 60
То:
Установить timer[2] = 0
Установить timer[3] = (timer[3] + 1)
Иначе:
Ничего не делать.

И меняем действие «Меню паузы» на ((((Строка timer[3])) + smile + (Строка timer[2]))) + (: + (Строка timer[1])))). На русском языке:
Значение timer[3] + : + Значение timer[2] + : + Значение timer[1].
Ну, вот и готов наш таймер. Вот как должен выглядеть триггер:

Вот как в игре:

Но, скажите вы, таймер не красивый, где же вы выдели часы со значением «0:8:12»? Это легко исправить, сейчас мы будем наводить красоту.

Создадим еще одну переменную, тоже массив, только уже с параметром «Строка», с названием timer2. И опять же создадим действие «Если\Тогда\Иначе».

То есть, если число меньше или равно 9, то к значению будет приписыватся «0», а если больше 9, то значение будет писаться таким какое оно есть, тогда число всегда будет двух значным. Так же и делаем с timer[2]. Для timer[3] мы так делать не будем, а будем просто добавлять к числу timer[3] один, т.к врятли вы будете играть в какую-либо карту более 9-ти часов.

И опять же меняем действие «Меню паузы». Теперь мы кардинально изменим триггерный текст, т.к будем использовать переменную-строку, и ничего преобразовать не нужно. Изменим значения на:

Русский язык: 0 + Строка timer[3] + : + Строка timer[2] + : + Строка timer[1].

Законченный триггер должен выглядеть так:

Спасибо за внимание. Автор статьи PhantoMasteR.
 
-
влад10011Дата: Среда, 25-07-2012, 19:50:28 | Сообщение # 2

загрузка наград ...
Группа: V.I.P.
Сообщений: 1265
Репутация: 1039
Статус: Не на сайте
мда нечего не видно на картинках сделай увеличение....
Look at my horse!
 
-
PaladinДата: Среда, 25-07-2012, 21:08:21 | Сообщение # 3
НЕ ГНОМ

загрузка наград ...
Группа: Модераторы
Сообщений: 1713
Репутация: 2705
Статус: Не на сайте
Вот первый
Вот второй

Добавлено (25/07/2012, 21:08:21)
---------------------------------------------
Не получается сохрани изображение себе

 
-
влад10011Дата: Среда, 25-07-2012, 22:19:13 | Сообщение # 4

загрузка наград ...
Группа: V.I.P.
Сообщений: 1265
Репутация: 1039
Статус: Не на сайте
в радикале есть простая ссылка с реальным размером и есть с увеличением юзай её лучше
Look at my horse!
 
-
hatuevДата: Четверг, 26-07-2012, 10:25:57 | Сообщение # 5
Раб

загрузка наград ...
Группа: Пользователи
Сообщений: 8
Репутация: -59
Статус: Не на сайте
а разве темы на подобии не должны быть в разделе раздел картостроителя а не вопросы
 
-
влад10011Дата: Четверг, 26-07-2012, 11:14:49 | Сообщение # 6

загрузка наград ...
Группа: V.I.P.
Сообщений: 1265
Репутация: 1039
Статус: Не на сайте
это всё в педию потом кидается а тема улетает в топку
Look at my horse!
 
-
PaladinДата: Четверг, 26-07-2012, 15:33:49 | Сообщение # 7
НЕ ГНОМ

загрузка наград ...
Группа: Модераторы
Сообщений: 1713
Репутация: 2705
Статус: Не на сайте
Вот первый

ВОт второй
 
Wc3-Maps Форум » Раздел для картостроителей » Вопросы по картостроению » Как сделать таймер при помощи переменных
Страница 1 из 11
Поиск:
Рейтинг@Mail.ru
Яндекс.Метрика

Copyright © 2010-2017
Вакансии :: Контакты
Мобильная версия сайта
chat