Jump to content
ℹ️ Intermittent Download History issues ×

hereami

Members
  • Posts

    482
  • Joined

  • Last visited

Everything posted by hereami

  1. If need to cripple something specific, then shoud severly damage corresponding limb health AV by a mgef or script, like PerceptionCondition, LeftAttackCondition etc., for example LegendaryOnHitCrippleScript. If need detection, then OnCripple() event, or check limb AVs == 0 by Conditons. ps. Well, by the way. I've seen live dismemberment caused by actors whose outgoing Limb Damage is nullified, is combat dismemberment independent from limb damage then?
  2. I didn't follow the logic, but have noticed this string EndEventEvent OnEffectFinish(Actor Target, Actor Caster), is that copypaste error? Though should cause compiler error probably.
  3. Thanks all ! Well, now i've looked more focused, thanks again, and indeed there's "sheltered" thing. Trail ends at GetWorkshopResourceObjects(), which is native and obscured, so that exact detection method remains unknown, raycast toward occlusion material sounds plausible, yes. Handled by Workshop mode even when building a roof after bed (but if you MoveTo() a bed from under a roof manually it stays "sheltered", so, Workshop mode is the only processor, no hopes for Actor knowing about roof by himself). Bed AV is Hardcoded and there is GetBaseValue vs GetValue, that's how game differentiates bed quality and maintains amount simultaneously, unsheltered beds return BaseValue=1, and GetValue=0, pretty clever i'd say. But i didn't test what happens for BedAV>1, either Workshop decrements by 1 or by total, curious, but doesn't matter much for me. Actually did, but for a MSTT, and no, MSTT doesn't hook into "sheltered" concept at all, no AV change, suppose there should be a fake furniture then, if some tiny marker is wanted. Not sure what's broken there, detection seems be working and script uses that extra info for some bonus happiness exclusively, but i would rather made non-roofed beds to not count as valid altogether instead. Now that's great to know and can be exploited for some modding purposes. But what i was ranting about dispraising, is that NPC don't search for a roofed area in rain by default, and cannot become aware about exact shape of rain-occlusion areas or identify them from distance even if that's a workshop structure, at least there seems be no obvious interface for that. ps. niston, haha, now i see. Anything what has AVs Bed + WorkshopResourceObject always counts as sheltered bed, but only a sleep-enabled furniture (having Unknown31 flag as third mandatory element nah, just AV + Unk31) can receive the "open sky" penalty. Bit exaggerated requirements, i think, but anyway technical part works, which is good. pps. Hah, that's pretty useless anyway, pointless to find a fool-proof shelter spot when you're sitting under a roof, and actors have no idea if they are in open space or not to properly control procedures flow.
  4. Hi. It is said that settlement beds should be under roofs, but does the game really care, and if does then how? Workshop script is a total mess, but anyway i doubt if can see anything relevant there. Let's say buildable Vault structures may have acoustic space attached, meaning they have some primitive integrated into model to apply aspc object to (or whatever other way it's done), why can't be "weather shelter primitive" then embedded into roofs and prefabs, especially when procedures can process volumes as Package location. Settlers certainly don't care about weather, unlike as in some games like Witcher, don't know what's going on in Skyrim, is that behaviour fully absent in CE or just discarded exactly for Fallout as another "excessive" feature (hm, like bendable trees, negative PushAway() and whatever else good i don't know about)?
  5. So I could create a blank perk, attach it to an in-game trigger, and then add dialouge options with the "Condition/Function HasPerk"? That sounds much easier than I was thinking it would be! Thank you for a useful answer! Whoa, whoa.. For clarification, Perks can't be added to anything but Actors, so need an activation script to attach perk to Player entity, as in example above, just use AddPerk() instead. Well, again, if that's a flag-like need, then Globals would be most suitable and efficient. Though benefit of a dummy Perk would be visibility in Stats >Perks tab for informational purpose, that yes. PS. To mark an object should use Keywords or ActorValue, if applicable. For a ready thing - script PerkMagBaseScript.psc, but would need a custom one for OnTriggerEnter event.
  6. By a script as well: AddPerk(), RemovePerk() - also works for original chart perks . Also can be attached temporarily by a MagicEffect. Then check in a dialogue or whenever else by Condition/Function HasPerk. Though if need just as a plain flag, then would rather use Global Variables.
  7. About PreVis i only know that they have some stamp too and cause unpleasant visual issues. Just in case then, might need XEdit script "Copy Version Control Info", duplicated records have None or a fresh stamp (in CK) and that's the problem.
  8. Can find some interesting info in this topic https://forums.nexusmods.com/index.php?/topic/5522717-fallout-4-optimization-and-performance-systems-explained/ , run search for "timestamp". To heal what another mod has broken need to restore all bracketed records (elements included into precombined meshes) that were touched and their timestamps (VersionControlInfo) to original state, also CELL's PCMB and XCRI should be reverted if were changed or cleared. Supposedly, precombs can be "broken" selectively as necessary by removing only some of XCRI elements manually and let a mod to keep its most worthy additions/changes without breaking everything else around, but meself never had a suitable occasion to confirm this assumption, curious though. ps. Was the question about PreVis or Precombines though? Previsibines...
  9. Not that i have anything useful to add, but for some practice and training could, hm, advise to navmesh everything what Bethesda considered pointless illusion, that exact huge player-only walkable area outside of borders in vanilla map, well, just for, hm, possibly useful world-managing practice, well, and preferably drop this rough experiment as a public mod. Sort of pointless comment, sorry, but what if, eh? There's enthusiasm seen anyway. Such mod doesn't exist as i know. From my knowledge of this part of CK it can be nearly fully automated process, but any largely scaled world edits are not possible for my pc, though of course may be wrong about its simplicity, nevermind then if so.
  10. Somehow from info around had an impression that anything is able to trigger a volume, though cannot test. Maybe OnTrigger() or exact collision layer must be specified for the primitive? There was a mention of player thrown objects, well, by the way, is there a direct method to determine if object has been thrown? Or some event when player throws (but not drops) a grabbed thing. IsPlayerGrabbedRef is an interesting and useful Condition, but won't cover every need.
  11. Hm, not sure if proximity checks can be any helpful for this task.
  12. Ok then : ) And just in case if interested in use of Holotape toys, default Subject for entry Conditions would be an actually placed Terminal where holo is loaded into, but sadly none exists for Pipboy interface. Same for akTerminalRef param in related events, as i know.
  13. PackageLocationPrimitive looks like used as location anchors for some shady purposes of Packages, not even as triggers from what i see briefly. It doesn't mean or do anything by its presence only and is barely useful by itself. Don't know for sure, but maybe it is possible that GetWithinPackageLocation and other Package's processors will check exact volume of the primitive instead of just Radius, and maybe that's the benefit of primitives specified as Locations in Packages, some interesting feature if really so. But once again, all that is useful only while utilized inside a Package, i suppose https://www.creationkit.com/index.php?title=Package. If just want to use Trigger boxes and have a clear understanding why, then would need scripts to handle it, like Events OnTriggerEnter(), OnTriggerLeave() to track who is inside by any available to own imagination means, e.g. attaching/removing ActorValue, MagicEffect, Keyword. I don't know a native way to easily determine being inside a primitive's volume. GetDistance LE some_value would be equal to obsolete GetWithinDistance(some_value) (i guess, it looks like a conviniency macro function), can't see a usage problem here. Some curious hint, quite specific though. If GetDistance has no objectID specified (is NULL) in a magicEffect condition, then distance is checked towards spell Caster (shooter in my experience).
  14. I'm some curious if there is any dramatic difference in performance between GetDistance and GetWithinPackageLocation, besides conviniency. PackageData is only relevant while addressed from within a Package, that's it. And this https://www.creationkit.com/index.php?title=GetWithinDistance , probably GetDistance is all what's ever needed. Can use GetInCurrentLoc, GetInCell or something else suitable.
  15. Can start or set a quest stage from holotape (i.e. terminal script fragment) and let the quest do all the work, let's say to find object and subject for activation. Can create an item, e.g. Aid or Misc, then attach a script to handle its OnActivate() for Misc or OnEffectStart() for Aid - and Activate() something else or start a quest etc.. Depending on what and how should be done, a Timer or else might be necessary to detect Pipboy/Menu exit event, e.g. Fragments:Terminals:TERM_DN084_Terminal_MassFusi_0015EF44 Hm, and probably yes, that would require a script fragment for holotape, as i know. Or maybe Event OnMenuItemRun(). ps. Although as usual there are lots of Unknown function choices for a terminal Entry type and whose intention is, well.., unknown. Though CK doesn't allow to select them at all and there are no meaningful unused data fields shown in XEdit for some hypothetical advanced functionality, so unlikely it exists, but who knows?
  16. Cool, thanks. Sadly that no easy native way. IsTimePassing stays intriguing. So, we still need a heavy-weight function of GameTime / Distance and pre/post-processing to determine if that was a teleport or a fair trip initiated and no way to distinguish while in progress for application in a Package. A bypass then could be something involving RemoveBeforeFastTravel keyword i think, but only if that's processed by actual FastTravel and not by every MoveTo. Gotta check out, doubtful though.
  17. In particular, for application in some follower Package. IsPlayerMovingIntoNewSpace does detect any loadscreen i guess, useless. There's a curious Condition IsTimePassing, but exact meaning is unknown. ps. Well, anyway it's pointless i guess, because even if a char runs Sandbox around player and is not a Teammate, neither Treated as follower, then still teleports by game's consideration instead of keeping slow traveling, even if directly instructed to Travel to said Sandbox location, while outside of it. Though just curious. Ehm, or that's unresolved still side effect in script for now, nvm..
  18. There are two graph variables bInJumpState (works in 3rd person) and isJumping (1st person). May be used in Condition GetGraphVariableInt, Equal to 1, or Greater than 0. These are most reliable from what i've tried to detect jumping, still wasn't perfect, but on a faster system must be more responsive, i think (used them for Enchantment). Can't say exactly if they detect falling animation hangup or not, but supposedly should, needs specific testing (when you're floating hands-up in a single spot). Have tried PlayerActionActive, but either didn't work in my setup or was more unreliable than said graph variables, though may retry as well. Other things. Condition GetVelocity(Z), GetGraphVariableFloat(VelocityZ), negative values would mean falling but possibly walking down hill too for lower values, don't remember which works better. Though wouldn't help to determine hangup i suppose. Possibly, something else i'm not aware about.
  19. The only workaround I know is the GetLightLevel() check. It has both Papyrus and condition functions. I don't remember the exact values but the Pip-Boy emits a lot of light. Yes, thanks, actually weird though since there's Condition even for Radio. By the way again, looked into Animations and there are pipboyLightOn/Off anim Events for 1st and RaiderRoot, shouldn't those work as commands and turn it on/off ? Maybe could be usable for detection then at least, e.g RegisterForAnimEvent, then maintain an own variable as flag? Though latter is not something doable on console to try out.
  20. By the way, is it possible to determine if light is on (outside of scripts)? IsTorchOut condition doesn't seem to work, probably inapplicable even though single torch light in game is pipboy. Some graph variable maybe then?
  21. No, regular system pop-up messages at top left, like when you craft anything or use Message.Show(). Interesting if that helps to restore regular messages on pc, but Debug isn't available in console builds either way.
  22. Probably this https://www.creationkit.com/fallout4/index.php?title=OnKill_-_Actor , processed by some Player alias script. Just in case, this https://www.creationkit.com/fallout4/index.php?title=GetDeadCount_-_ActorBase , though likely is redundant, check keywords on akVictim (maybe Race etc.) as suggested and start counting from zero. Try to investigate radiant quests and Story manager, i'm not familiar with either.
  23. to clarify... We dont link objects like walls etc...to the workshop... We link resources to it like beds,jobs,water etc...and ofc certain markers ,triggers etc.. (but those with other key works) We don't, but workshop mode does. Every thing built or affiliated to a workshop has the WorkshopItem link, even actors (hm, and workshop itself somehow..). That's according to my observations at least. Though speaking of that, it becomes very curious how a workshop handles stored items. When you store a built object it loses the link and gets disabled, but not deleted immediately (because can be reenabled), then a new item instance is created in place of "stored", even if that was one of a kind in this workshop. Very unclear what happens to "stored" or scrapped objects then, deleted later on some cleanup? But then a to-do list should be maintained since the link was lost. Kinda offtopic, i've recently seen a related discussion in mod requests.
  24. There's possibly something to do with ActorBase vs Actor maybe and change in editor won't apply after spawn? But i don't comprehend fully this subtle difference between two. Though game usually calls GetActorBase().SetEssential() for some reason, while Actor.SetEssential() is said to be prevalent and overrides ActorBase. It's a native base function, just btw.
×
×
  • Create New...