HELP! Ответ на слово "Привет". Чтение чата | CLEO

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

PinkPony

Новичок
Автор темы
16
0
Нужен такой Клео скрипт:
Мне в чат написали"Привет" и я автоматом ответил "Здарова". Все просто, но меня почему-то крашит везде при опкоде 0C18
 

IZDATXXX

Известный
Проверенный
172
251
CLEO:
alloc 1@ 256
alloc 2@ 128
0@ = 0 //или 99 хз
0B75: samp get_chat_string 0@ text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
0C26: strupr in 1@ out 1@ //на всякий случай
free 2@
if
0C18: 2@ = strstr string1 1@ string2 "ПРИВЕТ"
then
//ответ
end
free 1@
 

kuleer

Участник
86
13
CLEO:
repeat
wait 0
alloc 1@ 256
0B75: samp get_chat_string 99 text_to 1@ prefix_to 0 color_to 0 prefix_color_to 0
//0C26: strupr in 1@ out 1@ // это лишнее.
if
0C18: 2@ = strstr string1 1@ string2 "ПРИВЕТ"
then
say "Здарова"
break
end
free 1@
until false
[/QUOTE]
 

kuleer

Участник
86
13
ничего не работает[/QUOTE]
Нужно это запихнуть в шаблон скрипта p.s добавить необходимые строки, типа проверки сампфанка, {$cleo}, и тд
 

kuleer

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


while true
wait 0
    repeat
        wait 0
        alloc 1@ 256
        0B75: samp get_chat_string 99 text_to 1@ prefix_to 0 color_to 0 prefix_color_to 0
        if
            0C18: 2@ = strstr string1 1@ string2 "ÏÐÈÂÅÒ"
            then
            say "Çäàðîâà"
            break
            end
        free 1@
    until false
end
 

PinkPony

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


while true
wait 0
    repeat
        wait 0
        alloc 1@ 256
        0B75: samp get_chat_string 99 text_to 1@ prefix_to 0 color_to 0 prefix_color_to 0
        if
            0C18: 2@ = strstr string1 1@ string2 "ÏÐÈÂÅÒ"
            then
            say "Çäàðîâà"
            break
            end
        free 1@
    until false
end
Не-а, в сампе не крашит, но на "Привет" не отвечает Imgur: The most awesome images on the Internet (http://imgur.com/a/PSwkS)
На какаом сервере тестил?
П.С. Кикнуло не из-за скрипта, а из-за того, что альт табнулся на чек поинте. Не обращай внимание
 

kuleer

Участник
86
13
Не-а, в сампе не крашит, но на "Привет" не отвечает Imgur: The most awesome images on the Internet (http://imgur.com/a/PSwkS)
На какаом сервере тестил?
П.С. Кикнуло не из-за скрипта, а из-за того, что альт табнулся на чек поинте. Не обращай внимание
Там скрипт отправляет пакет на сервер, когда тебя кикнуло скрипт работать не будет. Может быть ещё строку в чате сбило, объявление или ещё что то. p.s надеюсь ты догадался отредачить символы те, на нужную тебе строку.
 

PinkPony

Новичок
Автор темы
16
0
Там скрипт отправляет пакет на сервер, когда тебя кикнуло скрипт работать не будет. Может быть ещё строку в чате сбило, объявление или ещё что то. p.s надеюсь ты догадался отредачить символы те, на нужную тебе строку.
Я же сказал, не работает. Кик никакого значения не имеет. Никто ничего не менял, просто вы такие скрипты делаете
 

RedBoxWhite

Известный
337
27
CLEO:
{$CLEO}
0000:
repeat
wait 0
until samp.Available()


while true
wait 0
    repeat
        wait 0
        alloc 1@ 256
        0B75: samp get_chat_string 99 text_to 1@ prefix_to 0 color_to 0 prefix_color_to 0
        if
            0C18: 2@ = strstr string1 1@ string2 "ÏÐÈÂÅÒ"
            then
            say "Çäàðîâà"
            break
            end
        free 1@
    until false
end
Зачем тут два цикла? И этот скрипт будет флудить, пока последняя строка не изменится.
 

RedBoxWhite

Известный
337
27
CLEO:
{$CLEO}
{$INCLUDE SF}
0000:

wait 2000

alloc 4@ 256
0c11: memset 4@ 0 256



while true
wait 0
end

0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM
0BE5: raknet 1@ = get_hook_param PARAM_PACKETID
if
1@ == RPC_ScrClientMessage // DWORD color, DWORD strLen, char[] msg
then
    0BE7: raknet 2@ = bit_stream_read 0@ type BS_TYPE_INT  // color
    0BE7: raknet 3@ = bit_stream_read 0@ type BS_TYPE_INT  // strLen
    0C11: memset destination 4@ value 0 size 256
    0BE8: raknet bit_stream 0@ read_array 4@ size 3@ // Text
    0C0F: array 4@ element 3@ = 0x00
///////////////////////////////////////////////////////////
if
0C18: 7@ = strstr string1 4@ string2 "Привет" //-Здесь ловля сообщения, как видно код цвета не указан, будут ловится все сообщения от сервера, не зависимо ит их цвета
then
say "Здаров" //-Здесь ответ
end
//////////////////////////////////////////////////////////

//-если нужно ловить много сообщений просто копируй, см.код ниже:

if
0C18: 7@ = strstr string1 4@ string2 "Привет"
then
say "Здаров"
end

if
0C18: 7@ = strstr string1 4@ string2 "Есть чо?"
then
say "нет"
end
//////-

0BE0: raknet hook_ret true
Нет регистрации и метки на хук
 

kuleer

Участник
86
13
Зачем тут два цикла? И этот скрипт будет флудить, пока последняя строка не изменится.
Он увидит строку, и напишет ответ, и не будет флудить, т.к строка будет другая. Что тупишь то

CLEO:
{$CLEO}
{$INCLUDE SF}
0000:

wait 2000

alloc 4@ 256
0c11: memset 4@ 0 256



while true
wait 0
end

0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM
0BE5: raknet 1@ = get_hook_param PARAM_PACKETID
if
1@ == RPC_ScrClientMessage // DWORD color, DWORD strLen, char[] msg
then
    0BE7: raknet 2@ = bit_stream_read 0@ type BS_TYPE_INT  // color
    0BE7: raknet 3@ = bit_stream_read 0@ type BS_TYPE_INT  // strLen
    0C11: memset destination 4@ value 0 size 256
    0BE8: raknet bit_stream 0@ read_array 4@ size 3@ // Text
    0C0F: array 4@ element 3@ = 0x00
///////////////////////////////////////////////////////////
if
0C18: 7@ = strstr string1 4@ string2 "Привет" //-Здесь ловля сообщения, как видно код цвета не указан, будут ловится все сообщения от сервера, не зависимо ит их цвета
then
say "Здаров" //-Здесь ответ
end
//////////////////////////////////////////////////////////

//-если нужно ловить много сообщений просто копируй, см.код ниже:

if
0C18: 7@ = strstr string1 4@ string2 "Привет"
then
say "Здаров"
end

if
0C18: 7@ = strstr string1 4@ string2 "Есть чо?"
then
say "нет"
end
//////-

0BE0: raknet hook_ret true
Нахуя в начале беск.цикл? Если даже хук не определён.
 
Последнее редактирование модератором:

RedBoxWhite

Известный
337
27
Он увидит строку, и напишет ответ, и не будет флудить, т.к строка будет другая. Что тупишь то
В цикле нет задержек, а между клиентом и сервером - есть. Цикл несколько раз прочитает строку, и несколько раз отправит rpc
 

kuleer

Участник
86
13
Я же сказал, не работает. Кик никакого значения не имеет. Никто ничего не менял, просто вы такие скрипты делаете
Раз не менял и чего ты тогда ждёшь? Напиши в 0c18 то на что должен реагировать скрипт, а в say ответ, скрипт хороший, просто использовать его научитесь.

В цикле нет задержек, а между клиентом и сервером - есть. Цикл несколько раз прочитает строку, и несколько раз отправит rpc
wait 0 и есть задержка, она хоть и 0 но всё равно немного тормозит цикл, не будет флудить, в крайнем случае можно сделать задержку больше.
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.