You are not logged in.
Таймер с обратным отсчётом времени можно сделать так:
{$CLEO}
wait 0
while true
wait 0
if
32@ > 10000
then
32@ = 0
end
0A8F: 0@ = 10000 - 32@ // int
0@ /= 1000
03F0: enable_text_draw 1
045A: draw_text_1number 200.0 200.0 GXT 'NUMBER' number 0@ // ~1~
endКод отображает на экране таймер обратного отсчёта - от 10 секунд до 0. При очередном обнулении отсчёт начинается заново.
32@ - переменная-таймер. Её значение (как и значение переменной 33@) увеличивается с каждой секундой игрового времени на 1000.
Offline
в начале нужно добавить проверку
0202: actor 1@ near_car 0@ radius 20.0 20.0 sphere 0
0@ - имя трейлера
Offline
в начале нужно добавить проверку
0202: actor 1@ near_car 0@ radius 20.0 20.0 sphere 00@ - имя трейлера
А как добавить все трейлеры какие есть? Через запятую писать или как?
И полный вид клео такой будет?
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
wait 0
:NONAME_4
wait 0
0202: actor 1@ near_car 0@ radius 20.0 20.0 flag 0
if
32@ > 10000
else_jump @NONAME_54
32@ = 0
:NONAME_54
0A8F: 0@ = 10000 - 32@ // int
0@ /= 1000
03F0: enable_text_draw 1
045A: draw_text_1number 200.0 200.0 GXT 'NUMBER' number 0@ // ~1~
jump @NONAME_4
Offline
@eek -
{$CLEO}
0000:
while true
wait 250
if and
056D: actor 0@ defined
056E: car 1@ defined
then
if
0202: actor 0@ near_car 1@ radius 20.0 20.0 sphere 0
then
32@ = 0
while true
0A8F: 3@ = 10000 - 32@ // int
3@ /= 1000
03F0: enable_text_draw 1
045A: draw_text_1number 200.0 200.0 GXT 'NUMBER' number 3@ // ~1~
if
32@ > 10000
then
0A93: end_custom_thread
end
end
end
else
0A93: end_custom_thread
end
endв скрипте, который создает трейлер, нужно добавить команду
0A92: create_custom_thread "TrailerCheck.cs" ACTOR@ TRAILER@
"TrailerCheck.cs" - имя CLEO-скрипта, который указан выше
ACTOR@ - имя актера, для которого вести проверку
TRAILER@ - имя созданного трейлера
Offline
Там на сервер несколько видов трейлеров, я в самп-вики "Vehicle Model ID List", нашел только два
ID - 450
ID - 584
Но там есть ещё два кажется, но я что то их там найти не могу. Можно сделать чтобы просто когда спаунился трейлер начинался отсчет времени?
Offline
@eek -
0A92: create_custom_thread "TrailerCheck.cs" ACTOR@ TRAILER@"TrailerCheck.cs" - имя CLEO-скрипта, который указан выше
ACTOR@ - имя актера, для которого вести проверку
TRAILER@ - имя созданного трейлера
и я немного не понял этого этапа, можно поподробнее?
Offline
@eek - здесь не форум поддержки SAMP. По всем вопросам, связанным с работой клиент-серверных скриптов обращайтесь к разработчикам таких скриптов.
Примеры выше были описаны для случаев, когда трейлер в игре создается вашим собственным скриптом, к которому вы имеете доступ. Соответственно вы знаете имя (хендл) машины, которая создается, и можете с ней работать.
Offline
То что написано выше мне сложно сделать. Подскажите почему тут не работает активация на клавишу?
{$CLEO}
wait 0
while true
wait 0
0AB0: key_pressed 32
if
32@ > 10000
then
32@ = 0
end
0A8F: 0@ = 10000 - 32@ // int
0@ /= 1000
0AB0: key_pressed 32
03F0: enable_text_draw 1
045A: draw_text_1number 200.0 200.0 GXT 'NUMBER' number 0@ // ~1~
end
Offline
Тут «активация на клавишу» и не должна работать. Я не вижу адекватной проверки нажатия на клавишу. Опиши, что ты хотел состряпать.
Offline
{$CLEO}
:Test
0000:
:Test_2
wait 0
If 0AB0: key_pressed 32
JF @Test_2
while true
wait 0
if
32@ > 10000
then
32@ = 0
end
0A8F: 0@ = 10000 - 32@ // int
0@ /= 1000
03F0: enable_text_draw 1
045A: draw_text_1number 200.0 200.0 GXT 'NUMBER' number 0@ // ~1~
end
Offline
{$CLEO}
:Test
0000:
:Test_2
wait 0
If 0AB0: key_pressed 32
JF @Test_2
:Test_3
while true
wait 0
if
32@ > 10000
then
32@ = 0
end
0A8F: 0@ = 10000 - 32@ // int
0@ /= 1000
03F0: enable_text_draw 1
045A: draw_text_1number 200.0 200.0 GXT 'NUMBER' number 0@ // ~1~
If 0@>1
Then continue
Else jump @Test_2
end
end
Offline
У меня всё работает, как ни странно.
Offline
{$CLEO}
:Test
0000:
:Test_2
wait 0
If 0AB0: key_pressed 32
JF @Test_2
:Test_3
while true
wait 0
if
32@ > 360000
then
32@ = 0
end
0A8F: 0@ = 360000 - 32@ // int
0@ /= 36000
03F0: enable_text_draw 1
045A: draw_text_1number 200.0 200.0 GXT 'NUMBER' number 0@ // ~1~
If 0@>1
Then continue
Else jump @Test_2
end
end
Offline
{$CLEO}
:Test
0000:
:Test_2
wait 0
$Time = 150000
If 0AB0: key_pressed 32
JF @Test_2
014E: set_timer_to $Time type 1
:Test_3
wait 0
if
$Time < 1
jf @Test_3
end_thread
Offline
Offline
@НикИТОС - Объясни, в какой-такой справке написано что в клео скриптах можно использовать глобальные переменные и опкод end_thread.
Offline