LokoLoyKoo
Новичок
- 103
- 8
Как сделать, чтобы при вводе команды(Пример: /id 45), в чат писало ник и ид игрока(Пример: lox[45]).
Часть кода желательно бы.
Часть кода желательно бы.
Как сделать, чтобы при вводе команды(Пример: /id 45), в чат писало ник и ид игрока(Пример: lox[45]).
Часть кода желательно бы.
{$CLEO}
0000:
wait 2000
0B34: reg_cmd "id" @cmd
while true
wait 0
end
:cmd
0B35: samp 0@ = get_last_command_params
if 0AD4: 1@ = scan_string 0@ format "%d" 2@
then
if 0B23: samp is_player_connected 2@
then
0B36: samp 3@ = get_player_nickname 2@
0Af8: msg_to_chat "%s[%d]" 0xFFCC00 3@ 2@
end
end
0B43: cmd_ret
смотря какие клавиши надо нажимать, можно через 0b56, можно напрямую через синхру, вот например отправка пробела через синхру, вызывается через 0ab1, но не все клавиши отправляются так.короче ребят, нужна очень важная штучка)
дайте опкоды или уже готовые строчки чтоб актёр смог нажимать виртуальные клавиши в свёрнутом режиме игры, хотя бы в окне
расцелую того, кто даст ответ
:key
0AC8: 29@ = allocate_memory_size 68
0C11: memset destination 29@ value 0 size 68
0B2B: samp 10@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0BBA: samp store_player 10@ onfoot_data 29@
0C0D: struct 29@ offset 4 size 2 = 8
0BC0: samp send_onfoot_data 29@
0AC9: free_allocated_memory 29@
ret 0
мне нужно чтобы с интервалами в 1000 мс нажимались w,a,s,dсмотря какие клавиши надо нажимать, можно через 0b56, можно напрямую через синхру, вот например отправка пробела через синхру, вызывается через 0ab1, но не все клавиши отправляются так.
CLEO::key 0AC8: 29@ = allocate_memory_size 68 0C11: memset destination 29@ value 0 size 68 0B2B: samp 10@ = get_player_id_by_actor_handle $PLAYER_ACTOR 0BBA: samp store_player 10@ onfoot_data 29@ 0C0D: struct 29@ offset 4 size 2 = 8 0BC0: samp send_onfoot_data 29@ 0AC9: free_allocated_memory 29@ ret 0
мне нужно чтобы с интервалами в 1000 мс нажимались w,a,s,d
{$CLEO}
0000:
repeat
wait 0
until 0AFA:
0B34: samp register_client_command "cmd" to_label @cmd
WHILE TRUE
wait 0
IF 0@ == 1
THEN
0373: set_camera_directly_behind_player
0B56: set_game_key 1 state -128
wait 0
0B56: set_game_key 1 state 128
wait 0
0B56: set_game_key 0 state -128
wait 0
0B56: set_game_key 0 state 128
wait 1000
END
END
:cmd
0B12: 0@ = 0@ XOR 1
IF 0@ == 1
THEN
printf "~g~ON" 700
ELSE
printf "~r~OFF" 700
END
0B43: samp cmd_ret
CLEO:{$CLEO} 0000: repeat wait 0 until 0AFA: 0B34: samp register_client_command "cmd" to_label @cmd WHILE TRUE wait 0 IF 0@ == 1 THEN 0373: set_camera_directly_behind_player 0B56: set_game_key 1 state -128 wait 0 0B56: set_game_key 1 state 128 wait 0 0B56: set_game_key 0 state -128 wait 0 0B56: set_game_key 0 state 128 wait 1000 END END :cmd 0B12: 0@ = 0@ XOR 1 IF 0@ == 1 THEN printf "~g~ON" 700 ELSE printf "~r~OFF" 700 END 0B43: samp cmd_ret
если у тебя стоит аддон или работа в свернутом режиме, то даработает в свёрнутом режиме?
Зачем строку форматируешь ещё раз? А со stristr вроде все нормально, юзаешь мб неправильно
alloc 11@ 150
alloc 19@ 60
0AF4: 19@ = read_string_from_ini_file "cleo\config.ini" section "sad" key "asd"
0C29: 11@ = stristr string1 2@ string2 19@
free 19@
free 11@
не профит
0B34: samp register_client_command "fl1" to_label @Noname_222 // Команда
// ***************
:Noname_222 // Сама функция
0AC8: 7@ = allocate_memory_size 128
0B35: samp 7@ = get_last_command_params
0AF5: write_string 7@ to_ini_file "cleo\FLooder1.ini" section "RB_PRO" key "1"
0AF8: samp add_message_to_chat "[FLooder1]: Вы установили новое флуд-значение: %s" color -1 7@
0AC9: free_allocated_memory 7@
0B43: samp cmd_ret
0AC8: 1@ = allocate_memory_size 128
0AF4: 1@ = read_string_from_ini_file "cleo\FLooder1.ini" section "RB_PRO" key "1"
0AF9: samp say_msg "%s" 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 //
for 1@ = 10 to 0 step 1
0C48: samp textdraw 0@ create 1@ pos 3.0 150.0
0C52: samp textdraw 0@ set_letter_size 1.0 3.5 color 0xFF6666FF // Доп-опкод
0C4A: samp textdraw 0@ set_align 1
0001: wait 1000 ms
0C5E: samp textdraw 0@ delete
end
строку же пишетСмысл того что ты под 7@ выделяешь память?
Выделяю память, чтобы считать в неё строку и после загрузить(Записать) её в ini-файлСмысл того что ты под 7@ выделяешь память?
под 0B35 не надо выделять память, там сразу строку можно записать в файл и в чатВыделяю память, чтобы считать в неё строку и после загрузить(Записать) её в ini-файл
Для надёжности всегда выделяю)Без 0AC8: тоже норм. Выделять память под 0B35 тоже самое что выделять память под 0B36 - глупо. Сампфункс сам выделяет память под эти опкоды