Leophan | Дата: Суббота, 21.01.2012, 23:22 | Сообщение # 1 |
 Вождь сайта
Группа: Администраторы
Сообщений: 393
Статус: Offline
| Как сделать простейший таймер на переменных
В сегодняшней статье я расскажу вам как сделать простой таймер на переменных. Для начала создадим триггер, назовем его, например «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])) + + (Строка 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. MapCreators.clan.su. Внимание! При копировании статьи, указывайте активную обратную ссылку на сайт.
Я банан.
|
|
| |