lofgren Posted February 12, 2017 Share Posted February 12, 2017 You are not correct. You only get the benefits of sneaking while you are actually crouched. This is easily testable. Give yourself 100 sneak. Sneak into a room. Stand in front of a bandit. He probably won't see you. Now stand up. He will instantly see you and attack. Link to comment Share on other sites More sharing options...
lofgren Posted February 12, 2017 Share Posted February 12, 2017 Another very simple option would be to increase the invisibility actor value on effect start and set it back on finish. Yes, I mentioned that as an option earlier. However modifying actor values through script is not ideal when you can create a magic effect to accomplish the same thing. Magic effects have a built-in memory, so they are more reliable. And again there is no reason to use Masterofnet's method plus a script when you can use my more direct method which does not require a script and gives far more flexibility. I also don't like that Masterofnet's method essentially exploits an unintended quirk of the invisibility archetype. It's quite possible there would be no long term consequences from doing so but I would be wary. Link to comment Share on other sites More sharing options...
Masterofnet Posted February 12, 2017 Share Posted February 12, 2017 (edited) http://www.nexusmods.com/skyrimspecialedition/mods/8322/? Edited February 20, 2017 by Masterofnet Link to comment Share on other sites More sharing options...
EPHHall Posted February 14, 2017 Author Share Posted February 14, 2017 EPHHall this all you have to do to have the effect. Put this in the effect script and fill out a magic effect template like this. It works perfectly. This is a spell not an ability. If you want to use casting images that should not be a problem. Effect Archetype - InvisibilityCasting Type - FireandforgetDelivery - SelfAssoc. Item 1 - Invisibility FlagsCheck - FX Persist Check - Hide in UI And you may need to check duration. Keep in mind. All of the other fields must be blank and unchecked. Scriptname A1ameTest extends activemagiceffect Event OnEffectStart(Actor A, Actor C) A.ModActorValue("Invisibility",(1 - A.GetActorValue("Invisibility"))) EndEvent Event OnEffectFinish(Actor A, Actor C) A.ModActorValue("Invisibility",(0 - A.GetActorValue("Invisibility"))) EndEvent I'm afraid this solution isn't working for me. When I do something that would normally break the invisibility, or when I wait for the effect to wear off, the character stays invisible but can still be spotted by actors in game. To make the effect you described above, I duplicated the InvisibilityFFSelf effect, checked/unchecked the appropriate flags, made every field except the ones specified above blank (keywords, visual effects, etc.), with the exception of the ID and Name fields, and added the script you wrote to the new magic effect. I'm at a loss for what I could have done wrong, but would love to find out if you have any idea based on what I described. I'll also try to post a picture of the magic effect menu, as soon as I figure out how.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- If you use a peak value modifier archetype effect instead of an invisibility archetype effect, you can select invisibility for the actor value. Then give it a magnitude of at least 1. This will make the actor invisible to other NPCs without applying the visual effect and without being broken by activating or attacking.Functionally, this works great, exactly what I had in mind. all I need to do is figure out how to make the player visually invisible. Or maybe play around with a different visual effect.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- It isn't working because nothing is calling SomeFunction() to run. That SomeFunction on the CK wiki is just an example usage with a bit of psuedo code rather than actual usage. You should try the OnEffectStart event to register for the update. You may want to try the following to achieve what you want. Spell Property Invisibility Auto Actor MyTargetActor PlayerRefMagicEffect SelfEffect Event OnEffectStart(Actor akTarget, Actor akCaster)If akCaster == Game.GetPlayer()PlayerRef = akCasterRegisterForSingleUpdate(5.0)MyTarget = akTargetSelfEffect = Self as MagicEffectEndIfEndEvent Event OnUpdate()If MyTarget.HasMagicEffect(SelfEffect)RegisterForSingleUpdate(5.0)ElseInvisibility.Cast(PlayerRef.MyTarget)EndifEndEvent However, I think that it won't work because the magic effect will be gone when the spell is broken and magic effects automatically unregister for updates when they end or are dispelled. You'll probably need to use a quest with a player alias with a script that uses OnMagicEffectApply to register for the update and then check to see if the player is still under the effect or not. Tho that might trigger with potion use so you may need to work with OnSpellCast and confirm that the player has the effect in place before registering for the update. Another alternative would be to create a repeatable non-start enabled quest. All it would have on it would be a single script which uses the OnInit event to confirm that the player is under the magic effect, if they are register for the update, when they aren't re-cast. The magic effect in turn would have the quest as a property and stops the quest if started then starts the quest anew. And the more I think about it, simply use OnEffectFinish event on the magic effect and re-cast the spell. You will need to store current time in the OnEffectStart event and compare time when the effect ends so that you only re-cast when the spell has been broken rather than constantly re-casting when the spell ends normally. *************************TL;DR Can't use OnUpdate to recast when the effect is gone because the registration is hardcoded to be unregistered upon effect dispel / end. Offered some other possible methods of approach.I haven't actually tried your suggestion yet; sorry about that. Before I knew it, this post had 4 pages and several solutions, so I got a bit lost in all those. Thank you for the explanation of what I was doing wrong with OnUpdate though, it makes a whole lot more sense now.----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Thank you all for the time and effort you put into answering my question. It means a lot, knowing that there is a large, skilled community that is willing and able to help solve these problems and teach people. It's very encouraging. Link to comment Share on other sites More sharing options...
EPHHall Posted February 14, 2017 Author Share Posted February 14, 2017 MasterOfNet, here's the magic effect menu, if you're still interested. Link to comment Share on other sites More sharing options...
lofgren Posted February 14, 2017 Share Posted February 14, 2017 The quickest and dirtiest way to achieve visual invisibility is to use SetAlpha http://www.creationkit.com/index.php?title=SetAlpha_-_Actor However, this will not give the mirrored distortion effect of vanilla invisibility, just make your character transparent. Link to comment Share on other sites More sharing options...
Masterofnet Posted February 14, 2017 Share Posted February 14, 2017 (edited) http://www.nexusmods.com/skyrimspecialedition/mods/8322/? Edited February 20, 2017 by Masterofnet Link to comment Share on other sites More sharing options...
Recommended Posts