Expropriator 2 118 Опубликовано 7 Января 2017 Поделиться Опубликовано 7 Января 2017 это пересборка прям? Или просто build? Ребилд. При сборке игровой делки, остальные это бжик, я даже не считаю прелюдию, там пять - десять минут на них, и больше часа на основную. Ссылка на комментарий
ed_rez 16 109 Опубликовано 7 Января 2017 Поделиться Опубликовано 7 Января 2017 Ребят, на сколько хлопотно ввести анимации бег с ножом и подстволом на патч 4? Ссылка на комментарий
krop 11 Опубликовано 7 Января 2017 Поделиться Опубликовано 7 Января 2017 Ребят, на сколько хлопотно ввести анимации бег с ножом и подстволом на патч 4? Давольно хлопотно. Исходников нет, а дизассемблировать и ставит ждампы в 0004 мало кто согласится. 1 1 Ссылка на комментарий
Bak 754 Опубликовано 8 Января 2017 Поделиться Опубликовано 8 Января 2017 Что вообще делает функция UpdateXForm() Эта функция рассчитывает положение модели в руках носителя, на основе позиций костей рук и параметров смещения из конфига. 1 1 Ссылка на комментарий
Kondr48 314 Опубликовано 8 Января 2017 Поделиться Опубликовано 8 Января 2017 Кто сидит на исходниках ТЧ, что делали со звуком? Ссылка на комментарий
Graff46 598 Опубликовано 9 Января 2017 Поделиться Опубликовано 9 Января 2017 Кто нибудь делал коллбек на слоты (слот костюма) помещение\удаление предмета? ТЧ. Ссылка на комментарий
Kondr48 314 Опубликовано 9 Января 2017 Поделиться Опубликовано 9 Января 2017 Graff46, XE есть колбеки на помещение предмета в слот и рюкзак, а также в 7 патче. Можно использовать их и просто проверять костюм ли там или нет. Ссылка на комментарий
Bak 754 Опубликовано 9 Января 2017 Поделиться Опубликовано 9 Января 2017 Кто сидит на исходниках ТЧ, что делали со звуком? Я звук портировал из ЗП, уже стало лучше. Хочу подключать openal soft, чтобы получить HRTF и прочие прелести, но не уверен, каким образом его с EAX подружить. 1 Ссылка на комментарий
Graff46 598 Опубликовано 9 Января 2017 Поделиться Опубликовано 9 Января 2017 (изменено) @Kondr48, Я видел в справке, но мне надо что бы событие вызвалось когда из слота уберут предмет тоже Изменено 9 Января 2017 пользователем Graff46 Ссылка на комментарий
naxac 2 441 Опубликовано 9 Января 2017 Поделиться Опубликовано 9 Января 2017 @Graff46, отслеживай дроп и перемещение в рюкзак. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Zander_driver 10 333 Опубликовано 10 Января 2017 Поделиться Опубликовано 10 Января 2017 @Graff46, Они все вызываются. При убирании из слота - дроп или перемещение в рюкзак, как сказано выше. Просто комбинаторика вызовов колбеков. Хотя да, надо отслеживать что дропнутый/перемещенный итем до этого был в слоте, а не где-нибудь еще. Это решается небольшой табличкой, в которой хранится все актуальное что/где у нас находится. 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Winsor 177 Опубликовано 10 Января 2017 Поделиться Опубликовано 10 Января 2017 Не надо никакой таблички. просто нужно в нескольких местах сделать правильные вызовы калбека. Для ТЧ 1.0007 1) CInventory::Slot здесь, например, у меня сразу 3-и вызова калбека - перемещение из пояса,перемещение из рюкзака, перемещение в слот 2)CInventory::Belt - перемещение из слота, перемещение из рюкзака, перемещение на пояс 3) CInventory::Ruck - перемещение из слота, перемещение из пояса, перемещение в рюкзак 4) CInventory::Eat - перемещение из рюкзака в результате это выглядит как вызов одного и того же калбека с двумя параметрами - итем и константа, говорящая что с ним произошло. для скрипта - это прицепленый калбек для любого НПС (в том числе и для актора) с проверкой на второй параметр. p.s. Ну раз тема "Редактирование движка" - то понятно, что это все делается при наличии исходников. В каких либо других вариантах (отдельные патчи exe) - это может быть реализовано по другому. 2 Ссылка на комментарий
Карлан 1 049 Опубликовано 10 Января 2017 Поделиться Опубликовано 10 Января 2017 (изменено) @Winsor, на мой взгляд это кощунство. Есть методы, которые говорят о том, где находится (или находился, в зависимости от места вызова) предмет, в связке с тем, где он находится (находился) и сработавшим коллбеком можно определить откуда и куда пришел итем безо всяких констант. Добавлять константы я согласен только в какие-то неопределенные коллбеки, более того, я сам давно добавил такую константу в дроп коллбек, так как она мне нужна была в реализации рюкзаков, но перемещение из различных мест внутри инвентаря отслеживается без проблем. Изменено 10 Января 2017 пользователем Карлан Ссылка на комментарий
Winsor 177 Опубликовано 11 Января 2017 Поделиться Опубликовано 11 Января 2017 или находился, в зависимости от места вызова перемещение из различных мест внутри инвентаря отслеживается без проблем методы в оригинале, который бы говорил, где предмет находился до перемещения - InBelt/InRuck - используют итераторы, единственный более быстрый - это InSlot. т.е. для того чтобы определить место, где предмет был - необходимо 1) доэкспортировать методы аналогичные InBelt/InSlot/InRuck в скрипты 2) контролировать вызов калбека строго ДО удаления предмета из списков 3) забыть о асинхронных таймерах при обработке этого калбека из скрипта 4) Вам все равно придется делать вызовы калбека на перед каждым изменением положения предмета, ибо после m_ruck.erase(it); InRuck уже никак не скажет где предмет был... Возьмем например CInventory::Slot - функция помещения предмета в слот. в ней два итератора - по рюкзаку и по поясу. Причем они вызываются последовательно, а не через ИЛИ и удаление предмета это просто erase из списка (не Drop, не REJECT_PARENT). т.е. для того чтобы сказать однозначно откуда был убран предмет в моем случае надо вызвать один и тот же калбек со второй константой callMovingCallback(pIItem,InventoryPlaceChange::removeFromBelt); или callMovingCallback(pIItem,InventoryPlaceChange::removeFromRuck); в Вашем случае, дабы разделить эти две операции и узнать однозначно где был предмет необходимо вызвать два разных калбека? Далее, помещение этого же предмета непосредственно в слот callMovingCallback(pIItem,InventoryPlaceChange::putToSlot); если при Вашем случае не вызывать предыдущие калбеки то в этом месте узнать где предмет был - нет никакой возможности. так что в моем случае не вижу кощунства, а всего лишь упрощение жизни использованием стандартного подхода к обработке событий... вся винда сделана на событиях с константами... Ссылка на комментарий
AndreyGants 0 Опубликовано 11 Января 2017 Поделиться Опубликовано 11 Января 2017 Сразу оговорюсь, я не программист и мало что смыслю в этом, поправьте меня если я не прав. Хотел изменить GUI главного меню, а именно изменить расположение кнопок "Новая игра","Загрузить игру","Настройки" etc Так вот, по отдельности их переместить нельзя, только комплексно в составе "shniaga_wnd" (по другому ее и назвать нельзя) в xml файле главного меню. Немного поковырялся в скриптах и мне кажется, что кнопки эти вшиты на уровне движка в UIMMShniaga.cpp и UIMMSniaga.h, я прав? Если да, то пытался кто-нибудь ковырять движок в этом направлении, чтобы отцепить кнопки главного меню от этой "шняги"? Ссылка на комментарий
Expropriator 2 118 Опубликовано 11 Января 2017 Поделиться Опубликовано 11 Января 2017 (изменено) @AndreyGants, мысль: <shniaga_wnd> продублировать в движке, как <shniaga_wnd2> и т.д. И для каждой кнопки сделать свою шнягу. Изменено 12 Января 2017 пользователем Дизель Ссылка на комментарий
Kondr48 314 Опубликовано 11 Января 2017 Поделиться Опубликовано 11 Января 2017 (изменено) Дизель, тогда уж просто в движке наделать сколько душе угодно кнопок, зачем дублировать список элементов и в каждом оставлять по одному? Другое дело что мельком глянув этот файл в движке я в нем никакой "очередности" не увидел. Просто грузится эта самая shniaga либо одна, либо та где первой стоит пункт последнее сохранение. И у меня очень сильное чувство что найти ее, как и поменять порядок надписей можно в конфиге. Изменено 12 Января 2017 пользователем Kondr48 1 Ссылка на комментарий
HellRatz 2 814 Опубликовано 11 Января 2017 Поделиться Опубликовано 11 Января 2017 (изменено) @AndreyGants, легко делается и без движка, любое меню (хоть как в гта или любой другой игре, хоть из твоей головы), было бы желание и терпение. Изменено 11 Января 2017 пользователем HellRatz 3 1 GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
AndreyGants 0 Опубликовано 11 Января 2017 Поделиться Опубликовано 11 Января 2017 @HellRatz, Я так понимаю, ваш мод еще не вышел? Можете подробнее объяснить как это сделать, если не секрет? И будет ли работать тоже самое на ЗП? Ссылка на комментарий
naxac 2 441 Опубликовано 12 Января 2017 Поделиться Опубликовано 12 Января 2017 (изменено) @AndreyGants, просто выкинь эту шнягу и используй обычные CUIButton или CUI3tButton. Их можно ставить независимо друг от друга где душе угодно. На скрине камрада @HellRatz, вернее всего, так и сделано. Изменено 12 Января 2017 пользователем naxac Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти