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

Тема в разделе "CLEO", создана пользователем MogAika, 19 мар 2013.

  1. LaRossa

    LaRossa Знаток

    Регистрация:
    4 фев 2017
    Сообщения:
    315
    Симпатии:
    45
    Репутация:
    20
    0118: actor $PLAYER_ACTOR dead
    Грязное животное это ты xD
    0118: actor 4@ dead
     
  2. romanblinov2013

    Проверенный

    Регистрация:
    12 окт 2016
    Сообщения:
    155
    Симпатии:
    123
    Репутация:
    24
    Ну если ты сможешь интегрировать ИИ в CLEO, то у тебя получится сделать такого бота.
    А теперь трезво: Ну вот ты сделаешь бота, который гоняет по корам и перетаскивает грузы, но во время пути какая-то собачка может тебя подрезать/слить ну или просто взаимодействовать с тобой. Такое клео сделать ну почти нереально, максимум телепорт под землёй, посредством кордмастера, но нахуя, если можно фармить на других работах и не ебать себе мозг с такой ересью)))
     
  3. bomber!

    bomber! Знаток

    Регистрация:
    11 июл 2013
    Сообщения:
    352
    Симпатии:
    62
    Репутация:
    13
    1)нужен клео NOP ResetPlayerMoney

    2)можно кого попросить (если не впадло)
    написать рандомный антистан. 1 сек работает- 1 секунду нет
    автоматом
     
    #14363 bomber!, 10 фев 2018
    Последнее редактирование модератором: 10 фев 2018
  4. D3.Pheonix

    D3.Pheonix biboran
    Проверенный

    Регистрация:
    21 мар 2013
    Сообщения:
    611
    Симпатии:
    216
    Репутация:
    47
    
    {$CLEO}
    0000:
    
    repeat
    wait 0
    until SAMP.Available()
    0BE3: raknet setup_incoming_rpc_hook @money
    0BDE: pause_thread 0
    
    :money
    0BE5: raknet 0@ = get_hook_param 1
    if 0@ == 20
    then
    0be0: 0
    end
    0be0: 1 
    
    {$CLEO}
    0000:
    
    while true
    wait 1000
    0946: set_actor $PLAYER_ACTOR actions_uninterupted_by_weapon_fire 1
    wait 1000
    0946: set_actor $PLAYER_ACTOR actions_uninterupted_by_weapon_fire 0
    end
     
    #14364 D3.Pheonix, 10 фев 2018
    Последнее редактирование: 10 фев 2018
    bomber! нравится это.
  5. noob213

    noob213 Пользователь

    Регистрация:
    25 июл 2017
    Сообщения:
    24
    Симпатии:
    2
    Репутация:
    0
    у кого-то есть адрес памяти для отключения onfootdata для 0.3 DL
     
  6. shailkiller

    shailkiller Пользователь

    Регистрация:
    23 авг 2017
    Сообщения:
    6
    Симпатии:
    0
    Репутация:
    0
    {$CLEO .cs}
    0000:
    
    0662: printstring "Anti-freeze"
    
    repeat
    wait 0
    until SAMP.Available()
    0AF8: samp add_message_to_chat "Anti-Freeze by shailkiller" color 0xFF0000
    
    while true
    wait 0
    if
    0AB0: 73
    then
    0ACD: show_text_highpriority "Anti-freeze ON" time 1000
    SAMP.ReadSAMPMemory(1@, 0x168E0, 2)
    SAMP.WriteSAMPMemory(0x168E0, 50064, 2)
    wait 228       
    repeat
    wait 0
    until 0AB0: 73
    0ACD: show_text_highpriority "Anti-freeze OFF" time 1000
    SAMP.WriteSAMPMemory(0x168E0, 1@, 2)
    wait 228
    end
    end
    Как сделать так что-бы активация в клео не работала при включённом чате?
     
  7. kewa opcode

    kewa opcode перерывпятьминут
    Проверенный

    Регистрация:
    15 апр 2017
    Сообщения:
    395
    Симпатии:
    265
    Репутация:
    39
    0B21:     samp is_chat_opened
    
     
  8. shailkiller

    shailkiller Пользователь

    Регистрация:
    23 авг 2017
    Сообщения:
    6
    Симпатии:
    0
    Репутация:
    0

    У меня что-то не очень хорошо работает, ещё что-то надо для этого опкода наверно, не?
     
    #14368 shailkiller, 10 фев 2018
    Последнее редактирование: 10 фев 2018
  9. D3.Pheonix

    D3.Pheonix biboran
    Проверенный

    Регистрация:
    21 мар 2013
    Сообщения:
    611
    Симпатии:
    216
    Репутация:
    47
    if and
    0AB0: 73
    8B21: not samp is_chat_opened
    then
    //......
     
  10. Sashka

    Sashka Пользователь

    Регистрация:
    11 апр 2013
    Сообщения:
    12
    Симпатии:
    0
    Репутация:
    -1
    Можно ли как-то высчитать, на какой именно строчке находится нужный мне текст в диалоге? А потом нажать на эту строчку
     
  11. randazzo

    Проверенный

    Регистрация:
    21 май 2014
    Сообщения:
    632
    Симпатии:
    231
    Репутация:
    65
    перебирай строки, получай текст через 0B48: samp 1@ = get_current_dialog_list_item и ищи нужный.
     
  12. shailkiller

    shailkiller Пользователь

    Регистрация:
    23 авг 2017
    Сообщения:
    6
    Симпатии:
    0
    Репутация:
    0
    wait 228      
    repeat
    wait 0
    until 0AB0: 54
    8B21: not samp is_chat_opened
    0ACD: show_text_highpriority "Anti-freeze OFF" time 1000
    SAMP.WriteSAMPMemory(0x168E0, 1@, 2)
    wait 228
    end
    end
    Получилось частично, скрипт теперь не врубается при вкл чате, НО он выключить его можно, даже когда чат открыт, что надо делать в этой ситуации? Я вписал код так. Нужно туда Until добавить?
     
  13. kewa opcode

    kewa opcode перерывпятьминут
    Проверенный

    Регистрация:
    15 апр 2017
    Сообщения:
    395
    Симпатии:
    265
    Репутация:
    39
    весь код дай и ваще какого хуя
    это условие бля
     
  14. shailkiller

    shailkiller Пользователь

    Регистрация:
    23 авг 2017
    Сообщения:
    6
    Симпатии:
    0
    Репутация:
    0
    {$CLEO .cs}
    0000:
    
    0662: printstring "Anti-freeze"
    
    repeat
    wait 0
    until SAMP.Available()
    0AF8: samp add_message_to_chat "Anti-Freeze by shailkiller" color 0xFF0000
    
    while true
    wait 0
    if and
    0AB0: 54
    8B21: not samp is_chat_opened
    then
    0ACD: show_text_highpriority "Anti-freeze ON" time 1000
    SAMP.ReadSAMPMemory(1@, 0x168E0, 2)
    SAMP.WriteSAMPMemory(0x168E0, 50064, 2)
    wait 228     
    repeat
    wait 0
    until 0AB0: 54
    8B21: not samp is_chat_opened
    0ACD: show_text_highpriority "Anti-freeze OFF" time 1000
    SAMP.WriteSAMPMemory(0x168E0, 1@, 2)
    wait 228
    end
    end
     
  15. kewa opcode

    kewa opcode перерывпятьминут
    Проверенный

    Регистрация:
    15 апр 2017
    Сообщения:
    395
    Симпатии:
    265
    Репутация:
    39
    31@ = false
    while true
        wait 0
        if 8B21: not samp is_chat_opened
        then
            if 0ADC:   test_cheat "6"
            then
                if 31@ == false
                then
                SAMP.WriteSAMPMemory(0x168E0, 50064, 2)
                31@ = true
                else
                SAMP.WriteSAMPMemory(0x168E0, 1@, 2)
                31@ = false
                end
            end
        end
    end
     
  16. shailkiller

    shailkiller Пользователь

    Регистрация:
    23 авг 2017
    Сообщения:
    6
    Симпатии:
    0
    Репутация:
    0
    Нормально, всё работает, спасибо
    if 0ADC:   test_cheat "6"
    Через этот опкод можно же и чит-код забабахать, да?.
     
  17. kewa opcode

    kewa opcode перерывпятьминут
    Проверенный

    Регистрация:
    15 апр 2017
    Сообщения:
    395
    Симпатии:
    265
    Репутация:
    39
  18. Sashka

    Sashka Пользователь

    Регистрация:
    11 апр 2013
    Сообщения:
    12
    Симпатии:
    0
    Репутация:
    -1
    0b48 выдает какой номер строки выделен в данный момент, но не ищет текст в ней
     
  19. kewa opcode

    kewa opcode перерывпятьминут
    Проверенный

    Регистрация:
    15 апр 2017
    Сообщения:
    395
    Симпатии:
    265
    Репутация:
    39
    Напиши в поиске опкодов НАВОДЯЩИЕ слова
    get list text
     
  20. Kristyan

    Kristyan Известный пользователь

    Регистрация:
    29 июл 2016
    Сообщения:
    65
    Симпатии:
    1
    Репутация:
    2
    Привет ребята, вот у меня есть проблемка.. Не знаю зачем вылетает игра если пишу ID не в зоне стрима.

    
    {$CLEO}
    0000:
    
    
    repeat
    wait 0
    until SAMP.Available()
    
    
    0B34: samp register_client_command "cpe" to_label @cpe
    
    0BDE: pause_thread 0@
    
    
    :cpe
    SAMP.IsCommandTyped(20@)
    if
    0AD4: 20@ = scan_string 20@ format "%d" 21@
    then
     IF 
        samp.IsPlayerConnected(21@)
        then
          0B20: samp 1@ = actor_handle_by_samp_player_id 21@ 
            if   and
            056D:   actor 1@ defined
            0104:   actor $PLAYER_ACTOR near_actor 1@ radius 5.0 5.0 5.0 sphere FALSE
            then
                0AF9: samp say_msg "text %d 10" 21@
                0AF9: samp say_msg "text %d " 21@
                0AF9: samp say_msg "text" 
            else
             chatmsg "near" -1
             end
        else
        chatmsg "connect" -1
        end
    else
    chatmsg "syntax" -1
    end
    SAMP.CmdRet()
    
    Здесь декомпил
    
    // This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
    {$CLEO .cs}
    
    //-------------MAIN---------------
    0000: NOP 
    
    :Noname_2
    wait 0 
       SAMP.Available
    jf @Noname_2 
    0B34: samp register_client_command "cpe" to_label @Noname_32 
    0BDE: pause_thread 0@ 
    
    :Noname_32
       SAMP.IsCommandTyped(20@)
    if 
    0AD4: 20@ = scan_string 20@ format "%d" 21@ 
    jf @Noname_218 
    if 
       SAMP.IsPlayerConnected(21@)
    jf @Noname_197 
    1@ = SAMP.GetActorHandleByPlayerID(21@)
    if and
    056D:   actor 1@ defined 
    0104:   actor $PLAYER_ACTOR near_actor 1@ radius 5.0 5.0 5.0 sphere 0 
    jf @Noname_179 
    say "text %d 10" 21@ 
    say "text %d " 21@ 
    say "text" 
    goto @Noname_190 
    
    :Noname_179
    chatmsg "near" -1 
    
    :Noname_190
    goto @Noname_211 
    
    :Noname_197
    chatmsg "connect" -1 
    
    :Noname_211
    goto @Noname_231 
    
    :Noname_218
    chatmsg "syntax" -1 
    
    :Noname_231
    SAMP.CmdRet
    
    [/cleo]
     
  21. LaRossa

    LaRossa Знаток

    Регистрация:
    4 фев 2017
    Сообщения:
    315
    Симпатии:
    45
    Репутация:
    20
    {$CLEO}
    0000:
    while not Samp.Available()
        wait 0
    end
    
    0B34: samp register_client_command "cpe" to_label @cmd
    0BDE: pause_thread 0
    
    :cmd
    SAMP.IsCommandTyped(20@)
    if
    0AD4: 20@ = scan_string 20@ format "%d" 21@
    then
    if samp.IsPlayerConnected(21@)
        then
        0104: actor $PLAYER_ACTOR near_actor 1@ radius 5.0 5.0 5.0 sphere FALSE
        if 056D: actor 1@ defined
            then
            say "text %d 10" 21@
            say "text %d " 21@
            say "text"
            else
             chatmsg "near" -1
             end
        else
        chatmsg "connect" -1
        end
    else
    chatmsg "syntax" -1
    end
    SAMP.CmdRet()
     
  22. Kristyan

    Kristyan Известный пользователь

    Регистрация:
    29 июл 2016
    Сообщения:
    65
    Симпатии:
    1
    Репутация:
    2
    Забыл handle...
     
  23. Rus1k228

    Rus1k228 Новичок

    Регистрация:
    11 фев 2017
    Сообщения:
    1
    Симпатии:
    0
    Репутация:
    0
    Здравствуйте, вообщем мне нужно сделать так чтобы была проверка что в определённых координатах есть красный чекпоинт, и если он там есть, то я бежал по этим координатам через другие координаты. Если такое возможно. То хелпаните плеаз.
     
  24. LaRossa

    LaRossa Знаток

    Регистрация:
    4 фев 2017
    Сообщения:
    315
    Симпатии:
    45
    Репутация:
    20
    Отпиши что ты хочешь. Я не понимаю почему у тебя проверка на игрока не в цикле. Возле тебя может быть не один человек...
     
  25. randazzo

    Проверенный

    Регистрация:
    21 май 2014
    Сообщения:
    632
    Симпатии:
    231
    Репутация:
    65
    Проверяешь наличие пикапа на карте, получаешь его координаты и сравниваешь с нужными, функции есть в теме, ищи по слову checkpoint
     
  26. old_ghetto_

    old_ghetto_ Активный пользователь

    Регистрация:
    6 янв 2018
    Сообщения:
    27
    Симпатии:
    0
    Репутация:
    0
    Здрасте, опытнейшие сенсеи скриптинга. Крч, я тут хочу бота написать (на клео), но вот этот опкод
    AS_actor $PLAYER_ACTOR goto_point 2542.3572 -1295.8500 1044.1250 mode 4 time -1 ms
    у меня работает как-то криво (но скорее всего я кривой), т.к. когда я включаю, то он бежит не на эти координаты а в какую-то залупу. Помогите мне, пожалуйста, этот ли опкод вообще нужен или как его настроить на верный лад. Заранее большое спасибо.
     
  27. LaRossa

    LaRossa Знаток

    Регистрация:
    4 фев 2017
    Сообщения:
    315
    Симпатии:
    45
    Репутация:
    20
    Привет, опкод не подойдет для написания бота т.к. ты для игроков будешь скользить. Юзай лучше это
            repeat
                wait 0
                0B56: set_game_key 16 state -255
                call @goto 2  X Y |
            until 00ED: actor $PLAYER_ACTOR sphere 0 near_point X Y radius 0.5 0.5 on_foot
    
    :goto
    00A0: store_actor $PLAYER_ACTOR position_to 2@ 3@ 4@
    0063: 0@ -= 2@
    0063: 1@ -= 3@
    0604: get_Z_angle_for_point 0@ 1@ store_to 5@
    0173: set_actor $PLAYER_ACTOR Z_angle_to 5@
    02EB: restore_camera_with_jumpcut
    ret 0
     
  28. old_ghetto_

    old_ghetto_ Активный пользователь

    Регистрация:
    6 янв 2018
    Сообщения:
    27
    Симпатии:
    0
    Репутация:
    0
    можешь разжевать, пожалуйста?
     
  29. LaRossa

    LaRossa Знаток

    Регистрация:
    4 фев 2017
    Сообщения:
    315
    Симпатии:
    45
    Репутация:
    20
    {$CLEO}
    0000:
    while not Samp.Available()
        wait 0
    end
    cmd "bot" @cmd
    
    while true
        wait 0
        if 0@ == 1
            then 
            msg "Бот отправлен на координаты: X 1500.0 Y 228.0" -1  // Пример
         
            repeat
                wait 0
                0B56: set_game_key 16 state -255
                call @goto 2  1500.0  228.0 |
            until 00ED: actor $PLAYER_ACTOR sphere 0 near_point 1500.0 228.0 radius 0.5 0.5 on_foot 
             
            msg "Бот прибыл на координаты: X 1500.0 Y 228.0" -1
            0@ = 0 
        end
    end 
    
    :goto
    00A0: store_actor $PLAYER_ACTOR position_to 2@ 3@ 4@
    0063: 0@ -= 2@
    0063: 1@ -= 3@
    0604: get_Z_angle_for_point 0@ 1@ store_to 5@
    0173: set_actor $PLAYER_ACTOR Z_angle_to 5@
    02EB: restore_camera_with_jumpcut  
    ret 0 
       
    :cmd
    0B12: 0@ = 0@ XOR 1
    if 0@ == 1
        then
        msg "ON" -1
    else
        msg "OFF" -1
        0A92: create_custom_thread "Название файла.cs"
        0A93: end_custom_thread
    end
    Samp.CmdRet()
    
    
     
    #14389 LaRossa, 12 фев 2018
    Последнее редактирование: 12 фев 2018
  30. Kristyan

    Kristyan Известный пользователь

    Регистрация:
    29 июл 2016
    Сообщения:
    65
    Симпатии:
    1
    Репутация:
    2
    В опкоде 0AA5 не берёт ID из [%d], может кто-то помочь?
    
    if
                 0C18: 18@ = strstr string1 5@ string2 "Dispatch:"
              then
               0AA5: call 0x8220AD num_params 7 pop 7 21@ 23@ 24@ 26@v 25@ "Dispatch: %s[%d] has commited a crime: %s %s %s" 5@
                    if
                    0C14: strcmp string1 1@ string2 25@
                    then
                            chatmsg  "%s %s %s %s %d" -1 25@ 24@ 23@ 21@ 26@v
    
     
  31. old_ghetto_

    old_ghetto_ Активный пользователь

    Регистрация:
    6 янв 2018
    Сообщения:
    27
    Симпатии:
    0
    Репутация:
    0
    Как можно отправить афк своего персонажа серверу с СБ?
     
  32. DarkP1xel

    DarkP1xel #ТГК
    BH Team

    Регистрация:
    17 июн 2013
    Сообщения:
    2.488
    Симпатии:
    1.807
    Репутация:
    414
    Отклонять хук на OnFoot, InCar, Pass.
     
  33. OnixPlay

    OnixPlay Пользователь

    Регистрация:
    15 окт 2017
    Сообщения:
    5
    Симпатии:
    0
    Репутация:
    0
    Как находить офсеты структур и можно ли это делать не через Visual Studio??
     
  34. DarkP1xel

    DarkP1xel #ТГК
    BH Team

    Регистрация:
    17 июн 2013
    Сообщения:
    2.488
    Симпатии:
    1.807
    Репутация:
    414
    Посчитать вручную. Основываясь на размерах типов и их последовательности.
     
  35. iPhoneSeven

    iPhoneSeven Новичок

    Регистрация:
    30 янв 2018
    Сообщения:
    2
    Симпатии:
    0
    Репутация:
    0
    Как получить названия всех клео которые в клео папке
     
  36. DarkP1xel

    DarkP1xel #ТГК
    BH Team

    Регистрация:
    17 июн 2013
    Сообщения:
    2.488
    Симпатии:
    1.807
    Репутация:
    414
    0AE6: 0@ = find_first_file "CLEO\*.cs" get_filename_to 1@v // IF and SET
    0AE7: 1@v = find_next_file 0@ // IF and SET
    
     
    Ranto нравится это.
  37. old_ghetto_

    old_ghetto_ Активный пользователь

    Регистрация:
    6 янв 2018
    Сообщения:
    27
    Симпатии:
    0
    Репутация:
    0
    Как сделать так, чтобы актер отправлял афк серверу, если спектит адм?
     
  38. D3.Pheonix

    D3.Pheonix biboran
    Проверенный

    Регистрация:
    21 мар 2013
    Сообщения:
    611
    Симпатии:
    216
    Репутация:
    47
    Хорошая попытка, но мы не знаем как узнать, реконят ли тебя. Можешь тут поковырять
     
  39. old_ghetto_

    old_ghetto_ Активный пользователь

    Регистрация:
    6 янв 2018
    Сообщения:
    27
    Симпатии:
    0
    Репутация:
    0
    я там и ковырял, но так ничего и не понял
     
  40. D3.Pheonix

    D3.Pheonix biboran
    Проверенный

    Регистрация:
    21 мар 2013
    Сообщения:
    611
    Симпатии:
    216
    Репутация:
    47
    Если на твоём сервере админ может чекать фпс, то вроде как можно выявить слежку, иначе никак
     
    MOR нравится это.