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

hnnssy

Известный
Друг
2,684
2,768
CLEO:
{$CLEO}
0000: NOP

wait 2000

0B34: samp register_client_command "mat" to label @mat

0BDE: pause_thread 0

:mat
0B35: samp 1@ = get_last_command_params
if 0AD4: 2@ = scan_string 1@ format "%d" 0@
then
    if 0B23: samp is_player_connected 0@
    then
        0AF9: samp say_msg "/mute %d 60 мат" 0@
    else
        0AF8: samp add_message_to_chat "Игрок не подключён." color 0xFFFFFF
    end
end
0B43: samp cmd_ret
 
  • Нравится
Реакции: Scrix и mixeq

Karbun

Участник
112
3
Как кликнуть на зелёный текстдрав?

В PoolRender от mgmoldova есть 2 типа тестдравов, красные (которые нажимаются) и зеленые (на которые я нажать не могу). Подскажите, как можно нажимать на зеленые?
Пробовал опкод 0BCA: samp send_click_textdraw 0@, но он не нажимает...

fcc1dbb40aba.png
 

Karbun

Участник
112
3
А чем они отличаются? Допустим если я сделаю проверку на 59 текстдрав (>>>SPAWN<<<) if 0C5D: samp textdraw 59 is_exists..., он будет также работать как и 4 (иконка дракона) if 0C5D: samp textdraw 4 is_exists...
 

hnnssy

Известный
Друг
2,684
2,768
на клик по 59 текстдраву сервер отреагирует, а на 4 - нет
чё за вопросы
 

Karbun

Участник
112
3
просто я хочу сделать автонажатие клавиш для мини игры, а текстдравы, по которым надо кликать зеленого цвета, более того, если выводить из через цикл for, то они не 68,69... а 2116,2117...

GuCuoRi.png


--------------------------------------------------------
ID ТЕКСТДРАВА: 2116
Текст из текстдрава: LD_BEAT:left
--------------------------------------------------------
ID ТЕКСТДРАВА: 2117
Текст из текстдрава: LD_BEAT:down
--------------------------------------------------------
ID ТЕКСТДРАВА: 2118
Текст из текстдрава: LD_BEAT:right
--------------------------------------------------------
ID ТЕКСТДРАВА: 2119
Текст из текстдрава: LD_BEAT:up
--------------------------------------------------------
ID ТЕКСТДРАВА: 2120
Текст из текстдрава: LD_BEAT:up
--------------------------------------------------------

И вот я не пойму, как это реализовать
 

hnnssy

Известный
Друг
2,684
2,768
потому что это персональные текстдравы, а мгмолдова нуб, судя по всему
 

Karbun

Участник
112
3
Ну так прикол в том, что они не нажимаются... По идее, когда слева появляется стрелка вверх, то она справа должна нажаться...судя по всему стрелка слева - это 2120 текстдрав, но нажатия не происходит...

CLEO:
while true
wait 0
:start
wait 0
if 20@ == 1
then
if 0C5D: samp textdraw 2120 is_exists
then
     0C5A: samp textdraw 2120 get_string_to 15@
                                                                                                                                                                          
     if 0C18: 24@ = strstr string1 15@ string2 "LD_BEAT:up"
     then
     wait 0
     for 16@ = 2116 to 2119
     0C5A: samp textdraw 16@ get_string_to 10@
     wait 0
         if 0C18: 24@ = strstr string1 10@ string2 "LD_BEAT:up"
         then
         0af8: "Стрелка вверх" -1
         wait 1500
         0BCA: samp send_click_textdraw 16@
         end                                                                        
     end
     end
   

     if 0C18: 24@ = strstr string1 15@ string2 "LD_BEAT:left"
     then
     wait 0
     for 16@ = 2116 to 2119
     0C5A: samp textdraw 16@ get_string_to 10@
     wait 0
         if 0C18: 24@ = strstr string1 10@ string2 "LD_BEAT:left"
         then
         0af8: "Стрелка влево" -1
         wait 1500
         0BCA: samp send_click_textdraw 16@

         end
     end
     end
   

     if 0C18: 24@ = strstr string1 15@ string2 "LD_BEAT:right"
     then
     wait 0
     for 16@ = 2116 to 2119
     0C5A: samp textdraw 16@ get_string_to 10@
     wait 0
         if 0C18: 24@ = strstr string1 10@ string2 "LD_BEAT:right"
         then
         0af8: "Стрелка вправо" -1
         wait 1500
         0BCA: samp send_click_textdraw 16@

         end
     end
     end
   
  
   

     if 0C18: 24@ = strstr string1 15@ string2 "LD_BEAT:down"
     then
     wait 0
     for 16@ = 2116 to 2119
     0C5A: samp textdraw 16@ get_string_to 10@
     wait 0
         if 0C18: 24@ = strstr string1 10@ string2 "LD_BEAT:down"
         then
         0af8: "Стрелка вниз" -1
         wait 1500
         0BCA: samp send_click_textdraw 16@
         end
     end
     end
   
end  
end
end
Может ты разберешься, что не так? Над кодом уже часа 3 думаю, не получается.
 

BlackKnigga

Известный
BH Team
922
447
Ну так прикол в том, что они не нажимаются... По идее, когда слева появляется стрелка вверх, то она справа должна нажаться...судя по всему стрелка слева - это 2120 текстдрав, но нажатия не происходит...

CLEO:
while true
wait 0
:start
wait 0
if 20@ == 1
then
if 0C5D: samp textdraw 2120 is_exists
then
     0C5A: samp textdraw 2120 get_string_to 15@
                                                                                                                                                                        
     if 0C18: 24@ = strstr string1 15@ string2 "LD_BEAT:up"
     then
     wait 0
     for 16@ = 2116 to 2119
     0C5A: samp textdraw 16@ get_string_to 10@
     wait 0
         if 0C18: 24@ = strstr string1 10@ string2 "LD_BEAT:up"
         then
         0af8: "Стрелка вверх" -1
         wait 1500
         0BCA: samp send_click_textdraw 16@
         end                                                                      
     end
     end
 

     if 0C18: 24@ = strstr string1 15@ string2 "LD_BEAT:left"
     then
     wait 0
     for 16@ = 2116 to 2119
     0C5A: samp textdraw 16@ get_string_to 10@
     wait 0
         if 0C18: 24@ = strstr string1 10@ string2 "LD_BEAT:left"
         then
         0af8: "Стрелка влево" -1
         wait 1500
         0BCA: samp send_click_textdraw 16@

         end
     end
     end
 

     if 0C18: 24@ = strstr string1 15@ string2 "LD_BEAT:right"
     then
     wait 0
     for 16@ = 2116 to 2119
     0C5A: samp textdraw 16@ get_string_to 10@
     wait 0
         if 0C18: 24@ = strstr string1 10@ string2 "LD_BEAT:right"
         then
         0af8: "Стрелка вправо" -1
         wait 1500
         0BCA: samp send_click_textdraw 16@

         end
     end
     end
 

 

     if 0C18: 24@ = strstr string1 15@ string2 "LD_BEAT:down"
     then
     wait 0
     for 16@ = 2116 to 2119
     0C5A: samp textdraw 16@ get_string_to 10@
     wait 0
         if 0C18: 24@ = strstr string1 10@ string2 "LD_BEAT:down"
         then
         0af8: "Стрелка вниз" -1
         wait 1500
         0BCA: samp send_click_textdraw 16@
         end
     end
     end
 
end
end
end
Может ты разберешься, что не так? Над кодом уже часа 3 думаю, не получается.
Потому что в пуле текстдравов они идут после 2048 штук глобальных текстдравов. Это лекго проверить если вычесть "реальный" ид текстдрава из того что показывает скрипт мгмолдовы. Клик на текстдрав отправляй тот что выдает скрипт, а проверяй текст по тому, что ты называешь "реальным" идом.

Можешь, к примеру, получать ид текстдрава по тексту и позже из этого ида вычитать 2048 и отправлять клик серверу
 

p1cador

cerf
Проверенный
221
359
@hnnssy @Karbun я канешн хз, но мб они и не должны нажиматься, а просто показывают, что надо нажать на клаве?
 

hnnssy

Известный
Друг
2,684
2,768
ну это уже надо спросить у чудика, который это делает
я-то не заходил на сервер и не смотрел как это говно устроено
 

romanblinov2013

RB_PRO
Проверенный
212
196
Есть 1 вопрос...
Делаю бота и в месте, где нужно выгружать груз, надо нажимать клавишу "Caps Lock". Какой опкод за это отвечает?
 
  • Нравится
Реакции: SYXA