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

Dark_Knight

Me, me and me.
Друг
4,065
2,079
Ребята, у меня одного 0AF5: write_string крашит на cleo 4.3.16?
На 4,1 - работает, но тогда не работает sampfancs, если кто знает как можно исправить эту неполадку посоветуйте пожалуйста..

Если у тебя хрюша стоит, то смени на 7. А что тебе уже надо - не наши проблемы.
 

developer-av

Новичок
11
0
Спасибо за совет, но моя видюха не сильно дружит с 7, Cleo 4.1 заработал, причина была в asi лоадере.
 

Enjoy

Новичок
Проверенный
164
11
Можно ли опкоду 0B6F прикинуть какие-нибудь параметры.
Допустим, мне нужно, чтобы число убывало до 0, я смогу сделать это так 0B6F: render font 0@ draw_text "%d" pos 2@ 3@ color 4@ 5@
 

Enjoy

Новичок
Проверенный
164
11
Некоторые опкоды вытащил с этой же темы, там хеннеси кому-то помогал.
В них разобрался, по-моему. Но короче скриптецкий не реагирует на команду активации.
Код:
{$CLEO}
 
Thread 'timer'
 
if not 31@ = samp.Base()
then end_thread
else
    while not samp.Available()
    wait 400
    end
end
 
0B6D: render 2@ = create_font "Tahoma" height 20 flags 5
0B34: samp register_client_command "/timer" @Timer
 
while true
wait 0
 
    if 1@ == 1
    then
    /*
        for 3@ = 95 to 99
            0B75: samp get_chat_string 3@ text_to 4@ prefix_to 5@ color_to 6@ prefix_color_to 7@
        end
    */
    03F0: enable_text_draw 1
    0B5A: get_screen_resolution 20@ 21@
    20@ /= 2
    21@ /=2
        for 8@ = 120 downto 0
        0B6F: render font 2@ draw_text "%d" pos 20@ 21@ color 0x00CC00 8@
        end
    end
end
 
:Timer
0B12: 1@ = 1@ XOR 1
Samp.CmdRet()

кстати, обязателен ли опкод 03F0 и поясните за флаги, какие возможности дают. (гуглил их, чето муть какая-то)
Если не сложно помочь, то тхенкью.
 

Dark_Knight

Me, me and me.
Друг
4,065
2,079
03f0 обязателен для обычных опкодов. Флаги можешь найти в инклуде СФ.
 

Enjoy

Новичок
Проверенный
164
11
03f0 обязателен для обычных опкодов. Флаги можешь найти в инклуде СФ.


Флаги нашел, то есть опкод с включением(03f0) мне тут не нужен.
Ну а по самому скрипту что, он вообще не идет, в чем там проблема?
Я уже пробовал текст просто туда засунуть, все равно не показывает.
 

Dark_Knight

Me, me and me.
Друг
4,065
2,079
Я тебе же сказал. Сначала формируешь строку, а поток только её рендеришь
 

Enjoy

Новичок
Проверенный
164
11
Я тебе же сказал. Сначала формируешь строку, а поток только её рендеришь


То есть она рендерит пустое место, хотя с хуев если там цикл фор енд. Блядь я понять не могу, давай рассказывай для чего мне сформировывать строку.
У меня в голове это не укладывается, хз.
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,460
То есть она рендерит пустое место, хотя с хуев если там цикл фор енд. Блядь я понять не могу, давай рассказывай для чего мне сформировывать строку.
У меня в голове это не укладывается, хз.
Практически все опкоды не поддерживают форматирование string'а у самой себя.
Для этого необходимо формировать строку с помощью опкода 0ad3, перед этим выделяя память 0ac8.
 
  • Нравится
Реакции: Enjoy

SPARTA

Новичок
53
2
Некоторые опкоды вытащил с этой же темы, там хеннеси кому-то помогал.
В них разобрался, по-моему. Но короче скриптецкий не реагирует на команду активации.
Код:
{$CLEO}
 
Thread 'timer'
 
if not 31@ = samp.Base()
then end_thread
else
    while not samp.Available()
    wait 400
    end
end
 
0B6D: render 2@ = create_font "Tahoma" height 20 flags 5
0B34: samp register_client_command "/timer" @Timer
 
while true
wait 0
 
    if 1@ == 1
    then
    /*
        for 3@ = 95 to 99
            0B75: samp get_chat_string 3@ text_to 4@ prefix_to 5@ color_to 6@ prefix_color_to 7@
        end
    */
    03F0: enable_text_draw 1
    0B5A: get_screen_resolution 20@ 21@
    20@ /= 2
    21@ /=2
        for 8@ = 120 downto 0
        0B6F: render font 2@ draw_text "%d" pos 20@ 21@ color 0x00CC00 8@
        end
    end
end
 
:Timer
0B12: 1@ = 1@ XOR 1
Samp.CmdRet()

кстати, обязателен ли опкод 03F0 и поясните за флаги, какие возможности дают. (гуглил их, чето муть какая-то)
Если не сложно помочь, то тхенкью.



9@ = Format "%d" 8@

9@ в рендер вместо %d
 
  • Нравится
Реакции: Enjoy

АндрейЧотак

Известный
80
10
Некоторые опкоды вытащил с этой же темы, там хеннеси кому-то помогал.
В них разобрался, по-моему. Но короче скриптецкий не реагирует на команду активации.
Код:
{$CLEO}
 
Thread 'timer'
 
if not 31@ = samp.Base()
then end_thread
else
    while not samp.Available()
    wait 400
    end
end
 
0B6D: render 2@ = create_font "Tahoma" height 20 flags 5
0B34: samp register_client_command "/timer" @Timer
 
while true
wait 0
 
    if 1@ == 1
    then
    /*
        for 3@ = 95 to 99
            0B75: samp get_chat_string 3@ text_to 4@ prefix_to 5@ color_to 6@ prefix_color_to 7@
        end
    */
    03F0: enable_text_draw 1
    0B5A: get_screen_resolution 20@ 21@
    20@ /= 2
    21@ /=2
        for 8@ = 120 downto 0
        0B6F: render font 2@ draw_text "%d" pos 20@ 21@ color 0x00CC00 8@
        end
    end
end
 
:Timer
0B12: 1@ = 1@ XOR 1
Samp.CmdRet()

кстати, обязателен ли опкод 03F0 и поясните за флаги, какие возможности дают. (гуглил их, чето муть какая-то)
Если не сложно помочь, то тхенкью.

у тебя ещё команда сделана не правильно
Вместо
0B34: samp register_client_command "/timer" @Timer
Будет
0B34: samp register_client_command "timer" @Timer
 
  • Нравится
Реакции: Enjoy

developer-av

Новичок
11
0
Добрый вечер, кто-то может подсказать как из одного CLEO-скрипта изменить локальную переменную другого?
где-то читал что это можно сделать, а как не нашел. зарание спасибо.
 

Грен

Новичок
6
1
Как сделать Cleo открытие диалога по его иду ? например открывает диалог сервера номер 228, как это сделать ?