RayTwitty 516 Опубликовано 11 Июня 2015 @dsh, насколько я помню, прыжок находится в CActorCondition - это другой класс и для него есть отдельный хак. Попробуй db.actor:set_actor_condition_float(nil, value, 276) 1 Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 24 Июля 2015 (изменено) если проигрываешь анимацию по методу play_hud_animation(), то флаги оружия, кол-во патронов и их тип - не меняются. Верно, потому что при проигрывании анимации через скрипт, собсно анимация только и проигрывается) Этакий хак. set_hud_animation_channel -- устанавливает номер канала блендинга анимации, который будет передан в колбек на завершение анимации. set_hud_animation_callback_param -- устанавливает произвольный параметр, который будет передан в колбек на завершение анимации. set_use_hud_animation_callback -- включает использование колбека на завершение анимации. Подробностей не знаю, спрашивай у malandrinus - это его правки, а вот что касается: get_hud_animation_remaining_time - оставшееся время до окончания НЕ зацикленной анимации, меняется в реальном времени. Т.е. в начале, например твоей перезарядки метод вернет 2541, а в конце 0 (анимация закончена). Для зацикленных анимаций, НЕимеющих флаг Stop At End (idle, sprint и т.п.), всегда возвращает 0, т.к. они не имеют конца. get_hud_animation_length - собственно длительность анимации в миллисекундах. Тут мне нечего добавить. пример с использованием этих методов: local length = 0 ... local aitem = db.actor:actve_item() if aitem then aitem:play_hud_animation("reload", true) length = aitem:get_hud_animation_length("reload") end ... function update() if (length / 2) >= aitem:get_hud_animation_remaining_time() then ... Условие будет проходить, когда проиграно больше половины анимации. Нужда: Поймать момент окончания проигрывания анимации по методу play_hud_animation() Если тебе надо отловить момент окончания перезарядки, запущенной скриптом, можно к текущему времени прибавить длительность анимации и получить время окончания. local end_time = 0 ... local aitem = db.actor:actve_item() if aitem then aitem:play_hud_animation("reload", true) end_time = time_global() + aitem:get_hud_animation_length("reload") end ... function update() if time_global() == end_time then ... Изменено 24 Июля 2015 пользователем Shadows 1 Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 1 Августа 2015 @Alien_181, насколько я понял, для работы правки надо вызвать где-нибудь в _G: set_static_rescale_factor(device().height / device().width / 0.75) 1 Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 1 Августа 2015 (изменено) Очередная правка для телепатов. И почему такие "мелочи" выясняются только через год после появления правки...Отчасти так и есть - многие правки не документировались сразу, а по прошествии времени предназначение "забывалось" и восстановить ее становилось очень сложно (по сути, приходилось заново "прорабатывать" правку). Но тут тоже, у всех свои причины - нехватка времени, лень и т.п. Я старался всегда описывать свои правки либо в описании коммита, либо в файле, либо в ФАКе. @Nazgool, я у себя в исходниках планирую ввести параметр "auto" для height\width (как в CSS-стилях) - чтобы для нужных элементов окна пропорционально рассчитывать значение. Например, для заведомо квадратных и круглых поверхностей будет самое то. Уже протестировал на курсоре - работает отлично. З.Ы. Справа налево - "6 патч", "7 патч", "автоматический расчет пропорций". Изменено 1 Августа 2015 пользователем Shadows Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 2 Августа 2015 в функцию start_game_callback Лучше всего вызывать в начале файла, чтобы изменения заработали уже в главном меню. @macron, if (jit == nil) then profiler.setup_hook () end set_static_rescale_factor(device().height / device().width / 0.75) ... 1 Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 3 Августа 2015 чтоб обсудить как эту криводелку исправить раз и на всегда на уровне движка...А что там обсуждать? Исходники ЧН и ЗП есть - там все уже сделано - бери и переноси. Да и параметр "auto" для height\width (как в CSS-стилях) - чтобы для нужных элементов окна пропорционально рассчитывать значениечем не предложение? 2 Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 14 Августа 2015 то станет возможным переезжать между локациями на автомобиле,Эта возможность итак была. Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 14 Августа 2015 Это только в ТЧ было грамотно сделано.Речь за ТЧ и была, причем тут ЗП? А в ЗП вообще вырезано по-моему. Не проверялНу вот когда проверите, можно будет думать. 1 Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 24 Августа 2015 (изменено) https://code.google.com/p/xray-extensions/source/list READ-ONLY: This project has been archived. For more information see this post. Проект теперь недоступен для коммитов. А после января, насколько я понял, будет дропнуто все окончательно (история изменений и т.д.). Остался нерешенным вопрос с правкой включения солнца (game_cl_GameState__net_import_GameTime_dbg_fix), с ней есть проблемы между перезагрузкой сейвов (не загружается новая погода). Или объясните, как вы это пофиксили в OGSE, ведь там такого нет? Изменено 25 Августа 2015 пользователем Murarius Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 25 Августа 2015 P.S.Вы смотрели экзешник из версии от GOG.com ?А какой смысл, если тут итак используется нормальный экзешник из стима? Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 21 Октября 2015 (изменено) https://github.com/KD87/xray-extensions/commits/master Чтобы правильно синхронизировалось, нужен акк с тем мылом, который использовался в гугл-коде, тогда подцепится. Правда, у меня до сих пор в профиле не указано, на какие репо я подписан. Изменено 21 Октября 2015 пользователем RayTwitty 2 Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 25 Октября 2015 (изменено) Только ТЧ что ли? Для ЗП ничего не портировано?Да, имелись ввиду все правки ТЧ-версии проекта. С ЗП я не работаю. Изменено 25 Октября 2015 пользователем RayTwitty 2 Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 25 Октября 2015 @НаноБот, коммитил бы уже сразу на гитхаб. Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 29 Октября 2015 @phorumer, знаю только, что используется в OGSE. За подробностями можно спросить у авторов. 1 Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 1 Ноября 2015 (изменено) ЗЫ...Вылет то исчез, но это не отменяет наличия косяка в X-Ray Extensions.Это не косяк ХЕ - просто для машин добавили колбек на смерть, из-за чего, при самоподрыве вместо victim передается пустота. Вангую, что если написать: printf("_bp: generic_physics_binder:death_callback: obj='%s'", victim and victim:name() or self.object:name())то будет все ок. Изменено 1 Ноября 2015 пользователем RayTwitty Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 1 Ноября 2015 @Ghost-2142, а лог-то какой? Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 1 Ноября 2015 (изменено) Ошибка: цвет и прозрачность надо задавать так: stat:SetColor(Frect():set( R, G, В, A))А разве нельзя сделать в более привычном виде - SetColor(GetARGB(a,r,g, )? Для совместимости кода, в первую очередь... @Ghost-2142, тогда принудительно задай victim в начале функции - victim = self.object З.Ы. никогда не понимал, зачем этот аргумент вообще нужен, ибо клиентский объект в биндере всегда определен. Изменено 1 Ноября 2015 пользователем RayTwitty 1 Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 1 Ноября 2015 Посмотрел - там в обоих аргументах будет nil всегда. По идее, если добавить в car_fix.asm в 15 строку вот это: call CGameObject__lua_game_object mov esi, eaxа два пуша заменить на: push esi push esiто в обоих аргументах будет объект машинки (тот же самый self.object, только костыль в скрипте не понадобится). Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 1 Ноября 2015 (изменено) @Ghost-2142, перед вызовом script_death_callback идут два пуша с ecx-регистром. Замени их на esi. Изменено 1 Ноября 2015 пользователем RayTwitty 1 Поделиться этим сообщением Ссылка на сообщение
RayTwitty 516 Опубликовано 1 Ноября 2015 По ходу ревизию надо новую делать))Залью как будет время. 1 Поделиться этим сообщением Ссылка на сообщение