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

Ice

Известный
33
3
Can i get a litle help?
Код:
    0B4E: samp 0@ = get_current_dialog_id
    if 0B4C: samp is_dialog_active 0@
        then
            0BD7: samp get_dialog_text 1@
            0AF8: samp add_message_to_chat "Shit!! %s" color -1 1@
            0B47: samp close_current_dialog_with_button 1
        end

Why is these returning "Shit!! (null)" in chat?
Also i did try 0AF8: samp add_message_to_chat "Shit!! %s" color -1 params 1@ - same thing
Mozhete otvetit po russki, ya poymu.
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
First need allocate memory: 0AC8: 0@ = allocate_memory_size 2048
 
  • Нравится
Реакции: Ice

Evgeniy13

Новичок
40
1
Пытался написать скрипт, который проверяет чат на наличие слова "Привет" и если найдет его, то жмет руку "/hi id". Но почему-то он крашит, не подскажите, в чем ошибки?
{$CLEO .cs}
{$INCLUDE SF}
0000: NOP

while true
goto @cmd
wait 0
end

:cmd
wait 0
//0AC8: 5@ = allocate_memory_size 128
alloc 5@ 128
//0AC8: 10@ = allocate_memory_size 128
alloc 10@ 128
0B75: samp get_chat_string 99 text_to 5@ prefix_to 6@ color_to 7@ prefix_color_to 8@
if 0AD4: 5@ = scan_string 5@ format "Привет %d" 9@
then
wait 1000
say "/hi %d" 9@
0B75: samp get_chat_string 99 text_to 10@ prefix_to 6@ color_to 7@ prefix_color_to 8@
if 0AD4: 10@ = scan_string 10@ format "[Ошибка]"
then
say "Он в интерьере, ищи дальше"
wait 1000
else
say "Едем"
end
end
Samp.CmdRet()
 

Evgeniy13

Новичок
40
1
Бля...Что это за код?? Нафига например писать samp.cmdret() в конце?? У тебя же нет команды!
Ок, переделал этот момент, но это ничего не поменяло(
{$CLEO .cs}
{$INCLUDE SF}
0000: NOP

while true
goto @cmd
wait 0
end

:cmd
wait 0
//0AC8: 5@ = allocate_memory_size 128
alloc 5@ 128
//0AC8: 10@ = allocate_memory_size 128
alloc 10@ 128
0B75: samp get_chat_string 99 text_to 5@ prefix_to 6@ color_to 7@ prefix_color_to 8@
if 0AD4: 5@ = scan_string 5@ format "Привет %d" 9@
then
wait 1000
say "/hi %d" 9@
0B75: samp get_chat_string 99 text_to 10@ prefix_to 6@ color_to 7@ prefix_color_to 8@
if 0AD4: 10@ = scan_string 10@ format "[Ошибка]"
then
say "Он в интерьере, ищи дальше"
wait 1000
else
say "Едем"
end
end
return
 

DubStep_

Известный
292
52
Пытался написать скрипт, который проверяет чат на наличие слова "Привет" и если найдет его, то жмет руку "/hi id". Но почему-то он крашит, не подскажите, в чем ошибки?
{$CLEO .cs}
{$INCLUDE SF}
0000: NOP

while true
goto @cmd
wait 0
end

:cmd
wait 0
//0AC8: 5@ = allocate_memory_size 128
alloc 5@ 128
//0AC8: 10@ = allocate_memory_size 128
alloc 10@ 128
0B75: samp get_chat_string 99 text_to 5@ prefix_to 6@ color_to 7@ prefix_color_to 8@
if 0AD4: 5@ = scan_string 5@ format "Привет %d" 9@
then
wait 1000
say "/hi %d" 9@
0B75: samp get_chat_string 99 text_to 10@ prefix_to 6@ color_to 7@ prefix_color_to 8@
if 0AD4: 10@ = scan_string 10@ format "[Ошибка]"
then
say "Он в интерьере, ищи дальше"
wait 1000
else
say "Едем"
end
end
Samp.CmdRet()
Этот код не будет работать...

PHP:
{$CLEO}
0000:
repeat
    wait 0
until Samp.Available()
while true
wait 0
    alloc 10@ 0x80
    0B75: samp get_chat_string 99 text_to 10@ prefix_to 6@ color_to 7@ prefix_color_to 8@
    if 0C18: 31@ = strstr string1 10@ string2 "Привет"
    then
        0af9: say_to_chat "Хуй на обед"
        wait 1337
    end
    free 10@
end
 

Evgeniy13

Новичок
40
1
Этот код не будет работать...

PHP:
{$CLEO}
0000:
repeat
    wait 0
until Samp.Available()
while true
wait 0
    alloc 10@ 0x80
    0B75: samp get_chat_string 99 text_to 10@ prefix_to 6@ color_to 7@ prefix_color_to 8@
    if 0C18: 31@ = strstr string1 10@ string2 "Привет"
    then
        0af9: say_to_chat "Хуй на обед"
        wait 1337
    end
    free 10@
end
Крашить перестало, но вот только ничего не происходит, он не отвечает на :"Привет" :(
 

Evgeniy13

Новичок
40
1
А как на счет такой версии все того же кода? Запускается по каманде /test, но условие не хочет выполнять...
{$CLEO .cs}
{$INCLUDE SF}
0000:

repeat
wait 300
until 0AFA: is_samp_available

0B34: samp register_client_command "test" to_label @TEST

while true
wait 0
end

:test
alloc 5@ 128

0B75: samp get_chat_string 99 text_to 5@ prefix_to 6@ color_to 7@ prefix_color_to 8@
0AF8: samp add_message_to_chat "Скопированна строка:" color 0xff0000
0AF8: samp add_message_to_chat 5@ color 0x0096fd

0AD4: 11@ = scan_string 5@v format "[%d]" store_num_results_to 9@
if 11@ > 0
then
say "/hi %d" 9@
wait 1000
0AF9: samp say_msg "%d" 9@
wait 1000
0AF9: samp say_msg "%s" 5@
end
0AC9: free_memory 5@
0B43: samp cmd_ret
 

Ice

Известный
33
3
First need allocate memory: 0AC8: 0@ = allocate_memory_size 2048
Spasibo/Thanks

Now i have another problem
Код:
           0BD7: samp get_dialog_text 1@
            if 0C18: 3@ strstr string1 1@ string2 "dialog"
                then
                    0AF8: samp add_message_to_chat "Right dialog found" color -1
               else
                    0AF8: samp add_message_to_chat "Right dialog not found" color -1
                end
                0AF8: samp add_message_to_chat 1@ color -1 //Just to debug string (It returns "These is dialog text")
These code will always return message Right dialog not found, but dialog string is "These is dialog text"
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Maybe, you didn't change case converting in Sanny Builder.
F10 -> Formats -> Case converting = As is.
 
  • Нравится
Реакции: Ice

SantaBarbara228

Известный
29
4
нужна помощь с пикапом

Помогите узнать id пикапа покупки металла на шахте, он постоянно меняется ( id ).Вот помогите поймать пикапчик этот)
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Код:
:deleteCharFromString
// call @deleteCharFromString 3 string 0@ new_string 1@ char 2@
var
    3@ : int
    4@ : int

    2@ : int
    5@ : int
end
0C17: 3@ = strlen 0@
4@ = 0
6@ = 0 // len of new string
while 4@ < 3@
    0C1D: 5@ = array 0@ element 4@ el_size 1
    if 5@ <> 2@
    then
        0C1E: array 1@ element 6@ el_size 1 = 5@
        6@++
    end
    4@++
end
ret 0

Как пример:
Код:
0AC8: alloc 0@ 128
0AC8: alloc 1@ 128
0C11: memset 0@ 0 128
0C11: memset 1@ 0 128
0AD3: format 0@ = "Here: 1 2 3 4 5 6 7 8 9. This symbol \"%c\" is hidden" 0x3A
0AB1: call @deleteCharFromString 3 string 0@ new_string 1@ char 0x3A
0AF8: chat "String before - %s" -1 0@
0AF8: chat "String after - %s" -1 1@
0AC9: free 0@
0AC9: free 1@
0x3A(58) - ASCII код символа :
 
  • Нравится
Реакции: Niko