UnLoaded 313 Опубликовано 24 Июля 2017 Поделиться Опубликовано 24 Июля 2017 45 минут назад, mortan сказал: тогда почему он не перемещается после в нужный слот? Что значит в "нужный" ? Нужный кому ? Тебе ? Так движку пофиг, на твои похотелки... Это так, к слову. Смотри в код, ищи место, где движок принимает решение - куда деть появившийся у актера инвентарный предмет. Я не работаю с ЗП, по этому могу быть не прав, но даже по названию ф-ции "SendEvent_Item2Slot" как-то не похоже, что тут движок думает - пихать объект в слот или нет. Больше похоже, что эта ф-ция обрабатывает уже принятое решение - положить предмет в слот. Ссылка на комментарий
mortan 143 Опубликовано 24 Июля 2017 Поделиться Опубликовано 24 Июля 2017 (изменено) @UnLoaded достаточно было не ответить "Я не работаю с ЗП". Или в таком случае не отвечать вовсе. А умничать делая странные выводы и предложения не видя кода перед собой много ума не надо) Тут движок и не думает, ему дают четкую команду - сначала забери итем из контейнера, а потом суй в слот. Только вот не хочет он в слот ничего сувать) К слову я это уже поправил, только вот хотелось бы вовсе уйти от этих злобных багетов, но пока что не хватает ни рук, ни способностей. Изменено 24 Июля 2017 пользователем mortan Ссылка на комментарий
NOapostoL 42 Опубликовано 24 Июля 2017 Поделиться Опубликовано 24 Июля 2017 3 часа назад, mortan сказал: На ориг. игру это не шибко сильно влияет В оригинальной игре для такой выборки есть параметр default_to_ruck = true/false Как проставил итему так и будет (прыгать/не прыгать в слот). 1 1 ☭ Белый Барс ☭ Ссылка на комментарий
mortan 143 Опубликовано 24 Июля 2017 Поделиться Опубликовано 24 Июля 2017 @NOapostoL а в чем смысл этого ответа?) Ссылка на комментарий
NOapostoL 42 Опубликовано 24 Июля 2017 Поделиться Опубликовано 24 Июля 2017 7 минут назад, mortan сказал: а в чем смысл этого ответа?) 2 часа назад, UnLoaded сказал: Смотри в код, ищи место, где движок принимает решение - куда деть появившийся у актера инвентарный предмет. ☭ Белый Барс ☭ Ссылка на комментарий
mortan 143 Опубликовано 24 Июля 2017 Поделиться Опубликовано 24 Июля 2017 (изменено) @NOapostoL Серьёзно, если нечего ответить по теме - лучше не писать вообще. Теперь ещё раз, для самый маленьких и непонятливых) Вот код который отвечает за перенос в слот итема при открытом инвентаре : Скрытый текст void CUIActorMenu::SendEvent_Item2Slot(PIItem pItem, u16 recipient, u16 slot_id) { if(pItem->parent_id()!=recipient) move_item_from_to (pItem->parent_id(), recipient, pItem->object_id()); NET_Packet P; CGameObject::u_EventGen (P, GEG_PLAYER_ITEM2SLOT, pItem->object().H_Parent()->ID()); P.w_u16 (pItem->object().ID()); P.w_u16 (slot_id); CGameObject::u_EventSend (P); PlaySnd (eItemToSlot); }; и далее начинается ад - вот весь код ниже move_item_from_to работает только если перемещать итем из слота\рюкзака\пояса в слот Почему? Потому что в момент отправки этого пакета владельцем итема всё ещё является труп или контейнер. Ведь если я правильно понимаю задумку GSC - то после перемещения в инвентарь актора предмет должен был перемещаться в слот который ему указали. Вот как это происходит : Короткое видеоподтверждение. "место, где движок принимает решение - куда деть появившийся у актера инвентарный предмет." - функция CInventory::Take(CGameObject *pObj, bool bNotActivate, bool strict_placement) выход который я нашёл - дописал функцию так чтобы она напрямую получала слот в который игрок переместил итем и перемещала туда итем. Вот как-то так. Зачем эта стена текста? Я думал что хоть-то сталкивался с этим и знает хорошее решение, потому что то что у меня сейчас - это костыль. Изменено 24 Июля 2017 пользователем mortan Ссылка на комментарий
WinCap 316 Опубликовано 25 Июля 2017 Поделиться Опубликовано 25 Июля 2017 @mortan Проблема не в функции "SendEvent_Item2Slot()", а в том как и откуда она вызывается. Если посмотреть все вызовы этой функции, а их не так уж много, то, так или иначе, в параметр slot_id передается базовый слот предмета записанный в конфигах. 1 S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
mortan 143 Опубликовано 25 Июля 2017 Поделиться Опубликовано 25 Июля 2017 @WinCap проблема как раз таки в том что она просто не вызывается) Вернее вызывается только когда предмет перемещается внутри инва актора. Ссылка на комментарий
WinCap 316 Опубликовано 25 Июля 2017 Поделиться Опубликовано 25 Июля 2017 @mortan Ну, вроде все логично: Переместить предмет в слот можно только из инвентаря. Если предмет находится в другом контейнере, и мы его переносим на место какого-нибудь слота, он перемещается не в слот, а в инвентарь. И уже потом происходит его перемещение в базовый слот, если тот свободен. S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
mortan 143 Опубликовано 25 Июля 2017 Поделиться Опубликовано 25 Июля 2017 @WinCap согласись что это не нормальная ситуация. 2 Ссылка на комментарий
aka_sektor 1 464 Опубликовано 27 Июля 2017 Поделиться Опубликовано 27 Июля 2017 (изменено) Возник вопрос, что за исходники движков нам слили в 2014: https://www.gameru.net/forum/index.php?s=&showtopic=68763&view=findpost&p=1619801 Если есть что сказать по теме - пишите. Изменено 27 Июля 2017 пользователем aka_sektor Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Ссылка на комментарий
Expropriator 2 118 Опубликовано 27 Июля 2017 Поделиться Опубликовано 27 Июля 2017 (изменено) @aka_sektor вот ты заморочился. Это не так и важно. Важно примерно, что есть версия какая то. Скрытый текст Изменено 27 Июля 2017 пользователем Дизель 2 Ссылка на комментарий
aka_sektor 1 464 Опубликовано 27 Июля 2017 Поделиться Опубликовано 27 Июля 2017 (изменено) 34 минуты назад, Дизель сказал: Это не так и важно. Ага, а потом чуваки собирают движки себе из этих непонятных сырцов, играют себе, вылазят баги, а они и знать не знают, из-за чего же они. Может из-за того, что им подсунули неизвестно каким образом отличающиеся от финалки код. С возможно экспериментальными изменениями, и возможными от них же багами. Ещё как важно. P.S. Скрытый текст Радикал - зло. Смени картинко-хост. На например, такой: http://itmages.ru/ P.P.S. Картинку с радикала у меня не загрузило. Изменено 27 Июля 2017 пользователем aka_sektor 1 Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Ссылка на комментарий
Expropriator 2 118 Опубликовано 27 Июля 2017 Поделиться Опубликовано 27 Июля 2017 (изменено) @aka_sektor , не знаю про ТЧ исходники 1.0006 (там всё мутно). 1.5.10 (на базе 1.5.06) существуют - оригинального 1.5.10 кода нет (наверно). 1.6.02 оригинал не встречал. В ЗП баги не вылазят. ЧН баг с рендрером пофикшен скриптами. Перезалил, а твой хост требует регистрации. Скрытый текст Изменено 27 Июля 2017 пользователем Дизель Ссылка на комментарий
aka_sektor 1 464 Опубликовано 27 Июля 2017 Поделиться Опубликовано 27 Июля 2017 (изменено) 9 минут назад, Дизель сказал: 1.5.10 (на базе 1.5.06) Что значит "на базе"? Я думал Loxotron когда писал это: Цитата patch 1.5.0.6 - clear sky patch 1.5.1.0 Имел ввиду, что под этим названием скрывается вот это. 9 минут назад, Дизель сказал: 1.6.02 оригинал не встречал. А что например это: Цитата T-6638(~1.6.02) - декабрь 2009 Я так понимаю, знак тильда, означает "примерно". Видимо что-то того периода, ведь судя по логу финалки ЗП: 1.6.02 Build 3967 от 14 декабря 2009 года Понять бы, эти сырцы старее этого билда, или новее. Как бы не оказалось, что там есть баги от старой версии до 14 декабря, или баги от новой после 14 декабря. P.S. Скрытый текст 9 минут назад, Дизель сказал: твой хост требует регистрации Эт с недавних пор, да. Изменено 27 Июля 2017 пользователем aka_sektor Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Ссылка на комментарий
Expropriator 2 118 Опубликовано 27 Июля 2017 Поделиться Опубликовано 27 Июля 2017 @aka_sektor с ЗП было следующее. Процесс был в режиме онлайн - трудилось около десятка человек с оригиналом, и как ни странно мы не знаем у кого именно был оригинал на сию секунду окончания версии. К тому же еще, в процессе был патч 1.6.03. - потому исходники потерпели изменение. Лохотрон больше знает, чем я - потому он заведомо прав. Значит там 1.5.10 - я проверил, так и есть, но вот цифра в Гамеспай всех вводит в ступор. Ссылка на комментарий
Expropriator 2 118 Опубликовано 27 Июля 2017 Поделиться Опубликовано 27 Июля 2017 @aka_sektor я провел расследование и выяснил, кто сливал исходники Лохотрону - http://stalker-wiki.ru/wiki/Сергей_Иванцов Уверенность 90% Ссылка на комментарий
aka_sektor 1 464 Опубликовано 27 Июля 2017 Поделиться Опубликовано 27 Июля 2017 (изменено) 21 минуту назад, Дизель сказал: там 1.5.10 - я проверил, так и есть Как проверял то? Неужто соответствуют 1.5.10 Build 3795 от 25 июня 2009 года 21 минуту назад, Дизель сказал: цифра в Гамеспай всех вводит в ступор Но так никто не говорит, что инфа из последней инстанции. Так, предположение. 7 минут назад, Дизель сказал: провел расследование Каким образом? Изменено 27 Июля 2017 пользователем aka_sektor Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Ссылка на комментарий
Expropriator 2 118 Опубликовано 27 Июля 2017 Поделиться Опубликовано 27 Июля 2017 @aka_sektor xrGame.vcproj.MANOWAR.Serguei I. Ivantsov.user Сам спалился! ЧН запустил с новым двигом и проверил. Я не отвечаю, что там 1.5.10 - может развод. Ссылка на комментарий
aka_sektor 1 464 Опубликовано 27 Июля 2017 Поделиться Опубликовано 27 Июля 2017 (изменено) 7 минут назад, Дизель сказал: ЧН запустил с новым двигом и проверил. Дык как проверил то? По номеру билда в логе? Если так, то это не о чем не говорит. Они всё также могут быть старее или новее. 7 минут назад, Дизель сказал: Сам спалился А вариант, что их увели именно с его компа не идёт в расчет? Сомнительно как-то. Изменено 27 Июля 2017 пользователем aka_sektor 1 Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти