TheRealMissAmber Posted October 28, 2017 Author Share Posted October 28, 2017 Okay for anyone that may have this headache in the future. There is a workaround make an NPC with the eyes you want and stuff him in the testing Hall and Instead of using player.seteyes use player.copyeyes and the id -> (the numbers not the name) of that NPC unless you want to break immersion you should never see that NPC so it works out. Yay! Link to comment Share on other sites More sharing options...
DrakeTheDragon Posted October 28, 2017 Share Posted October 28, 2017 Oh, yes, for NPCs this does work, too, of course. Just for the player not so much. :sweat: The Vampire Effects are pretty much hardcoded into the game engine from all I know. To make things worse, they will even only blend whatever race you are with the one and only Vampire race that is also hardcoded but at least can be modified some. This has bothered a lot of people already when it comes to beast races for example. I'm mainly a beast race modder, so it was inevitable to also have been requested fixes to this once or twice in the past. An Argonian Vampire with "human" eyes, teeth, everything? Really, Bethesda? And we can't even fix it with a mod, or all human vampires suddenly will look Argonian, too, oh the fun! That's why most vampire mods always solve it with new custom races and scripted effects instead of using the game's hardcoded system. And if you now would try and use the vampire effects to change your eyes, all vampires would inevitably also be having your new eyes. The CS wiki is speaking of adding the Vampire ability to your player for a short instance and removing it again, which will also trigger the eye change to show up. But that's only instead of using save&load or Update3D, not introducing the eye change through the vampire eyes effect. That error you're getting still intrigues me though. It does indeed complain about the on line with the SetEyes function inside. That makes not much sense, as the error doesn't fit the function.You did start the Construction Set through OBSE, didn't you? Or are already using the Construction Set Extender instead? Bogus error messages about OBSE functions would be understandable in case the CS was run without OBSE.-Scratch that, you are. Or, maybe, this is a weird way of the CS to tell you an NPC is a BaseObject and the "reference.SetEyes ..." notation cannot be used? I've seen worse before, so I won't be surprised too much.Or, maybe, this is another one of those functions meaning it literally when it ways "ref" for the type of the input parameter "eyes:ref". In that case you would have to do "let refMyEyes := eyeSaiyan" first and then inputting "refMyEyes" instead of "eyeSaiyan" directly into the function. Use a temporary "ref" variable as "holder" for the eyes. Won't be the first time it's necessary either. Link to comment Share on other sites More sharing options...
TheRealMissAmber Posted October 28, 2017 Author Share Posted October 28, 2017 (edited) Here is my script ScriptName SaitanEyesEffect Begin ScriptEffectStart Player. Copyeyes 01003e81 Player.Update3D End _______ It works flawlessly but bow I'm having an issue getting the eyes I chose in showracemenu. Anything else I put on this script seems to nullify the player. Copyeyes effect, I Eve tried setting a float timer with block type Begin ScriptEffectUpdate and Begin ScriptEffectEnd I'm confused now I Spent a lot of time in the Docs last night so maybe I won't sound like a total idiot lol I'm starting to think that maybe I can make this an object effect. With header Begin OnEquip attach the script to a wig and set the wig to bound armor handler. I just don't know if the eyes would stay when the wig is removed. Lots of ??? Edited October 28, 2017 by TheRealMissAmber Link to comment Share on other sites More sharing options...
TheRealMissAmber Posted October 29, 2017 Author Share Posted October 29, 2017 Okay interesting. What I managed to cook up here is a change race script. I can change race eyes hair and even teeth but my problem is going back. Once I figure how to go back I can wrap this up and upload. There has to be a way. Link to comment Share on other sites More sharing options...
DrakeTheDragon Posted October 29, 2017 Share Posted October 29, 2017 Hmm, interesting. You're copying the eyes of NPC "01003e81" onto the player there and are only missing a way to get the original eyes back? How about introducing another NPC for this, for example locked away in an inaccessible holding cell somewhere, and before copying the eyes from NPC 01003e81, first copy the eyes from the player onto this holding NPC, then when it's time to revert to the normal eyes, copy the eyes from the holding NPC back to the player? In other words, use another NPC to "store" the player's eyes before they're changed? If I'm not mistaken you won't even have to use Update3D on the holding NPC, as this one won't ever be seen and is just used as a buffer by your script. And yes, you can in general also put everything you do in your spell script into an object script instead.Some things need to be changed, especially functions called without a target inside the spell script target the actor the spell is running on, but inside an object script they target the object itself, thus need to be redirected by first obtaining the actor that is carrying the object (let refMyWearer := GetContainer), and then using "refMyWearer" in all function calls without a reference instead.But in general what works through a spell hitting an actor will also work through an object (token) inside an actor's inventory. It doesn't even need to be worn=equipped in fact, unless you want to use "OnEquip" and "OnUnequip" to trigger its effects. (Scripting-related questions are a weak spot of mine. I'm a programer by job description and usually unable to go through my everyday routine without also even thinking in algorithms. Asking me something about scripting, anything really, is a sure-fire way to trigger a response.) :sweat: edit: Oh, but Bound Armor is again a hardcoded feature. You cannot introduce a single new piece of bound armor, or change an existing one, without, you guessed it, scripting it yourself again to create the same effect. Link to comment Share on other sites More sharing options...
TheRealMissAmber Posted October 30, 2017 Author Share Posted October 30, 2017 Oh but I have. Using OBME you can make new magic effects without using the extra slots "bound armor extra 01, bound armor extra 02" etc. The reason I did this is prevent potential conflicts down the line with other mods by other artists. They work on the handler as the bound armor function if that's what you mean and in that case you are right. Any biped .nif I place in the target item slot will work the same was as standard bound armor. Matter of fact that's what I used. Saiyan hair bound for 180 seconds on self then placed that into a spell with script effect play sound once short, some nifty perks and then when the time runs out the hair goes back to normal. I also used a NiBillBoard and ofset the emitter from the node and biped it to NonAccum bone and made an aura Link to comment Share on other sites More sharing options...
TheRealMissAmber Posted October 30, 2017 Author Share Posted October 30, 2017 As for your suggestion I tried that very thing and I jumped out of bed in the middle of the night made coffee and tried it made one NPC named "I am your true race" and one named "I stay Saiyan Race" rigged the script to copy player race and eyes to NPC 1 and copy Saiyan Race and eyes to player. Threw them in the testing Hall side by side and tested. What happened was player became Saiyan race with the eyes and when the spell finished the player stayed Saiyan. The NPC that was supposed to become my race did not, not even the eyes. I tried using editor ID instead of form ID and it can't be done for NPC. Also I have to put Begin ScriptEffectFinish and notBegin ScriptEffectEnd. My CSE does not recognize ScriptEffectEnd for some reason. I'm going to toss up a few screens Link to comment Share on other sites More sharing options...
TheRealMissAmber Posted October 30, 2017 Author Share Posted October 30, 2017 Spoiler Link to comment Share on other sites More sharing options...
TheRealMissAmber Posted October 30, 2017 Author Share Posted October 30, 2017 So as you can see the race is preset with ultra light eyebrows to somewhat match the hair on transformation. And the eyes speak for themselves. By using copy race/copy eyes I can get this look no problem until the effect end then the player is stuck looking like this only the hair would go back to normal. I mean I could set the hair as Saiyan race hair but then that would be stuck too that's what I needed the Conformulator for. Right now in test I just have ears pasted in the nif as an niTriShape that would cause problems later should a player choose a darker/lighter skin tone. But solved once I figure out how to copy my race to an NPC then copy back on script effect finish. Btw the Aura is animated just like a flame node. I'm going insane with this because I refuse to believe I can't copy my race to an NPC if I knew how I would set Saiyan hair to an actual hair, Conformulator it run a script copy eyes/race/hair then have it switch back I will be set. I just want to cry at this point. Link to comment Share on other sites More sharing options...
TheRealMissAmber Posted October 30, 2017 Author Share Posted October 30, 2017 This is what I tried (NpcFormID).CopyRace 00000007 <-nope Player.CopyRace (NPC) <-works Then I tried (NpcEditorID).CopyRace 00000007 <-No I know 00000007 is the player so idk what I'm doing wrong Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now