Не форматируй string.Это кусок конечно, но память я выделяю везде где надо, код рабочийCLEO:0AF4: 17@ = read_string_from_ini_file "cleo\autoa" section "Asd" key "Ok" 0AD3: 18@ = format "%s" 17@ 0001: wait 5000 ms 0AF9: samp say_msg 18@
В общем в конце вместо нормального текста в 18@ В чат пишет либо пустую строку либо какую то хуйню, вне зависимости от того, латиница или кирилица в ini файле
Тогда пустые строки отправляютсяпопробуй заполнить выделенную память нулями через 0c11
не профитНе форматируй string.
Просто выдели память в 17@ и 0af9.
логично же, что заполнять нужно перед чтением с iniТогда пустые строки отправляются
не профит
wait 0
0AFA: is_samp_available
0AB0: key_pressed 90
jf @1
0AC8: 17@ = allocate_memory_size 260
0AC8: 18@ = allocate_memory_size 260
0AF4: 17@ = read_string_from_ini_file "cleo\autoa.ini" section "Text" key "Input"
0AD3: 18@ = format "%s" 17@
0001: wait 5000 ms
0AF9: samp say_msg 18@
//0AC9: free_allocated_memory 17@
0AC9: free_allocated_memory 18@
jump @1
Я долбач. 0c11 и не нужен. Если почитаешь мой код на предыдущей страницы... короче read from ini "awfawf" (расширение не написал) :D :D :Dgde 0c11?
ваще нужен, вернее рекомендованЯ долбач. 0c11 и не нужен. Если почитаешь мой код на предыдущей страницы... короче read from ini "awfawf" (расширение не написал) :D :D :D
0AF4: 19@ = read_string_from_ini_file "cleo\config.ini" section "sad" key "asd"
0AD3: 21@ = format "%s" 19@
0C29: 11@ = stristr string1 2@ string2 21@
Зачем строку форматируешь ещё раз? А со stristr вроде все нормально, юзаешь мб неправильно0C29 как бы не чувствителен к регистру. А на деле наоборот. втф ? И не обязательно с iniCLEO:0AF4: 19@ = read_string_from_ini_file "cleo\config.ini" section "sad" key "asd" 0AD3: 21@ = format "%s" 19@ 0C29: 11@ = stristr string1 2@ string2 21@
Мб я что то не вкуриваю ?
Каким опкодом сделать, чтобы после ввода кмд в чат писалось рандомное число
{$CLEO}
0000:
repeat
wait 0
until 0AFA:
0B34: "cmd" @cmd
0BDE: pause_thread 0
:cmd
0B35: samp 0@ = get_last_command_params
IF 0AD4: 33@ = scan_string 0@ format "%d %d" 1@ 2@
THEN
0209: 3@ = random_int_in_ranges 1@ 2@
0AF8: "Рандомное число: %d" -1 3@
ELSE
0AF8: "Введите промежуток для рандома." -1
END
0B43: samp cmd_ret
{$CLEO cs.}
0000: NOP
wait 2000
Samp.Available()
0B6D: render 0@ = create_font "Arial" height 18 flags 13
:MainLoop
0001: wait 0 ms
0AD3: 3@ = format "Осталось: %.1f" @ //
0B6F: render font 0@ draw_text 3@ pos 50 400 color 0xFFFFFFFF //
именно в этом скрипте(который на скринах), таймер сделан на опкоде 0C74: 2@ = create_timer_interval 0@ on_label 1@Можно сделать секундомер по убыванию, типа таймер, если таймер равен 0, то появляется другой текст. Несколько вещей набросал, может поможет. Посмотрите примеры *фотки*
CLEO:{$CLEO cs.} 0000: NOP wait 2000 Samp.Available() 0B6D: render 0@ = create_font "Arial" height 18 flags 13 :MainLoop 0001: wait 0 ms 0AD3: 3@ = format "Осталось: %.1f" @ // 0B6F: render font 0@ draw_text 3@ pos 50 400 color 0xFFFFFFFF //
{$CLEO}
0000:
repeat
wait 0
until 0AFA:
0B6D: render 30@ = create_font "Arial" height 18 flags 13
alloc 3@ 30
WHILE TRUE
wait 0
IF 0B61: samp is_local_player_spawned
THEN
IF 0C89: key_just_pressed 88 // X
THEN
5@ = 15 // время таймера
0C74: 2@ = create_timer_interval 1000 on_label @timer
repeat
wait 0
0C7C: 4@ = get_timer 2@ time_left
0016: 4@ /= 100
0AD3: 3@ = format "Осталось: %d.%dsec" 5@ 4@
0B6F: render font 30@ draw_text 3@ pos 50 400 color 0xFFFFFFFF
until 5@ > -1
END
0AD3: 3@ = format "Можно использовать"
0B6F: render font 30@ draw_text 3@ pos 50 400 color 0xFFFFFFFF
END
END
:timer
5@ -= 1
cmdret