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

Skelerll

Известный
154
8
Код:
0C18: 0 = strstr string1 4@ string2 "%d + %d"
Почему, когда я ставлю в этот опкод спецификаторы крашит?
Как сделать лучше?
 

D3.Pheonix

🎹
Модератор
2,867
1,643
Потому что он так не умеет
Воспользуйся форматом а потом сравни этим опкодом
 
  • Нравится
Реакции: Skelerll

Skelerll

Известный
154
8
Потому что он так не умеет
Воспользуйся форматом а потом сравни этим опкодом
Спасибо большое! Да хранит тебя господь! *почему я до этого не додумался...

CLEO:
 0AA5: call 0x8220AD num_params 7 pop 7 params
5@v 4@v 3@v 2@v 1@ "%s_%s[%d] текст %s, текст %s." 0@
Я не совсем понимаю, за что отвечают эти 5@v 4@v 3@v 2@v 1@ переменные. На форумах пишут непонятно. Объясните пожалуйста!
 

D3.Pheonix

🎹
Модератор
2,867
1,643
Спасибо большое! Да хранит тебя господь! *почему я до этого не додумался...

CLEO:
 0AA5: call 0x8220AD num_params 7 pop 7 params
5@v 4@v 3@v 2@v 1@ "%s_%s[%d] текст %s, текст %s." 0@
Я не совсем понимаю, за что отвечают эти 5@v 4@v 3@v 2@v 1@ переменные. На форумах пишут непонятно. Объясните пожалуйста!
Ознакомься
https://blast.hk/threads/7486/
 

D3.Pheonix

🎹
Модератор
2,867
1,643
0AA5: call 0x8220AD num_params 7 pop 7 params 5@ 4@ 3@v 2@ 1@ "%s_%s[%d] текст %s, текст %s." 0@

Переменные справа налево, типа 1@ это первая строка, 2@ - вторая строка, 3@v - число и т. Д
 
D

deleted-user-224036

Гость
Как сделать проверку на то, что персонаж целиться? key_down 2 не предлагайте
 

Skelerll

Известный
154
8
0AA5: call 0x8220AD num_params 7 pop 7 params 5@ 4@ 3@v 2@ 1@ "%s_%s[%d] текст %s, текст %s." 0@

Переменные справа налево, типа 1@ это первая строка, 2@ - вторая строка, 3@v - число и т. Д
Гляди... Я так сделал, но у меня эта переменная почему-то 0. Память выделял.
CLEO:
WHILE TRUE
wait 0
    IF 0039:   31@ == 1
    THEN
        IF
        0C18: 0 = strstr string1 4@ string2 "  123"
        THEN
            wait 2000
            0AA5: call 0x8220AD num_params 4 pop 4 params 13@v 12@v 11@ "%s_%s[%d] говорит:  123" 4@
            say "/command %d" 13@
///...
 

Kristyan

Известный
165
16
Гляди... Я так сделал, но у меня эта переменная почему-то 0. Память выделял.
CLEO:
WHILE TRUE
wait 0
    IF 0039:   31@ == 1
    THEN
        IF
        0C18: 0 = strstr string1 4@ string2 "  123"
        THEN
            wait 2000
            0AA5: call 0x8220AD num_params 4 pop 4 params 13@v 12@v 11@ "%s_%s[%d] говорит:  123" 4@
            say "/command %d" 13@
///...
У тебя 5 параметров должно быть:
13@v 12@v 11@ == 3
"%s_%s[%d] говорит: 123" == 1
4@ == 1
CLEO:
0AA5: call 0x8220AD num_params 5 pop 5 params 13@v 12@v 11@ "%s_%s[%d] говорит:  123" 4@