lol123 |
Дата: Воскресенье, 21.07.2013, 18:46 | Сообщение # 1
|
Новичок
Сообщений: 6
Статус: Offline
|
Всем привет с вами лол. Это 2 урок по клео. сегодня я вас научу как делать таймер. Урок лёгкий.
Итак, сначала приведу сам код, затем объясню все по порядку.
Код :Cicl wait 0 if and not actor.Dead($PLAYER_ACTOR) not actor.Driving($PLAYER_ACTOR) 0AB0: key_pressed 0xD //проверки на то, что игрок жив, не в авто, и на нажатие клавиши "Enter" jf @Cicl actor.StorePos($PLAYER_ACTOR,2@,3@,4@) //сохраняем текущие координаты игрока в переменные 02CE: 4@ = ground_z_at 2@ 3@ 4@ //получаем координату поверхности, чтобы действие не происходило в воздухе //начало самого таймера, то есть простого цикла, известного многим по школьному курсу программирования (в Turbo Pascal) for 1@ = 15 downto 0 //берем downto, чтобы счет шел от большего к меньшему 01E5: show_text_1number_highpriority GXT 'VAR' number 1@ time 1000 flag 1 //выводим значение переменной (секунды), которая в цикле изменяется с 15 до 0 if //начало условия. эта часть необязательна, она нужна для звука, который будет проигрываться, когда время будет меньше 5 секунд 1@ <= 5 //если значение времени таймера меньше или равно 5, то... then 018C: play_sound 1084 at 0.0 0.0 0.0 //...проигрываем звук №1084 end //конец условия. else не нужно в данном случае wait 1000 //ждем 1 секунду, иначе таймер закончится сразу же, да и таймер в секундах end //конец цикла, это и конец таймера 020C: create_explosion_with_radius 10 at 2@ 3@ 4@ //создаем два больших взрыва 020C: create_explosion_with_radius 6 at 2@ 3@ 4@ wait 750 //ждем 750 мс, чтобы игрок не сразу мог перезапустить скрипт jump @Cicl //идем на начало
Суть скрипта в том, что спустя 15 секунд после нажатия Enter произойдет взрыв (в той точке, в которой игрок нажал клавишу). Как видите, сам код прост и мал по размеру. К тому же есть еще плюсы:
-Не нужно проверять, что время таймера равно нулю, цикл сам завершается
-Можно легко и быстро настроить абсолютно все: время, звук таймера, и при каких значениях он будет воспроизведен, текст.
Помимо того, что можно выводить разные варианты текста (как по стилям написания, так и по цвету, например, сделать текст красным, когда значение таймера меньше 5 секунд), Вы сможете вывести текст как текст-бокс (серый прямоугольник в верхнем левом углу экрана, примером будет сообщение о том, как сменить оружие на другое). Для этого понадобится команда 0513, только не забудьте применить команду 03E6 после цикла, чтобы текст-бокс не держался на экране все время и исчез (сам он не исчезает).
Единственная проблема состоит в том, что выводятся именно секунды,а не минуты, но это, конечно, можно исправить, немного поломав голову.
В целом можно сказать, что такой таймер гораздо проще создается, его можно изменить по своему желанию, так что, если Вам понравился этот способ, дерзайте.
Ну всё воопщем то. Остовляйте коментарии для меня каждый важен. Просто хочу в читеры
Я на Cheat-Mastere уже 1333 дней.
|
|
|
|
iRicci |
Дата: Воскресенье, 21.07.2013, 18:51 | Сообщение # 2
|
|
И почему не указал откуда слил это, и автора ?
|
|
|
|
lol123 |
Дата: Воскресенье, 21.07.2013, 18:52 | Сообщение # 3
|
Новичок
Сообщений: 6
Статус: Offline
|
Цитата (iRicci) И почему не указал откуда слил это, и автора ? Ты уверен что я это слил? я лично сам писал это
Я на Cheat-Mastere уже 1333 дней.
|
|
|
|
APF075 |
Дата: Четверг, 05.09.2013, 18:52 | Сообщение # 4
|
Новичок
Сообщений: 14
Статус: Offline
|
Жалко взрыв визуальный
|
|
|
|
MisterShef |
Дата: Пятница, 06.09.2013, 20:50 | Сообщение # 5
|
Новичок
Сообщений: 25
Статус: Offline
|
copypast gtagmoding wiki
|
|
|
|
Toplivo |
Дата: Пятница, 06.09.2013, 21:50 | Сообщение # 6
|
Советник
Сообщений: 728
Статус: Offline
|
Есть ещё один вариант таймера. Код $Timer = 30000 014E: set_timer_to $Timer type 1 repeat wait 0 until $Timer < 1 Думаю разберетесь. P.S type 1 - тип таймера. 0 - прибавляется 1 каждую секунду 1 - отнимается 1 каждую секунду
Дурак дает,умный берет.
Сообщение отредактировал egor7878 - Пятница, 06.09.2013, 21:50 |
|
|
|