[CLEO] Урок №2: Самодельный таймер - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Alowir, Sanoxxx  
[CLEO] Урок №2: Самодельный таймер
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
Новичок
Статус: Offline
И почему не указал откуда слил это, и автора ?
lol123 Дата: Воскресенье, 21.07.2013, 18:52 | Сообщение # 3
Новичок
Сообщений: 6
Статус: Offline
Цитата (iRicci)
И почему не указал откуда слил это, и автора ?

Ты уверен что я это слил? я лично сам писал это


Я на Cheat-Mastere уже 1333 дней.
APF075 Дата: Четверг, 05.09.2013, 18:52 | Сообщение # 4
Новичок
Сообщений: 14
Статус: Offline
Жалко взрыв визуальный biggrin
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
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума