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

jenekbueno

Известный
157
69
Так, здесь я хочу сделать проверку, если я не буду в указанному транспорте, то чтобы сработал только оп-код 0АF9 тобиш "ID %d", и вернутся обратно (закончить код), если я буду в указанному транспорте то срабатывал и оп-код 0АF9 и чтобы появился тот "print "~r~ You are in flying transport!"
00DD: actor $PLAYER_ACTOR driving_car_with_model 2@ это по моему вообще не условие. в клео может быть максимум 7 условий в блоке иф, а у тебя их 10.
чекни код на работоспособность.

CLEO:
:check
SAMP.IsCommandTyped(20@)
0AD4: 20@ = scan_string 20@ format "%d" 21@
if 20@ == 1 // если кол-во аргументов в команде равно 1.
then
    00DD:   actor $PLAYER_ACTOR driving_car_with_model 2@
    if or
    2@ = 460
    2@ = 469
    2@ = 487
    2@ = 511
    2@ = 512
    2@ = 513
    2@ = 519
    then
        print "~r~ You are in flying transport!" 2000
        SAMP.CmdRet()
    end
    if or
    2@ = 553
    2@ = 577
    2@ = 592
    2@ = 593
    then
        print "~r~ You are in flying transport!" 2000
    else
    0AF9: samp say_msg "ID %d" 21@
    end
end
SAMP.CmdRet()
 

D3.Pheonix

🎹
Модератор
2,867
1,642
00DD: actor $PLAYER_ACTOR driving_car_with_model 2@ это по моему вообще не условие. в клео может быть максимум 7 условий в блоке иф, а у тебя их 10.
Хз, у меня всё работало. Спс.
Там всё одним опкодом делается
CLEO:
:check
 SAMP.IsCommandTyped(20@)
    0AD4: 20@ = scan_string 20@ format "%d" 21@
if
    20@ == 1
then
    if
        ACTOR.Driving($PLAYER_ACTOR)
    then
        if
            04C8:   actor $PLAYER_ACTOR driving_flying_vehicle
        then
            chatmsg "{FF0000}ID: %d" -1 21@
            gosub @mave
        else
            chatmsg "{FF0000}ID: %d" -1 21@
        end
    else
        chatmsg "You aren't driving any VEH" -65536
    end
end
SAMP.CmdRet()

:mave
    print "~r~ You are in flying transport!" 2000
 return
 
Последнее редактирование:
  • Нравится
Реакции: Kristyan

Kristyan

Известный
165
16
04C8: actor $PLAYER_ACTOR driving_flying_vehicle

Вот я тупой, забыл про это :wall:

Можно ставить как бы отмену на таймер когда он работает с помощью кнопки на клавиатуре?

PHP:
{$CLEO}
0000:
repeat
wait 0
until 0AFA:
WHILE TRUE
wait 0
    IF 0B61:  samp is_local_player_spawned
    THEN
        IF 0C89:  key_just_pressed 88 // X
        THEN
         chatmsg "LLLL" -1
         gosub @create_timer            
        END
        
    END
END
:timer
5@ -= 1
samp.CmdRet()
:create_timer
5@ = 4 // ????? ???????
            0C74: 2@ = create_timer_interval 1000 on_label @timer
            repeat
            wait 0
                0C7C: 4@ = get_timer 2@ time_left
                0016: 4@ /= 100
                0AD1: show_formatted_text_highpriority "Time left: %d.%d sec" time 100  5@ 4@
            until 8019: not 5@ > -1
            0AD1: show_formatted_text_highpriority "Type again!" time 100
             chatmsg "LLLL" -1
            0C78: set_timer 2@ active false
return
 
Последнее редактирование модератором:

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,982
Последнее редактирование:
  • Нравится
Реакции: jenekbueno и D3.Pheonix

MaIIoy

Новичок
24
2
Привет, не можете подсказать опкод на тп в автомобиль? Ну точнее прописал допустим /cartp [id автомобиля] и тп-хает в него !
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,982
Привет, не можете подсказать опкод на тп в автомобиль? Ну точнее прописал допустим /cartp [id автомобиля] и тп-хает в него !
CLEO:
{$CLEO}
0B34: samp register_client_command "TP2Car" to_label @cmd_TP2Car
0BDE: pause_thread 0

:cmd_TP2Car
IF 0B35: samp 0@ = get_last_command_params
THEN 0C1A: 0@ = atoi 0@
    IF 0AFF: samp 0@ = car_handle_by_samp_vehicle_id 0@
    THEN
        072A: put_actor $PLAYER_ACTOR into_car 0@ driverseat
        02EB: restore_camera_with_jumpcut
    END
END
0B43: samp cmd_ret
 

D3.Pheonix

🎹
Модератор
2,867
1,642
{$CLEO}
0000:
repeat
wait 0
until SAMP.Available()
0B34: "qq" @qq
0BDE: pause_thread 0
:qq
0B35: samp 0@ = get_last_command_params
0AD4: 27@ = scan_string 0@ format "%d %s" 2@ 3@
5@ = SAMP.GetPlayerNickname(2@)
ЗАПИСАТЬ В ИНИ ФАЙЛ НИК -2@ / РОЛЬ - 3@
SAMP.CmdRet()
3@ это текст после ида Типо: /qq 23 главный
CLEO:
{$CLEO}
0000:

0662: printstring "blast.hk"

repeat
wait 0
until SAMP.Available()
0B34: "qq" @qq
0BDE: pause_thread 0

:qq
SAMP.IsCommandTyped(0@)
alloc 2@ 112
0AA5: call 0x8220AD num_params 4 pop 4 params 2@ 1@v "%d %s" 0@
0AA7: call_function 0x8220AD num_params 4 pop 4 2@ 1@v "%d %s" 0@ 7@
if
    7@ == 2
then
    if
        SAMP.IsPlayerConnected(1@)
    then
        5@ = SAMP.GetPlayerNickname(1@)
        0A9A: 4@ = openfile "Cleo\qq.ini" mode "at"
        0AD9: write_formatted_text "Ник: %s / Роль: %s%c" in_file 4@ 5@ 2@ 0x0A
        File.Close(4@)
        chatmsg "Запись сделана для {ffffff}ID%d" 0xFF22b527 1@
    else
        chatmsg "Игрока с {ffffff}ID%d {ff0000}не существует, или ты ввёл {ffffff}Свой ID" 0xFFFF0000 1@
    end
else
    chatmsg "Используй: {ffffff}/qq id text" 0xFFFF0000
end
    free 2@
SAMP.CmdRet()

0A1E: dump_screen 1 убирает hud при снимке экрана, ничего нельзя с этим сделать?
Нет, нельзя
 
Последнее редактирование:

Kotovasya

Участник
85
13
Если я ищу строку в чате с помощью хука, можно ли добавить проверку на цвет текста?