Shkiper2012 35 Опубликовано 24 Июля 2015 Исх.данные: ТЧ 1.0006, XE_r.226 Нужда: Поймать момент окончания проигрывания анимации по методу play_hud_animation() Искал инфу: по форуму и вообще по инету - ничего вразумительного не нашел. (может плохо искал.) Как грамотно пользоваться вот этим: set_hud_animation_channel -- устанавливает номер канала блендинга анимации, который будет передан в колбек на завершение анимации. set_hud_animation_callback_param -- устанавливает произвольный параметр, который будет передан в колбек на завершение анимации. set_use_hud_animation_callback -- включает использование колбека на завершение анимации. get_hud_animation_remaining_time() -- возвращает время, оставшееся до окончания текущей анимации. У меня всегда = 0, почему-то... =) Вот, например у меня идет запуск анимации "Перезарядки"... local active_slot = db.actor:active_slot()if active_slot == 2and db.actor:item_in_slot(2) ~= niland (string.sub(db.actor:item_in_slot(2):section(),1,4) == "wpn_" or string.sub(db.actor:item_in_slot(2):section(),1,2) == "w_")thenlog1("--play reload begin")local slot_2 = db.actor:item_in_slot(2)slot_2:play_hud_animation("reload", true)local has_hud_reload = slot_2:has_hud_animation("reload")if has_hud_reload == true thenlog1("**has_hud_reload = true")elselog1("**has_hud_reload = false")endlocal time_reload = slot_2:get_hud_animation_remaining_time()log1("**time_reload = "..time_reload) -- В логе: почему-то у меня всегда = 0... Что не так?local time_reload_length = slot_2:get_hud_animation_length("reload")log1("**time_reload_length = "..time_reload_length)-- В логе это: **time_reload_length = 2541 -- Это надо думать в мили-секундах....log1("--play reload end")end Куда и как нужно добавить выше перечисленные методы? Если, кто знает, отзовитесь, пожалуйста. Заранее признателен. Адаптация мода "AtmosFear" для мода "Боевая Подготовка" v.2.0.2. Адаптация мода "Магазинное питание" для мода "Боевая Подготовка" v.2.0.2. Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 24 Июля 2015 (изменено) @UnLoaded, если проигрываешь анимацию по методу play_hud_animation(), то флаги оружия, кол-во патронов и их тип - не меняются. Проигрывается только анимация, всё остальное остается на своих местах. Изменено 24 Июля 2015 пользователем Shkiper2012 Адаптация мода "AtmosFear" для мода "Боевая Подготовка" v.2.0.2. Адаптация мода "Магазинное питание" для мода "Боевая Подготовка" v.2.0.2. Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 24 Сентября 2015 Ребят, кто занимается развитием ХЕ. Посмотрите, пожалуйста, метод play_hud_animation - проигрования анимации. при проигрывании анимации (например, перезарядки оружия), если анимация прерывается, например: выкинул или спрятал оружие, либо еще что-то... то это иногда-редко-но-метко вызывает сбой логики и бою сейвов, а так же вылетам: 001B:03577578 xrGame.dll [error][ 183] : Невозможно создать файл, так как он уже существует. или 001B:03755AF0 xrGame.dll [error][ 87] : Параметр задан неверно. Исх.данные: ТЧ 1.0006 - ХЕ_230_портабл Что делаю: local active_slot = db.actor:active_slot() if active_slot then if (active_slot == 1 and db.actor:item_in_slot(1) and db.actor:item_in_slot(1):is_weapon()) then wpn_in_slot = db.actor:item_in_slot(1) wpn_in_slot_section = wpn_in_slot:section() elseif (active_slot == 2 and db.actor:item_in_slot(2) and db.actor:item_in_slot(2):is_weapon()) then wpn_in_slot = db.actor:item_in_slot(2) wpn_in_slot_section = wpn_in_slot:section() end if wpn_in_slot:has_hud_animation("reload") then wpn_in_slot:play_hud_animation("reload", true) endend Так вот, собственно просьба: Если это возможно, наладить стабильность работы этого метода. А может я что-то не так делаю, если да, то ткните "куда копать". =) Если кто-то уже сталкивался с этим, то отпишитесь, пожалуйста, как выходили из такой ситуации? Адаптация мода "AtmosFear" для мода "Боевая Подготовка" v.2.0.2. Адаптация мода "Магазинное питание" для мода "Боевая Подготовка" v.2.0.2. Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 14 Февраля 2016 (изменено) Вопрос к тем, кто пользуется level.send_event_key_press(dik) / level.send_event_key_hold(dik) / level.send_event_key_release(dik). Исх.данные: ТЧ 1.0006 - ХЕ (с гитхаба - last commit 26_Dec_2015 ) Хочу сделать, чтобы при нажатии на клавишу приближения/прицеливания из бинокля/оружия НЕ нужно было саму эту клавишу держать нажатой. Например: нажал один раз - прицелился из оружия, нажал еще раз - оружие в исходное положение. local zoom_wpn = false -- Коллбэк на нажатие клавиши. -- function on_key(key, bind) -- тут проверка - что в руках? оружие/бинокль или что-то другое. -- -- после проверки: -- if bind == key_bindings.kWPN_ZOOM then if not zoom_wpn then zoom_wpn = true level.send_event_key_press(DIK_keys.MOUSE_2) level.send_event_key_hold(DIK_keys.MOUSE_2) else zoom_wpn = false level.send_event_key_release(DIK_keys.MOUSE_2) end end end Но, я что-то делаю не правильно и у меня этот код не работает. Коллбэк на нажатие работает без проблем (проверено). Сама "имитация" нажатия не фурычит (у меня). Если кто знает в чем дело - подскажите, плз. Или может фишку с приближением/прицеливанием по нажатию один раз на клавишу - уже реализовали по-другому? Заранее признателен ответившим. Изменено 14 Февраля 2016 пользователем Shkiper2012 Адаптация мода "AtmosFear" для мода "Боевая Подготовка" v.2.0.2. Адаптация мода "Магазинное питание" для мода "Боевая Подготовка" v.2.0.2. Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 14 Февраля 2016 @naxac, нет, так тоже не работает. Адаптация мода "AtmosFear" для мода "Боевая Подготовка" v.2.0.2. Адаптация мода "Магазинное питание" для мода "Боевая Подготовка" v.2.0.2. Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 4 Марта 2016 Обращение к тем, кто развивает проект ХЕ. Небольшие хотелки/пожелалки для [ТЧ 1.0006]: -- 1 -- Можно ли сделать правку на отключение авто-перезарядки оружия. Сейчас делаю с помощью удаления и возврата(спавна) патронов для активного слота с оружием, при открытии/закрытии инвентаря и перебиндом клавиш. С правкой - такой возни со спавнами-переспавнами можно было бы избежать. -- 2 -- При проигрывании анмации перезарядки с помощью "play_hud_animation" у оружия на классе "РПГ7", если у ГГ нет в инвентаре заряда для этого оружия - анимация проигрывается без изображения этого заряда. То есть, как будто ГГ заряжает РПГ невидимым зарядом. Будет замечательно, если это можно поправить. Адаптация мода "AtmosFear" для мода "Боевая Подготовка" v.2.0.2. Адаптация мода "Магазинное питание" для мода "Боевая Подготовка" v.2.0.2. Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 10 Июля 2017 Установка/Получение высоты камеры актора. (Может пригодится кому-нибудь...) Скрытый текст -- Установка высоты камеры актора. -- function set_camera_height(v) db.actor:set_actor_float(nil, v, 1204) end -- Получение высоты камеры актора. -- function get_camera_height() return db.actor:get_actor_float(1204) end -- Получение высоты камеры актора из файла "actor.ltx". -- function get_camera_height_default() return system_ini():r_float ("actor","camera_height_factor") end 1 Адаптация мода "AtmosFear" для мода "Боевая Подготовка" v.2.0.2. Адаптация мода "Магазинное питание" для мода "Боевая Подготовка" v.2.0.2. Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 10 Июля 2017 @dsh 4 часа назад, dsh сказал: используется? Разумеется. Для выглядывания из-за укрытия, когда чуть-чуть не хватает высоты для ведения огня, или, наоборот, нужно посмотреть под машиной/в проломе и т.д. Взгляд меняет высоту при прокрутке колесика мыши + при нажатой клавише. Естественно, в пределах разумного (без читерства). Мне очень понравилась фишка в этом ролике. Решил реализовать "скриптовыми" силами. По-хорошему, это надо через движок делать, но я с "плюсами" ещё не подружился. Нормальной анимации тоже пока нет. PS. Тоже, можно сделать и бегом/ходьбой актора - при прокрутке колесика менять скорость его передвижения. 1 Адаптация мода "AtmosFear" для мода "Боевая Подготовка" v.2.0.2. Адаптация мода "Магазинное питание" для мода "Боевая Подготовка" v.2.0.2. Поделиться этим сообщением Ссылка на сообщение
Shkiper2012 35 Опубликовано 10 Июля 2017 (изменено) @Дизель Да, согласен, знаю об этом. Думаю, что можно сделать, в таком случае. Жаль от идеи отказываться. @dsh Да, вроде того. Изменено 10 Июля 2017 пользователем Shkiper2012 Адаптация мода "AtmosFear" для мода "Боевая Подготовка" v.2.0.2. Адаптация мода "Магазинное питание" для мода "Боевая Подготовка" v.2.0.2. Поделиться этим сообщением Ссылка на сообщение