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

Bogach

Активный
558
27
Значит на сервере срабатывает анти-флуд
Всё там нормально
абсурд, раньше было все нормально, он ни единой строчки опкода 0af9 не пускает в чат, при этом не пишет мол "не флудите".
Просто в один прекрасный день именно это и перестало работать, вот я и хочу понять в чем причина, ведь я хочу и дальше пользоваться этим скриптом, я не знаю, что делать.
 

RedBoxWhite

Известный
337
27
У тебя координата Z на одном уровне. Квадрата не получается. В точке B координату Z уменьши немного.
Действительно, заработало. Но почему-то скрипт работает сразу, как только запущена игра, а мне надо чтобы таймер включался именно на этом периметре. Вроде же поставил изначально timer false, а true когда находишься на периметре, что-то не понимаю. Что это может быть?
 

The_North_Fake

Новичок
15
0
Ребят, прошу помощи, после долгих раздумий, я просто не знаю что делать, делал клео "мп хелпер" давно ещё, три дня назад и ранее все замечательно работало, а вчера или даже ещё позавчера вечером, вдруг перестало кое-какие функции работать, хотя написано было все правильно, перепроверял сотню раз, после этого, я решил переписать клео заново и проверяя, чтобы не было ошибок, дописал, зашел в игру протестить и ничего не изменилось, тоже самое не работает.
Самое странное, что после проверок, я выяснил, что не работает опкод "0af9"
вот часть кода:
Код:
repeat
wait 0
if 0ADC:   test_cheat "MP"
then
0AC6: 0@ = label @MainBuffer2 offset
0AC6: 0@ = label @pred_spisok offset
0B3B: samp show_dialog id 1000 caption "{008cf0}МП Helper" text 0@ button_1 "-ok-" button_2 "-close-" style DIALOG_STYLE_LIST
end
if 0B3C:  samp is_dialog_responded id 1000 button 1@ list_item 2@ input_text 0
then
    if 1@ == 1 // Если была нажата кнопка -ok-
    then
        if 2@ == 0 // Если был выбран первый пункт списка (Оповещение о казаках)
        then
            0AF9: samp say_msg "Сейчас пройдут 'Казаки-разбойники' (/tp)."
            0AF9: samp say_msg "Для участия необходимо иметь: 5 Уровень и 1500$."
        end
        if 2@ == 1 // Если был выбран второй пункт списка (Оповещение о гонках)
        then
            0AF9: samp say_msg "Сейчас пройдёт МП 'Гонки'.(/tp)"
            0AF9: samp say_msg "Для участия необходимо иметь: 4 уровень + 1000$."
        end
        if 2@ == 2 // Если был выбран третий пункт списка (МП остаться в живых)
        then
            // 0050: gosub @mpsponsorgosub
            chatmsg "2-ой пункт работает" -1
            0AF9: samp say_msg "Уважаемые игроки! Сейчас пройдет мероприятие 'Остаться в живых'."
            0AF9: samp say_msg "Желающие, пишите /tp. Кого телепортировали, встаем в строй."
            0AF9: samp say_msg "Спонсор: %s. Приз: %s, скин, авто."
            0AF9: samp say_msg "На МП запрещено DM, сбив и другие нарушения, в том числе и маска."
            // 0AC9: free_allocated_memory 4@
            // 0AC9: free_allocated_memory 6@
        end
   else
   end
end
Первые 2 пункта меню отлично работают. Начиная с третьего, не отправляется текст написанный в опкоде "0af9", a "0af8" работает
Подскажите в чем проблема пожалуйста, если знаете.:sorry:
Если я правильно тебя понял, то после этой проверки 0B3C: samp is_dialog_responded id 1000 button 1@ list_item 2@ input_text 0 скрипт дальше не шагает. В данном куске скрипта все правильно, есть предположение, что ошибка в list_item 2@, мб где-то там ошибка
0AC6: 0@ = label @MainBuffer2 offset
0AC6: 0@ = label @pred_spisok offset
? И зачем else в конце (если ты конечно не вырезал кусок)?
Мб сделай так:
CLEO:
if 2@ == 0 // Если был выбран первый пункт списка (Оповещение о казаках)
        then
            0AF9: samp say_msg "Сейчас пройдут 'Казаки-разбойники' (/tp)."
            0AF9: samp say_msg "Для участия необходимо иметь: 5 Уровень и 1500$."
        else
        if 2@ == 1 // Если был выбран второй пункт списка (Оповещение о гонках)
        then
            0AF9: samp say_msg "Сейчас пройдёт МП 'Гонки'.(/tp)"
            0AF9: samp say_msg "Для участия необходимо иметь: 4 уровень + 1000$."
        else
        if 2@ == 2 // Если был выбран третий пункт списка (МП остаться в живых)
        then
            // 0050: gosub @mpsponsorgosub
            chatmsg "2-ой пункт работает" -1
            0AF9: samp say_msg "Уважаемые игроки! Сейчас пройдет мероприятие 'Остаться в живых'."
            0AF9: samp say_msg "Желающие, пишите /tp. Кого телепортировали, встаем в строй."
            0AF9: samp say_msg "Спонсор: %s. Приз: %s, скин, авто."
            0AF9: samp say_msg "На МП запрещено DM, сбив и другие нарушения, в том числе и маска."
            // 0AC9: free_allocated_memory 4@
            // 0AC9: free_allocated_memory 6@
        end
end
end
А вообще если на сервере стоит антифлуд сообщениями, то поставь задержку 1500, перед отправкой каждого.
 
Последнее редактирование:

Bogach

Активный
558
27
Если я правильно тебя понял, то после этой проверки 0B3C: samp is_dialog_responded id 1000 button 1@ list_item 2@ input_text 0 скрипт дальше не шагает. В данном куске скрипта все правильно, есть предположение, что ошибка в list_item 2@, мб где-то там ошибка
0AC6: 0@ = label @MainBuffer2 offset
0AC6: 0@ = label @pred_spisok offset
? И зачем else в конце (если ты конечно не вырезал кусок)?
Мб сделай так:
CLEO:
if 2@ == 0 // Если был выбран первый пункт списка (Оповещение о казаках)
        then
            0AF9: samp say_msg "Сейчас пройдут 'Казаки-разбойники' (/tp)."
            0AF9: samp say_msg "Для участия необходимо иметь: 5 Уровень и 1500$."
        else
        if 2@ == 1 // Если был выбран второй пункт списка (Оповещение о гонках)
        then
            0AF9: samp say_msg "Сейчас пройдёт МП 'Гонки'.(/tp)"
            0AF9: samp say_msg "Для участия необходимо иметь: 4 уровень + 1000$."
        else
        if 2@ == 2 // Если был выбран третий пункт списка (МП остаться в живых)
        then
            // 0050: gosub @mpsponsorgosub
            chatmsg "2-ой пункт работает" -1
            0AF9: samp say_msg "Уважаемые игроки! Сейчас пройдет мероприятие 'Остаться в живых'."
            0AF9: samp say_msg "Желающие, пишите /tp. Кого телепортировали, встаем в строй."
            0AF9: samp say_msg "Спонсор: %s. Приз: %s, скин, авто."
            0AF9: samp say_msg "На МП запрещено DM, сбив и другие нарушения, в том числе и маска."
            // 0AC9: free_allocated_memory 4@
            // 0AC9: free_allocated_memory 6@
        end
end
end
А вообще если на сервере стоит антифлуд сообщениями, то поставь задержку 1500, перед отправкой каждого.
Вы меня наверное опять не поняли.
Данная конструкция клео скрипта, у меня работала 3 дня назад, ну уже 4 дня назад, без всяких на то проблем, уже вечером мне сообщили, что скрипт обьявление о начале мероприятия не работает.
2@ - переменная для обработки Лист Итема работает, при выборе первых двух пунктов, текст успешно отправляется, начиная с 3 пункта все что написано опкодом 0af9 не отправляется, если написать опкодом 0af8 (для себя, мне это не нужно) работает, так я проверил, что пункты меню работают, не работает только опкод 0af9 в них.
анти флуд тут не причем, ибо отправился бы в таком случае ХОТЯ БЫ одна строка, но не отправляется ни единой строки в 0af9 опкоде.
 

azdsfbzxv

Новичок
73
6
Как должно работать:
При появлении в чате выражения: Здравия желаю.
Выводится диалог. При нажатии "ответ"- в чат пишется "Здравия желаю!".
А при нажатии "Нет"- шепчет "кхм"

Однако работает неправильно:
Видит в чате выражение "Здравия желаю".
Выводится диалог. При нажатии "ответ" или "нет". Ничего не происходит.

Но если снова видит "Здравия желаю" в чате, то выдаётся ответ с прошлого раза , а за тем выводится диалог.
Большая просьба к вам найдите ошибку в коде. За ранее благодарен
Код:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0AC8: 1@ = allocate_memory_size 64
0AC8: 2@ = allocate_memory_size 64

:Noname_16
0001: wait 0 ms
00D6: if
0AFA:  is_samp_available
004D: jump_if_false @Noname_16

:Noname_33
0001: wait 0 ms
0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
00D6: if
0C18: 6@ = strstr string1 1@ string2 "Здравия желаю"
004D: jump_if_false @Noname_33
0B3B: samp show_dialog id 15 caption "Здравия" text "{ff0000}Ваш ответ" button_1 "Ответ" button_2 "Нет" style 0
0001: wait 0 ms
00D6: if
0B3C:  samp is_dialog_responded id 15 button 7@ list_item 0 input_text 0
004D: jump_if_false @Noname_213
00D6: if
0039:   7@ == 1
004D: jump_if_false @Noname_202
0AF9: samp say_msg "Здраия желаю!"
0002: jump @Noname_213

:Noname_202
0AF9: samp say_msg "/w кхм"

:Noname_213
0002: jump @Noname_33
 
Последнее редактирование:

The_North_Fake

Новичок
15
0
Как должно работать:
При появлении в чате выражения: Здравия желаю.
Выводится диалог. При нажатии "ответ"- в чат пишется "Здравия желаю!".
А при нажатии "Нет"- шепчет "кхм"

Однако работает неправильно:
Видит в чате выражение "Здравия желаю".
Выводится диалог. При нажатии "ответ" или "нет". Ничего не происходит.

Но если снова видит "Здравия желаю" в чате, то выдаётся ответ с прошлого раза , а за тем выводится диалог.
Большая просьба к вам найдите ошибку в коде. За ранее благодарен
Код:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0AC8: 1@ = allocate_memory_size 64
0AC8: 2@ = allocate_memory_size 64

:Noname_16
0001: wait 0 ms
00D6: if
0AFA:  is_samp_available
004D: jump_if_false @Noname_16

:Noname_33
0001: wait 0 ms
0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
00D6: if
0C18: 6@ = strstr string1 1@ string2 "Здравия желаю"
004D: jump_if_false @Noname_33
0B3B: samp show_dialog id 15 caption "Здравия" text "{ff0000}Ваш ответ" button_1 "Ответ" button_2 "Нет" style 0
0001: wait 0 ms
00D6: if
0B3C:  samp is_dialog_responded id 15 button 7@ list_item 0 input_text 0
004D: jump_if_false @Noname_213
00D6: if
0039:   7@ == 1
004D: jump_if_false @Noname_202
0AF9: samp say_msg "Здраия желаю!"
0002: jump @Noname_213

:Noname_202
0AF9: samp say_msg "/w кхм"

:Noname_213
0002: jump @Noname_33
Через час освобожусь - кину рабочий, если не сложно - кинь сам Клео файл с txt.
 

The_North_Fake

Новичок
15
0
Вы меня наверное опять не поняли.
Данная конструкция клео скрипта, у меня работала 3 дня назад, ну уже 4 дня назад, без всяких на то проблем, уже вечером мне сообщили, что скрипт обьявление о начале мероприятия не работает.
2@ - переменная для обработки Лист Итема работает, при выборе первых двух пунктов, текст успешно отправляется, начиная с 3 пункта все что написано опкодом 0af9 не отправляется, если написать опкодом 0af8 (для себя, мне это не нужно) работает, так я проверил, что пункты меню работают, не работает только опкод 0af9 в них.
анти флуд тут не причем, ибо отправился бы в таком случае ХОТЯ БЫ одна строка, но не отправляется ни единой строки в 0af9 опкоде.
Поставь, как я кинул проверки (с else), убери лишнюю else в конце, поставь wait 1000 после проверки на выбранный текстлист. Если не заработает, можешь кинуть мне в лс, попробую исправить. Только мне нужен будет оригинальный скрипт (без {$NOSOURSE} (или как там)) неудобно работать с ним.
 

The_North_Fake

Новичок
15
0
Как должно работать:
При появлении в чате выражения: Здравия желаю.
Выводится диалог. При нажатии "ответ"- в чат пишется "Здравия желаю!".
А при нажатии "Нет"- шепчет "кхм"

Однако работает неправильно:
Видит в чате выражение "Здравия желаю".
Выводится диалог. При нажатии "ответ" или "нет". Ничего не происходит.

Но если снова видит "Здравия желаю" в чате, то выдаётся ответ с прошлого раза , а за тем выводится диалог.
Большая просьба к вам найдите ошибку в коде. За ранее благодарен
Код:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0AC8: 1@ = allocate_memory_size 64
0AC8: 2@ = allocate_memory_size 64

:Noname_16
0001: wait 0 ms
00D6: if
0AFA:  is_samp_available
004D: jump_if_false @Noname_16

:Noname_33
0001: wait 0 ms
0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
00D6: if
0C18: 6@ = strstr string1 1@ string2 "Здравия желаю"
004D: jump_if_false @Noname_33
0B3B: samp show_dialog id 15 caption "Здравия" text "{ff0000}Ваш ответ" button_1 "Ответ" button_2 "Нет" style 0
0001: wait 0 ms
00D6: if
0B3C:  samp is_dialog_responded id 15 button 7@ list_item 0 input_text 0
004D: jump_if_false @Noname_213
00D6: if
0039:   7@ == 1
004D: jump_if_false @Noname_202
0AF9: samp say_msg "Здраия желаю!"
0002: jump @Noname_213

:Noname_202
0AF9: samp say_msg "/w кхм"

:Noname_213
0002: jump @Noname_33
Поправьте меня, если я неправильно поставил очищение памяти, а так вроде бы все норм, пробуй :)
CLEO:
{$CLEO}
0000: NOP

repeat
wait 0
until Samp.Available()

0AC8: 1@ = allocate_memory_size 64
0AC8: 2@ = allocate_memory_size 64

while true
wait 0

0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
    if 0C18: 6@ = strstr string1 1@ string2 "Здравия желаю"
    then
    0B3B: samp show_dialog id 15 caption "Здравия" text "{ff0000}Ваш ответ" button_1 "Ответ" button_2 "Нет" style 0
    wait 50
        if 0B3C:  samp is_dialog_responded id 15 button 7@ list_item 0 input_text 0
        then
            if 7@ == 1
            then
            wait 0
            0AF9: samp say_msg "Здравия желаю!"
            else
            wait 0
            0AF9: samp say_msg "/w кхм"
            end
        end
        0AC9: free_allocated_memory 1@
        0AC9: free_allocated_memory 2@
    end

end
 

jeka1222

Известный
26
1
ребят почему когда я добавляю в меню пункты "автошкола склад матов склад нарко.." в общем то что ниже, у меня в игре когда я захожу в то меню, перестаёт показывать "автошкола склад матов склад нарко ну и все остальные", такое ощущение что им не хватило места по вертикали, в общем дайте код и скажите где его вставить чтобы была прокрутка в меню


CLEO:
if 0AB0: key_pressed 1
            then
            0B5E: get_cursor_pos 28@ 27@
            0B85: samp dialog 19@ get_position_to 26@ 25@ size_to 0@ 0@
                if and
                001D: 28@ > 26@
                001D: 27@ > 25@
                then
                26@ += 340
                25@ += 20
                    if and
                    001D: 26@ > 28@
                    001D: 25@ > 27@
                    then
                    26@ -= 340
                    25@ -= 20
                    0062: 28@ -= 26@
                    0062: 27@ -= 25@
                        while 0AB0: key_pressed 1
                        wait 0
                        0B5E: get_cursor_pos 26@ 25@
                        0062: 26@ -= 28@
                        0062: 25@ -= 27@
                        0B84: samp dialog 3@ set_pos_XY 26@ 25@ size 300 350 
                        end
                    end
                end
            end
        {=================}
            if 0B81: dialog 3@ pop_event_to 4@ {id события} control_id_to 2@ {id компонента}
            then
          
                if 2@ == 0
                then
                    0ac8: alloc 21@ size 128
                    0ad3: format_stirng 21@ = "АвтоШкола%cСклад матов%cСклад нарко%cБанк ЛС%cБанк СФ%cТорговое судно%cРыбалка%cПункт сбора на МП" 0xA 0xA 0xA 0xA 0xA 0xA 0xA
                    0B3B: samp show_dialog id 5000 caption "{FFFF00}Телепорт-меню {FFFFFF}| {FFFF00}Важные Места" text 21@ button_1 "Выбрать" button_2 "Закрыть" style 2
                    0ac9: free 21@
                    0B86: dialog 3@ set_visible false
                    0B8D: samp set_cursor_mode 0
                    30@ = 0
                end
                end
 

azdsfbzxv

Новичок
73
6
Поправьте меня, если я неправильно поставил очищение памяти, а так вроде бы все норм, пробуй :)
CLEO:
{$CLEO}
0000: NOP

repeat
wait 0
until Samp.Available()

0AC8: 1@ = allocate_memory_size 64
0AC8: 2@ = allocate_memory_size 64

while true
wait 0

0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
    if 0C18: 6@ = strstr string1 1@ string2 "Здравия желаю"
    then
    0B3B: samp show_dialog id 15 caption "Здравия" text "{ff0000}Ваш ответ" button_1 "Ответ" button_2 "Нет" style 0
    wait 50
        if 0B3C:  samp is_dialog_responded id 15 button 7@ list_item 0 input_text 0
        then
            if 7@ == 1
            then
            wait 0
            0AF9: samp say_msg "Здравия желаю!"
            else
            wait 0
            0AF9: samp say_msg "/w кхм"
            end
        end
        0AC9: free_allocated_memory 1@
        0AC9: free_allocated_memory 2@
    end

end
Да память освободил. Но так вообще не работает

Как должно работать:
При появлении в чате выражения: Здравия желаю.
Выводится диалог. При нажатии "ответ"- в чат пишется "Здравия желаю!".
А при нажатии "Нет"- шепчет "кхм"
Однако работает неправильно:
Видит в чате выражение "Здравия желаю".
Выводится диалог. При нажатии "ответ" или "нет". Пишет "Здравия желаю!". диалог не исчезает. Нажимаешь снова ответ. Диалог закрывается.
Но если снова видит "Здравия желаю" в чате, то выдаётся ответ сразу , а за тем выводится диалог. После нажатия "ответ" ничего не происходит
Большая просьба к вам найдите ошибку в коде. За ранее благодарен

Код:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0AC8: 1@ = allocate_memory_size 64
0AC8: 2@ = allocate_memory_size 64

:Noname_16
0001: wait 0 ms
00D6: if
0AFA:  is_samp_available
004D: jump_if_false @Noname_16

:Noname_33
0001: wait 0 ms
0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
00D6: if
0C18: 6@ = strstr string1 1@ string2 "Здравия желаю"
004D: jump_if_false @Noname_33
0B3B: samp show_dialog id 15 caption "Здравия" text "{ff0000}Ваш ответ" button_1 "Ответ" button_2 "Нет" style 0
0001: wait 0 ms
00D6: if
0B3C:  samp is_dialog_responded id 15 button 7@ list_item 0 input_text 0
004D: jump_if_false @Noname_213
00D6: if
0039:   7@ == 1
004D: jump_if_false @Noname_202
0AF9: samp say_msg "Здраия желаю!"
0002: jump @Noname_213

:Noname_202
0AF9: samp say_msg "/w кхм"

:Noname_203
0AC9: free_allocated_memory 1@
0AC9: free_allocated_memory 2@

:Noname_213
0002: jump @Noname_33
 
Последнее редактирование:

The_North_Fake

Новичок
15
0
Да память освободил. Но так вообще не работает

Как должно работать:
При появлении в чате выражения: Здравия желаю.
Выводится диалог. При нажатии "ответ"- в чат пишется "Здравия желаю!".
А при нажатии "Нет"- шепчет "кхм"
Однако работает неправильно:
Видит в чате выражение "Здравия желаю".
Выводится диалог. При нажатии "ответ" или "нет". Пишет "Здравия желаю!". диалог не исчезает. Нажимаешь снова ответ. Диалог закрывается.
Но если снова видит "Здравия желаю" в чате, то выдаётся ответ сразу , а за тем выводится диалог. После нажатия "ответ" ничего не происходит
Большая просьба к вам найдите ошибку в коде. За ранее благодарен

Код:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0AC8: 1@ = allocate_memory_size 64
0AC8: 2@ = allocate_memory_size 64

:Noname_16
0001: wait 0 ms
00D6: if
0AFA:  is_samp_available
004D: jump_if_false @Noname_16

:Noname_33
0001: wait 0 ms
0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
00D6: if
0C18: 6@ = strstr string1 1@ string2 "Здравия желаю"
004D: jump_if_false @Noname_33
0B3B: samp show_dialog id 15 caption "Здравия" text "{ff0000}Ваш ответ" button_1 "Ответ" button_2 "Нет" style 0
0001: wait 0 ms
00D6: if
0B3C:  samp is_dialog_responded id 15 button 7@ list_item 0 input_text 0
004D: jump_if_false @Noname_213
00D6: if
0039:   7@ == 1
004D: jump_if_false @Noname_202
0AF9: samp say_msg "Здраия желаю!"
0002: jump @Noname_213

:Noname_202
0AF9: samp say_msg "/w кхм"

:Noname_203
0AC9: free_allocated_memory 1@
0AC9: free_allocated_memory 2@

:Noname_213
0002: jump @Noname_33
Диалог появляется повторно потому, что идет флуд, попробуй поставить id строки чата 0, а не 99 (это помоему весь скан чата, а 0 - текущей строки) и по сути должно работать. И добавь проверку не открыт ли этот диалог уже 0B87: dialog 15 is_visible , если открыт то пропускаем.
CLEO:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0AC8: 1@ = allocate_memory_size 64
0AC8: 2@ = allocate_memory_size 64

:Noname_16
0001: wait 0 ms
00D6: if
0AFA:  is_samp_available
004D: jump_if_false @Noname_16

:Noname_33
0001: wait 0 ms
0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
00D6: if
0C18: 6@ = strstr string1 1@ string2 "Здравия желаю"
004D: jump_if_false @Noname_33
[B]00D6: if[/B]
[B]0B87: dialog 15 is_visible[/B]
[B][B]004D: jump_if_false @Noname_888[/B][/B]
0B3B: samp show_dialog id 15 caption "Здравия" text "{ff0000}Ваш ответ" button_1 "Ответ" button_2 "Нет" style 0
[B]:Noname_888[/B]
0001: wait 0 ms
00D6: if
0B3C:  samp is_dialog_responded id 15 button 7@ list_item 0 input_text 0
004D: jump_if_false @Noname_213
00D6: if
0039:   7@ == 1
004D: jump_if_false @Noname_202
0AF9: samp say_msg "Здраия желаю!"
0002: jump @Noname_213

:Noname_202
0AF9: samp say_msg "/w кхм"

:Noname_203
0AC9: free_allocated_memory 1@
0AC9: free_allocated_memory 2@

:Noname_213
0002: jump @Noname_33
 
Последнее редактирование:

BlackKnigga

Известный
BH Team
922
446
Диалог появляется повторно потому, что идет флуд, попробуй поставить id строки чата 0, а не 99 (это помоему весь скан чата, а 0 - текущей строки) и по сути должно работать.
0 - первая строка чата, 99 последняя. Всего 100.
Да память освободил. Но так вообще не работает

Как должно работать:
При появлении в чате выражения: Здравия желаю.
Выводится диалог. При нажатии "ответ"- в чат пишется "Здравия желаю!".
А при нажатии "Нет"- шепчет "кхм"
Однако работает неправильно:
Видит в чате выражение "Здравия желаю".
Выводится диалог. При нажатии "ответ" или "нет". Пишет "Здравия желаю!". диалог не исчезает. Нажимаешь снова ответ. Диалог закрывается.
Но если снова видит "Здравия желаю" в чате, то выдаётся ответ сразу , а за тем выводится диалог. После нажатия "ответ" ничего не происходит
Большая просьба к вам найдите ошибку в коде. За ранее благодарен

Код:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0AC8: 1@ = allocate_memory_size 64
0AC8: 2@ = allocate_memory_size 64

:Noname_16
0001: wait 0 ms
00D6: if
0AFA:  is_samp_available
004D: jump_if_false @Noname_16

:Noname_33
0001: wait 0 ms
0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
00D6: if
0C18: 6@ = strstr string1 1@ string2 "Здравия желаю"
004D: jump_if_false @Noname_33
0B3B: samp show_dialog id 15 caption "Здравия" text "{ff0000}Ваш ответ" button_1 "Ответ" button_2 "Нет" style 0
0001: wait 0 ms
00D6: if
0B3C:  samp is_dialog_responded id 15 button 7@ list_item 0 input_text 0
004D: jump_if_false @Noname_213
00D6: if
0039:   7@ == 1
004D: jump_if_false @Noname_202
0AF9: samp say_msg "Здраия желаю!"
0002: jump @Noname_213

:Noname_202
0AF9: samp say_msg "/w кхм"

:Noname_203
0AC9: free_allocated_memory 1@
0AC9: free_allocated_memory 2@

:Noname_213
0002: jump @Noname_33
Проверку на ответ диалога надо ставить в цикле