- 2,684
- 2,748
в его случае нужно until falseuntil {условие}
Это цикл с послеусловием.
В твоем случае, нужно сделать так:
CLEO:20@ = 0 until 20@ == 0
в его случае нужно until falseuntil {условие}
Это цикл с послеусловием.
В твоем случае, нужно сделать так:
CLEO:20@ = 0 until 20@ == 0
опкод не работает в качестве проверкиНарод помогите 3 часа не могу сделать скрипт ,который будет по нажатию клавиши загружать и воспроизводить звук загруженный в папку клео буду благодарен ,если поможете
{$CLEO .cs}
if
0@ = Audiostream.Load("cleo\MP3\1.MP3")
{$CLEO .cs}
{$INCLUDE SF}
while not SAMP.Available()
wait 100
end
0@ = Audiostream.Load("cleo\MP3\1.MP3")
0AB9: get_audio_stream_state 0@ store_to 1@
if 1@ == 3 // resume
then
0AD1: show_formatted_text_highpriority "mp3 not found" time 2000
end
while true
wait 0
if 0AB0: key_pressed 50
then
Audiostream.PerformAction(0@, play) // 0 stop; 1 play; 2 pause; 3 resume
repeat
wait 0
until 0AB0: key_pressed 50
end
end
{$CLEO}
0000:
:1
wait 0
0AFA: is_samp_available
jf @1
0A8E: 5@ = 400 + 28
:2
wait 0
0AFF: samp 0@ = car_handle_by_samp_vehicle_id 5@
if
056E: car 0@ defined
jf @2
if
02CA: car 0@ bounding_sphere_visible
jf @2
0407: store_coords_to 2@ 3@ 4@ from_car 0@ with_offset -0.1 1.0 0.0
0B55: convert_3D_coords 2@ 3@ 4@ to_screen 2@ 3@
0B70: render draw_polygon_pos 2@ 3@ size 18 18 corners 15 rotation 0.5 color -1
jump @2
а что тебе нужно? этот код будет искать на экране кар с идом 428 и рисовать на нём многоугольник.Можете подсказать почему не работает?
CLEO:{$CLEO} 0000: :1 wait 0 0AFA: is_samp_available jf @1 0A8E: 5@ = 400 + 28 :2 wait 0 0AFF: samp 0@ = car_handle_by_samp_vehicle_id 5@ if 056E: car 0@ defined jf @2 if 02CA: car 0@ bounding_sphere_visible jf @2 0407: store_coords_to 2@ 3@ 4@ from_car 0@ with_offset -0.1 1.0 0.0 0B55: convert_3D_coords 2@ 3@ 4@ to_screen 2@ 3@ 0B70: render draw_polygon_pos 2@ 3@ size 18 18 corners 15 rotation 0.5 color -1 jump @2
:Label
if
0AAB: file_exists “cleo\config.ini”
then
jf @Error
0B35: samp 0@ = get_last_command_params
0AD4: 1@ = scan_string 0@v format “%s” 2@ //Это вроде не обязательно
0AF8: samp add_message_to_chat 2@ color 0xFFFFFF // Позже объясню, зачем поставил
0AC8: 3@ = allocate_memory_size 512
0AF4: 3@ = read_string_from_ini_file “cleo\config.ini” section ‘SectionName’ key 2@v //ini файл уже заполнен
0AF8: samp add_message_to_chat “%s” color 0xFFFFFF 3@
0AC9: free_allocated_memory 3@
0B43: samp cmd_ret
end
Добрый день. Пишу скрипт, который должен будет вывести опеределённую информацию из .ini файла при вызове её ключа (в формате строки) через команду. Если сократить и оставить только то, что имеет отношение к проблеме, то выглядит примерно так:
CLEO::Label if 0AAB: file_exists “cleo\config.ini” then jf @Error 0B35: samp 0@ = get_last_command_params 0AD4: 1@ = scan_string 0@v format “%s” 2@ //Это вроде не обязательно 0AF8: samp add_message_to_chat 2@ color 0xFFFFFF // Позже объясню, зачем поставил 0AC8: 3@ = allocate_memory_size 512 0AF4: 3@ = read_string_from_ini_file “cleo\config.ini” section ‘SectionName’ key 2@v //ini файл уже заполнен 0AF8: samp add_message_to_chat “%s” color 0xFFFFFF 3@ 0AC9: free_allocated_memory 3@ 0B43: samp cmd_ret end
И вот в чём проблема - я не могу добиться того, чтобы скрипт прочёл информацию из нужного key. Для того, чтобы проверить, что он видит на входе вместо этой переменной, сделал её вывод в чат. Если выводить 2@v - напечатается пустая строка. Работают лишь 2 варианта - 2@ либо «%s» и переменная после основного текста опкода. Но если поставить 2@ в key - произойдёт краш. Вариант с «%s» проверить не удалось, т.к. после компиляции скрипт стирает переменную, стоящую после тела опкода.
Подскажите, пожалуйста, как можно решить данную проблему? Или вставить переменную в опкод 0AD4 не возможно в принципе? Буду крайне признателен.
if
0AAB: file_exists “cleo\config.ini”
then
jf @Error
0B35: samp 0@ = get_last_command_params
0AD4: $NOT_USED = scan_string 0@ format “%s” 2@s //Это вроде не обязательно
0AF8: samp add_message_to_chat 2@s color 0xFFFFFF // Позже объясню, зачем поставил
0AC8: 5@= allocate_memory_size 512
0AF4: 5@= read_string_from_ini_file “cleo\config.ini” section "SectionName" key 2@s //ini файл уже заполнен
0AF8: samp add_message_to_chat “%s” color 0xFFFFFF 5@
0AC9: free_allocated_memory 5@
0B43: samp cmd_ret
1. https://blast.hk/wiki/doku.phpДобрый день.
Подскажите где можно найти классы Sampfuncs по типу:
SAMP.Avaible
SAMP.IsDialogActive(параметры и что обозначают)
SAMP.ChatInputOpened
SAMP.CmdRet
Какой оппкод отвечает за проверку нажата ли клавиша или введена ли команда, координаты мыши и цикл
К примеру хочу написать клео закуп, и надо чтобы при вводе команды /zakup <число>, столько раз нажимался Enter
{$CLEO}
0000:
repeat
wait 0
until SAMP.Available()
while true
wait 0
if and
key_down {id}88
not SAMP.IsCursorActive()
then
while key_down {id}88
wait 0
end
{main construction}
print "Hello, World!" 1000
end
end
{$CLEO}
0000:
repeat
wait 0
until SAMP.Available()
0b34: "cmd" @cmd
0bde:
:cmd
chatmsg "cmd vvedena" -1
SAMP.CmdRet
0B5E: get_cursor_pos 0@ 1@
{$CLEO}
0000:
repeat
wait 0
until SAMP.Available()
0B34: cmd "zakup" @Zakup
0BDE:
@Zakup
SAMP.IsCommandTyped(0@)
0AD4: 0@ = scan_string 0@ format "%d" 1@
2@ = 1
for 2@ = 1 to 1@
wait 100
0C72: set_virtual_key 13 down true // enter
end
SAMP.CmdRet()
даа что тебе нужно? этот код будет искать на экране кар с идом 428 и рисовать на нём многоугольник.
{$CLEO .cs}
0000: NOP
:NONAME_2
wait 0
if and
05BE: AS_actor $PLAYER_ACTOR die
0@ = Audiostream.Load("CLEO\MP3_2\2.MP3")
jf @NONAME_2
wait 0
Audiostream.PerformAction(0@, PLAY)
wait 8000
Audiostream.PerformAction(0@, STOP)
Audiostream.Release(0@)
jump @NONAME_2
отправка RPC_GiveTakeDamage либо BULLET_PACKET_SYNC.скажите как написать дамагер