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

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

  1. ShadowBroker

    ShadowBroker Интересующийся

    Регистрация:
    2 июл 2015
    Сообщения:
    110
    Симпатии:
    39
    0A1E: dump_screen 1 убирает hud при снимке экрана, ничего нельзя с этим сделать?
     
  2. D3.Pheonix

    D3.Pheonix неактив
    Проверенный

    Регистрация:
    21 мар 2013
    Сообщения:
    889
    Симпатии:
    455
    
    {$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()
    
    Нет, нельзя
     
    #13897 D3.Pheonix, 12 янв 2018
    Последнее редактирование: 12 янв 2018
  3. ShadowBroker

    ShadowBroker Интересующийся

    Регистрация:
    2 июл 2015
    Сообщения:
    110
    Симпатии:
    39
    А жаль.. была бы отличная замена стороннему софту для скринов и самповскому F8 который куярит png весом 1.5mgb...
     
  4. Pycckuu_Alkash

    Pycckuu_Alkash Активный участник

    Регистрация:
    12 мар 2017
    Сообщения:
    49
    Симпатии:
    8
    Если я ищу строку в чате с помощью хука, можно ли добавить проверку на цвет текста?
     
  5. randazzo

    randazzo не админ какой-то
    Всефорумный модератор

    Регистрация:
    21 май 2014
    Сообщения:
    1.176
    Симпатии:
    625
    цвет всего сообщения ты получаешь до самого сообщения
    IF 0@ == RPC_SCRCLIENTMESSAGE
    THEN
        0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM
        0BE7: raknet 1@ = bit_stream_read 0@ type BS_TYPE_INT // color
        0BE7: raknet 2@ = bit_stream_read 0@ type BS_TYPE_INT // strlen
        alloc 3@ 125
        0BE8: raknet bit_stream 0@ read_array 3@ size 2@
        0C1E: struct 3@ offset 2@ size 1 = 0   
        free 3@
    END
    0BE0: raknet hook_ret TRUE
     
    Pycckuu_Alkash нравится это.
  6. p1cador

    p1cador vk.com/id63306232
    Проверенный

    Регистрация:
    19 мар 2014
    Сообщения:
    190
    Симпатии:
    286
    @Pycckuu_Alkash
    А если цвет сообщения устанавливается не в начале, то ищи в строке {%6X}
     
    Pycckuu_Alkash нравится это.
  7. BH.Daichi

    BH.Daichi Участник

    Регистрация:
    30 июл 2017
    Сообщения:
    23
    Симпатии:
    0
    Как проверить находиться ли транспорт возле нас?
     
  8. randazzo

    randazzo не админ какой-то
    Всефорумный модератор

    Регистрация:
    21 май 2014
    Сообщения:
    1.176
    Симпатии:
    625
    получить координаты тс и узнать расстояние между персонажем и тс.
     
  9. BH.Daichi

    BH.Daichi Участник

    Регистрация:
    30 июл 2017
    Сообщения:
    23
    Симпатии:
    0
    Как узнать растояние между персонажем и растоянием тс?
     
  10. randazzo

    randazzo не админ какой-то
    Всефорумный модератор

    Регистрация:
    21 май 2014
    Сообщения:
    1.176
    Симпатии:
    625
    00AA: store_car 0@ position_to 1@ 2@ 3@ // 0@ car handle
    00A0: store_actor $PLAYER_ACTOR position_to 4@ 5@ 6@
    050A: 7@ = distance_between_XYZ 1@ 2@ 3@ and_XYZ 4@ 5@ 6@
    msg "%.2f" -1 7@
     
  11. BH.Daichi

    BH.Daichi Участник

    Регистрация:
    30 июл 2017
    Сообщения:
    23
    Симпатии:
    0
    Ещё вопросик, можно как то узнать модель транспорта по его хендлу?
     
  12. MaIIoy

    MaIIoy Участник

    Регистрация:
    9 янв 2018
    Сообщения:
    24
    Симпатии:
    3
    Привет ребята! Подскажите пожалуйста как сделать проверку находится ли игрок на улице? Вот допустим пишем /команда и если вы на улице то напишет типо такого: вы на улице или вы на свободе. Если в интерьере то не будет ничего писать, помогите пожалуйста.
     
  13. kewa opcode

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

    Регистрация:
    15 апр 2017
    Сообщения:
    569
    Симпатии:
    346
    получай текущий интерьер, если нуль то ты на улице
     
  14. MaIIoy

    MaIIoy Участник

    Регистрация:
    9 янв 2018
    Сообщения:
    24
    Симпатии:
    3
    А можете показать на примере по опкоду? Я просто новичок и вообще не понимаю!

    Точнее вот типо такого? if 0154: actor $PLAYER_ACTOR in_zone 0
     
    #13909 MaIIoy, 12 янв 2018
    Последнее редактирование модератором: 13 янв 2018
  15. kewa opcode

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

    Регистрация:
    15 апр 2017
    Сообщения:
    569
    Симпатии:
    346
    077E: get_active_interior_to 0@
    if 0@ == 0
    then
    ты на улице
    end
     
  16. D3.Pheonix

    D3.Pheonix неактив
    Проверенный

    Регистрация:
    21 мар 2013
    Сообщения:
    889
    Симпатии:
    455
    Если нужен model id:
    0441: 14@ = car 20@ model // 14@ - model(id),   20@ - handle 
    Если нужно Model name, то
    
    0441: 14@ = car 20@ model
    0ADB: 25@ = car_model 14@ name // 25@ - model name 
    А если полное название:
    
    0441: 14@ = car 20@ model
    0ADB: 25@ = car_model 14@ name
    0ADE: 21@ = text_by_GXT_entry 25@ // 21@ - Veh name
     
    #13911 D3.Pheonix, 12 янв 2018
    Последнее редактирование: 12 янв 2018
  17. Pycckuu_Alkash

    Pycckuu_Alkash Активный участник

    Регистрация:
    12 мар 2017
    Сообщения:
    49
    Симпатии:
    8
    
    
    CONST
    TXT = 20@
    NICK = 21@
    ID = 22@
    END
    
    WHILE TRUE
    wait 0
    IF 17@ == 1
    THEN
        IF 0A9A: TXT = openfile "cleo/Spisok.txt" mode "r"
        THEN
            0AC8: 23@ = allocate_memory_size 64
            0C11: memset destination 23@ value 0 size 64
            17@ = 0
         
            REPEAT
            wait 0
            IF 0AD7: read_string_from_file TXT to 23@ size 65
            THEN
                IF 0C21: stricmp string1 NICK string2 23@
                THEN
                    0C11: memset destination 23@ value 0 size 64
                    0AF8: samp add_message_to_chat "{FFFF00}[Проверка ЧС] {FFFFFF}Игрок {FF0000}находится {FFFFFF}в ЧС" color -1
                    24@ = -1
                    break
                END
                0C11: memset destination 23@ value 0 size 64 
            END
            UNTIL 0AD6:   end_of_file TXT reached
         
            free 23@
            IF 24@ == 0
            THEN
                0AF8: samp add_message_to_chat "{FFFF00}[Проверка ЧС] {FFFFFF}Игрок {2BFF00}не занесен {FFFFFF}в ЧС" color -1
            ELSE
                24@ = 0     
            END
        END
    END
    END
    
    :check
    IF 0B35: samp ID = get_last_command_params
    THEN
        0C1A: ID = atoi ID
        IF 0B23:  samp is_player_connected ID
        THEN
            0B36: samp NICK = get_player_nickname ID
            17@ = 1
        ELSE
            0AF8: samp add_message_to_chat "{FFFFFF} Игрок не подключен" color -1
        END
    ELSE
            0AF8: samp add_message_to_chat "{FFFF00}[Проверка ЧС] {FFFFFF}Не верно введена команда. Введите команду /bl [id игрока]" color -1
    END
    cmdret
    Вообщем, при проверке любого игрока на ЧС, пишет что не занесен. В чем причина? Я наверное в глаза долблюсь, но нормальный скан файла на бх я так и не нашел:( Если сможете подкрепить примером: буду очень благодарен.

    P.S. closefile забыл ебануть, но не в этом суть же, так?
     
    #13912 Pycckuu_Alkash, 12 янв 2018
    Последнее редактирование: 12 янв 2018
  18. D3.Pheonix

    D3.Pheonix неактив
    Проверенный

    Регистрация:
    21 мар 2013
    Сообщения:
    889
    Симпатии:
    455
    Всё пока не читал, 12 строка, режим выставь "rt"
    а, и 0ADA для скана юзай
    В конце файл можно и закрыть File.Close(TXT)
     
    #13913 D3.Pheonix, 12 янв 2018
    Последнее редактирование: 12 янв 2018
    Pycckuu_Alkash нравится это.
  19. Pycckuu_Alkash

    Pycckuu_Alkash Активный участник

    Регистрация:
    12 мар 2017
    Сообщения:
    49
    Симпатии:
    8
    Какой символ переноса строки? Или его при скане указывать не надо?
     
  20. Trawer2289

    Trawer2289 Участник

    Регистрация:
    28 фев 2017
    Сообщения:
    21
    Симпатии:
    0
    Люди! Помогите мне ! Я сделал клео ну типо как у Ded_Fedot'a выход из тюрьмы с помощью мерии но я новичок и не понимаю как клео писать и написал хрень! При вводе /volya да, меня освобождает из тюрьмы но епта проверка не действует на волю! Ну точней если я на улице то должно написать типо братишка ты и так на воле,а когда я ввожу /volya меня тупо хоть на улице хоть нет тп-хает в инту мерии и все! Помогите пожалуйста.
    {$CLEO .cs}
    0000: NOP
    repeat
    wait 0
    until samp.Available()
    0B34: samp register_client_command "volya" to_label [USER=151047]@cmd[/USER]
    repeat
    wait 0
        if 0@ == 1
        then
         samp.IsCommandTyped(1@)
         if and 0ab6: store_target_marker_coords_to $actor_x $actor_y $actor_z
         msg "{ff0000}Добро пожаловать на волю бро!" -1
         actor.PutAt($Player_Actor, 1480.85, -1771.34,21.4741)
         then
         if 077e: get_active_interior_to 0@
         if 0@ == 0
         then
         msg "{ff0000}Братишка ты и так на воле!" -1
         end
       end
    end
    until false
    :cmd
    0@ = 1
    samp.CmdRet()
     
    #13915 Trawer2289, 12 янв 2018
    Последнее редактирование модератором: 17 янв 2018
  21. D3.Pheonix

    D3.Pheonix неактив
    Проверенный

    Регистрация:
    21 мар 2013
    Сообщения:
    889
    Симпатии:
    455
    Смотря как записывал инфу в файл. Вообще нужно всё в точности учитывать.Пробуй, думаю разберёшься
    "%c" 0x0A // символ переноса
     
  22. Pycckuu_Alkash

    Pycckuu_Alkash Активный участник

    Регистрация:
    12 мар 2017
    Сообщения:
    49
    Симпатии:
    8
    
    WHILE TRUE
    wait 0
    IF 17@ == 1
    THEN
        IF 0A9A: TXT = openfile "cleo/Spisok.txt" mode "rt"
        THEN
            0AC8: 23@ = allocate_memory_size 64 
            0C11: memset destination 23@ value 0 size 64 
            17@ = 0
           
            REPEAT
            wait 0
            IF 0ADA: 25@ = scan_file TXT format "%s%c" 23@ 0x0A
            THEN
                IF 0C21: stricmp string1 NICK string2 23@
                THEN 
                    0C11: memset destination 23@ value 0 size 64
                    0AF8: samp add_message_to_chat "{FFFF00}[Проверка ЧС] {FFFFFF}Игрок {FF0000}находится {FFFFFF}в ЧС" color -1
                    24@ = -1
                    break
                END
                0C11: memset destination 23@ value 0 size 64   
            END
            UNTIL 0AD6:   end_of_file TXT reached
           
            0A9B: closefile TXT
            free 23@
            IF 24@ == 0
            THEN
                0AF8: samp add_message_to_chat "{FFFF00}[Проверка ЧС] {FFFFFF}Игрок {2BFF00}не находится {FFFFFF}в ЧС" color -1
            ELSE
                24@ = 0       
            END
        END   
    END
    END
    
    Теперь я еще больше удивлен :/ Всех в чс кидает
     
  23. san0

    Проверенный

    Регистрация:
    15 дек 2013
    Сообщения:
    371
    Симпатии:
    245
    Откуда информация такая?
     0C11: memset destination 0x58FAED value 0x90 size 0xD
     
    ShadowBroker нравится это.
  24. D3.Pheonix

    D3.Pheonix неактив
    Проверенный

    Регистрация:
    21 мар 2013
    Сообщения:
    889
    Симпатии:
    455
    
    {$CLEO .cs}
    0000: NOP
    
    repeat
    wait 0
    until samp.Available()
    0B34: samp register_client_command "volya" to_label @cmd
    0BDE: pause_thread 0
    
    :cmd
    samp.IsCommandTyped(1@)
    0AD4: 4@ = scan_string 1@ format "%s" 2@
    if and
        4@ == 1
        0C29: 0@ = stristr string1 2@ string2 "да"
    then
            if
                 // Проверка что ты в тюрьме или хз где
            then
                actor.PutAt($Player_Actor, 1480.85, -1771.34,21.4741)
                chatmsg "{ff0000}Добро пожаловать на волю бро!" -1
            else
                chatmsg "{ff0000}Братишка ты итак на воле" -1
            end
    end
    samp.CmdRet()
    
    Скинь в ЛС текстовик с ЧС и весь код
     
    #13919 D3.Pheonix, 12 янв 2018
    Последнее редактирование: 12 янв 2018
  25. kewa opcode

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

    Регистрация:
    15 апр 2017
    Сообщения:
    569
    Симпатии:
    346
    сначала проверяй в каком ты интерьере а потом уже телепортируй лмао
     
  26. kewa opcode

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

    Регистрация:
    15 апр 2017
    Сообщения:
    569
    Симпатии:
    346
    циклом фор из тысячи итераций от нуля проходишь по всем подключенным айди, параллельно проверяя цвет ника
    если этот игрок подходит по критериям то инкремент в какуюнибудтб переменную, которая на выходе будет содержать в себе кол-во подключенных игроков с определенным цветом ника
     
  27. MaIIoy

    MaIIoy Участник

    Регистрация:
    9 янв 2018
    Сообщения:
    24
    Симпатии:
    3
    Привет всем! Вы не можете сказать опкод на проверку где сейчас я нахожусь ну точнее допустим если я нахожусь не в тюрьме ,а на улице или где нибудь еще то мне высветиться в чат то что я не в кпз
     
  28. DarkP1xel

    DarkP1xel KEEP CALM AND SMOKE SOME WEED
    BH Team

    Регистрация:
    17 июн 2013
    Сообщения:
    2.818
    Симпатии:
    2.797
    Нет такого опкода.
     
  29. MaIIoy

    MaIIoy Участник

    Регистрация:
    9 янв 2018
    Сообщения:
    24
    Симпатии:
    3
    Привет, а есть такой опкод когда вводишь допустим /команда и тебя смещает на несколько метров если да то помогите пожалуйста
     
  30. DarkP1xel

    DarkP1xel KEEP CALM AND SMOKE SOME WEED
    BH Team

    Регистрация:
    17 июн 2013
    Сообщения:
    2.818
    Симпатии:
    2.797
    Такого опкода тоже нет.
     
  31. memir

    memir Интересующийся

    Регистрация:
    21 авг 2015
    Сообщения:
    118
    Симпатии:
    62
    Записываешь свои координаты в переменную, затем изменяешь их так, как тебе надо, после чего телепортируешь актера на полученные корды.
    Телепортация реализуется через
    Actor.PutAt()
    , или через опкод 00A1.
     
  32. V3RC3TT1

    V3RC3TT1 Shitty code as a separate art form.
    Проверенный

    Регистрация:
    3 дек 2016
    Сообщения:
    439
    Симпатии:
    232
    Надеюсь, что-нибудь изменится
    
    {$CLEO}
    0000: TEST
    
    while not samp.available()
        wait 420
    end
    
    if 8AAB:  not file_exists "CLEO\test.ini"
    then 0AF5: write_string "qq" to_ini_file "cleo\test.ini" section "test" key "test"
    end
    
    alloc 2@ 128
    0AF4: 2@ = read_string_from_ini_file "cleo\test.ini" section "test" key "test"
    
    0B34: samp register_client_command 2@ to_label @cmd
    0BDE: pause_thread 0
    
    :cmd
    // some code
    samp.CmdRet
    
     
  33. ROSEDEANEQWE

    ROSEDEANEQWE Новичок

    Регистрация:
    1 янв 2018
    Сообщения:
    2
    Симпатии:
    0
    Всем привет! Я начал писать скрипт! 1-раз пишу И в чем суть! Я сказал Sanny Builder 3 С оф сайта
    Дальше написал скрипт Хочу Скомпилировать! Пишет Невозможно загрузить SF!

    Ребят Помогите пожалуйста! Я новичок :с

    Сам скрипт:

     
  34. kewa opcode

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

    Регистрация:
    15 апр 2017
    Сообщения:
    569
    Симпатии:
    346
    это очень популярный вопрос в этой теме

    просто установи опкоды сф в сб
     
  35. MaIIoy

    MaIIoy Участник

    Регистрация:
    9 янв 2018
    Сообщения:
    24
    Симпатии:
    3
    Помогите пожалуйста сделать скрипт который при ввода команды /tpa проверяется поставлена ли метка на карте? Если метка поставлена то создается NRG500 (мопед) и нас телепортирует туда и выкидывает с мопеда. NRG500 естественно визуальный при этом если не поставлена метка то написано будет в чат что метка не поставлена! Прошу помочь!!! Пожалуйста