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

Coghweel

Новичок
76
0
Помогите решить проблемку. Флудер не работает

CLEO:
0B34: samp register_client_command "flud" to_label @FLOODER


repeat
wait 0

while 0@ == 2
wait 0
    if
    0AB0:   key_pressed 0x23 // End
    then
        chatmsg "Flooder остановлен." -1
    0@ = false
    jump @FLOODER_SKIP
    else
    10@ --
    0B75: samp get_chat_string 99 text_to 2@ prefix_to 3@ color_to 4@ prefix_color_to 5@
        if and
        0C18: 9@ = strstr string1 2@ string2 "Ваше объявление отправлено на обработку"
        4@ == -13391309
        then
            chatmsg "Объявление отправлено. Скрипт остановлен.." -1
        0@ = false
        jump @FLOODER_SKIP
        end
     
        if 0B4C:  samp is_dialog_active 353
        then
        0BC9: samp send_dialog_response dialog 353 button 1 listitem 0 input ""
        0B47: samp close_current_dialog_with_button 0
        end

        if 10@ <= 0
        then
        0A8D: 6@ = read_memory 0xB7CB50 size 4 virtual_protect TRUE
        0092: 10@ = float 6@ to_integer
        0017: 10@ /= 3.1
        say "%s" 3@
        0BC9: samp send_dialog_response dialog 353 button 1 listitem 0 input ""
        end
    end
end

:FLOODER_SKIP

until false


:FLOODER
SAMP.IsCommandTyped(1@)
if not 0@ == 2
then
    if 0AD4: 2@ = scan_string 1@ format "%s" 3@
    then
    0@ = 2
        chatmsg "Флудер запущен. Что бы остановить нажми {0099cc}[End]" -1
    else
        chatmsg "/flud [text]." -1
    end
end
SAMP.CmdRet()

Все это находится в отдельном потоке. Не пойму почему не работает, в игре после чего ввел команду, сразу срабатывют условия:

CLEO:
if and
        0C18: 9@ = strstr string1 2@ string2 "Ваше объявление отправлено на обработку."
        4@ == -13391309 (это зеленый цвет, проверено)

и скрипт вырубается. С какого хуя это срабатывает, в едь в чате нет этой строки.Уже всю голову сломал, не пойму
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,962
Возможно ли вывести такой текст на экран? ( какие опкоды
Проходишь циклом по пулу игроков, чекаешь например по их скину или цвету (лучше будет проходить по цвету, тогда работать будет не только в зоне стрима) и форматируешь полученный результат.
 
  • Нравится
Реакции: Danijr97

4el0ve4ik

Известный
Всефорумный модератор
1,548
1,339
Проходишь циклом по пулу игроков, чекаешь например по их скину или цвету (лучше будет проходить по цвету, тогда работать будет не только в зоне стрима) и форматируешь полученный результат.
Так же можно и по скину сделать, хоть и в зоне стрима, не всегда бандиты с клистами бегают, а если он военный то от такого скрипта будет больше толку, но там пусть сам смотрит как и что
 

Garrus

Известный
159
20
Такая проблема: при вызове диалога, сразу срабатывает опкод 0B86: dialog 0@ set_visible 1, хотя он должен ждать, пока я нажму кнопку в диалоге. В чем трабла?)
Код:
0B86: dialog 0@ set_visible 0           
0AC8: 5@ = allocate_memory_size 128
0C11: memset destination 5@ value 0x0 size 128
0AD3: 5@ = format "Кек"
0B3B: samp show_dialog id 15 caption "Кек" text 5@ button_1 "Закрыть" button_2 "" style DIALOG_STYLE_MSGBOX
0AC9: free_allocated_memory 5@
repeat
wait 0
until 0B3C: samp is_dialog_responded id 15 button 4@ list_item 0 input_text 0
0B86: dialog 0@ set_visible 1
Я использую диалоги с таким id в других функциях, одна из которых вызывается при загрузке скрипта. Возможно, из-за этого?
 

4el0ve4ik

Известный
Всефорумный модератор
1,548
1,339
Я использую диалоги с таким id в других функциях, одна из которых вызывается при загрузке скрипта. Возможно, из-за этого?
Эксперементируй, попробуй поменять, к сожалению я в клео не силен, так что если не в этом беда-то жди покуда всезнайки ответят, а вообще попробуй ставить разные айди диалогам, я в луа делал ничего не конфликтовало)
 

hnnssy

Известный
Друг
2,684
2,749
Не-а, проблема не решилась(
я лох
CLEO:
0B86: dialog 0@ set_visible 0      
0AC8: 5@ = allocate_memory_size 128
0C11: memset destination 5@ value 0x0 size 128
0AD3: 5@ = format "Êåê"
0B3B: samp show_dialog id 15 caption "Êåê" text 5@ button_1 "Çàêðûòü" button_2 "" style DIALOG_STYLE_MSGBOX
0AC9: free_allocated_memory 5@
while 0B4C:  samp is_dialog_active 15
wait 0
    if 0B3C: samp is_dialog_responded id 15 button 4@ list_item 0 input_text 0
    then
        if 4@ == 1
        then
            0B86: dialog 0@ set_visible 1
            break
        end
    end
end
 

Perojek)0

Известный
205
3
Как можно проверить, вижу я игрока или нет?
(То есть если он за текстурой, то я его не вижу)
 

Garrus

Известный
159
20
я лох
CLEO:
0B86: dialog 0@ set_visible 0     
0AC8: 5@ = allocate_memory_size 128
0C11: memset destination 5@ value 0x0 size 128
0AD3: 5@ = format "Êåê"
0B3B: samp show_dialog id 15 caption "Êåê" text 5@ button_1 "Çàêðûòü" button_2 "" style DIALOG_STYLE_MSGBOX
0AC9: free_allocated_memory 5@
while 0B4C:  samp is_dialog_active 15
wait 0
    if 0B3C: samp is_dialog_responded id 15 button 4@ list_item 0 input_text 0
    then
        if 4@ == 1
        then
            0B86: dialog 0@ set_visible 1
            break
        end
    end
end
Похоже, проблема решилась только присвоением каждому диалогу уникального ID.
 

ShadowBroker

Известный
110
27
Ребят тут такая тема, ну никак не удается мне освоить сканирование строки на наличие числа, в общем суть в чем делаю я такой код
Получаю 99-ю строку через get_chat, ищу в ней такой текст через strstr "Варианты: Nickname" потом пытаюсь просканировать через scan string вот так "%d" (при том что полная строка имеет такой вид "Варианты: Nickname[id]") записываю в переменную вывожу через say и выдает мне 0 :(
Тут неоднократно писали что scan string не сканирует стринг на наличие строки, но у меня то не строка а число %d
 
Последнее редактирование:

hnnssy

Известный
Друг
2,684
2,749
Ребят тут такая тема, ну никак не удается мне освоить сканирование строки на наличие числа, в общем суть в чем делаю я такой код
Получаю 99-ю строку через get_chat, ищу в ней такой текст через strstr "Варианты: Nickname" потом пытаюсь просканировать через scan string вот так "%d" (при том что полная строка имеет такой вид "Варианты: Nickname[id]") записываю в переменную вывожу через say и выдает мне 0 :(
Тут неоднократно писали что scan string не сканирует стринг на наличие строки, но у меня то не строка а число %d
получаешь указатель на "[" и дальше сканируешь уже на %d текст с этого указателя