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

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
через атои пропускай хуйню 0b35 и полученное уже сравнивай
 

MrYurkoo

Известный
101
8
CLEO:
{$CLEO}
0000:

WHILE TRUE
wait 0
   IF 0ADC:   test_cheat "H"
   THEN
       0C72: set_virtual_key 32 down true
       repeat
       wait 0
       until 0ADC: "H"
       0C72: set_virtual_key 32 down false 
   END
END

Не работает код, не жмется автоматически пробел "бесконечное количество раз"
 
Последнее редактирование модератором:

LaRossa

Потрачен
429
117
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
{$CLEO}
0000:

WHILE TRUE
wait 0
   IF 0ADC:   test_cheat "H"
   THEN
       0C72: set_virtual_key 32 down true
       repeat
       wait 0
       until 0ADC: "H"
       0C72: set_virtual_key 32 down false  
   END
END

Не работает код, не жмется автоматически пробел "бесконечное количество раз"
CLEO:
{$CLEO}
0000:
while not Samp.Available()
    wait 0
end

while true
    wait 0
    if 0ADC: test_cheat "H"
        then
        0B12: 0@ = 0@ XOR 1 
    if 0@ == 1
        then
        msg "ON" -1
    else
        msg "OFF" -1
    end
end
           
    if 0@ == 1
        then
        0C72: set_virtual_key 32 down true
        0C72: set_virtual_key 32 down false 
    end       
end
 

MrYurkoo

Известный
101
8
CLEO:
{$CLEO}
0000:
while not Samp.Available()
    wait 0
end

while true
    wait 0
    if 0ADC: test_cheat "H"
        then
        0B12: 0@ = 0@ XOR 1
    if 0@ == 1
        then
        msg "ON" -1
    else
        msg "OFF" -1
    end
end
          
    if 0@ == 1
        then
        0C72: set_virtual_key 32 down true
        0C72: set_virtual_key 32 down false
    end      
end
Работает, но...у меня в качалке этот пробел "не дрочит".
 
У

Удалённый пользователь 126082

Гость
Почему у меня, когда добавляется текстдрав на экран все нормально, а когда текстрав с обводкой, то игра замедляется в 10 раз?
Я делал все по уроку от DarkP1xel и еще в ютубе смотрел.

CLEO:
{$CLEO}
0000: NOP

:MainLoop
0001: wait 0 ms
0ADC: test_cheat "FEV"
004D: jump_if_false @MainLoop
0C48: samp textdraw 420 create "FeaVor" pos 50.0 180.0 ||| Ñîçäà¸ò textdraw
0C4E: samp textdraw 420 set_outline 1 color 0xFF000000 ||| Устанавливает обводку на textdraw'e .
jump @MainLoop
 
Последнее редактирование модератором:
1,417
1,037
Код:
{$CLEO}
0000:

WHILE TRUE
wait 0
   IF 0ADC:   test_cheat "H"
   THEN
       0C72: set_virtual_key 32 down true
       repeat
       wait 0
       until 0ADC: "H"
       0C72: set_virtual_key 32 down false  
   END
END

Не работает код, не жмется автоматически пробел "бесконечное количество раз"
Надо было так и писать, чтобы скрипт нажимал на клавишу, а не зажимал клавишу.
CLEO:
{$CLEO}
0000:

WHILE TRUE
wait 0
   IF 0ADC:   test_cheat "H"
   THEN
       repeat
       wait 0
           0C72: set_virtual_key 32 down true
           wait 10
           0C72: set_virtual_key 32 down false
       until 0ADC: "H"
   END
END
 
У

Удалённый пользователь 126082

Гость
Помогите мне пожайлуста. Вот допустим я хочу введя какую-либо новую зарегистрированную в клео команду и id игрока. Как мне сделать так, чтобы я мог введя команду и айди сделать какие-то действия? Ну то есть как определить хэндл игрока?
 

DarkL1ght

Новичок
252
112
Помогите мне пожайлуста. Вот допустим я хочу введя какую-либо новую зарегистрированную в клео команду и id игрока. Как мне сделать так, чтобы я мог введя команду и айди сделать какие-то действия? Ну то есть как определить хэндл игрока?
CLEO:
{$CLEO .cs}
0000: NOP

repeat
wait 0
until SAMP.Available()
0B34: samp register_client_command "kek" to_label @kek

repeat
wait 0
    if 0@ == 1
        then
        Samp.IsCommandTyped(2@)
        IF 0AD4: 1@ = scan_string 2@ format "%d" 3@
        THEN
        IF 0B20: samp 4@ = actor_handle_by_samp_player_id 3@
        THEN
        // тут уже пиши свой код дальше
        ELSE // после того как написал код, else [иначе]
        msg "Неправильный ID игрока" -1 // если у тебя ошибка пиши chatmsg
        END
        ELSE
        msg "Введите: /kek [ID игрока]" -1
        END
    0@ = 0
END
until false

:kek
0@ = 1
SAMP.CmdRet()
 

Вложения

  • kek.cs
    18 KB · Просмотры: 3
  • Нравится
Реакции: MaIIoy
У

Удалённый пользователь 126082

Гость
А как мне записать в команду 0AF9: samp say_msg "/id " переменную в которой записан хэндл игрока?



CLEO:
{$CLEO .cs}
0000: NOP

repeat
wait 0
until SAMP.Available()
0B34: samp register_client_command "kek" to_label @kek

repeat
wait 0
    if 0@ == 1
        then
        Samp.IsCommandTyped(2@)
        IF 0AD4: 1@ = scan_string 2@ format "%d" 3@
        THEN
        IF 0B20: samp 4@ = actor_handle_by_samp_player_id 3@
        THEN
        // тут уже пиши свой код дальше
        ELSE // после того как написал код, else [иначе]
        msg "Неправильный ID игрока" -1 // если у тебя ошибка пиши chatmsg
        END
        ELSE
        msg "Введите: /kek [ID игрока]" -1
        END
    0@ = 0
END
until false

:kek
0@ = 1
SAMP.CmdRet()
 

DarkL1ght

Новичок
252
112
А как мне записать в команду 0AF9: samp say_msg "/id " переменную в которой записан хэндл игрока?
CLEO:
{$CLEO .cs}
0000: NOP

repeat
wait 0
until SAMP.Available()
0B34: samp register_client_command "kek" to_label @kek

repeat
wait 0
    if 0@ == 1
        then
        Samp.IsCommandTyped(2@)
        IF 0AD4: 1@ = scan_string 2@ format "%d" 3@
        THEN
        IF 0B23:  samp is_player_connected 3@ // [НЕОБЯЗАТЕЛЬНО] Проверяет подключение игрока с данным идом(локального игрока будет возвращать как отключен)
        THEN
        0B36: samp 4@ = get_player_nickname 3@
        msg "Имя: %s[id %d]" -1 4@ 3@
        else
        msg "Неправильный ID игрока" -1 // если у тебя ошибка пиши chatmsg
        END
        ELSE
        msg "Введите: /kek [ID игрока]" -1
        END
    0@ = 0
END
until false

:kek
wait 0
0@ = 1
SAMP.CmdRet()
 

Вложения

  • kek.cs
    18.2 KB · Просмотры: 6
  • Нравится
Реакции: MaIIoy

D3.Pheonix

🎹
Модератор
2,865
1,649
Я типо хочу сделать так, чтобы было не /invite, а /iv + /id прописывал игрока.
Я знаю, что есть такое клео, но оно закриптовано. Я просто на примерах учусь создавать клео потихоньку.
/iv id
Для этого хендл не нужен
CLEO:
{$CLEO .cs}
0000: NOP

repeat
wait 0
until SAMP.Available()
0B34: samp register_client_command "iv" to_label @iv
0BDE: pause_thread 0


:iv
SAMP.IsCommandTyped(0@)
if
0AD4: 1@ = scan_string 0@ format "%d" 2@
then
say "/invite %d" 2@
end
SAMP.CmdRet()
 
У

Удалённый пользователь 126082

Гость
Почему когда я прописываю в коде всего 1 опкод 0AF9,то все нормально, а когда 2 опкода 0AF9 вылетает? То есть когда я ввожу команду /ivf в чат я инвайчу игрока и все нормально, но когда же в коде добавляется 2-й опкод то игру крашит((У меня получилось сделать клео, но без задержки в 3 секунды)). Помогите мне пожайлуста. Как вы кстати тут на сайте делаете таблицу как в санни билдере?

CLEO:
{$CLEO   .cs }
0000:
0B34: samp register_client_command "ivf" to_label @iv1
:starter
wait 0
0AFA:  is_samp_available
jf @Starter

:iv1
wait 0
SAMP.IsCommandTyped(0@)
if
0AD4: 1@ = scan_string 0@ format "%d" 2@
jf @iv1
0AF9: samp say_msg "/id %d" 2@    // ((((((1 /id
wait 3000
0AF9: samp say_msg "/invite %d" 2@ // ((((((((((2 /invite
jump @iv1
 
Последнее редактирование модератором:

D3.Pheonix

🎹
Модератор
2,865
1,649
Почему когда я прописываю в коде всего 1 опкод 0AF9,то все нормально, а когда 2 опкода 0AF9 вылетает? То есть когда я ввожу команду /ivf в чат я инвайчу игрока и все нормально, но когда же в коде добавляется 2-й опкод то игру крашит((У меня получилось сделать клео, но без задержки в 3 секунды)). Помогите мне пожайлуста. Как вы кстати тут на сайте делаете таблицу как в санни билдере?

{$CLEO .cs }
0000:
0B34: samp register_client_command "ivf" to_label @iv1
:starter
wait 0
0AFA: is_samp_available
jf @Starter

:iv1
wait 0
SAMP.IsCommandTyped(0@)
if
0AD4: 1@ = scan_string 0@ format "%d" 2@
jf @iv1
0AF9: samp say_msg "/id %d" 2@ // ((((((1 /id
wait 3000
0AF9: samp say_msg "/invite %d" 2@ // ((((((((((2 /invite
jump @iv1