AndreySol 215 Опубликовано 8 Мая 2019 Кстати, насчет CInventoryItem::CanTrade() - оказалось, что это не самое правильное место для того, что я хотел сделать. Выяснилось. что эта ф-ция вызывается не только при построении списков торговли, но и при обычном шмоне инв. ящиков\нычек. Типа, даже фича получилась: хочешь выложить предмет из слота в ящик - сначала сними из слота. Но для моей похотелки все же нашлось более правильное место... Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 3 Июня 2019 Подскажите, где в движке сделано изменение веса оружия в зависимости от кол-ва заряженых в него патронов? А то чет роюсь в Weapon-классах, не попадается никак это место. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 19 Июня 2019 @stalker MAX Уточни, с какой студией работаешь и что вней собираешь: чистый 1.0007rc1 или что-то с какого-то репо? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 20 Июня 2019 Интерфейсы IDirectSound.... объявлены в хедере "....\xr_src\SDK\dx9sdk\dx9sdk\include\dsound.h". Скорее всего у тебя проблема в подключении всех необходимых компонентов. Смотри в настройках пректа все, что связано с инклюдами, конкретно SDK\dx9sdk\dx9sdk\include. 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 11 Июля 2019 (изменено) Для UI-классов есть какой аналог shedule_Update(u32 dt) классов инвентарных предметов? У CLevel есть методы для работы с игровым временем. А есть ли где, что-то для реального времени? Изменено 11 Июля 2019 пользователем AndreySol Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 11 Июля 2019 (изменено) UPD: не актуально, удалено. Изменено 11 Июля 2019 пользователем AndreySol Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 11 Июля 2019 2 часа назад, mortan сказал: а что там было Да ни чего особенного, разобрался с непонятками. Насчет ф-ций реального времени нашел у CLevel, унаследованные им от IPureClient: IC u32 timeServer() IC u32 timeServer_Async() <- тут миллисекундный таймер IC u32 timeServer_Delta() IC void timeServer_UserDelta(s32 d) IC void timeServer_Correct(u32 sv_time, u32 cl_time); Для UI-классов ф-ция Update имеется, правда на нее завязана отрисовка, ну да ладно, что есть - то есть. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 15 Июля 2019 Если добавить для какого либо класса новую переменную в нет-пакет, то где-нибудь в движке могут проблемы появиться? Т.е., где-нибудь в движке есть прямое использование данных из нет-пакета вне ф-ций net_Import\net_Export, net_Spawn, save\load? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 28 Июля 2019 (изменено) Помогите разобраться. Скрытый текст void CInventory::UpdateDropTasks() { for(u32 i=0; i<m_slots.size(); ++i) { if(m_slots.m_pIItem) UpdateDropItem(m_slots.m_pIItem); } for(i = 0; i < 2; ++i) { TIItemContainer &list = i?m_ruck:m_belt; TIItemContainer::iterator it = list.begin(); TIItemContainer::iterator it_e = list.end(); for( ;it!=it_e; ++it) { UpdateDropItem(*it); } } if (m_drop_last_frame) { m_drop_last_frame = false; m_pOwner->OnItemDropUpdate (); } } Вот этот кусок for(i = 0; i < 2; ++i) { TIItemContainer &list = i?m_ruck:m_belt; как понимать? i будет иметь значения 0 а затем 1, соответственно код оператора будет выполнен для пояса а затем для рюкзака. А на кой это в for оборачивать ? Изменено 28 Июля 2019 пользователем AndreySol 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 2 Августа 2019 (изменено) Ф-ция CWeapon::SpawnAmmo. Как-то можно для боеприпаса, который в ней будет создан, задать инвентарный флаг EItemPlace? Т.е. указать для создаваемой пачки патронов, контейнер инвентаря в который она должна попасть. Изменено 3 Августа 2019 пользователем AndreySol Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 20 Августа 2019 Кто нить пробовал решать такую задачу: для рюкзака сделать ограничение кол-ва используемых ячеек(клеточек)? При этом оставив группировку предметов. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 30 Августа 2019 4 часа назад, naxac сказал: это вроде в xml драг-дропа можно задать: unlimited="0" Это не работает, точнее - работает криво. Флаг unlimited="1" просто позволяет динамически увеличивать емкость контейнера + включает отображение скроллбара. А мне надо именно четкое ограничение по кол-ву клеточек(ячеек). Просто, перед тем, как свое колхозить хотелось бы посмотреть как другие подобное делали... Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 20 Января 2020 @XinnogeN XinnogeN Сразу портируй на 2019, все эти промежутки ни к чему, объем переделок все равно будет +\- тот же. Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 16 Сентября 2020 @XinnogeN XinnogeN А исходники движка вы откуда взяли? Так, вот к ним и прилагается, обычно, все что необходимо для сборки. 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 20 Октября 2020 @Molphar В секции предмета, что там? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 20 Октября 2020 @Molphar Я пока ничего не понял - с какой целью ты полез в движковый код чтоб спавнить что-то? Насколько мне известно, вроде в игре все спавнится без проблем из all.spawn или ф-цией create(....) 3 часа назад, Molphar сказал: то секция предмета соответствует текущему предмету который находится в руках Еще непонятнее - то у тебя предмет "просто висит в воздухе", то он в руках? Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 1 Ноября 2020 @antosha_chehonte Руками... Вы бы показали как пытались портировать, что за ошибки у Вас происходят. Тогда и подсказки будут по делу, а если вы ждете точной инструкции, то будете еще долго ее ждать. До пенсии наверно... Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 16 Февраля 2021 8 часов назад, Zander_driver сказал(а): и с ужасом представляю, что можно сотворить с игрой, если некоторыми из этих новых функций, воспользуется достаточно криворукий кодер Если оглядываться на криворуких кодеров - то лучше вообще ничего не делать. По Вашему получается, что если есть те, кто пьяным салится за руль и совершает всякое непотребство на дорогах - то надо прекратить производство и продажу авто, от греха подальше. Да и дороги то же ликвидировать... Странная идеология, из тех, что "лучше все запретить, как бы чего не вышло". 1 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 27 Февраля 2021 (изменено) @ARTLantist Неплохо бы указывать версию движка, про который спрашиваешь, а то в этой теме все в кучу. Для ТЧ изменить условия группировки предметов: bool CUIInventoryCellItem::EqualTo(CUICellItem* itm) { CUIInventoryCellItem* ci = smart_cast<CUIInventoryCellItem*>(itm); if (!ci) return false; // если состояние различается не более 1% и секции совпадают - группируем объекты return (fsimilar(object()->GetCondition(), ci->object()->GetCondition(), 0.01f) &&(object()->object().cNameSect() == ci->object()->object().cNameSect())); } Откуда вызывается думаю найдешь сам. @ARTLantist - предполагаю, что в ЗП похожим образом группировка работает. Ищи поискомназвание ф-ции, от нее дальше раскапывай... Изменено 27 Февраля 2021 пользователем AndreySol 1 Поделиться этим сообщением Ссылка на сообщение
AndreySol 215 Опубликовано 27 Февраля 2021 @Shkiper2012 А по содержимому файла разве нельзя понять, что в нем делают ф-ции? Поделиться этим сообщением Ссылка на сообщение