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

BlackKnigga

Известный
BH Team
922
445
CLEO:
0@v = "привет"  // записываем в переменную нужный нам текст (для сравнения на соответствие ему)
0BD7: samp get_dialog_text 1@v //
if 1@v = 0@v  // сравниваем
then
0B4B: samp set_current_dialog_editbox_text "Здарова"    // выводим текст в окно, если проверка удалась
end
Или я рак :D
Переменной нельзя приравнять строку, ее нужно форматировать опкодом 0AD3. К тому же нужно использовать буфер, вместо строковых переменных. Ну и строки так сравнивать тоже нельзя.
 

bugur4ik

Новичок
12
1
Переменной нельзя приравнять строку, ее нужно форматировать опкодом 0AD3. К тому же нужно использовать буфер, вместо строковых переменных. Ну и строки так сравнивать тоже нельзя.
Я прост смотрел справичник санни и там надыбал такое:
CLEO:
@v - локальная стринговая переменная

Пример:

06D2: 1@v = "LONG_LOCAL"
Это не правильно?
 

bugur4ik

Новичок
12
1
CLEO:
while true
wait 0
if
0B4C:  samp is_dialog_active 1
then
0BD7: samp get_dialog_text 0@
if 0C18: 2@ = strstr string1 0@ string2 "Привет"
then
0AD4: 1@ = scan_string 0@ format "Привет, %s" 5@v
0AF8: "%i" 5@
end
end
CLEO:
while true
wait 0
if
0B4C:  samp is_dialog_active 1
then
0BD7: samp get_dialog_text 0@
if 0C18: 2@ = strstr string1 0@ string2 "Привет"
then
0AD4: 1@ = scan_string 0@ format "Привет, %s" 5@v
0AF8: "%s: Здарова" 5@v
end
end
Попробуй так

CLEO:
while true
wait 0
if
0B4C:  samp is_dialog_active 1
then
0BD7: samp get_dialog_text 0@
if 0C18: 2@ = strstr string1 0@ string2 "Привет"
then
0AD4: 1@ = scan_string 0@ format "Привет, %s" 5@v
0AF8: "%i" 5@
end
end
И почему у тебя в id диалога стоит 1? Это же вроде бы диалог регистрации/входа. Поставь лучше "-1" - это все диалоги
0B4C: samp is_dialog_active -1
 
Последнее редактирование модератором:

RedBoxWhite

Известный
337
27
CLEO:
while true
wait 0
if
0B4C:  samp is_dialog_active 1
then
0BD7: samp get_dialog_text 0@
if 0C18: 2@ = strstr string1 0@ string2 "Привет"
then
0AD4: 1@ = scan_string 0@ format "Привет, %s" 5@v
0AF8: "%s: Здарова" 5@v
end
end
Попробуй так
Так ты же только поменял %i на %s, я чёт не заметил, но всё равно это уже тестил...
 

RedBoxWhite

Известный
337
27
И почему у тебя в id диалога стоит 1? Это же вроде бы диалог регистрации/входа. Поставь лучше "-1" - это все диалоги
0B4C: samp is_dialog_active -1
А вот тут косяк, чёт не заметил. Но и это не спасёт от краша.

там у тебя ошибка с переменной ты считываешь данные в переменную 5@v а берешь из 5@
Ммм... Всегда так делал, не вызывало проблем, но даже так крашит.
 
Последнее редактирование модератором:

bugur4ik

Новичок
12
1
Ммм... Всегда так делал, не вызывало проблем, но даже так крашит.
CLEO:
while true
wait 0
    if 0B4C:  samp is_dialog_active -1
    then
    0AC8: 0@ = allocate_memory_size 128
    0BD7: samp get_dialog_text 0@
    0C18: 2@ = strstr string1 0@ string2 "Привет"
    if 2@ == 0
    then
    wait 0
    else
    0AD4: 1 = scan_string 0@ format "Привет, %s" 5@v
    0AF9: samp say_msg "%s: Здарова" 5@v // или же ((0AF8: samp add_message_to_chat "%s: Здарова" 5@v color 0x(код цвета))) или так ((0AF8: samp add_message_to_chat "%s: Здарова" color 0x(код цвета) 5@v))
0AC9: free_allocated_memory 0@
    end
    end
end
мб так, я попробовал переписать[/code]
 

RedBoxWhite

Известный
337
27
CLEO:
while true
wait 0
    if 0B4C:  samp is_dialog_active -1
    then
    0AC8: 0@ = allocate_memory_size 128
    0BD7: samp get_dialog_text 0@
    0C18: 2@ = strstr string1 0@ string2 "Привет"
    if 2@ == 0
    then
    wait 0
    else
    0AD4: 1 = scan_string 0@ format "Привет, %s" 5@v
    0AF9: samp say_msg "%s: Здарова" 5@v // или же ((0AF8: samp add_message_to_chat "%s: Здарова" 5@v color 0x(код цвета))) или так ((0AF8: samp add_message_to_chat "%s: Здарова" color 0x(код цвета) 5@v))
0AC9: free_allocated_memory 0@
    end
    end
end
мб так, я попробовал переписать[/code]
Выдаёт "(null)" + crash. Точнее не null, а вообще ничего