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

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

  1. Xuli4

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

    Регистрация:
    18.01.2017
    Сообщения:
    22
    Симпатии:
    0
    Репутация:
    0
    Как вывести значение переменной в чат?
    пробовал так:
    
    chatmsg "%d" 1@
    

    не выводит
     
  2. BlackKnigga

    Проверенный

    Регистрация:
    10.01.2016
    Сообщения:
    616
    Симпатии:
    140
    Репутация:
    66
    chatmsg "%d" -1 1@
    Цвет забыл
     
  3. Xuli4

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

    Регистрация:
    18.01.2017
    Сообщения:
    22
    Симпатии:
    0
    Репутация:
    0
    Всё равно не работает...
     
  4. 7eveNka

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

    Регистрация:
    18.01.2016
    Сообщения:
    259
    Симпатии:
    31
    Репутация:
    9
    0AF8: samp add_message_to_chat "%d" color 0xFFFFFF 1@
     
  5. BlackKnigga

    Проверенный

    Регистрация:
    10.01.2016
    Сообщения:
    616
    Симпатии:
    140
    Репутация:
    66
    Это тоже самое.
    Значит проблема в другом
     
  6. 7eveNka

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

    Регистрация:
    18.01.2016
    Сообщения:
    259
    Симпатии:
    31
    Репутация:
    9
    возможно у него кейворда нету
     
  7. Xuli4

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

    Регистрация:
    18.01.2017
    Сообщения:
    22
    Симпатии:
    0
    Репутация:
    0
    всё равно не пашет. Но теперь у меня другой вопрос.
    как задать переменной значение последнего сообщения чата и вывести его в чат ? вот что я сделал:
    
    {$CLEO .cs}
    0000: NOP
    if not 0@ = SAMP.Base()    
    then 0A93: end_custom_thread
    end                        
    while not SAMP.Available() 
            wait 100          
    end 
    gosub @KEY_SCAN                          //ïåðåõîäèì ê ôóíêöèè KEY_SCAN
    :KEY_SCAN                                //íà÷àëî ôóíêöèè
    wait 0                                   //ýòî ïèøåòñÿ âñåãäà
    if 0AB0:   key_pressed 121               //åñëè íàæàëè "+" âûïîëíÿåì íàø êîä
    jf @KEY_SCAN                             //èíà÷å ïðûãàåì â íà÷àëî ôóíêöèè
    wait 100                                 //çàäåðæêà íà ñðàáàòûâàíèå êíîïêè        
    0A9A: 1@ = openfile "C:\Users\Frolien\Documents\GTA San Andreas User Files\SAMP\chatlog.txt" mode "rt"
    0AD7: read_string_from_file 1@ to 2@v size 15 // IF and SET
    0AD4: 21@ = scan_string 2@v format "[%d:%d:%d] %s" 7@ 8@ 9@ 6@v  
    0AF8: chatmsg "%s" -1 6@v
    jump @KEY_SCAN    
    
    

    не пашет...
     
  8. BlackKnigga

    Проверенный

    Регистрация:
    10.01.2016
    Сообщения:
    616
    Симпатии:
    140
    Репутация:
    66
    0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
    В 1@ будет текст последней(99) строки чата. Не забудь выделить память под строку в 1@.
     
  9. Perojek)0

    Perojek)0 Известный пользователь

    Регистрация:
    12.01.2016
    Сообщения:
    204
    Симпатии:
    3
    Репутация:
    2
    Поч не робит? Хочу получить iCursorPosition
    
    0BAF: samp 0@ = get_input_info_ptr
    0C0C: 1@ = struct 0@ offset 8 size 4
    0C0C: 2@ = struct 1@ offset 17 size 4
    
    struct stInputBox
    {
    void *pUnknown;
    uint8_t bIsChatboxOpen;
    uint8_t bIsMouseInChatbox;
    uint8_t bMouseClick_related;
    uint8_t unk;
    DWORD dwPosChatInput[2];
    uint8_t unk2[263];
    int iCursorPosition;
    uint8_t unk3;
    int iMarkedText_startPos; // Highlighted text between this and iCursorPosition
    uint8_t unk4[20];
    int iMouseLeftButton;
    };
     
  10. Xuli4

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

    Регистрация:
    18.01.2017
    Сообщения:
    22
    Симпатии:
    0
    Репутация:
    0
    пипец я 2 дня с клео языком знаком)) можешь пояснить как и сколько памяти выделить? ато зарукожплю ещё)
     
  11. 7eveNka

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

    Регистрация:
    18.01.2016
    Сообщения:
    259
    Симпатии:
    31
    Репутация:
    9
    alloc 1@ 128
    
    128 - кол-во символов
     
  12. Xuli4

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

    Регистрация:
    18.01.2017
    Сообщения:
    22
    Симпатии:
    0
    Репутация:
    0
    Я определённо что-то не так делаю...
    
    {$CLEO .cs}
    0000: NOP
    if not 0@ = SAMP.Base()    
    then 0A93: end_custom_thread
    end                        
    while not SAMP.Available() 
            wait 100          
    end 
    gosub @KEY_SCAN                     
    :KEY_SCAN                          
    wait 0                            
    if 0AB0:   key_pressed 121        
    jf @KEY_SCAN                           
    wait 100                            
    alloc 1@ 128      
    0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
    chatmsg "%s" -1 1@
    jump @KEY_SCAN    
    
    
     
  13. Perojek)0

    Perojek)0 Известный пользователь

    Регистрация:
    12.01.2016
    Сообщения:
    204
    Симпатии:
    3
    Репутация:
    2
    
    {$CLEO}
    {$INCLUDE SF}
    0000:
    
    repeat
        wait 300
    until 0AFA:  is_samp_available
    
    0BE1: raknet setup_outcoming_rpc_hook @hook
    
    while true
    wait 0
    end
    
    :hook
    0BE5: raknet 3@ = get_hook_param PARAM_PACKETID
    if
    3@==93
    then
    0BE5: raknet 4@ = get_hook_param PARAM_BITSTREAM                     
    0AC8: 7@ = allocate_memory_size 150
    0BE7: raknet 5@ = bit_stream_read 4@ type BS_TYPE_INT
    0BE7: raknet 6@ = bit_stream_read 4@ type BS_TYPE_INT
    0BE8: raknet bit_stream 4@ read_array 7@ size 6@
    0C1E: array 7@ element 6@ el_size 1 = 0
    0AF8: samp add_message_to_chat "%s" color -1 7@
    0AC9: free_allocated_memory 7@
    end
    0BE0: raknet hook_ret true
    
     
  14. BlackKnigga

    Проверенный

    Регистрация:
    10.01.2016
    Сообщения:
    616
    Симпатии:
    140
    Репутация:
    66
    Скорее всего у тебя просто на момент проверки не было 99-ой строки. Можешь взять хук который выше, но он продублирует сообщение как только оно придет.
     
  15. Xuli4

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

    Регистрация:
    18.01.2017
    Сообщения:
    22
    Симпатии:
    0
    Репутация:
    0
    аааа сложна.. кароче не получилось( может есть какой-то опкод который выявляет рестарт сервера? тоесть мне нужно что-то типо такого:
    [неизвестная мне команда которая выявляет рестарт сервера]
    jump @какая-то точка
    в общем нужно чтоб при рестарте сервака происходил джамп на какую-то метку. Надеюсь понятно объяснил)
     
  16. hnnssy

    hnnssy Creator of mgmoldova's mother
    Друг

    Регистрация:
    23.03.2013
    Сообщения:
    1.817
    Симпатии:
    1.110
    Репутация:
    187
    0B4F: samp 1@ = get_gamestate
    if 1@ == 4
    then
    //
    end
     
  17. Xuli4

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

    Регистрация:
    18.01.2017
    Сообщения:
    22
    Симпатии:
    0
    Репутация:
    0
    Не пашет что-то
    
    {$CLEO .cs}
    0000: NOP
    if not 0@ = SAMP.Base()    
    then 0A93: end_custom_thread
    end                        
    while not SAMP.Available() 
            wait 100          
    end 
    repeat                        
    wait 0
    0B4F: samp 1@ = get_gamestate
    if 1@ == 4
    then
    chatmsg "ëîë"  0x00FF66
    end
    until false
    
    
    по идее должен спамить словом лол после рестарта но не спамит(
    пробовал ещё так:
    
    [B]{$CLEO .cs}
    0000: NOP
    if not 0@ = SAMP.Base()    
    then 0A93: end_custom_thread
    end                        
    while not SAMP.Available() 
            wait 100          
    end 
    gosub @KEY_SCAN                          
    :KEY_SCAN                                
    wait 0                                  
    if 0AB0:   key_pressed 121              
    jf @KEY_SCAN                            
    wait 100              
    0B27: samp set_gamestate 1@
    chatmsg "%d" -1 1@
    jump @KEY_SCAN 
    

    в чат пишет 0 и выкидывает на экран коннекта. Я вижу как админы кому-то варны дают и так далее но ничего не происходит просто экран загрузки(на котором пальмы и море как при коннекте).
     
    #11057 Xuli4, 20 янв 2017
    Последнее редактирование: 21 янв 2017
  18. 7eveNka

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

    Регистрация:
    18.01.2016
    Сообщения:
    259
    Симпатии:
    31
    Репутация:
    9
    по идее он у тебя спамит во время рестарта
     
  19. Perojek)0

    Perojek)0 Известный пользователь

    Регистрация:
    12.01.2016
    Сообщения:
    204
    Симпатии:
    3
    Репутация:
    2
    хелп плиз
     
  20. legend2360

    legend2360   ¯\_(°□°)_/¯
    Всефорумный модератор

    Регистрация:
    23.03.2013
    Сообщения:
    2.387
    Симпатии:
    846
    Репутация:
    479
    iCursorPosition имеет 287 оффсет
     
    Perojek)0 нравится это.
  21. Perojek)0

    Perojek)0 Известный пользователь

    Регистрация:
    12.01.2016
    Сообщения:
    204
    Симпатии:
    3
    Репутация:
    2
    Значение iCursorPosition почему-то не меняется. Выводит всегда 0.
    Если я правильно понял, то этот параметр должен показывать позицию курсора в строке вывода. Это так или я в чём-то ошибся?)
    
    0BAF: samp 0@ = get_input_info_ptr
    0C0C: 1@ = struct 0@ offset 8 size 4
    0C0C: 2@ = struct 1@ offset 287 size 4
    
     
  22. Xuli4

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

    Регистрация:
    18.01.2017
    Сообщения:
    22
    Симпатии:
    0
    Репутация:
    0
    нифига не спамит(
     
  23. Xuli4

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

    Регистрация:
    18.01.2017
    Сообщения:
    22
    Симпатии:
    0
    Репутация:
    0
    и почему
    
    {$CLEO .cs}
    0000: NOP
    if not 0@ = SAMP.Base()    
    then 0A93: end_custom_thread
    end                        
    while not SAMP.Available() 
            wait 100          
    end 
    gosub @KEY_SCAN                          
    :KEY_SCAN                                
    wait 0                                  
    if 0AB0:   key_pressed 121              
    jf @KEY_SCAN                            
    wait 100              
    0B27: samp set_gamestate 1@
    chatmsg "%d" -1 1@
    jump @KEY_SCAN 
    
    

    в чат пишет 0? Вроде же такого геймстата нету
     
  24. BlackKnigga

    Проверенный

    Регистрация:
    10.01.2016
    Сообщения:
    616
    Симпатии:
    140
    Репутация:
    66
    GAMESTATE_NONE = 0
    GAMESTATE_WAIT_CONNECT = 1
    GAMESTATE_AWAIT_JOIN = 2
    GAMESTATE_CONNECTED = 3
    GAMESTATE_RESTARTING = 4
    GAMESTATE_DISCONNECTED = 5 
     
  25. Xuli4

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

    Регистрация:
    18.01.2017
    Сообщения:
    22
    Симпатии:
    0
    Репутация:
    0
    омг я аутист... вместо 0B4F: samp 1@ = get_gamestate использовал 0B4F: samp 1@ = set_gamestate.... И ещё удивлялся почему не работает...
     
  26. kennex

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

    Регистрация:
    28.11.2014
    Сообщения:
    69
    Симпатии:
    16
    Репутация:
    9
    ты одно и тоже написал
     
  27. Javier_Honda

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

    Регистрация:
    28.11.2015
    Сообщения:
    35
    Симпатии:
    1
    Репутация:
    0
    показывало до этого
     
  28. Perojek)0

    Perojek)0 Известный пользователь

    Регистрация:
    12.01.2016
    Сообщения:
    204
    Симпатии:
    3
    Репутация:
    2
    Как можно узнать кол-во мест в каре и иды пассажиров?
     
  29. BlackKnigga

    Проверенный

    Регистрация:
    10.01.2016
    Сообщения:
    616
    Симпатии:
    140
    Репутация:
    66
    01EA: get_maximum_number_of_passengers 59@ store_to 60@
    В 1@ - хендл кара.
     
    Perojek)0 нравится это.
  30. VLnet

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

    Регистрация:
    02.11.2015
    Сообщения:
    16
    Симпатии:
    0
    Репутация:
    0
    Использую опкод 05d1 - врубает автопилот для актёра. Вопрос: как вырубить этот автопилот? Или заставить работать при зажатой клавише?
     
  31. ddz228

    ddz228 Новичок

    Регистрация:
    11.04.2015
    Сообщения:
    2
    Симпатии:
    0
    Репутация:
    0
    приветствую, господа.
    лазил по сайту, так и не нашел.
    каким образом сделать так, чтобы во время открытого чата скрипт не активировался?
    ps: скрипт хавает 160 нарко со сбивом на клавишу X (Ч рус.), когда в чате что-то пишу, употребляется нарко.
    pss: буду благодарен за помощь.
     

    Вложения:

    • narkosbiv160.cs
      Размер файла:
      17,7 КБ
      Просмотров:
      1
  32. 7eveNka

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

    Регистрация:
    18.01.2016
    Сообщения:
    259
    Симпатии:
    31
    Репутация:
    9
     

    Вложения:

    • narkosbiv160.cs
      Размер файла:
      19,4 КБ
      Просмотров:
      3
  33. SpawnPro

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

    Регистрация:
    27.04.2013
    Сообщения:
    15
    Симпатии:
    0
    Репутация:
    -1
    ребят хелпаните пожалуйста, умоляю
    вообще сам не шарю в скриптинге не каплю, могу только какие то строки заменить и то не факт что получится скомпилировать.
    Вообщем автор скрипта:
    DarkP1xel, суть скрипта, то что он показывал где находятся на даймонд рп во время акции тыквы(пикапы тыкв) за которые давали деньги, но его правда кто то переделал под несколько пикапов, но не в этом суть, я его нашел, и мне надо что бы за место пикапов он искал объекты, я прям вообще хз как это сделать, для серверов выживания прям то что нужно, для поиска лута, помогите пожалуйста.

    {$CLEO .cs}

    //-------------MAIN---------------
    0000: NOP

    :NONAME_2
    0001: wait 0 ms
    0AFA: is_samp_available
    004D: jump_if_false @NONAME_2
    0BB9: samp 0@ = get_pickup_pool_ptr

    :NONAME_20
    0001: wait 0 ms
    0006: 1@ = 0

    :NONAME_31
    00D6: if
    0B51: samp 2@ = pickup_handle_by_id 1@
    004D: jump_if_false @NONAME_271
    0A90: 2@ = 1@ * 20 // int
    000A: 2@ += 61444
    000A: 2@ += 0@
    0A8D: 3@ = read_memory 2@ size 4 virtual_protect 1
    00D6: if or
    0039: 3@ == 19054
    0039: 3@ == 19055
    0039: 3@ == 19056
    0039: 3@ == 19057
    0039: 3@ == 19058
    004D: jump_if_false @NONAME_271
    0C0C: 3@ = struct 2@ offset 8 size 4
    0C0C: 4@ = struct 2@ offset 12 size 4
    0C0C: 5@ = struct 2@ offset 16 size 4
    00D6: if
    00C2: sphere_onscreen 3@ 4@ 5@ radius 5.0
    004D: jump_if_false @NONAME_271
    0B55: convert_3D_coords 3@ 4@ 5@ to_screen 3@ 4@
    00A0: store_actor $PLAYER_ACTOR position_to 5@ 6@ 7@
    0B55: convert_3D_coords 5@ 6@ 7@ to_screen 5@ 6@
    0B68: render draw_line_point1 5@ 6@ point2 3@ 4@ width 1 color -23296

    :NONAME_271
    000A: 1@ += 1
    0019: 1@ > 4096
    004D: jump_if_false @NONAME_31
    0002: jump @NONAME_20

     
    #11073 SpawnPro, 23 янв 2017
    Последнее редактирование: 23 янв 2017
  34. hnnssy

    hnnssy Creator of mgmoldova's mother
    Друг

    Регистрация:
    23.03.2013
    Сообщения:
    1.817
    Симпатии:
    1.110
    Репутация:
    187
  35. SpawnPro

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

    Регистрация:
    27.04.2013
    Сообщения:
    15
    Симпатии:
    0
    Репутация:
    -1
    он вроде все объекты показывает, а так я бы вписал просто несколько в клео и он бы указывал где рюкзак находится например id 371, все равно спасибо за ответ
     
  36. hnnssy

    hnnssy Creator of mgmoldova's mother
    Друг

    Регистрация:
    23.03.2013
    Сообщения:
    1.817
    Симпатии:
    1.110
    Репутация:
    187
    код открытый, при чём и исходник в нём сохранён, вот и впиши
     
  37. SpawnPro

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

    Регистрация:
    27.04.2013
    Сообщения:
    15
    Симпатии:
    0
    Репутация:
    -1
    дело в том что там именно на пикапы он действует, а не на объекты, если бы на объекты был, я бы вписал.
     
  38. hnnssy

    hnnssy Creator of mgmoldova's mother
    Друг

    Регистрация:
    23.03.2013
    Сообщения:
    1.817
    Симпатии:
    1.110
    Репутация:
    187
    ты шо припадочный
     
  39. SpawnPro

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

    Регистрация:
    27.04.2013
    Сообщения:
    15
    Симпатии:
    0
    Репутация:
    -1
    друг, я имел ввиду скрипт от DarkP1xel, а ты имел ввиду про pool render, в любом случае в не одном из них я не знаю куда поставить, где заменить, так что бы показывало именно ид предмета нужный мне, если поставлю в скрипт от DarkP1xel, то он будет показывать именно пикап, а не объект, а в pool render, даже не знаю куда, что, где, и как, там есть что то типо Max_Objects или что то такое может это нужно, я не знаю.
     
    Последние данные очков репутации:
    VLnet: -1 Очки (translate.google.com.ua - для кого придумали?) 23 янв 2017
  40. kraft1k

    kraft1k {$CLEO .cs}
    Проверенный

    Регистрация:
    29.09.2014
    Сообщения:
    428
    Симпатии:
    98
    Репутация:
    50
    Ладно, впишу сам. Точный сервер скажи, и объекты которые нужно искать.
     
    Последние данные очков репутации:
    SpawnPro: 1 Очко (Очень помог в клео: поиск лута, хороший человек) 23 янв 2017
    SpawnPro нравится это.