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

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

  1. NookieONE

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

    Регистрация:
    5 окт 2017
    Сообщения:
    74
    Симпатии:
    1
    0B6D: render hFONT = create_font "IMPACT" height 18@ flags 19@
    Шрифт можно как-то вбить в переменную?
    Чтобы можно было изменять?
     
  2. p1cador

    p1cador tvoy ded
    Проверенный

    Регистрация:
    19 мар 2014
    Сообщения:
    182
    Симпатии:
    268
    
    0AC6: 0@ = label @font offset
    //format 0@ "Arial"
    //format 0@ "Tahoma"
    //format 0@ "..."
    
    :font
    hex
    00 00 00 00 00 00 00 00//8
    00 00 00 00 00 00 00 00//16
    00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00//32
    00
    end
    
     
  3. NookieONE

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

    Регистрация:
    5 окт 2017
    Сообщения:
    74
    Симпатии:
    1
    0AF5: write_string ""IMPACT"" to_ini_file "cleo\ini\[H].ini" section "Íàñòðîéêè" key "Øðèôò" 
    0AF4: 0@v = read_string_from_ini_file "cleo\ini\[H].ini" section "Íàñòðîéêè" key "Øðèôò"
    0AD3: 20@ = format "%d" 0@v
    0B6D: render hFONT = create_font 20@ height 18@ flags 19@
    Что не так?
     
  4. p1cador

    p1cador tvoy ded
    Проверенный

    Регистрация:
    19 мар 2014
    Сообщения:
    182
    Симпатии:
    268
    @NookieONE как минимум - вметсо переменной какая-то хуета hFONT
    https://www.youtube.com/watch?v=4RE7Und0R2E
    исходник посмотри, там я из ини шрифт загружаю
     
  5. NookieONE

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

    Регистрация:
    5 окт 2017
    Сообщения:
    74
    Симпатии:
    1
    Привет.
    Как сделать в скрипте проверку на ник?
    Чтобы скрипт запускался только у определенного игрока?
     
  6. DarkP1xel

    DarkP1xel KEEP CALM AND SMOKE SOME WEED
    BH Team

    Регистрация:
    17 июн 2013
    Сообщения:
    2.722
    Симпатии:
    2.639
    0B2B: samp 0@ = get_player_id_by_actor_handle $PLAYER_ACTOR
    0B36: samp 0@ = get_player_nickname {ID}0@
    IF 0C21: stricmp string1 0@ string2 "DarkP1xel"
    THEN {Ник совпал.}
    ELSE {Ник не совпал.}
    END
     
    NookieONE и #sanek нравится это.
  7. NookieONE

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

    Регистрация:
    5 окт 2017
    Сообщения:
    74
    Симпатии:
    1
    А подобное, но только с ip возможно сделать?
     
  8. DarkP1xel

    DarkP1xel KEEP CALM AND SMOKE SOME WEED
    BH Team

    Регистрация:
    17 июн 2013
    Сообщения:
    2.722
    Симпатии:
    2.639
    0AC6: 0@ = label @Buffer offset
    0B39: samp get_current_server_address 0@ port 1@
    IF AND
    0C21: stricmp string1 0@ string2 "420:187:228:69"
    0039:   1@ == 1337
    THEN {Сервер совпал.}
    ELSE {Сервер не совпал.}
    END
    
    :Buffer // 16 + 1
    HEX
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    END 
     
    NookieONE и #sanek нравится это.
  9. NookieONE

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

    Регистрация:
    5 окт 2017
    Сообщения:
    74
    Симпатии:
    1
    Просто :*
     
  10. Zhenek1515

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

    Регистрация:
    12 авг 2017
    Сообщения:
    13
    Симпатии:
    0
    Сделал,чтобы показывало в диалоге информацию , но выдает ошибку, шо за , хм

    [​IMG]
     
    #15445 Zhenek1515, 15 май 2018
    Последнее редактирование: 15 май 2018
  11. DarkP1xel

    DarkP1xel KEEP CALM AND SMOKE SOME WEED
    BH Team

    Регистрация:
    17 июн 2013
    Сообщения:
    2.722
    Симпатии:
    2.639
    В HEX вставках нет никакого форматирования.
     
  12. grod

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

    Регистрация:
    20 ноя 2017
    Сообщения:
    7
    Симпатии:
    0
    Всем привет с толкнулся с проблемой выбора диалога когда Актер на нужных координатах . . .
    Вот тут он выбирает 1 пункт в диалоге все норм
    repeat
    0001: wait 0 ms
    0B56: set_game_key 1 state -128
    0AB1: call_scm_func @goto 2 -109.0853 0.0288
    until 00ED:   actor $PLAYER_ACTOR sphere 0 near_point -109.0853 0.0288 radius 0.5 0.5 on_foot
    wait 500
    0B49: samp set_current_dialog_list_item 0
    wait 500
    0B47: samp close_current_dialog_with_button 1
    wait 1000   
    но когда доходит до сюда он должен выбрать 2й пункт но он все ровно берет 1й

    repeat
    0001: wait 0 ms
    0B56: set_game_key 1 state -128
    0AB1: call_scm_func @goto 2 -109.2124 -0.2387
    until 00ED:   actor $PLAYER_ACTOR sphere 0 near_point -109.2124 -0.2387 radius 0.5 0.5 on_foot
    wait 200
    0B49: samp set_current_dialog_list_item 1
    wait 400
    0B47: samp close_current_dialog_with_button 1
    wait 1000   

    А тут он должен с ново выбрать 1й, но не выбирает

     repeat
    0001: wait 0 ms
    0B56: set_game_key 1 state -128
    0AB1: call_scm_func @goto 2 -109.0853 0.0288
    until 00ED:   actor $PLAYER_ACTOR sphere 0 near_point -109.0853 0.0288 radius 0.5 0.5 on_foot
    wait 500
    0B49: samp set_current_dialog_list_item 0
    wait 500
    0B47: samp close_current_dialog_with_button 1
    wait 2500   
    Помоги исправить . . .
     
  13. grandpafromghetto

    grandpafromghetto Знаток

    Регистрация:
    6 янв 2018
    Сообщения:
    356
    Симпатии:
    92
    юзай лучше 0BC9 для ответа на диалоги
     
    grod нравится это.
  14. NIngaro

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

    Регистрация:
    7 сен 2014
    Сообщения:
    38
    Симпатии:
    1
    Ищю опкод с помощью которого можно узнать ip/port сервера к которому приконекчен сейчас клиент!
    Что типо...
    0B3A: samp 0@ = get_current_server_name
     
  15. MakeGreen

    MakeGreen Новичок

    Регистрация:
    16 май 2018
    Сообщения:
    2
    Симпатии:
    1
    0B39: samp get_current_server_address 1@ port 2@
     
  16. grod

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

    Регистрация:
    20 ноя 2017
    Сообщения:
    7
    Симпатии:
    0
    Спасибо помогло.
     
    #15451 grod, 16 май 2018
    Последнее редактирование: 16 май 2018
  17. NIngaro

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

    Регистрация:
    7 сен 2014
    Сообщения:
    38
    Симпатии:
    1
    Хмм... точно работает?
     
  18. MakeGreen

    MakeGreen Новичок

    Регистрация:
    16 май 2018
    Сообщения:
    2
    Симпатии:
    1
    NIngaro нравится это.
  19. grod

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

    Регистрация:
    20 ноя 2017
    Сообщения:
    7
    Симпатии:
    0
    Так есть еще воопрос:
    Актер бегает когда я сворачиваю игру в афк но клавиши почему то не нажимает сделал так
    Если один раз клавиша сработает
    repeat    
    0001: wait 0 ms
    0B56: set_game_key 1 state -128
    0AB1: call_scm_func @goto 2 -127.8692 16.0079
    until 00ED:   actor $PLAYER_ACTOR sphere 0 near_point -127.8692 16.0079 radius 0.5 0.5 on_foot
      0B56: set_game_key 9 state true
      wait 500
      0B56: set_game_key 9 state false
    wait 1000       
    То тут уже не работает
    repeat
    0001: wait 0 ms
    0B56: set_game_key 1 state -128
    0AB1: call_scm_func @goto 2 -134.1565 39.9230
    until 00ED:   actor $PLAYER_ACTOR sphere 0 near_point -134.1565 39.9230 radius 0.5 0.5 on_foot
          0B56: set_game_key 9 state true
          wait 500
          0B56: set_game_key 9 state false 
    wait 3000   
    Как сделать чтобы он нажимал клавишу "H" в свернутом режиме ?
     
  20. grandpafromghetto

    grandpafromghetto Знаток

    Регистрация:
    6 янв 2018
    Сообщения:
    356
    Симпатии:
    92
    ну, во-первых, у тебя стоит 9 в коде, а это таб, а не "н" - 72. попробуй заюзнуть это в коде
    0A8C: write_memory 7634870 size 1 value 1 virtual_protect 1
    0A8C: write_memory 7635034 size 1 value 1 virtual_protect 1
    0C11: memset destination 7623723 value 144 size 8
    0C11: memset destination 5499528 value 144 size 6
    если не вышло, скачай какой-нибудь анти афк и попробуй с ним
     
  21. egorikkz

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

    Регистрация:
    3 мар 2018
    Сообщения:
    16
    Симпатии:
    3
    Как сделать нажатие клавиши N?
     
  22. grandpafromghetto

    grandpafromghetto Знаток

    Регистрация:
    6 янв 2018
    Сообщения:
    356
    Симпатии:
    92
    0C72: set_virtual_key 78 down true
    
     
  23. grandpafromghetto

    grandpafromghetto Знаток

    Регистрация:
    6 янв 2018
    Сообщения:
    356
    Симпатии:
    92
    ну-вопервых, ты включил говнокод когда написал уже 4-ю строчку в коде, ибо метки хуевая методика написания скрипта. используй высокоуровневые конструкции, ну, а еще, может быть, тип диалога не поддерживает лист итемы, а ты их в ответ вписываешь + зачем ты отвечаешь потом на диалог кнопкой, если ты сначала отвечаешь на него в 0bc9
     
    #15458 grandpafromghetto, 18 май 2018
    Последнее редактирование: 18 май 2018
  24. shinoa

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

    Регистрация:
    6 ноя 2017
    Сообщения:
    46
    Симпатии:
    15
    Как в клео получить свой ник с ид в формате Nick_Name[id] и вывести в чат?
     
  25. DarkP1xel

    DarkP1xel KEEP CALM AND SMOKE SOME WEED
    BH Team

    Регистрация:
    17 июн 2013
    Сообщения:
    2.722
    Симпатии:
    2.639
    0B2B: samp 0@ = get_player_id_by_actor_handle $PLAYER_ACTOR
    0B36: samp 1@ = get_player_nickname 0@
    0AD3: 2@ = format "%s[%d]" | {Nick}1@ {ID}0@ |
    Для 2@ нужно выделить буфер памяти.
     
    shinoa нравится это.
  26. pO4Ka1337

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

    Регистрация:
    19 авг 2017
    Сообщения:
    44
    Симпатии:
    0
    что я делаю не так ?
    {$CLEO}
    
    0000:NOP
    
    repeat
    wait 100
    until SAMP.Available()
    
    1@ = 0
    
    while true
     
        if 0ADC:   test_cheat "fz"
        then
            if 0B4C:  samp is_dialog_active -1
            then
                0B4E: samp 1@ = get_current_dialog_id
                0BC9: samp send_dialog_response dialog 1@ button 1 listitem 0 input ""
                wait 100
                0BC9: samp send_dialog_response dialog 1@ button 1 listitem 0 input ""
                wait 100
                0BC9: samp send_dialog_response dialog 1@ button 1 listitem 0 input ""
                wait 100
                0BC9: samp send_dialog_response dialog 1@ button 1 listitem 0 input ""
                wait 100
                0BC9: samp send_dialog_response dialog 1@ button 1 listitem 0 input ""
                wait 100
                0BC9: samp send_dialog_response dialog 1@ button 1 listitem 0 input ""
                wait 100
                0B47: samp close_current_dialog_with_button 1
            end
        end
    
     
  27. grandpafromghetto

    grandpafromghetto Знаток

    Регистрация:
    6 янв 2018
    Сообщения:
    356
    Симпатии:
    92
    на какой тип диалога тебе надо ответить?
     
  28. pO4Ka1337

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

    Регистрация:
    19 авг 2017
    Сообщения:
    44
    Симпатии:
    0
    [​IMG]
     
  29. egorikkz

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

    Регистрация:
    3 мар 2018
    Сообщения:
    16
    Симпатии:
    3
    Как сделать что-бы после покупки 5 айтемов и закрытия окна диалогового, нажималась буква N затем ЕНТЕР и тогда покупался 2 айтем анологично 1му?
    // 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 100
       SAMP.Available
    else_jump @Noname_2
    1@ = 0
    
    :Noname_22
    wait 0
    if
    0ADC:   test_cheat "GG"
    else_jump @Noname_209
    if
       SAMP.IsDialogActive(-1)
    else_jump @Noname_209
    1@ = SAMP.GetDialogID()
    0BC9: samp send_dialog_response dialog 1@ button 1 listitem 1 input ""
    wait 100
    0BC9: samp send_dialog_response dialog 1@ button 1 listitem 1 input ""
    wait 100
    0BC9: samp send_dialog_response dialog 1@ button 1 listitem 1 input ""
    wait 100
    0BC9: samp send_dialog_response dialog 1@ button 1 listitem 1 input ""
    wait 100
    0BC9: samp send_dialog_response dialog 1@ button 1 listitem 1 input ""
    wait 100
    SAMP.CloseDialog(1)
    
    :Noname_209
    jump @Noname_22 
     
  30. Kaktyc007

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

    Регистрация:
    7 сен 2015
    Сообщения:
    52
    Симпатии:
    1
    [​IMG] есть диалог, как работать с его пунктами? а именно находить нужный текст в диалоге?
     
  31. grod

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

    Регистрация:
    20 ноя 2017
    Сообщения:
    7
    Симпатии:
    0
    Как сделать, чтобы Актер бежал на ближайший к нему чекпоинт ?
     
  32. grandpafromghetto

    grandpafromghetto Знаток

    Регистрация:
    6 янв 2018
    Сообщения:
    356
    Симпатии:
    92
    получаешь позицию чекпоинта через соответствующий хук, потом устанавливаешь угол поворота перса в эту точку и эмулишь бег
     
  33. NookieONE

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

    Регистрация:
    5 окт 2017
    Сообщения:
    74
    Симпатии:
    1

    Как сделать перезагрузку скрипта, где есть рендер на экран, чтобы изменились настройки шрифта и т.п.
     
  34. Musaigen

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

    Регистрация:
    1 апр 2018
    Сообщения:
    80
    Симпатии:
    13
    0A92: create_custom_thread "Имя твоего скрипта"
    0A93: end_custom_thread
     
    NookieONE нравится это.
  35. Bond_Jems

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

    Регистрация:
    25 янв 2016
    Сообщения:
    14
    Симпатии:
    0
    Всем привет, хочу написать скрипт который мониторит чат и при нахождении определённой строки достаёт из неё переменную и ищет её в ини файле, после нахождения берёт координаты и ставит чекпоинт, вот код который я написал, он просто не работает(
    
    // 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 
    
    :READ_2
    0001: wait 100 ms 
    0AFA:  is_samp_available 
    004D: jump_if_false @READ_2 
    0B34: samp register_client_command "/hs" to_label @READ_90 
    0B34: samp register_client_command "/hsoff" to_label @READ_42 
    
    :READ_42
    0B43: samp cmd_ret 
    03A4: name_thread 'READ' 
    0001: wait 0 ms 
    00D6: if 
    0AAB:   file_exists "CLEO\Housess.ini" 
    004D: jump_if_false @READ_291 
    
    :READ_90
    0001: wait 0 ms 
    0AC8: 0@ = allocate_memory_size 256 
    0AD3: 0@ = format "Внимание! В доме 228 сработала сигнализация!" 
    0AC8: 1@ = allocate_memory_size 24 
    0AA5: call 8528045 num_params 1 pop 1 "Внимание! В доме %d сработала сигнализация!!" 
    0AF0: 4@ = get_int_from_ini_file "CLEO\Housess.ini" section "Houses" key "%d" 
    018A: 4@ = create_checkpoint_at 14@ 15@ 16@ 
    0AC9: free_allocated_memory 0@ 
    0AC9: free_allocated_memory 1@ 
    0A93: end_custom_thread 
    
    :READ_291
    0001: wait 0 ms 
    0AF8: samp add_message_to_chat "{FFFFFF}Файл с домами не найден." color 16777215 
    0A93: end_custom_thread