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

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

  1. Xuli4

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

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

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

    Проверенный

    Регистрация:
    10.01.16
    Сообщения:
    535
    Лайки:
    123
    Репутация:
    56
    chatmsg "%d" -1 1@
    Цвет забыл
     
    #11042
  3. Xuli4

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

    Регистрация:
    18.01.17
    Сообщения:
    22
    Лайки:
    0
    Репутация:
    0
    Всё равно не работает...
     
    #11043
  4. 7eveNka

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

    Регистрация:
    18.01.16
    Сообщения:
    254
    Лайки:
    32
    Репутация:
    9
    0AF8: samp add_message_to_chat "%d" color 0xFFFFFF 1@
     
    #11044
  5. BlackKnigga

    Проверенный

    Регистрация:
    10.01.16
    Сообщения:
    535
    Лайки:
    123
    Репутация:
    56
    Это тоже самое.
    Значит проблема в другом
     
    #11045
  6. 7eveNka

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

    Регистрация:
    18.01.16
    Сообщения:
    254
    Лайки:
    32
    Репутация:
    9
    возможно у него кейворда нету
     
    #11046
  7. Xuli4

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

    Регистрация:
    18.01.17
    Сообщения:
    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    
    
    

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

    Проверенный

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

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

    Регистрация:
    12.01.16
    Сообщения:
    198
    Лайки:
    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;
    };
     
    #11049
  10. Xuli4

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

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

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

    Регистрация:
    18.01.16
    Сообщения:
    254
    Лайки:
    32
    Репутация:
    9
    alloc 1@ 128
    
    128 - кол-во символов
     
    #11051
  12. Xuli4

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

    Регистрация:
    18.01.17
    Сообщения:
    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    
    
    
     
    #11052
  13. Perojek)0

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

    Регистрация:
    12.01.16
    Сообщения:
    198
    Лайки:
    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
    
     
    #11053
  14. BlackKnigga

    Проверенный

    Регистрация:
    10.01.16
    Сообщения:
    535
    Лайки:
    123
    Репутация:
    56
    Скорее всего у тебя просто на момент проверки не было 99-ой строки. Можешь взять хук который выше, но он продублирует сообщение как только оно придет.
     
    #11054
  15. Xuli4

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

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

    Друг

    Регистрация:
    23.03.13
    Сообщения:
    1.794
    Лайки:
    1.098
    Репутация:
    187
    0B4F: samp 1@ = get_gamestate
    if 1@ == 4
    then
    //
    end
     
    #11056
  17. Xuli4

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

    Регистрация:
    18.01.17
    Сообщения:
    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
    Последнее редактирование: 21 янв 2017
  18. 7eveNka

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

    Регистрация:
    18.01.16
    Сообщения:
    254
    Лайки:
    32
    Репутация:
    9
    по идее он у тебя спамит во время рестарта
     
    #11058
  19. Perojek)0

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

    Регистрация:
    12.01.16
    Сообщения:
    198
    Лайки:
    3
    Репутация:
    2
    хелп плиз
     
    #11059
  20. legend2360

    legend2360 Лятим в космос
    Всефорумный модератор

    Регистрация:
    23.03.13
    Сообщения:
    2.287
    Лайки:
    805
    Репутация:
    462
    iCursorPosition имеет 287 оффсет
     
    #11060
    Perojek)0 нравится это.
  21. Perojek)0

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

    Регистрация:
    12.01.16
    Сообщения:
    198
    Лайки:
    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
    
     
    #11061
  22. Xuli4

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

    Регистрация:
    18.01.17
    Сообщения:
    22
    Лайки:
    0
    Репутация:
    0
    нифига не спамит(
     
    #11062
  23. Xuli4

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

    Регистрация:
    18.01.17
    Сообщения:
    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? Вроде же такого геймстата нету
     
    #11063
  24. BlackKnigga

    Проверенный

    Регистрация:
    10.01.16
    Сообщения:
    535
    Лайки:
    123
    Репутация:
    56
    GAMESTATE_NONE = 0
    GAMESTATE_WAIT_CONNECT = 1
    GAMESTATE_AWAIT_JOIN = 2
    GAMESTATE_CONNECTED = 3
    GAMESTATE_RESTARTING = 4
    GAMESTATE_DISCONNECTED = 5 
     
    #11064
  25. Xuli4

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

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

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

    Регистрация:
    28.11.14
    Сообщения:
    64
    Лайки:
    16
    Репутация:
    9
    ты одно и тоже написал
     
    #11066
  27. Javier_Honda

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

    Регистрация:
    28.11.15
    Сообщения:
    36
    Лайки:
    1
    Репутация:
    0
    показывало до этого
     
    #11067
  28. Perojek)0

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

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

    Проверенный

    Регистрация:
    10.01.16
    Сообщения:
    535
    Лайки:
    123
    Репутация:
    56
    01EA: get_maximum_number_of_passengers 59@ store_to 60@
    В 1@ - хендл кара.
     
    #11069
    Perojek)0 нравится это.
  30. VLnet

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

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

    ddz228 Новичок

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

    Вложения:

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

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

    Регистрация:
    18.01.16
    Сообщения:
    254
    Лайки:
    32
    Репутация:
    9
     

    Вложения:

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

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

    Регистрация:
    27.04.13
    Сообщения:
    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
    Последнее редактирование: 23 янв 2017
  34. hnnssy

    Друг

    Регистрация:
    23.03.13
    Сообщения:
    1.794
    Лайки:
    1.098
    Репутация:
    187
  35. SpawnPro

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

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

    Друг

    Регистрация:
    23.03.13
    Сообщения:
    1.794
    Лайки:
    1.098
    Репутация:
    187
    код открытый, при чём и исходник в нём сохранён, вот и впиши
     
    #11076
  37. SpawnPro

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

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

    Друг

    Регистрация:
    23.03.13
    Сообщения:
    1.794
    Лайки:
    1.098
    Репутация:
    187
    ты шо припадочный
     
    #11078
  39. SpawnPro

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

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

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

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