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

DubStep_

Известный
292
52
Код:
        format 17@ = "cleo\cleo_saves\kek\kek%d.ini" 18@                                                                                                    
        format 16@v = "%s" 17@                                                                                          
        0A9A: 13@ = openfile 16@v mode "w"
Почему крашит? Возможно ли как-то сделать длинный путь для открытия файла? При этом нужно туда вставить переменную.
Выдели память для переменной
 

Woofing Giraffe

Активный
402
49
Код:
{$CLEO}
0000:

:1
wait 0
    SAMP.Available()
jf @1
alloc 0@ 128
format 0@ = "cleo\cleo_saves\test\test.ini"
format 1@s = "%s" 0@
0B34: "test" @test

while true
    wait 0
end

:test
0A9A: 2@ = openfile 1@s mode "w"
0AD9: write_formatted_text "test" in_file 2@
0A9B: closefile 2@
cmdret
Вот пример скрипта, при вводе команды /test крашит.
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,469
Я тебе дал точный код, но ты умудрился всё таки поставить @
 

DubStep_

Известный
292
52
Код:
{$CLEO}
0000:

:1
wait 0
    SAMP.Available()
jf @1
alloc 0@ 128
format 0@ = "cleo\cleo_saves\test\test.ini"
format 1@s = "%s" 0@
0B34: "test" @test

while true
    wait 0
end

:test
0A9A: 2@ = openfile 1@s mode "w"
0AD9: write_formatted_text "test" in_file 2@
0A9B: closefile 2@
cmdret
Вот пример скрипта, при вводе команды /test крашит.
Это вообще лишнее
format 1@s = "%s" 0@
 

Dark_Knight

Me, me and me.
Друг
4,083
2,110
Код:
{$CLEO}
0000:

:1
wait 0
SAMP.Available()
jf @1
alloc 0@ 128
format 0@ = "cleo\cleo_saves\test\test.ini"
0B34: "test" @test

while true
wait 0
end

:test
0A9A: 2@ = openfile 0@s mode "w"
0AD9: write_formatted_text "test" in_file 2@
0A9B: closefile 2@
cmdret
 

Woofing Giraffe

Активный
402
49
При этом папка test в папке cleo_saves должна быть создана
tuGJlsJ.jpg
qoywiJZ.jpg

Полностью скопировал и вставил твой код.
 

Vovich

HOT
Проверенный
717
197
Код:
0B80: dialog 0@ = create "1"
0B84: dialog 0@ set_pos_XY 390 165 size 600 500
0B83: dialog 0@ add_checkbox id 2 text "1" pos_XY 0 40 size 150 20
0B82: dialog 0@ add_button id 5 text "1" pos_XY 2 110 size 100 30
0B82: dialog 0@ add_button id 1 text "1" pos_XY 2 150 size 100 30
0B82: dialog 0@ add_button id 3 text "1" pos_XY 2 310 size 23 23
0B91: dialog 0@ add_static id 4 text "1" pos_XY 2 280 size 150 20
0B8D: samp set_cursor_mode 2
if
0AB0: 1
then
0B5E: get_cursor_pos 14@ 15@
0B84: samp dialog 0@ set_pos_XY 14@ 15@ size 22@ 0
jump @Menu
end
Что не так? Почему диалог не двигается на ЛКМ?
Потому что не так нужно диалог двигать, ищи в CALL_SCM_FUNCS перемещение диалогов как окон Windows.
 

Vovich

HOT
Проверенный
717
197
Можете кинуть код, который внизу экрана рисует любое слово. Render опкодами. Заранее спасибо :)
Код:
0B6D: render 10@ = create_font "Arial" height 11 flags 5  // тут укажешь шрифт, и размер. в flags указывать можно разные параметры, посмотри описание опкода, там написано, а 5 - это полужирный текст.
0B6F: render font 0@ draw_text "тут текст" pos 100 600 color 0xFFFFFFFF // отображение текста ,
 

hnnssy

Известный
Друг
2,684
2,769
А как можно сделать чтобы он мог командой включаться/выключаться?
Код:
{$CLEO}
0000:
wait 2000

reg_cmd "text" @text

0B6D: render 10@ = create_font "Arial" height 11 flags 5

while true
wait 0
if 30@ == 1
then
0B6F: render font 10@ draw_text "тут текст" pos 100 600 color 0xFFFFFFFF
end
end

:text
0B12: 30@ = 30@ XOR 1
cmd_ret