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

01EG

Известный
Проверенный
631
345
Код:
:health
0B35: samp 8@ = get_last_command_params
0C1A: 8@ = atoi 8@
if and
    8@ >= 0
    8@ <= 1000
then
    0B25: samp 1@ = get_player_health 8@
    0AD1: show_formatted_text_highpriority "%d" time 2000 1@

    //0AC8: 2@ = allocate_memory_size 32
    //0AD3: 2@ = format "%d" 1@
    //0AD1: show_formatted_text_highpriority "%s" time 2000 2@
    //0AC9: free_allocated_memory 2@
end
0B43: samp cmd_ret
Всегда пишет 0, хотя у игроков не 0 хп.
 

Woofing Giraffe

Активный
402
49
Такой вопрос, использую эту функцию
Код:
repeat
wait 0
until samp.DialogRespond(400, 5@, 0, 25@)
в переменную 25@ записывается текст который вводится в диалог. Как проверить, введён ли текст внутрь диалога?
 

SR_team

like pancake
BH Team
4,720
6,370
Такой вопрос, использую эту функцию
Код:
repeat
wait 0
until samp.DialogRespond(400, 5@, 0, 25@)
в переменную 25@ записывается текст который вводится в диалог. Как проверить, введён ли текст внутрь диалога?
Есть опкод чтения текста из диалога, если символов не 0 - что-то ввели. Опкоды на WIKI смотри
 

Sempati

Новичок
19
0
Подскажите пожалуйста как загрузить все аудио из определенной папки?
Опкод загрузки: 0AAC: 10@ = load_audiostream "CLEO\MP3\1.mp3"

Я думаю нужно получать названия всех файлов в папке и поочередно загружать их. Вот только не знаю как получить названия всех файлов в папке. Думаю через доп. библиотеку.
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,962
Я думаю нужно получать названия всех файлов в папке и поочередно загружать их. Вот только не знаю как получить названия всех файлов в папке. Думаю через доп. библиотеку.
Есть 2 опкода для этого:


PHP:
0AE6: 0@ = find_first_file "CLEO\*.cs" get_filename_to 1@v // IF and SET
0AE7: 1@v = find_next_file 0@ // IF and SET
 

Xample

Новичок
89
1
подскажите как реализовать условие "быстрое трёхкратное нажатие кнопки W" и чтобы при удержании или медленногм нажатии клавиши, условие было ложным
 
Последнее редактирование:

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,962
подскажите как реализовать условие "быстрое трёхкратное нажатие кнопки W" и чтобы при удержании или медленногм нажатии клавиши, условие было ложным
PHP:
{$CLEO}
{$NOSOURCE}
0000:

:1
wait 0
0AB0:   key_pressed 0x69
jf @1
0A8E: 0@ = 0@ + 1
0039:   0@ == 4
jf @1

:2
wait 0
8AB0:   not key_pressed 0x69
jf @2
0A8E: 0@ = 0 + 0
jump @1

Много как. Вот один из примеров.
 
Последнее редактирование:

Xample

Новичок
89
1
PHP:
{$CLEO}
{$NOSOURCE}
0000:

:1
wait 0
0AB0:   key_pressed 0x69
jf @1
0A8E: 0@ = 0@ + 1
0039:   0@ == 4
jf @1

:2
wait 0
8AB0:   not key_pressed 0x69
jf @2
0A8E: 0@ = 0 + 0
jump @1

Много как. Вот один из примеров.


Нажимаю 1 раз и тоже срабатывает. мне нужно как в майнкрафте, когда нажимаешь 2 или 3 раза, а после удерживаешь включался бег ( 0B56: set_game_key 16 state -255 //PED_SPRINT )

Код:
{$CLEO}
{$NOSOURCE}
0000:

:1
wait 0
key_down 87
jf @1
0A8E: 0@ = 0@ + 1
0039:   0@ == 4
jf @1
0ACC: show_text_lowpriority "ON ON ON" time 1000
:2
wait 0
not key_down 87
jf @2
0A8E: 0@ = 0 + 0
jump @1


написал вот так сейчас, вроде работает, но бывает подлагивает, надо с паузами поднастроить
Код:
{$CLEO}
{$NOSOURCE}
0000:

:1
wait 0
key_down 87
jf @1

wait 50

:2
wait 0
not key_down 87
jf @1

wait 50

:3
wait 0
key_down 87
jf @1

:4
wait 0
0ACC: show_text_lowpriority "ON ON ON" time 10
0B56: set_game_key 16 state -255
if
key_down 87
jf @1
jump @4
 
Последнее редактирование:

Xample

Новичок
89
1
подправьте плиз код, когда пишу /warpto без ID или не существующий игра вылетает
Код:
:6
0B34: samp register_client_command "warpto" to_label @cmd6
0BDE: pause_thread 0

:cmd6
    SAMP.IsCommandTyped(0@)
    0B35: samp 0@ = get_last_command_params
    0C1A: 0@ = atoi 0@
if
      SAMP.IsPlayerConnected(0@)
else_jump @end
0B20: samp 1@ = actor_handle_by_samp_player_id 0@
00A0: store_actor 1@ position_to 2@ 3@ 4@
4@ -= 1.0
Actor.PutAt($PLAYER_ACTOR, 2@ 3@ 4@)
SAMP.CmdRet

:end
SAMP.CmdRet
 

DubStep_

Известный
292
52
подправьте плиз код, когда пишу /warpto без ID или не существующий игра вылетает
Код:
:6
0B34: samp register_client_command "warpto" to_label @cmd6
0BDE: pause_thread 0

:cmd6
    SAMP.IsCommandTyped(0@)
    0B35: samp 0@ = get_last_command_params
    0C1A: 0@ = atoi 0@
if
      SAMP.IsPlayerConnected(0@)
else_jump @end
0B20: samp 1@ = actor_handle_by_samp_player_id 0@
00A0: store_actor 1@ position_to 2@ 3@ 4@
4@ -= 1.0
Actor.PutAt($PLAYER_ACTOR, 2@ 3@ 4@)
SAMP.CmdRet

:end
SAMP.CmdRet
Код:
0B34: samp register_client_command "warpto" to_label @cmd6
0BDE: pause_thread 0

:cmd6
0B35: samp 0@ = get_last_command_params
0C1A: 1@ = atoi 0@
if
SAMP.IsPlayerConnected(1@)
then
    0B20: samp 0@ = actor_handle_by_samp_player_id 1@
    00A0: store_actor 0@ position_to 2@ 3@ 4@
    4@ -= 1.0
    Actor.PutAt($PLAYER_ACTOR, 2@ 3@ 4@)
end
Samp.CmdRet()
 

Xample

Новичок
89
1
Код:
0B34: samp register_client_command "warpto" to_label @cmd6
0BDE: pause_thread 0

:cmd6
0B35: samp 0@ = get_last_command_params
0C1A: 1@ = atoi 0@
if
SAMP.IsPlayerConnected(1@)
then
    0B20: samp 0@ = actor_handle_by_samp_player_id 1@
    00A0: store_actor 0@ position_to 2@ 3@ 4@
    4@ -= 1.0
    Actor.PutAt($PLAYER_ACTOR, 2@ 3@ 4@)
end
Samp.CmdRet()
всёровно вылетает (
 

Niko

Известный
Проверенный
230
268
подправьте плиз код, когда пишу /warpto без ID или не существующий игра вылетает
Код:
:6
0B34: samp register_client_command "warpto" to_label @cmd6
0BDE: pause_thread 0

:cmd6
    SAMP.IsCommandTyped(0@)
    0B35: samp 0@ = get_last_command_params
    0C1A: 0@ = atoi 0@
if
      SAMP.IsPlayerConnected(0@)
else_jump @end
0B20: samp 1@ = actor_handle_by_samp_player_id 0@
00A0: store_actor 1@ position_to 2@ 3@ 4@
4@ -= 1.0
Actor.PutAt($PLAYER_ACTOR, 2@ 3@ 4@)
SAMP.CmdRet

:end
SAMP.CmdRet
Код:
{$CLEO}
0000:

while not Samp.Available()
    wait 400
end

0B34: samp register_client_command "warpto" to_label @WarpTo

0BDE: pause_thread 0

:WarpTo
0B35: samp 0@ = get_last_command_params
if 0AD4: 1@ = scan_string 0@ format "%d" 2@
then
    0B20: samp 3@ = actor_handle_by_samp_player_id 2@
    00A0: store_actor 3@ position_to 4@ 5@ 6@
    6@ -= 1.0
    Actor.PutAt($PLAYER_ACTOR, 4@ 5@ 6@)
end
0B43: samp cmd_ret