Jump to content
Sign in to follow this  
kernins

ItemsDropper - скриптовый мод-ресурс

Recommended Posts

Я всегда считал мгновенное раздевание с аккуратным складыванием барахла в инвентарь и последующей такой же мгновенной экипировкой всего обратно одной из главных immersion-breaking проблем ловерсов. Особенно при рейпах)

 

Недавно вышедший rapers realistic edition хоть и сделал рейперсов почти такими, какими их всегда хотел видеть я, тоже страдает от пресловутого бага с drop(), из-за которого автор отказался от выбрасывания брони, ограничившись опять же одним ток анеквипом. Оказалось, и тут облом...

 

Короче, задолбало ждать, решил сделать норм дроп шмота сам, благо как раз выдалась пара свободных деньков.

В результате получился...не, не мод...скорее ресурс, микрофреймворк, позволяющий вызовом одной ф-ии выбросить шмотку, экипированную в конкретный слот конкретного персонажа.

 

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.

 

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.

 

Требуются обсе 20 и pluggy. Хотя, думаю, сейчас сложно найти того, у кого они не стоят)

 

 

 

"Здоровье" брони/оружия, заряд зачарованных вещей и лок.переменные привязанных скриптов (не протестировано) при этом сохраняются. При попытке поднять шмотку проигрывается анимация activateLow. Опционально можно включить авто-еквип поднятой шмотки (опять же с анимацией). Многие паметры (в том числе анимации) мона переопределить в ини (глобально) или при вызове ф-ии (только для этого конкретного айтема). Все события идут в синхроне с анимкой, т.е шмотка "подбирается" в момент, когда персонаж уже нагнулся за ней, аналогично с эквипом.

 

Еще одна часть фремворка - менеджер отложенных задач (именно он занимается синхронизацией самих событий с анимацией). Инструмент скорее побочный в данном контексте, но тоже могет оказаться полезным. Например, с его помощью мона достаточно просто реализовать постепенное раздевание персонажей уже во время проигрывания анимации секса/прелюдии. Идеально подойдет екстендеру, кмк. Перед стартом действа мона запланировать, скажем, снять верх через 2 сек, низ - через 5, запустить ловерсов и...усе, дальше оно само (с)

 

В архиве лежит сам KFramework.esp и KFTest.esp. Последний предназначен для теста - по зажатию определенной кнопки более, чем на посекунды, дропнет соответствующий экипированный предмет с игрока. Список кнопок будет выведен в консоль (~), если зажать С.

 

W оружие

A стрелы

U кираса

L поножи

F тапки

H перчатки

X выбросить все

 

Просьба протестить, кому не лень. Прежде всего на предмет CTD. Хотя у меня за 15 мин безостановочного дропанья/собирания своих шмоток не было ни одного крэша.

Надеюсь, багов будет не так уж много)

 

А вообще, прежде всего надеюсь, что сия поделка заинтересует авторов модов. [Вот он, хитрый расчет)) Вы же не подумали, что я альтруист?)]

Например, дроп шмота идеально бы вписался в Dark Bloodlines (особенно ситуация с бандосами на дорогах)... Или где-то видел чью-то идею (вроде Баюна) сделать для рейперсов анимацию борьбы в кач-ве прелюдии экстендера. Идея супер. А если добавить и _постепенное_ раздевание жертвы с выбросом шмоток во время этой анимации, так вообще замечательно будет)

 

 

СпОсибЫ

-------------------------

OreTueee, автору Bathing Mod Revamped, за мод вообще, и анимации одевания, мной использованные, в частности.

 

Известные баги/ограничения

----------------------------

Два идентичных предмета не могут одновременно находиться в мире. Идентичными считаются 2 инстанса одного базового объекта с одинаковым здоровьем и зарядом.

Это значит, что если у вас есть 2 идентичные кирасы, и одну уже скинули, вторую скинуть не получится (ни PC, ни NPC) до тех пора, пока не будет подобрана первая. Не зависимо от местонахождения брошенной куклы.

Хотя с броней/оружием это почти не проблема - у них есть "здоровье/прочность", дающее отличную диверсификацию в боевых условиях. А вот с одежой уже хуже, вероятность коллизий как мин на порядок выше.

 

Причина: по факту дропаются не айтемы, а куклы, сами айтемы перемещаются в скрытый контейнер. Так вот такие идентичные айтемы в контейнере объединятся в стэк. И пока я не вижу норм пути перемещать только часть, а не весь, стэк. Извратиться мона, но в голове пока ток "ну это совсем пистец накрутил"

Симтомы: первая активация куклы любого из этих предметов вернет весь стэк. Остальные куклы (этого предмета) станут бесполезны.

 

Кстати, можно ли скриптово задать владельца инстансу айтема? Чет в доках обсе не видел похожей ф-ии.

Edited by kernins

Share this post


Link to post
Share on other sites

Дык, насколько я понимаю, дропом не пользуются ибо иногда шмотки выпадают сквозь мир в кладбище праматерии пустоту, либо попадают куда-то, откуда их потом не достать. В этом фреймворке выпадают не сами шмотки, а ярлыки? Но ярлыки тоже могут попасть хз куда...

Share this post


Link to post
Share on other sites

можно поставить условие невозврата, типа если не активировал ярлык дропнутой вещи в течение n игрочасов, то кукла уничтожается, а вещь доставляется в определённое место... бюро находок, хотя бы...

Edited by wepwawt

Share this post


Link to post
Share on other sites

Я чаще встречал ругань на "сброс статов", фактически двигло не дропает айтем, а удаляет его из инвентаря и спавнит новый инстанс того же базового объекта уже в мире. Поэтому у оружия/брони всегда сбрасывается здоровье (степень износа) - прочувствовал на себе) Так же по логике будет сбрасываться и заряд, и скриптовые переменные (если айтем заскриптован) - это не проверял. Однако при перемещении предмета в другой контейнер такого бага нет, этот метод я и использовал.Еще одна проблема многих функций работы с инвентарем в том, что они принимают базовый объект в кач-ве аргумента. Вообще, как я понял из доков обсе, у предметов в контейнере вообще нет референсов, до тех пор, пока они в контейнере. Любой нпц и игрок - тоже контейнер. Поэтому, если в инвентаре несколько однотипных объектов (скажем, 2 одинаковые кирасы, пусть и с разной степенью износа), drop() могет выкинуть любую из них, removeItem аналогично. Мои скрипты работают через inventory references (см доки обсе), так что эта проблема тоже решена.Касательно проваливания, да, есть такое. Заметил недавно (впервые, кстати), дропнув весь шмот в маленьком домишке, - одна шмотка провалилась)Хотя это не такая уж проблема. Можно отслеживать расстояние брошенной куклы от хозяина, и, если улетит слишком далеко, возвращать (как бы это ток покрасивей реализовать, чтоб в глаза не бросалось). И тупо дать спелл игроку а-ля "верните мои труселя" на экстренный случай. Идея с бюро находок оч оригинальная, мне определенно нравится) Конеш, гонять игрока туда за провалившимися не дело, эт надо на месте разруливать, а вот если просто забыл поднять какую-то мелочь, самое оно. Правда это дает возможность чита - перегрузился, выкинул не нужное, пошел дальше. В городе зашел в бюро, и вот они, шмоточки)) Ток для этого надо еще сами интерьеры сделать, распихать их по городам...пока ID нигде не применяется этим заниматься бессмысленно. Да и мне как программеру интересен и доставляет удовольствие прежде всего скриптинг, а времени и так катастрофически мало.Вообще идей дофига: сделать спелл подсветки брошенных кукол (эффект а-ля обнаружение жизни), если это возможно. В некоторых случаях их бывает трудновато найти. Научить нпц собирать свои шмотки, если ф-я применялась на них. Использовать куклы соответствующего типа для оружия/брони/итд (сейчас используется миск айтем), чтобы, скажем, нпц с пакетом found any wearable могли сп***ить валяющиеся шмотки... Особенно, если есть возможность назначить владельца конкретному инстансу. Тогда честные неписи чужое брать не будут. Но опять же все упирается в наличие времени.Может я, конеш, зацикливаюсь на мелочах, но мне всегда хотелось, чтоб, если уж на ГГ успешно напал насильник, ее шмотки были раскиданы вокруг, а не аккуратно сложены в инвентарь. И потом надо было бы ходить и собирать их. Да и по согласию тоже...спросите себя как часто вы при эм..этом самом аккуратно складываете одежду в шкаф?)

Share this post


Link to post
Share on other sites

Интерьер сделать не проблема, понадобится - готов, да и выходной намечается. Что касается распихать по городам, могу предложить вне городских стен, т.к. мало ли чеготуда понапихали уже. В Анвиле в порту, в других на ямах, удобно и логически обоснованно: забыл в одном городе - сходил на почту, попросил с вестовым привезти.

Share this post


Link to post
Share on other sites

kernins, спасибо за передел 89 ловерсов со выбросом шмота. Всё работало на ура. Без вылетов и багов. Потому этот моддерский ресурс поддерживаю! Вот только жаль, что я не моддер...

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.

Share this post


Link to post
Share on other sites

Интерьер сделать не проблема, понадобится - готов, да и выходной намечается. Что касается распихать по городам, могу предложить вне городских стен, т.к. мало ли чеготуда понапихали уже. В Анвиле в порту, в других на ямах, удобно и логически обоснованно: забыл в одном городе - сходил на почту, попросил с вестовым привезти.

Раз есть желание, я уж точно ток за) Только, если понимать "понадобится" как реальное практическое использование в игре, тут уже больше не от меня зависит. Энд-юзер моды (свои или модифицированные чужие) с использованием ИД я еще не известно когда буду делать, а на других влиять не в силах))Я так прикинул, в каждом городе - эт перебор. Если клонировать айтем сразу во все контейнеры, надо будет потом тереть дубли, да и с некоторыми скриптованными уник айтемами потенциально могут быть проблемы. Рандомно раскидывать - запаришься бегать. Наверн, лучше сделать что-то вроде скупки краденого где-то бравиле. С одной стороны, более правдоподобно (покажите мне альтруиста, который добровольно сдаст что-то, что иначе мона было бы продать), а сдругой проще и универсальней. Можно будет вообще сделать отдельный независмый мод, к которому в свою очередь будет цепляться ИД и/или другие моды. Наскок помню, у торгаша могет быть несколько сундуков, и они могут быть персистент без респавна. В самом ИД мне останется ток при наличии мода переместить/добавить торгашу сундук (в идеале динамически). Ну или заранее предусмотреть для него выделенный и указывать формид в ини, что еще проще.

победитель забирает всё!

В том же Rapers Roleplaying Edition (который с ллаба), это реализовано. Насильник забирает оружие, деньги и одежду/броню (при определенных условиях). Так тут тоже можно прицепиться, и, если игрок сразу не отвоевал свое назад, а убег, поджав хвост, то с некоторой вероятностью через некоторое время помещать шмотки/их часть в скупку. Еще со времен морра помню, что если в игру действительно отыгрываешь, даже имея терминатора по ту сторону монитора, случаются ситуации, когда на волосок от смерти, и думаешь "лишь бы до города добраться". Ну эт к слову о возможных применеияхНу а в качестве бэкграунда можно продавать разный хлам/оружие/доспехи по сниженным ценам. В идеале не новые, разной степени потрепанности. Или добавить в тот же интерьер контрабандиста со шмотом из модов (давно думал для ся объединить все понравившиеся шмот-моды в одного торгаша, да все руки не доходили).Ток внешне (в ворлдспейсе) это надо делать как то с макс совместимостью. Я, например, жить не могу без unique landscapes и better cities, у кого-то могут другие моды стоять...тут подумать над. Либо маленький люк в какой-нибудь отдаленной части города, либо нпс-телепортера, который будет "отводить" игрока "на место". Ну или опциональные патчи под конфликтующие модыВо, блин, скок насочинял))

Share this post


Link to post
Share on other sites

better cities у меня нет и не предвидится, из landscapes стоят только те, что рекомендуются для домика с мельницей (автор - Korana). если в Бравиле, есть одна маленькая просьба. прогуляться внутри по городу и найти свободное место под какую-нибудь хибару, сделать скрин собственно с местом и с картой. Я посмотрю, есть ли что на этом месте в ванилле, и если это не особо критично, попытаюсь туда хибару вписать.

Edited by wepwawt

Share this post


Link to post
Share on other sites

Да, Корана талантище, у меня все его/ее домики стоят) Просто потрясающий дизайн и проработка деталей

 

Посмотрел Бравил - это наверн самый законченный и насыщенный город из всех BC, нашел ток полтора места внутри (одно занято горелым домом, да еще и около церкви, поэтому считаем за половину) и одно около города. Воть скрины

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.

Edited by kernins

Share this post


Link to post
Share on other sites

Не получается проигрывать анимацию, которая у тебя на видеофарагментах показана, просто тупо одевает шмот и снимает его. Что я делаю не так, или с чем она может вызвать конфликт

Edited by steklok

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.