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

AXE_CAMERON

Участник
66
0
Есть где-то урок по циклу WHILE? А то я все циклы давно спокойно понимаю, а цикл WHILE у меня всегда проходит только один раз...
 

The Spark

Известный
656
687
CLEO:
{$CLEO}
0000:
thread 'astap'

while not SAMP.Available()
    wait 0
end
alloc 0@ 256
0AD3: 0@ = format "~w~22~y~:~w~47" // твоя строка находится в переменной 0@

while true
    wait 0
    if 0ab0: 49 // pressed 1
    then
        repeat
            wait 0
        until 8ab0: 49
        0AC7: 3@ = var 2@ offset
        0AC7: 4@ = var 1@ offset
        0AA5: call 0x8220AD num_params 4 pop 4 params | outcoming: 3@ 4@ | incoming: "~w~%i~y~:~w~%i" 0@ // 4@ - minutes; 3@ - hours; 0@ - string
        alloc 4@ 256
        0AD3: 4@ = format "%i:%i" 1@ 2@
        chatmsg 4@ -1
        free 4@
    end
end
Спасибо, всё робит! Вынес из твоего кода нужное:
CLEO:
        alloc 0@ 256
        0C5A: samp textdraw 0 get_string_to 0@
        0AC7: 3@ = var 2@ offset
        0AC7: 4@ = var 1@ offset
        0AA5: call 0x8220AD num_params 4 pop 4 params | outcoming: 3@ 4@ | incoming: "~w~%i~y~:~w~%i" 0@ // 4@ - minutes; 3@ - hours; 0@ - string
        alloc 4@ 256
        0AD3: 4@ = format "%i:%i" 1@ 2@
        chatmsg 4@ -1
        free 0@
        free 4@
Всё тоже робит, но бля когда я заменяю 0AF8: на Render.DrawText(1@, 4@, 1200, 182, 0xFFffffff) крашит( Шрифт создан, память выделена, шо ещё?
 
Последнее редактирование:

hnnssy

Известный
Друг
2,684
2,762
Всё тоже робит, но бля когда я заменяю 0B34: на Render.DrawText(1@, 4@, 1200, 182, 0xFFffffff) крашит( Шрифт создан, память выделена, шо ещё?
это чё у тебя за код, в котором ты регистрацию команды заменяешь рендером текста?
 
  • Нравится
Реакции: The Spark и astap_

Harryss

Участник
233
26
Почему не работает? Знаю об обычном key_pressed, но с ним сообщение профлуживает как минимум два раза за нажатие, и приходится делать дополнительные проверки.
CLEO:
while true
    wait 0
    if 0736:   is_keyboard_key_just_pressed 113 
    then
        0af8: chat "{FFFFFF}Находится в разработке..." -1
    end
end
 

D3.Pheonix

🎹
Модератор
2,867
1,642
Почему не работает? Знаю об обычном key_pressed, но с ним сообщение профлуживает как минимум два раза за нажатие, и приходится делать дополнительные проверки.
CLEO:
while true
    wait 0
    if 0736:   is_keyboard_key_just_pressed 113 
    then
        0af8: chat "{FFFFFF}Находится в разработке..." -1
    end
end
0C89
 
  • Нравится
Реакции: Harryss

D[a]Ni

Участник
63
3
Что не так?? Ссылка моя
Код:
вставил свою, но не пашит
{$CLEO}
{$NOSOURCE}
0000:
:Test
wait 0
0ADC:   test_cheat "1"
jf @Test
0AC8: 0@ = allocate_memory_size 32
0AC8: 1@ = allocate_memory_size 86
0AD3: 0@ = format "CLEO\test.cs"
0AD3: 1@ = format "https:%c/www.dropbox.com/s/9c6tq2zjisy2ejf/%5BMDS-helper%5D%20by%20D%5Ba%5DNi.cs?dl=0" 47
0AB1: call_scm_func @URLDownloadToFileA 2 0@ 1@ // Êà÷àåì ôàéë.
0AB1: call_scm_func @DeleteUrlCacheEntryA 1 1@ // Î÷èùàåì ìóñîð.
0AC9: free_allocated_memory 0@
0AC9: free_allocated_memory 1@
jump @Test
:URLDownloadToFileA // 0AB1: call_scm_func @URLDownloadToFileA 2 0@ 1@
0AA2: 25@ = load_library "Urlmon.DLL"
0AA4: 26@ = get_proc_address "URLDownloadToFileA" library 25@
0AA7: call_function 26@ num_params 5 pop 0 0 0 0@ 1@ 0 20@ // 0@ - Ïóòü | 1@ - Ññûëêà.
0AA3: free_library 25@
0AB2: ret 0
:DeleteUrlCacheEntryA // 0AB1: call_scm_func @DeleteUrlCacheEntryA 1 1@
0AA2: 25@ = load_library "Wininet.DLL"
0AA4: 26@ = get_proc_address "DeleteUrlCacheEntryA" library 25@
0AA7: call_function 26@ num_params 1 pop 0 0@ 20@ // 0@ - Ññûëêà.
0AA3: free_library 25@
0AB2: ret 0
 

hnnssy

Известный
Друг
2,684
2,762
0AF8: , ошибся в тексте. Но проблема ещё в силе
показывайте код, мсье
Цвет в ргба формате, а не HTML
постригись
Что не так?? Ссылка моя
Код:
вставил свою, но не пашит
{$CLEO}
{$NOSOURCE}
0000:
:Test
wait 0
0ADC:   test_cheat "1"
jf @Test
0AC8: 0@ = allocate_memory_size 32
0AC8: 1@ = allocate_memory_size 86
0AD3: 0@ = format "CLEO\test.cs"
0AD3: 1@ = format "https:%c/www.dropbox.com/s/9c6tq2zjisy2ejf/%5BMDS-helper%5D%20by%20D%5Ba%5DNi.cs?dl=0" 47
0AB1: call_scm_func @URLDownloadToFileA 2 0@ 1@ // Êà÷àåì ôàéë.
0AB1: call_scm_func @DeleteUrlCacheEntryA 1 1@ // Î÷èùàåì ìóñîð.
0AC9: free_allocated_memory 0@
0AC9: free_allocated_memory 1@
jump @Test
:URLDownloadToFileA // 0AB1: call_scm_func @URLDownloadToFileA 2 0@ 1@
0AA2: 25@ = load_library "Urlmon.DLL"
0AA4: 26@ = get_proc_address "URLDownloadToFileA" library 25@
0AA7: call_function 26@ num_params 5 pop 0 0 0 0@ 1@ 0 20@ // 0@ - Ïóòü | 1@ - Ññûëêà.
0AA3: free_library 25@
0AB2: ret 0
:DeleteUrlCacheEntryA // 0AB1: call_scm_func @DeleteUrlCacheEntryA 1 1@
0AA2: 25@ = load_library "Wininet.DLL"
0AA4: 26@ = get_proc_address "DeleteUrlCacheEntryA" library 25@
0AA7: call_function 26@ num_params 1 pop 0 0@ 20@ // 0@ - Ññûëêà.
0AA3: free_library 25@
0AB2: ret 0
dl=1 в конце ссылки
 
  • Нравится
Реакции: ehxqu

Dimoman

Новичок
24
0
Как получить настройки текущей машины? чтобы потом изменить подвеску...
 

AXE_CAMERON

Участник
66
0
скинь код, где твой цикл проходит 1 раз
Код:
{$CLEO}
{$NOSOURCE}
0000:

1@ = 0
2@ = 0

:1
wait 0
if and
0AB0:   key_pressed 16
0AB0:   key_pressed 219
then
2@ = 1
while 2@ == 1
wait 0
if and
0AB0:  not key_pressed 16
0AB0:  not key_pressed 219
then
0AD1: show_formatted_text_highpriority "%i" time 1000 1@
wait 1000
1@ +=1
if and
0AB0:   key_pressed 16
0AB0:   key_pressed 219
then
2@ = 0
end
end
end
end
jump @1
Вот, цикл один раз проходит, а это всего лишь обычный таймер
 

Harryss

Участник
233
26
Не работает %s в заголовке диалога, почему?
CLEO:
0AD2: 0@ = player $PLAYER_CHAR targeted_actor
0B2B: samp 19@ = get_player_id_by_actor_handle 0@
0B36: samp 20@ = get_player_nickname 19@

0B3B: samp show_dialog id 48 caption "NickName выбранного игрока: %s"  text 0@ button_1 "Выбрать" button_2 "Отмена" style DIALOG_STYLE_LIST 20@