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

RedBoxWhite

Известный
337
27
Благодарю, но я так и делал:

CLEO:
:AD_SENDER_CLOSE_DIALOG
if SAMP.IsDialogActive(353)
then
alloc 1@ 256
0BD7: samp get_dialog_text 1@
chatmsg "%s" 1@ // тут я проверил записалось ли что то или нет, выводит "(null)"
0AD4: 2@ = scan_string 1@ format "$%d." 23@
free 1@
SAMP.CloseDialog(0)
end
return
chatmsg "%s" -1 1@
Цвет поставь
 

Coghweel

Новичок
76
0
chatmsg "%s" -1 1@
Цвет поставь
Точно, забыл, это ведь не "say", спасибо.

Еще вопрос, пока вы тут. В этом тексте есть 1 число (целое) Мне его нужно выловить и записать в переменную 23@.
Я попробовал опкод 0AD4: 2@ = scan_string 1@ format "%d." 23@, но не получается. Как это сделать?
 

RedBoxWhite

Известный
337
27
Точно, забыл, это ведь не "say", спасибо.

Еще вопрос, пока вы тут. В этом тексте есть 1 число (целое) Мне его нужно выловить и записать в переменную 23@.
Я попробовал опкод 0AD4: 2@ = scan_string 1@ format "%d." 23@, но не получается. Как это сделать?
Я так использовал - https://www.blast.hk/threads/7486/
 

Coghweel

Новичок
76
0
Скинь скриншот диалога, я чёт не вдупляю.
zyNcMjn.jpg


Считывает все правильно. Может из-за цвета что то?
 

RedBoxWhite

Известный
337
27
zyNcMjn.jpg


Считывает все правильно. Может из-за цвета что то?
Если это не сработает, то жди уже других.
CLEO:
alloc 1@ 256

while true
wait 0
    if SAMP.IsDialogActive(353)
    then
    0BD7: samp get_dialog_text 1@
        if 0C18: 2@ = strstr string1 1@ string2 "Цена объявления:"
        then
            0AA5: call 0x8220AD num_params 3 pop 3 params 23@v "Цена объявления: {цвет}$%s." 2@
            0AF8: "%s" -1 23@
            free 1@
        end
    SAMP.CloseDialog(0)
    end
end
 

Coghweel

Новичок
76
0
Если это не сработает, то жди уже других.
CLEO:
alloc 1@ 256

while true
wait 0
    if SAMP.IsDialogActive(353)
    then
    0BD7: samp get_dialog_text 1@
        if 0C18: 2@ = strstr string1 1@ string2 "Цена объявления:"
        then
            0AA5: call 0x8220AD num_params 3 pop 3 params 23@v "Цена объявления: {цвет}$%s." 2@
            0AF8: "%s" -1 23@
            free 1@
        end
    SAMP.CloseDialog(0)
    end
end
Не работает. Жду.
 

SR_team

like pancake
BH Team
4,720
6,374
Кому так важно работать со сроками, переходите на lua, там это реализовано нормально
 

Clopster

Известный
143
96
Как мне сделать чтобы считывало только "q" и если она используется в сочетании с символом или словом, то игнорировать?
То есть чтобы когда я пишу в строку "q", он ее заменял, а когда, например "/q", то игнорировал.
CLEO:
{$CLEO}
0000: NOP

repeat
wait 10000 ms
msg "{ff0000}Р{FFA500}А{FFFF00}Д{00ff00}У{00ffff}Г{0000ff}А{A020F0} =)" 0xf8f8ff
until samp



while true
        wait 0
        alloc 0@  64
        alloc 1@  64
        0B77: samp get_chat_input_text_to 0@
            if 0C18: 1@ = strstr string1 0@ string2 "q"
            then
            0B76: samp set_chat_input_text "дратути"
            end
      end
 

BlackKnigga

Известный
BH Team
922
445
Как мне сделать чтобы считывало только "q" и если она используется в сочетании с символом или словом, то игнорировать?
То есть чтобы когда я пишу в строку "q", он ее заменял, а когда, например "/q", то игнорировал.
CLEO:
{$CLEO}
0000: NOP

repeat
wait 10000 ms
msg "{ff0000}Р{FFA500}А{FFFF00}Д{00ff00}У{00ffff}Г{0000ff}А{A020F0} =)" 0xf8f8ff
until samp



while true
        wait 0
        alloc 0@  64
        alloc 1@  64
        0B77: samp get_chat_input_text_to 0@
            if 0C18: 1@ = strstr string1 0@ string2 "q"
            then
            0B76: samp set_chat_input_text "дратути"
            end
      end
Использовать 0C14.
 

iTz_WEEZY

Известный
298
85
В первые работаю с диалогами, подскажите в чём беда, да и походу делаю не правильно
CLEO:
{$CLEO}

0000:


WAIT 2000
/////////////////////////////////////////////////////////////////////////
REPEAT
     WAIT 400
UNTIL SAMP.Available()
WAIT 2000
CHATMSG "{A8A3FF}STATS LOADED!" -1
/////////////////////////////////////////////////////////////////////////
0B34: samp register_client_command "stat" to_label @STATS
/////////////////////////////////////////////////////////////////////////
WHILE TRUE
WAIT 0
{-HUY-}
END
/////////////////////////////////////////////////////////////////////////
:STATS
WAIT 2000
IF
0AAB:   file_exists "CLEO\FAKE.ini"
THEN
0AF0: 1@ = get_int_from_ini_file "CLEO\FAKE.ini" section "Test" key "1.Test"
0AF0: 2@ = get_int_from_ini_file "CLEO\FAKE.ini" section "Test" key "2.Test"
0AF0: 3@ = get_int_from_ini_file "CLEO\FAKE.ini" section "Test" key "3.Test"
ELSE ////////////////////////////////////////////////////////////////////
0AF1: write_int 1 to_ini_file "CLEO\FAKE.ini" section "Test" key "1.Test"
0AF1: write_int 1 to_ini_file "CLEO\FAKE.ini" section "Test" key "2.Test"
0AF1: write_int 1 to_ini_file "CLEO\FAKE.ini" section "Test" key "3.Test"
END /////////////////////////////////////////////////////////////////////                                   
ALLOC 1@ 100                                                                                               
ALLOC 2@ 100
ALLOC 3@ 100
/////////////////////////////////////////////////////////////////////////
0B3B: samp show_dialog id 1 caption "TEST FAKE STATS" text "{FFFFFF}Ваш уровень автоугонщика: {AFAFAF}%d/%d{FFFFFF}Вы должны сдать еще %d автомобилей для перехода на следующий уровень." button_1 "Ок" button_2 "" style 0 1@ 2@ 3@
WAIT 500
FREE 1@
FREE 2@
FREE 3@
SAMP.CmdRet()
/////////////////////////////////////////////////////////////////////////
Выводит только то что я прописал в диалоге без параметров.