Вопросы по CLEO-скриптингу

MaHuKeH

Новичок
17
0
Как исправить данную проблему?

Bezimyanni_5546358_20506131.png
 

Избранный

Новичок
198
30
пацаны, помогите, я всю жизнь скрипты на метках делал и не могу отредактировать цикл
Код:
                        REPEAT
                        WAIT 0
                            IF
                            80DF:   actor $PLAYER_ACTOR driving
                            THEN
                                0AF8: "{FF0000}Vehicle Recording:{FFFFFF} just saved ur ass from a crash." -1
                                30@ = FALSE
                                0AF8: "{FF0000}Vehicle Recording:{FFFFFF} disabled looping." -1
                                BREAK
                            END      
                            IF
                            0AB0: 80 {p}
                            THEN
                                30@ = FALSE
                                0AF8: "{FF0000}Vehicle Recording:{FFFFFF} disabled looping." -1
                                BREAK
                            END
                            0AB1: @stop 0 21@  
                            0AB1: @DRAW_TEXT_PLAYING 0        
                            0407: 6@ 7@ 8@ CAR 0@ w_OFFSET 0.0 0.0 0.0  
                            0AB1: call_scm_func @turning_mechanism 4 1@ 2@ 6@ 7@  
                            02E3: 5@ = car 0@ speed
                            IF
                            0025:   5@ > 4@  // (float)
                            THEN
                                0AB1: @BRAKE 0
                                ELSE
                                0AB1: @GAS 0
                            END
                            0B55: convert_3D_coords 1@ 2@ 3@ to_screen 9@ 10@
                            0B55: convert_3D_coords 6@ 7@ 8@ to_screen 11@ 12@
                            if
                            00C2:   sphere_onscreen 1@ 2@ 3@ radius 5.0
                            then
                                0B68: render draw_line_point1 11@ 12@ point2 9@ 10@ width 2 color 0xFFFF0000
                                0B70: render draw_polygon_pos 9@ 10@ size 10 10 corners 14 rotation 0 color 0xFF000000
                                0B70: render draw_polygon_pos 11@ 12@ size 10 10 corners 14 rotation 0 color 0xFF000000
                            end
                        UNTIL 0100:   actor $PLAYER_ACTOR in_sphere 1@ 2@ 3@ radius 5.0 5.0 5.0 sphere 0 in_car and 21@ == 1
как в цикле repeat until сделать 2 условия? вот в посл. строке сделал, не работает
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
CLEO:
repeat
until gosub @any_label // if false -> break;
...
:any_label
if and
    0100:   actor $PLAYER_ACTOR in_sphere 1@ 2@ 3@ radius 5.0 5.0 5.0 sphere 0 in_car
    21@ == 1
then 
    0485:  return_true
else  
    059A:  return_false
end
return
 
  • Нравится
Реакции: Избранный

ShadowBroker

Известный
110
27
Вопрос: Как сделать так что бы в цикличном Cleo не было задержки? Допустим есть чат с кулдауном 40 секунд, если выставить wait 40000 то из-за задержки сообщение не будет отсылаться и будет писать типо "Подождите сколько-то секунд прежде чем отправить новое сообщение". Или может есть какие-то хитрости что бы обойти это?

CLEO:
{$CLEO}

0000:

wait 20000
while true
wait 0
0AF9: "Текст"
wait 40000
end
 
Последнее редактирование:

MaHuKeH

Новичок
17
0

Все равно выдает ошибку, вот код

Код:
{$CLEO}
{$NOSOURCE}
{$INCLUDE SF}
{$INCLUDE KEYS}
if not 31@ = samp.Base()
then
end_thread
else
    while not samp.Available()
    wait 100
    end
end

alloc 0@ 1024
alloc 1@ 1024

while true
wait 0
    if key_down vk_f11
        then
            while key_down vk_f11
            wait 0
            end
                chatmsg "Откат от наркотиков активирован" -1
                    repeat
                    wait 0
                        0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
                        if 0C18: 0@ = strstr string1 1@ string2 "MaHuKeH достал пакетик,"
                            then
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 60 секунд."    -1
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 50 секунд.."   -1
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 40 секунд." -1
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 30 секунд."    -1
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 20 секунд.."   -1
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 10 секунд." -1
                                wait 10000
                                chatmsg "Откат прошел, вы можете употребить наркотики" -1
                            end
                    until key_down vk_f11
                    chatmsg "Откат на накротики деактивирован." -1
                    while key_down vk_f11
                    wait 0
                    end
                    end
end//while true
 

fiendshadow

3LFhocV726q7pKWWky2vv3W38Dm9sGJV86
Проверенный
455
121
Все равно выдает ошибку, вот код

Код:
{$CLEO}
{$NOSOURCE}
{$INCLUDE SF}
{$INCLUDE KEYS}
if not 31@ = samp.Base()
then
end_thread
else
    while not samp.Available()
    wait 100
    end
end

alloc 0@ 1024
alloc 1@ 1024

while true
wait 0
    if key_down vk_f11
        then
            while key_down vk_f11
            wait 0
            end
                chatmsg "Откат от наркотиков активирован" -1
                    repeat
                    wait 0
                        0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
                        if 0C18: 0@ = strstr string1 1@ string2 "MaHuKeH достал пакетик,"
                            then
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 60 секунд."    -1
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 50 секунд.."   -1
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 40 секунд." -1
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 30 секунд."    -1
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 20 секунд.."   -1
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 10 секунд." -1
                                wait 10000
                                chatmsg "Откат прошел, вы можете употребить наркотики" -1
                            end
                    until key_down vk_f11
                    chatmsg "Откат на накротики деактивирован." -1
                    while key_down vk_f11
                    wait 0
                    end
                    end
end//while true
{$INCLUDE KEYS} - эт чеза хуета
Уже инклудами хуярат нажатие что ли
 

Избранный

Новичок
198
30
Бля чувак, знал бы я о чем ты говоришь, сделал бы давно.
Но я в коды клео, сегодня первый раз заглянул :D
Код:
{$CLEO}
{$NOSOURCE}
{$INCLUDE SF}
if not 31@ = samp.Base()
then
end_thread
else
    while not samp.Available()
    wait 100
    end
end

alloc 0@ 1024
alloc 1@ 1024

while true
wait 0
    if key_down 122
        then
            while key_down 122
            wait 0
            end
                chatmsg "Откат от наркотиков активирован" -1
                    repeat
                    wait 0
                        0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
                        if 0C18: 0@ = strstr string1 1@ string2 "MaHuKeH достал пакетик,"
                            then
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 60 секунд."    -1
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 50 секунд.."   -1
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 40 секунд." -1
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 30 секунд."    -1
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 20 секунд.."   -1
                                wait 10000
                                chatmsg "До употребления наркотиков осталось 10 секунд." -1
                                wait 10000
                                chatmsg "Откат прошел, вы можете употребить наркотики" -1
                            end
                    until key_down 122
                    chatmsg "Откат на накротики деактивирован." -1
                    while key_down 122
                    wait 0
                    end
                    end
end//while true
на F11