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

Boyenerji

Известный
97
1
Постоянно выделяешь память.


CLEO:
{$CLEO}
0AC8: 0@ = allocate_memory_size 256
0C11: memset destination 0@ value 0x0 size 256

WHILE 8AFA:  NOT is_samp_available  
0001: 0
END

WHILE TRUE
0001: 0
0B75: samp get_chat_string 99 text_to 0@ prefix_to 0 color_to 0 prefix_color_to 0
    IF 0C29: 1@ = stristr string1 0@ string2 "SAMP"
    THEN 0ACD: "~G~420~S~" {TIME}1500
    END
END

// By DarkP1xel

Большое тебе спасибо.Всё работает!

Обнаружилась проблема: вылетают варнинги постоянно.
Слово находит и текст выводит

код:
CLEO:
SAMP.GetChatString(99, 0@, 3@, 4@, 5@)
        if
            0C29: 1@ = stristr string1 0@ string2 "тест"
            THEN 0ACD: "~G~420~S~" {TIME}1500
        end
Сделал без цикла: надо проверить всего один раз.
14129329.png
 
Последнее редактирование модератором:

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,962
Обнаружилась проблема: вылетают варнинги постоянно.
Слово находит и текст выводит

код:
CLEO:
SAMP.GetChatString(99, 0@, 3@, 4@, 5@)
        if
            0C29: 1@ = stristr string1 0@ string2 "тест"
            THEN 0ACD: "~G~420~S~" {TIME}1500
        end
Сделал без цикла: надо проверить всего один раз.
14129329.png
Ты нахера код изменил?
 

Boyenerji

Известный
97
1
Ты нахера код изменил?
Вернул обратно все.

Ребят, мне нужно сделать так: я жду до тех пор пока у меня не будет анимация 949 и параллельно чекать чат на слово "тест", но игра крашится.

Вот код:

Вначале скрипта стоит вот:
CLEO:
0AC8: 0@ = allocate_memory_size 256
0C11: memset destination 0@ value 0x0 size 256

CLEO:
repeat
        wait 0
        23@ = SAMP.PlayerAnimationID(17@)
        0B75: samp get_chat_string 99 text_to 0@ prefix_to 0 color_to 0 prefix_color_to 0
        IF 0C29: 1@ = stristr string1 0@ string2 "тест"
        THEN 0ACD: "~G~420~S~" {TIME}1500
        end
        until 23@ == 949
 
Последнее редактирование модератором:

iTz_WEEZY

Известный
298
85
Boyenerji
CLEO:
repeat
       wait 0
       0B75: samp get_chat_string 99 text_to 0@ prefix_to 0 color_to 0 prefix_color_to 0
        IF OR      
        23@ = SAMP.PlayerAnimationID(17@)
        0C29: 1@ = stristr string1 0@ string2 "тест"
        THEN 0ACD: "~G~420~S~" {TIME}1500
        END
        until 23@ == 949
 

p1cador

cerf
Проверенный
220
359
Весь код скинь
Может у тебя нет бесконечного цикла / паузы, скрипт выполняется до конца и игру фризит
 

Boyenerji

Известный
97
1
Весь код скинь
Может у тебя нет бесконечного цикла / паузы, скрипт выполняется до конца и игру фризит


CLEO:
repeat
        wait 0
        if
        0AB0: 103
        then
        14@ = 0
        goto @8
        break
        end
            if
                21@ == 2
            then
                21@ = 0
                goto @4
            break
        end
            0AB1: call_scm_func @set_angle 2 2541.9609 -1290.9980
            0AB1: call_scm_func @get_distance 2 2541.9609 -1290.9980 0@
            0AB1: call_scm_func @plcol2 1 20@ 21@
            0B56: set_game_key 1 state -128
        until 00ED:   actor $PLAYER_ACTOR sphere 0 near_point 2541.9656 -1295.8522 radius 0.5 0.5 on_foot
        wait 400
       
        repeat
        wait 0
        23@ = SAMP.PlayerAnimationID(17@)
        0B75: samp get_chat_string 99 text_to 0@ prefix_to 0 color_to 0 prefix_color_to 0
        IF 0C29: 1@ = stristr string1 0@ string2 "тест"
        THEN 0ACD: "~G~420~S~" {TIME}1500
        end
        until 23@ == 949

То есть я бегу до определенного места до тех пор, пока не добегу. Потом перехожу к следующему циклу(ждать до тех пор пока не будет анимация 949). Крашится мгновенно как перехожу к циклу с ожиданием анимации.
 

Boyenerji

Известный
97
1

hnnssy

Известный
Друг
2,684
2,748
охуеть, нам теперь ванговать в чём же ошибка не глядя на код?
 

RusFatal

Новичок
114
10
Подскажите опкод для переноса текста из команды в переменную. К примеру, если в чат написали команду /text 123, то в чат выведется Текст: 123
CLEO:
chatmsg "Текст: %s" -1 (переменная)
 

BlackKnigga

Известный
BH Team
922
445
Подскажите опкод для переноса текста из команды в переменную. К примеру, если в чат написали команду /text 123, то в чат выведется Текст: 123
CLEO:
chatmsg "Текст: %s" -1 (переменная)
0B35: samp 0@ = get_last_command_params
Возвращает указатель на введеные параметры команды