Norman Eisenherz 316 Опубликовано 18 Февраля 2022 Поделиться Опубликовано 18 Февраля 2022 @EGER.OVERKILL WF Надо править конфиг: [config\ui\inventory_new.xml] или […\inventory_new_16.xml] <dragdrop_bag> rows_num, cols_num – сетка unlimited=0 – ограничение вместимости // событие "свободное место закончилось" обрабатывается с вылетом в любой части оригинала, как с этим в модах – не знаю always_show_scroll=0 – полоса прокрутки по умолчанию скрыта В ЗП те же параметры в [configs\ui\actor_menu.xml] или [actor_menu_16.xml]. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
EGER.OVERKILL WF 3 Опубликовано 18 Февраля 2022 Поделиться Опубликовано 18 Февраля 2022 (изменено) 3 часа назад, Norman Eisenherz сказал: с вылетом Хотелось бы найти универсальное решение без вылета, ибо получается что подобрать "лишний", предмет который уже не влезает, мы можем, а открыть инвентарь нет, ибо вылет. Сегодня уже испытал функцию unlimited=0/1. Просто допустим инвентарь миниатюрный, а гг захочет набрать "ништяков", допустим 3 костюма, и в 35 клеток это вряд ли вместится корректно. Так-то мои карланские навыки мне подсказали что ковырять, но вот как "довести до ума", я пока не знаю. Не ищу готового решения, просто хочу сделать качественно, или хотя бы замахнуться на подобное. upd: Суть, в том, которую я хочу донести , это что можно и 6х6 и 3х3 сделать инвентарь, просто если гг наберет "сверх" нормы, то он просто расширяется. Хотелось бы сделать его (Инвентарь/рюкзак) фиксированным, а не "резиновым". Разумеется если это возможно, может это вообще ограничивается движком. Изменено 18 Февраля 2022 пользователем EGER.OVERKILL WF 1 Ссылка на комментарий
ted.80 278 Опубликовано 19 Февраля 2022 Поделиться Опубликовано 19 Февраля 2022 8 часов назад, EGER.OVERKILL WF сказал: Хотелось бы сделать его (Инвентарь/рюкзак) фиксированным, а не "резиновым" Господа игре уже не один год, и все возможные хотелки уже давно реализованы, нужно просто немного напречь ганглии и пользоваться поиском или по форуму, ну или на худой конец гуглите в интернетах - Inventory Volume mod Inventory Volume Mod Для Stalker: Shadow of Chernobyl любой версии. ------------------------- Описание: ------------------------- - Модификация вводит в игру систему ограничения инвентаря ГГ на вместимость по физическому объёму. - Если попытаться поднять предмет, параметры которого отсутствуют в inv_volume.ltx, то предмет будет выброшен обратно, появится сообщение, содержащее отсутствующую секцию (это можно изменить). ------------------------- Inventory Volume mod.7z Личный АРХИВ по S.T.A.L.K.E.R Ссылка на комментарий
EGER.OVERKILL WF 3 Опубликовано 19 Февраля 2022 Поделиться Опубликовано 19 Февраля 2022 6 часов назад, ted.80 сказал: напречь ганглии Спасибо, с этим модом знаком, просто думал есть, может еще что-то. Ссылка на комментарий
explorerbee 0 Опубликовано 7 Марта 2022 Поделиться Опубликовано 7 Марта 2022 Друзья, всем привет. На днях увидел мод, который заменяет карту на компас. Идея очень понравилось, но мне хотелось бы реализовать компас как в игре Squad, PUBG. Как там это реализовано: при передвижении камеры по оси X компас "прокручивается", т.е. отображается сторона света. Также там указывается отдельно градус направления, в котором ты смотришь. Ссылка на картинку (как это вообще выглядит в том же Squad) Я к сожалению совершенно не обладаю никакими навыками моддера (максимум пушки портировал из B&S), и мне хотелось бы кое-что спросить: Что мне нужно изучить, чтобы попробовать такое сделать? Может какие-то материалы есть? Может уже где-то были такие наработки? И сильно ли будет сложно такое реализовать? Заранее спасибо. Ссылка на комментарий
mole venomous 3 433 Опубликовано 7 Марта 2022 Поделиться Опубликовано 7 Марта 2022 (изменено) Назрел вопрос. В момент сдачи квеста требуется одну пачку патронов трансферить НПСу, остальные удалить из инвентори актёра. Общее кол-во пачек нужно для прекондишена. Но при одновременном трансфере и удалении всегда остаётся лишняя пачка в рюкзаке. Верно ли я понимаю, что выход, это разделить трансфер и удаление некоторым промежутком времени с помощью постановки удаления на таймер? Или же можно обойтись иначе? Всем добра. Изменено 7 Марта 2022 пользователем mole venomous Здесь могла быть ваша реклама. Ссылка на комментарий
Zander_driver 10 334 Опубликовано 7 Марта 2022 Поделиться Опубликовано 7 Марта 2022 @mole venomous Можно просто сначала составить список наличных пачек патронов, индексированный по ID объекта. А затем из этого списка одну трансферить, остальные удалять. Скрытый текст Как-то в таком духе: local list = {} local transfered = false function iterator_inventory(item, actor) if item and item:section() == "target_item" then table.insert(list, item:id()) end end function execute_mv() for i, id in pairs(list) if transfered then local sobj = alife():object(id) if sobj then alife():release(sobj, true) end else local obj = level.object_by_id(id) if obj then transfer(obj) transfered = true end end end end 6 часов назад, explorerbee сказал: Что мне нужно изучить, чтобы попробовать такое сделать? Посоветую изучить принципы построения худа в игре https://www.amk-team.ru/forum/topic/8013-hud/ Как он строится при помощи xml-конфигов и текстур, и принципы скриптового управления им, тут и тут ЗЫ. Кстати, в постах по ссылкам, спойлеры побились... модераторы, поправил бы кто) 2 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. Ссылка на комментарий
AndreySol 215 Опубликовано 18 Марта 2022 Поделиться Опубликовано 18 Марта 2022 (изменено) 07.03.2022 в 20:48, mole venomous сказал: Но при одновременном трансфере и удалении всегда остаётся лишняя пачка в рюкзаке. Тут неплохо-бы посмотреть код, как это все устроено. P.S. Может стоит упростить само условие квеста? В чем смысл, отдать в завершение квеста одну пачку патронов, а остальные удалить? Пытаюсь понять формулировку такого квеста, и не могу: меня просят принести пачку патронов, соглашаюсь. У меня уже есть пять пачек таких патронов - почему я должен лишится всех, отдав одну квестодателю? Изменено 18 Марта 2022 пользователем AndreySol 1 Ссылка на комментарий
mole venomous 3 433 Опубликовано 18 Марта 2022 Поделиться Опубликовано 18 Марта 2022 24 минуты назад, AndreySol сказал: Пытаюсь понять формулировку такого квеста Нужно трансферить лишь одну пачку, остальные удалить, якобы НПСу переданы все пачки. При попытке трансферить более одной пачки вылет типа: Скрытый текст [error]Expression : e_entity->ID_Parent == id_parent [error]Function : xrServer::Process_event_reject [error]File : d:\a\ogsr-engine\ogsr-engine\ogsr_engine\xrgame\xrserver_process_event_reject.cpp [error]Line : 38 [error]Description : ammo_5.45x39_fmj17085 [error]Arguments : single_player 34 минуты назад, AndreySol сказал: посмотреть код Обычный трансфер в диалоге: Скрытый текст dialogs.relocate_item_section(b, "ammo_5.45x39_fmj", "out") Удаление, коды из НС 2016: Скрытый текст function out_GG_num(thing,num) local actor = db.actor local sim = alife() local id,item,sect,sobj local count = actor:object_count() local ind1,ind2 = 0,num for i = 0, count - 1 do if ind2 == 0 then break end item = actor:object(i) sect = item and item:section() if sect and sect == thing then id = item:id() or item.id sobj = id and sim:object(id) if sobj then ind2 = ind2 - 1 ind1 = ind1 + 1 sim:release(sobj) end end end if ind1 ~= num then return false end ex_all.news_item_out(actor,thing,ind1) return true end По отдельности всё работает - либо пачка трансфериться НПСу, либо удаляется нужное кол-во пачек. Одновременно же происходит трансфер пачки и недоудаление одной пачки патронов. Насчёт вылета при трансфере более одной пачки одинаковых патронов, судя по всему, я это делаю не так, ибо впервые столкнулся. Но тут выше уже речь была про 07.03.2022 в 21:53, Zander_driver сказал: список наличных пачек патронов, индексированный по ID объекта , и видимо это есть решение. Здесь могла быть ваша реклама. Ссылка на комментарий
dsh 3 824 Опубликовано 18 Марта 2022 Поделиться Опубликовано 18 Марта 2022 Вот же любит народ сложно. Это игра, здесь не нужно соблюдать физ. законы, достаточно сделать иллюзию их наличия. Что ты привязался к этому трансферу. Удали, что тебе нужно из инвентаря актора, и создай в инвентаре непися то, что тебе там нужно. Никто не узнает, что эта злосчастная пачка была там создана заново, а не перемещена существующая. 2 3 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Zander_driver 10 334 Опубликовано 18 Марта 2022 Поделиться Опубликовано 18 Марта 2022 Соглашусь. Можно так, можно еще кучей других простых способов, смотря какие цели преследуются. Мы же их не знаем. Я просто попытался обозначить (одно из) возможных решений на то что было озвучено. Хочет человек трансфер - значит трансфер... А зачем там именно трансфер, для чего, и нужен ли он в самом деле - это другие вопросы. 3 часа назад, mole venomous сказал: Одновременно же происходит трансфер пачки и недоудаление одной пачки патронов. Просто не нужно с одним и тем же объектом, пытаться делать одновременно обе вещи. Трансфер и удаление. Можно все трансферить. Можно все удалить. Можно проиндексировать и какие-то одни удалить, а какие-то другие трансферить. Можно спавнить конечно. Но не нужно допускать попыток совершения взаимоисключающих действий над одним и тем же объектом одновременно - тогда в лучшем случае, одно из действий не будет выполнено. А скорее будет закономерный вылет. Это если что, общий теорикрафт в принципе по любым действиям с игровыми объектами... не только в обсуждаемой ситуации. 3 часа назад, mole venomous сказал: dialogs.relocate_item_section Посмотрел код этой ерунды в оригинале - в обсуждаемой ситуации, вообще не надо такое юзать. 1 1 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. Ссылка на комментарий
dsh 3 824 Опубликовано 18 Марта 2022 Поделиться Опубликовано 18 Марта 2022 На мой взгляд, трасфером вообще не нужно пользоваться без реальной на то необходимости. Т.е. только тогда, когда без этого никак. Результат трансфера будет только на следующем апдейте, а для новичков это слишком сложно и запутано. Да и не для новичков тоже грабли, стоит только эту отложенность из виду упустить. 1 1 2 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Zander_driver 10 334 Опубликовано 18 Марта 2022 Поделиться Опубликовано 18 Марта 2022 Опять же соглашусь. Трансфер хорош только в случаях когда передаваемый объект имеет кучу каких-то своих особенных кастомизируемых данных, и/или что-то объемное и нужное в кастом-дате. А ковыряться с его нетпакетом допустим лень и/или сложно. Пачка патронов не тот случай. 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. Ссылка на комментарий
mole venomous 3 433 Опубликовано 19 Марта 2022 Поделиться Опубликовано 19 Марта 2022 (изменено) 11 часов назад, Zander_driver сказал: Пачка патронов не тот случай Совершенно не тот случай. Вот интересно было разобраться, когда споткнулся об эту пачку. Прочитал мнения и советы. И сделал вывод, в похожей ситуации мне проще удалять и спаунить с записью в пакет. Изменено 19 Марта 2022 пользователем mole venomous Здесь могла быть ваша реклама. Ссылка на комментарий
Okichi 922 Опубликовано 19 Марта 2022 Поделиться Опубликовано 19 Марта 2022 Наоборот же ) Если пачка - как раз проще удалить у актора и заспаунить где надо. А вот если что-то уникальное (с еще где-то используемым id и/или story_id, например, или с неудобочитаемой кастомдатой) - тогда уж трансфер. 1 След от кругов на воде - это тоже след (с) Ссылка на комментарий
mole venomous 3 433 Опубликовано 19 Марта 2022 Поделиться Опубликовано 19 Марта 2022 7 минут назад, Okichi сказал: Наоборот же Я это и имею ввиду, как то невнятно написал просто. Здесь могла быть ваша реклама. Ссылка на комментарий
_Sk8_AsTeR_ 117 Опубликовано 25 Марта 2022 Поделиться Опубликовано 25 Марта 2022 Доброго времени. А есть способ узнать, присутствует ли у непися, который находится в оффлайне (например на другой локации) в его инвентаре конкретный итем? 1 Ссылка на комментарий
ted.80 278 Опубликовано 25 Марта 2022 Поделиться Опубликовано 25 Марта 2022 2 часа назад, _Sk8_AsTeR_ сказал: есть способ узнать, присутствует ли у непися, который находится в оффлайне (например на другой локации) в его инвентаре конкретный итем? Я конечно понимаю, что наСТОящий сталкер - лёгких путей не ищет, но на кой фиг такие сложности? soryy за offтоп 1 2 Личный АРХИВ по S.T.A.L.K.E.R Ссылка на комментарий
Okichi 922 Опубликовано 25 Марта 2022 Поделиться Опубликовано 25 Марта 2022 @ted.80 И еще очень интересно узнать - зачем ЭТО вот надо автору исходного поста) 1 2 След от кругов на воде - это тоже след (с) Ссылка на комментарий
Zander_driver 10 334 Опубликовано 25 Марта 2022 Поделиться Опубликовано 25 Марта 2022 Я в чужие дела не лезу, хочет узнать - значит есть, зачем. @_Sk8_AsTeR_ если опираться на функционал оригинального движка. То придется перебрать в цикле 65к id, по каждому взять серверный объект, а у серверного объекта проверить его parent_id. Те у кого совпадет с id нужного непися - принадлежат ему. function get_offline_inv(id) local item_id = 1 while item_id < 65534 do local sobj = alife():object(item_id) if sobj and sobj.parent_id == id then table.insert(offline_inv, sobj) end item_id++; -- :) end end Как-то так. На более доведенном до ума движке, можно лучше конечно. P.S. Да, "готовый код" "заминирован" простыми ошибками намеренно. Я остаюсь верен своему принципу - помощи заслуживает тот, кто сам что-то делает. Эти простые ошибки легко исправить, если понимать, что делаешь. Однако если просто бездумно скопировать-вставить код, он работать не будет 1 1 2 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти