Immersive Placing
This mod adds key wich allows you to quickly drop and place items to exatcly position you want. (By default it's unbinded*, but you can easily bind it in settings) * Press key to drop item in your hands at crosshair position. * Hold key to show placing hologram, press use key to place item at hologram position. * Press key when hologram is shown to flip it *. * As with original game, you can rotate hologram with… (more)
This mod adds key wich allows you to quickly drop and place items to exatcly position you want. (By default it's unbinded*, but you can easily bind it in settings) * Press key to drop item in your hands at crosshair position. * Hold key to show placing hologram, press use key to place item at hologram position. * Press key when hologram is shown to flip it *. * As with original game, you can rotate hologram with scroll wheel. * Heavy items (that character holds with two hands, like barrels) have different placing animation (unfortunatly, that one without sound) *. * Items are correctly placed on surface without clipping inside it. * Mod doesn't conflict with items that already have deploying or placing function. * Items are aligned to surface (raycast normal). Side effect of this: ability to glue them to walls and roofs (not surfe if that good). note *: Some items have several placing offsets, and, for some reason, the only function that allows to get item placing offset I found always gives you random one (so, when you placing item it's always random in wich side it lays)... So I made a key that allows you to update placing offset. Just press key when hologram is shown to get new random placing offset. That way you can, for example, decide in wich side place map, or place tactical bacon normal way/upside down/on side (in several ways). Unfortunatly, offset is always random, so sometimes you have to press key several time until item flips... note 2*: While usual dropping animation always plays correct sound for any item out-of-box, animation for heavy items for some reason don't do it. So I'm not sure what is better - placing heavy items with correct animation, but without sound, or placing havy items with animation for normal items, but with correct sound... note 3*: I have no idea why, but, even though I use exactly the same input method as original games used for actions like "drop item", for some reason mod key is also working with open chat. I guess game just disable only default inputs when chat is open, but not modded... repacking: You are allowed to repack this mod without questions, just add link to workshop page of this mod if you do. ================================================================= Этот мод добавляет кнопку, при помощи которой вы можете быстро выбросить или разместить предмет именно там, где вам нужно. (По умолчанию она не назначена*, но вы можете легко назначить её в настройках) * Нажмите кнопку, что-бы положить предмет в центр экрана. * Удерживайте кнопку, что-бы показать голограмму для размещения, и нажмите кнопку использования, что-бы положить предмет на место голограммы. * Нажмите кнопку, когда голограмма показана, что-бы перевернуть её *. * Как и в оригинальной игре, голограмму можно вращать колёсиком. * Тяжёлые предметы (те, что персонаж держит в обоих руках) имеют другую анимацию размещения (увы, но она без звука). * Предметы корректно размещаются на поверхности вместо того, что-бы клипаться в неё. * Мод не конфликтует с предметами, у торорых уже есть функция размещения... * Предметы выравниваются по поверхности (нормали рейкаста) при размещении. Побочный эффект: возможность приклеивать их к стенам и потолкам (не уверен, что это хорошо). Заметка *: Некоторые предметы имеют несколько смещений для размещения на поверхности, и, почему-то, единственная функция, которая позволяет получить это смещение - постоянно даёт рандомное (так что, когда вы размещаете предмет, он всегда ложится на рандомную сторону)... Так что я сделал клавишу, которая позволяет обновить это смещение. Просто нажмите кнопку когда вы пытаетесь его разместить (то есть, голограмма показана), и смещение обновится на новое рандомное. Так вы сможене, например, выбрать, на какую сторону положить карту или положить тактический бекон нормальным образом/вверх ногами/на бок. Увы, но каждый раз это смещение рандомное, так что иногда придётся нажать кнопку несколько раз, что-бы предмет перевернулся... Заметка 2*: В то время, как анимация обычных предметов почему-то сама проигрывает корректный звук размещения для каждого предмета, анимация для тяжёлых предметов к такой магии не способна... Так что, я не уверен, что лучше - корректная анимация для тяжёлых предметов, но без звука, или проигрывания анимации для одноручных предметов при размещении тяжёлых, но со звуком... Заметка 3*: Я понятия не имею почему, но, даже при том, что я использую точно тот же способ ввода, который оригинальная игра использует для действий вроде "выбросить предмет", клавиша моего мода, почему-то, работает при открытом чате. Я так понимаю, игра просто отключает только стандартные инпуты, когда чат открыт, но не инпуты из модов... Перепаковка: Вы можете перепаковывать этот мод без вопросов, только добавьте ссылку на страницу воркшопа этого мода, если вы это делаете.
No file I/O on hot paths, no timers created per event, no per-player-per-frame hooks.
Every server-visible override preserves its chain.
less than 0.001% of each server frame at 100 players (0.001 ms/s). Counts hook dispatch and timers only, not what the hooks do inside. Methodology.
Structural load of the 328 scripted mods analyzed, lightest on the left. This mod's bar is lit; 32 others share it. Ranked list.
Event hooks carry 99.8% of this mod's structural load. 0.001 ms/s in all.
3 hooks · 0.00059 ms/s
| Event hooksrun when something happens: an inventory move, a hit, an action | 3 hooks | 0.00059 ms/s | 99.8% | ActionDeployObject.ActionCondition, ActionDigGardenPlot.ActionCondition, ItemBase.SetActions |
Counts how often each hook is dispatched and how many timers stay alive, not what the code inside does. Some rates are order-of-magnitude estimates; the methodology lists which.
Where this mod runs often
Hooks on per-frame and high-rate surfaces, with what their bodies call. Body work, not the hook itself, is what costs frame time.
Which vanilla methods the mod hooks, which of them drop the chain, how often each hook fires, and which risky calls sit inside hot hooks.
How long hook bodies take, network cost, or engine-side load. Measured across live fleets, most server lag comes from the engine and world state, not mod script chains — a light footprint does not clear a mod of lag, and a heavy one does not convict it. Methodology.
Everything else
All 4 overrides
Surface is the dispatch tier the rubric can price (— = unpriced); server is whether the override exists on a dedicated server; super() shows whether the vanilla chain is preserved on a server.
| method | surface | server | super() | where |
|---|---|---|---|---|
ActionConstructor.RegisterActions |
— | yes | ✓ | immersive_placing.pbo::world\actions.c:12 |
ActionDeployObject.ActionCondition |
T2 | yes | ✓ | immersive_placing.pbo::world\actions.c:22 |
ActionDigGardenPlot.ActionCondition |
T2 | yes | ✓ | immersive_placing.pbo::world\actions.c:26 |
ItemBase.SetActions |
T2 | yes | ✓ | immersive_placing.pbo::world\actions.c:2 |
Dispatch surfaces and timers the grade prices
| surface | tier | rate (Hz) | rate source | ms/s |
|---|---|---|---|---|
ItemBase.SetActions | T2 | 8.0 | placeholder | 0.0002 |
ActionDeployObject.ActionCondition | T2 | 8.0 | placeholder | 0.0002 |
ActionDigGardenPlot.ActionCondition | T2 | 8.0 | placeholder | 0.0002 |
Includes 0.001 ms/s from placeholder-rated surfaces.
Load-order constraints (CfgPatches)
What each PBO declares: its addon identity and the addons it requires to be loaded first (requiredAddons). A partial load-order signal from the mod's own metadata.
immersive_placing.pbo
placeable_items— requiresDZ_Data
census 1.1 · findings 1.1 · hash 39c86252bdb762cc