Помогите добавить нажатие клавиши в диалоговом окне.

Статус
В этой теме нельзя размещать новые ответы.

MrCat

Новичок
Автор темы
28
0
Ребята, есть вот такой код:
:Noname_138
wait 0
SAMP.GetChatString(99, 0@, 0, 0, 0)
strstr 1@ 0@ "Чтобы завести транспорт, набери"
else_jump @Noname_236
wait 15
say "/engine"
free 0@
free 1@
jump @Noname_122
После того как скрипт пропишет команду "/engine", как сделать, чтобы он в диалоговом окне автоматически нажал нужную мне клавишу? (Enter). Тоесть. В чате появляет строка "Чтобы завести транспорт, набери", после этого он прописует в чат "/engine" и должен автоматически нажать ENTER. Какой будет код?
 

kuleer

Участник
86
13
CLEO:
{$CLEO}
0000:
repeat
wait 0
until samp.Available()

while true
wait 0
    alloc 0@ 180
    0B75: samp get_chat_string 99 text_to 0@ prefix_to 0 color_to 0 prefix_color_to 0
    if 0C29: 2@ = stristr string1 0@ string2 "Чтобы завести транспорт, набери"
    then
        wait 50
        say "/engine"
        repeat
        wait 0
        until samp.IsDialogActive(-1)
        wait 30
        0B47: samp close_current_dialog_with_button 1
    end
    free 0@
end
Вот готовый код, он ждёт пока появится диалог потом уже кликает ENTER
 
  • Нравится
Реакции: MrCat

MrCat

Новичок
Автор темы
28
0
CLEO:
{$CLEO}
0000:
repeat
wait 0
until samp.Available()

while true
wait 0
    alloc 0@ 180
    0B75: samp get_chat_string 99 text_to 0@ prefix_to 0 color_to 0 prefix_color_to 0
    if 0C29: 2@ = stristr string1 0@ string2 "Чтобы завести транспорт, набери"
    then
        wait 50
        say "/engine"
        repeat
        wait 0
        until samp.IsDialogActive(-1)
        wait 30
        0B47: samp close_current_dialog_with_button 1
    end
    free 0@
end
Вот готовый код, он ждёт пока появится диалог потом уже кликает ENTER
Почему работает только 1 раз? Т.с 1 раз он сделал что должен и дальше игнорить "Двигатель заглох" больше не прописует /engine и не жмякает enter
 
Последнее редактирование:

kuleer

Участник
86
13
Почему работает только 1 раз? Т.с 1 раз он сделал что должен и дальше игнорить "Двигатель заглох" больше не прописует /engine и не жмякает enter
Так он только на 1 строку работает. На "Двигатель заглох" уже не пашет, может я тебя неправильно понял, по лучше объясни, а то хуй поймёшь, то ли это кусок полной строки, то ли утверждение.
 

LaRossa

Потрачен
429
117
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Почему работает только 1 раз? Т.с 1 раз он сделал что должен и дальше игнорить "Двигатель заглох" больше не прописует /engine и не жмякает enter
Код:
{$CLEO}
0000:
while not Samp.Available()
wait 0
end

while true
wait 0
    0AC8: 0@ = allocate_memory_size 260
    0B75: samp get_chat_string 99 text_to 0@ prefix_to 0 color_to 0 prefix_color_to 0
    if or
    0C29: 2@ = stristr string1 0@ string2 "Что бы завести транспорт, наберите"
    0C29: 2@ = stristr string1 0@ string2 "Двигатель заглох"
    then
        wait 50
        say "/engine"
        repeat
        wait 0
        until samp.IsDialogActive(-1)
        wait 30
        0B47: samp close_current_dialog_with_button 1
    end
    0AC9: free_allocated_memory 0@
end
 
  • Нравится
Реакции: yxTbl

MrCat

Новичок
Автор темы
28
0
Так он только на 1 строку работает. На "Двигатель заглох" уже не пашет, может я тебя неправильно понял, по лучше объясни, а то хуй поймёшь, то ли это кусок полной строки, то ли утверждение.
Вот идет первая строка "Чтобы завести транспорт, набери", скрипт написал /engine и нажал Enter. Потом опять появилась строка "Чтобы завести транспорт, набери", но на нее скрипту уже посрать.
 

kuleer

Участник
86
13
Вот идет первая строка "Чтобы завести транспорт, набери", скрипт написал /engine и нажал Enter. Потом опять появилась строка "Чтобы завести транспорт, набери", но на нее скрипту уже посрать.
странно, должен пахать
 

MrCat

Новичок
Автор темы
28
0
Код:
{$CLEO}
0000:
while not Samp.Available()
wait 0
end

while true
wait 0
    0AC8: 0@ = allocate_memory_size 260
    0B75: samp get_chat_string 99 text_to 0@ prefix_to 0 color_to 0 prefix_color_to 0
    if or
    0C29: 2@ = stristr string1 0@ string2 "Что бы завести транспорт, наберите"
    0C29: 2@ = stristr string1 0@ string2 "Двигатель заглох"
    then
        wait 50
        say "/engine"
        repeat
        wait 0
        until samp.IsDialogActive(-1)
        wait 30
        0B47: samp close_current_dialog_with_button 1
    end
    0AC9: free_allocated_memory 0@
end
не в этом суть. Не важно, что 2 строки. Просто он 1 раз прописал /engine и дальше на строку о завести ему срать :D
 

LaRossa

Потрачен
429
117
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
не в этом суть. Не важно, что 2 строки. Просто он 1 раз прописал /engine и дальше на строку о завести ему срать :D
Это скорее всего из за проверки на диалог. Там цикл пока он не выполнится он не будет чекать.
Попробуй этот вариант (убрал проверку на диалог).
Код:
{$CLEO}
0000:
while not Samp.Available()
wait 0
end

while true
wait 0
    0AC8: 0@ = allocate_memory_size 260
    0B75: samp get_chat_string 99 text_to 0@ prefix_to 0 color_to 0 prefix_color_to 0
    if or
    0C29: 2@ = stristr string1 0@ string2 "Что бы завести транспорт, наберите"
    0C29: 2@ = stristr string1 0@ string2 "Двигатель заглох"
    then
        wait 50
        say "/engine"
        wait 300
        0B47: samp close_current_dialog_with_button 1
        0AC9: free_allocated_memory 0@
    end
end
 
  • Нравится
Реакции: MrCat

MrCat

Новичок
Автор темы
28
0
Это скорее всего из за проверки на диалог. Там цикл пока он не выполнится он не будет чекать.
Попробуй этот вариант (убрал проверку на диалог).
Код:
{$CLEO}
0000:
while not Samp.Available()
wait 0
end

while true
wait 0
    0AC8: 0@ = allocate_memory_size 260
    0B75: samp get_chat_string 99 text_to 0@ prefix_to 0 color_to 0 prefix_color_to 0
    if or
    0C29: 2@ = stristr string1 0@ string2 "Что бы завести транспорт, наберите"
    0C29: 2@ = stristr string1 0@ string2 "Двигатель заглох"
    then
        wait 50
        say "/engine"
        wait 300
        0B47: samp close_current_dialog_with_button 1
        0AC9: free_allocated_memory 0@
    end
end
Все работает. Спасибо.
 
Статус
В этой теме нельзя размещать новые ответы.