sfll Posted June 23, 2016 Posted June 23, 2016 At a glance what's confusing to me is that the number that does work: 4278193662 is above the max of both signed or unsigned you described, in the case it wraps back around to 0? I do know for certain that the UInt32 it winds up with if I plug: 4278193662 into it which results in 7FFFFFFF does not find a form and casts no actor. 4,278,193,662 is less than uin32 max of 4,294,967,295. Converted to hex it is 0xFF000DFE which translates into the following: Unsigned Byte Byte Byte Byte Byte Byte Byte Byte F F 0 0 0 D F E 1111 1111 0000 0000 0000 1101 1111 1110 uint32 = 4,278,193,662 Signed Byte Byte Byte Byte Byte Byte Byte Byte F F F 2 0 2 0000 0000 1111 1111 1111 0010 0000 0010 int32 = -16,773,634 A signed integer in x86 (and most architectures) use a system called Two's Complement (easier explanation). Essentially if the number is negative (first bit is 1) then you would flip (negate) all the bits, add one, then convert to a decimal keeping the sign. EDIT: IPB mangles my wikipedia link, but there is a (very) long explanation there if you want to read it.
Deci_us Posted June 23, 2016 Posted June 23, 2016 Hey, CEO. I know it's been said a thousand times, but that doesn't make it any less true: This mod is undoubtedly among the most awe-striking and innovative. There's nothing else out there that could compare to what you're doing with this. As for Skyrim Remastered, I personally probably won't even download it. With the mods I'm using, I have a level of graphics quality that equals or perhaps even exceeds that which the remaster offers. If even one of my mods will be incompatible with it, I don't see the point in getting it - why receive something you already have and lose something you like?
migal130 Posted June 23, 2016 Posted June 23, 2016 The main problem and reason for Actra existing is that I was unable to get an Actor form without someway having the actor show up in the script. If the UI wanted to get an actor form directly from a mod event it would have no way to do this. Why does the UI need an actor form when it relies on papyrus to make actors do things? Finding an actor's Form ID so it can be passed to the UI and in turn passed back to papyrus so you can call the actor (and thus actor-related events) by Form ID isn't necessary. Actionscript doesn't need an actual Form ID. It only needs an arbitrary actor identifier, which could be a simple int value represented as a string. ; assuming scenes can have up to 3 actors Actor Actor01 = PlayerRef ; details[0] = "1" Actor Actor02 = TargetedActor1 ; details[0] = "2" Actor Actor03 = TargetedActor2 ; details[0] = "3" ; papyrus doesn't require form IDs in order to operate on actors, because it can store actors as variables or properties When you want to send specific information about Actor01 to actionscript, just include a value of "1" instead of FormID in details[0]. Actionscript knows that is actor 1's data package. That's all it needs to know. So for example, details[2] = Actor01.GetActorBase().GetSex() and details[5] = Actor01.getScale() would also be part of actor 1's data package. if actra == Actor01 details[0] = "1" elseif actra == Actor02 details[0] = "2" elseif actra == Actor03 details[0] = "3" endif Or, if you're no longer using the Actra spell: if Actor01 details[0] = "1" elseif Actor02 details[0] = "2" elseif Actor03 details[0] = "3" endif When actionscript must send a request to Actor01, reverse the process and send a string value of "1" back to papyrus. Then, convert the "1" to an actor in your papyrus code: ; note that I'm not sure of the actual actionscript returned parameter value for actor FormID, but you get the idea if ActionscriptActorID == "1" ; actionscript wants to perform actions on Actor01, as in, Actor01.SetScale() elseif ActionscriptActorID == "2" ; actionscript wants to perform actions on Actor02 elseif ActionscriptActorID == "3" ; actionscript wants to perform actions on Actor03 endif You could do the same thing with aliases instead of Actor variables or properties, but then operations would need to look like Alias01.GetActorRef().SetScale(). I realize I must be missing the boat somehow. But, shifting bits, converting numbers, using SKSE functions and possibly writing a new DLL all so a legit Form ID is passed to actionscript seems pointless, because actionscript itself cannot operate on a FormID (it can't call Skyrim animations directly, for example). If all the actor manipulation is done in papyrus, actionscript could refer to the actors as "BooBoo1" and "BooBoo2" and it would still work, so long as papyrus knows "BooBoo1" means Actor01. That connection can be made with a simple case (if, elseif, endif) statement. Better yet, store the actors in an array and just send actionscript an int. That way, you wouldn't have to translate when actionscript sent the int back. actor[] OSactor = new actor[3] Then when actionscript sent back a 0, papyrus could just use the value as an array element. OSactor[ActionscriptActorID].SetScale() ActorBase doesn't provide a unique identifier. More than one in-game actor can have the same ActorBase. And GetActorBase() doesn't work on leveled actors. You would have to use GetLeveledActorBase() after somehow discerning it was a leveled actor instead of a normal actor. What I'm suggesting would provide unique actor identification via a simple code relationship maintained on the papyrus side. What am I missing?
mptron Posted June 23, 2016 Posted June 23, 2016 I can't even say how happy I am that you've decided not to quite! I don't have much in the way of skills, but I have dabbled quite a bit in 3DS Max, and I am a quick learner. What areas of the project need the most man power, and what skill sets do you need for those areas?
CEO 0S Posted June 23, 2016 Author Posted June 23, 2016 It's for some niche things, the array system actro uses keeps an actor[] and each actor can be talked to directly through their actraga also but that's only if they are in a scene. Once they are released from the scene their pointer is gone but the UI will still have data organized on those actors. Targeting for example will store actors that the UI has data on to give as many options as possible. (For setting up 2+ actor scenes triggered manually by the player.) There's a few other rare cases it's needed besides that which have been holding some things back: You're right that It could all live in a actor[] that is in the mainscript but it might hit some issues with 128 limit,(If it's not cleared on load which would make sense not too it would get filled really fast) either way the UI will have to store a string to get at them, but being in the actor[] might make them persistent, knowing papyrus most likely some bad shit will happen if the actor has been unloaded and I try to call it from targeting via string so that could be a plus. Beyond that there's a few really niche things it's needed for in the UI. In the end it's a matter of targeting mode functioning like this: OSex.start(actra[actrarIndex1], actra[actorIndex2]) vs OSex.start(game.getFormEx(actorString1) as actor, game.getFormEx(actorString1) as actor) The first would have take extra resources to maintain a sync of the UI to the array, it would need extra details for display like name and maybe gender to identify it on top of the index but the second would be a game. function so might be more expensive to start a scene with many actors. It would be just for the trigger though so either way wouldn't be much difference I think. ----------------- For the unique identifier we could switch the ActorBase which is currently being used as the OS-ID we could switch it to the Actor which should be 100% unique although it's surprising because it seemed to me like that might be a high possibility when OSexing guards and bandits etc but haven't heard any reports of strange things like dopleganger animations etc. so I kind of just let it be. Either way due to some niche cases it's going to have to assemble the ActorBase and Actor string for different usage.
CEO 0S Posted June 23, 2016 Author Posted June 23, 2016 I can't even say how happy I am that you've decided not to quite! I don't have much in the way of skills, but I have dabbled quite a bit in 3DS Max, and I am a quick learner. What areas of the project need the most man power, and what skill sets do you need for those areas? Thanks Mptron for the nice comments, In terms of the OSA / OSex framework etc. I've got the development itself pretty much undercontrol, especially with the awesome assistance of people in this thread, but of course always welcome more help. I was mainly referring to the fact that it's an engine that can be developed for, I've put a lot of time into it to make it that way, it's got features that haven't been seen before in Skyrim but I can't get any interest in play with it. I think it would take a lot of pressure off this project and raise it's popular opinion to show context to what it can do if I could start getting just a few people interested. The issues people complain about are generally things that should really be handled by other people then myself, that's the help I'm trying to get. I mostly get suggestion to address this around making more content or more documentation etc.to highlight things or make stuff clear. I'm trying but it does just keep piling onto my workload and make the whole thing more daunting. I think with the hoops I've jumped through figuring random shit for other mods in the past and making it work that the documentation and access is enough at this time. I think it would be easier to make a module like OSex (outside of time animating) then downloading and installing a number of mods people regularly use. The futility that frustrates me is to develop this but feel like I can't get others on board in the system itself. If I was an animator that wasn't me I would give it a go, but that's me and of course I'm biased because I made it do the exact thing i wanted to be able to do, but I can't be the only one that wants the features OSA brings as a creation tool... am I? My spiteful tempertantrum was a result of feeling these tools have no value in popular opinion amongst the Skyrim community, which is a tragic time loss, I shifted blame on the community in my mind perceiving it as stubborn for being so unwilling to even dabble until I deliver some tour de force hyper polished, fully animated with every possible human gender and animal orientation of bodies in every activity possible from 2-9 actors, and various voice packs for all genders personally then hire a marketing department and puts ads on the television etc. In the end it's just my fault and not a big deal, but if I misjudged things so poorly it's my responsibility to adjust my personal time investment to something that makes more sense, I can't force people to like this or try it. Making a system like this public takes a lot more time then just making it for fun, every version I posted including the 1.07s worked for me, a huge amount of time oddly is just making it work for everybody (You'd think since we're all modding Skyrim it would be pretty much the same). I am human so a part of me wants to say "well fuck you then" as a response to the stubborness "I perceive" and the additional stuff I need to do on top of this for a slight chance to stir this up, the other part says, such is life.
migal130 Posted June 23, 2016 Posted June 23, 2016 For the unique identifier we could switch the ActorBase which is currently being used as the OS-ID we could switch it to the Actor which should be 100% unique although it's surprising because it seemed to me like that might be a high possibility when OSexing guards and bandits etc but haven't heard any reports of strange things like dopleganger animations etc. so I kind of just let it be. Either way due to some niche cases it's going to have to assemble the ActorBase and Actor string for different usage. Have you tried using the actor's unique in-game Ref ID? The Ref ID is basically a Form ID for each objectreference you encounter during game play (actors are objectreferences). If you open the console and click on an actor, you're looking at the actor's Ref ID. If someone with a twins fantasy spawns a second Lydia, they will have the same ActorBase Form ID, but they will have different Ref IDs. You can get the Ref ID like this: string ActorRefID = TargetedActor as string if StringUtil.GetLength(ActorRefID) > 8 ActorRefID = StringUtil.Substring(ActorRefID, (StringUtil.Find(ActorRefID, "(", 1)+1), 8) endif debug.messagebox("Actor RefID = " + ActorRefID) int ActorRefIDint = StringUtil.AsOrd(ActorRefID) I know that looks like a bit more than one might expect. It's because when an actor is converted to a string, the string includes more than just the Ref ID. It might include the name of a script attached to the actor. Now you have an int containing the actor's Ref ID. GetForm supposedly takes an int, but you have to stuff 0x at the beginning of the number in order for GetForm to work. I've never seen an int that contained the letter x, which is why I say GetForm "supposedly" takes an int. As a result, I'm not exactly sure how you would get a Ref ID into a GetForm function call. I'm hell at getting it to display on screen, though.
thisperson7327 Posted June 23, 2016 Posted June 23, 2016 So glad to see all the confusing code talk again
Meem0 Posted June 23, 2016 Posted June 23, 2016 CEO, it's wonderful to you see back working on the project! In the quoted post and your new stickied post on Nexus, you've been saying that the main problem is getting modders excited to make content for OS, and spreading the word in general. But what about all the posts people have made here over the last few pages, about ideas for marketing OS? We were all trying to directly address the problem you're talking about. Specifically migal's post about his experience with marketing mods.
EniracY Posted June 23, 2016 Posted June 23, 2016 I cannot tell you how happy I am to hear you're going to continue development CEO in case you missed it, how feasible is this idea? My idea was, using this mod's framework, have a plugin much like your 'Bad Girls/Boys' that was a series of dance moves - like a ball dance in a medieval style and a quest attached to it so if you danced incorrectly the quest advances differently then if you had danced correctly? Just pointing out this is a mod I myself was thinking of creating. This isn't a feature request of you Also I have no knowledge of how I would even start to do this, but it's an idea that's been growing on me.
Eireamhoin Posted June 23, 2016 Posted June 23, 2016 Shoo....*wipes brow* I saw the cancellation and kept reading on hoping and hoping that it wasn't so. I'm glad to see that things are looking to be back on track. I can see where some additional keywords on the mod name would make it easier to find. Anyone know how to get a hold of MxR, a review would sure get it some more exposure. =P I love this mod and eagerly await updates. Can't wait to see what it could lead to. I was also naughty and left a comment for another big modder as I think the UI aspect might be something they'd be interested in. It sure gives this one a nice professional look =] Keep up the awesome work CEO you're really appreciated.
CEO 0S Posted June 23, 2016 Author Posted June 23, 2016 I cannot tell you how happy I am to hear you're going to continue development CEO in case you missed it, how feasible is this idea? My idea was, using this mod's framework, have a plugin much like your 'Bad Girls/Boys' that was a series of dance moves - like a ball dance in a medieval style and a quest attached to it so if you danced incorrectly the quest advances differently then if you had danced correctly? Just pointing out this is a mod I myself was thinking of creating. This isn't a feature request of you Also I have no knowledge of how I would even start to do this, but it's an idea that's been growing on me. Yea it's totally possible, would be very quick to make too. We'll need one thing and that's criteria to check on the movements if they are correct. To explain technically what I call things: A stage is an instance of a session in an OSA scene. For example when you start OSex it makes a stage, each position you can go to I call a scene. The scene documents each have a special word that designates the kind of stuff the scene can do. I have 3 so far: -OScene which basically makes something just like OSex. OToggle which is a scene switchboard based on "If this then do that scene etc". It's used in the redressing scenes to pick the right equipment and play the gender specific animation. OPosition which is used for making the character shift depending on if they need to be positioned differently. Redressing uses this also, some redressing scenes are flagged as sitting others standing, an OPosition scene looks at the orientation of the upcoming scene and if needed stores that scene then plays an animation to make the actor adjust their orientation. (Stand up from sitting down for example) It's different then how OSex does it since OSex just has specific transitions where as redressing just does whatever but animates the actor with this special scene style. ----------------------- With the scene style format examples above you can see that we can pretty much do anything we just need to make a special flag for what you want to have happen if it's very complicated. ------------------------------ Most likely it can be handled in a more simple way: - If it's not timing based and based only on selection (right or wrong). You can make a series of one way transitions from each loop, a fumbling animation in one and a smoother looking animation in the correct one and have both send a mod event for either a good or bad selection. Process it in the papyrus as the scene goes on and then adjust your quest response at the end based on that. These could be entirely external from OSA really. - If it is timing based like Dance Revolution you can register animation events in the animations and have those turn a flag to true or false (framed around the timing sweet spot), on selection input it could send a mod event and when the papyrus receives it based on if it's true or false you could +1 or -1 a point. - The score could be handled entirely in OSA also but I'd need to make a special scene style to do that as described above if it is timing based, but it would be nice to have that anyways as something like that could serve comboing in combat moves etc. Let me know some more details on how you'd like it to happen and I'll help figure it out all the way. Creating it would just involve registering the animations in FNIS and entering some text fields / renaming some folders.
DenjiXMakima Posted June 23, 2016 Posted June 23, 2016 I cannot tell you how happy I am to hear you're going to continue development ~snip~ *cough* sorry. :>
pipdude Posted June 23, 2016 Posted June 23, 2016 If I was an animator that wasn't me I would give it a go, but that's me and of course I'm biased because I made it do the exact thing i wanted to be able to do, but I can't be the only one that wants the features OSA brings as a creation tool... am I? Sorry to repeat myself on this point. But, I suspect that the bar is set pretty high for animators. Many designer/animator types probably don't know what an API is, let alone how to work with a framework, XML, etc. It seems like a solution could be to make it loud and clear that you're looking for animators and that you (or another volunteer) will integrate their work if they just provide the animations.
Meem0 Posted June 23, 2016 Posted June 23, 2016 (Sorry, should have included this in my previous post... pls respond to that one though ) On the topic of potential third party plugins, I'm considering looking into making dialogue triggers, since that was mentioned as a commonly requested feature, and it's a good fit for me: while I haven't done Skyrim scripting stuff before, I'm a third year computer science student, so I can probably figure it out, given a few weeks (and my asset creation skills are not good enough to make animations or whatnot). After thinking about it briefly though, what exactly would people want out of a dialogue trigger system for OS? My biggest question is whether people assume that some sort of "relationship system" would be part of dialogue triggers (e.g. chance for NPC to refuse if they dislike you, cooldown on "interactions" per day, etc.). I suppose that could be configurable in an MCM menu? It just feels to me like it would be a bit of a stretch to try to make such a system "fully immersive" due to voice acting restrictions. Maybe you could reuse some generic acceptance / refusal lines. Anyway, if anyone has suggestions for resources for a project like this, like any example SL plugins, that would be appreciated Can't make any promises, as I am in the middle of an academic term.
migal130 Posted June 23, 2016 Posted June 23, 2016 It just feels to me like it would be a bit of a stretch to try to make such a system "fully immersive" due to voice acting restrictions. Maybe you could reuse some generic acceptance / refusal lines. They want Amorous Adventures by FoxFingers. It has everything you just described, but it currently uses SL. FoxFingers' most common request is to make it work with OSex, which he said he would do, when OSex was ready. I've made some dialogue triggers for my own mod and I will also do some automatic triggering, but I'm not into the romance/relationship thing. I did a little of it with the Apachii NPC, but generally speaking, I'm more of a harem mod kind of guy. Another good mod to look at would be Immersive Wenches. It adds a ton of barmaids all over Skyrim and if you say the right things to them, you can purchase their "services." It is much less involved than Amorous Adventures, but still cool. I'm pretty sure he includes his script source files with the mod, so it could be a good learning tool.
migal130 Posted June 23, 2016 Posted June 23, 2016 It seems like a solution could be to make it loud and clear that you're looking for animators and that you (or another volunteer) will integrate their work if they just provide the animations. I can't make the animations, but I'm fairly certain I can make animations work in OSex. I think I could do more than that. I think I could make females say appropriately inappropriate things during OSex scenes using their default Skyrim voices. But, I digress. Yes, good idea, Pip.
CEO 0S Posted June 23, 2016 Author Posted June 23, 2016 Progress on the first F+F+F+F+F+F+F+F+F scene ever for Skyrim (Only 5ladies in so far and Fione's not doing anything yet but it's getting there.) Some other more reasonable stuff playing with the new targeting feature working towards the ability to invite NPC / followers into a scene to convert a 2 way to a 3 way etc in OSex. Femx9 will be separate since that's pretty hard to start and will use billions of your hkx limit. Yea definitely, module takes just a few minutes to make if you have the animations, literally just a few words need to be changed and a lot of it is flavor / glam text so it doesn't really matter.
Blackhand293 Posted June 23, 2016 Posted June 23, 2016 I am always amazed at the sheer artistry you create with these animations, I wish I had skills to help or even make a plugin, but i will continue to enjoy your work,
proxy86 Posted June 23, 2016 Posted June 23, 2016 Yea definitely, module takes just a few minutes to make if you have the animations, literally just a few words need to be changed and a lot of it is flavor / glam text so it doesn't really matter. I am currently playing around with the 1.08 OSA sample module and beginning to convert the 1.06 OSA module I made half year ago into the new structure. I am taking this time as an opportunity to refine/polish the animations as well, so it is taking longer than converting things over. I found I can be satisfied with a lot less super detailed animation bells/whistles than most people so I was planning on just using my module/animations for my own personal use/game (except for people who expressed interest and specifically asked). However, if you think it would help stir interest in OSA development then I would be happy to send it off to you for review when it is done and make it public.
CEO 0S Posted June 23, 2016 Author Posted June 23, 2016 Hi Proxy, yes that would help a lot, I'll be happy to take a look if you'd like maybe there's some stuff in the xml I can show to use all the features. Looking forward to it and thanks a lot.
EtherealPheonix Posted June 23, 2016 Posted June 23, 2016 I'm really sorry about asking a stupid question like this, but I just picked up this mod yesterday and from what I've seen, there's a 1.08 version on the Nexus, but there is no way of getting it? The only thing I can get is the 1.06 version. Is the 1.08 version not released yet or am I just really stupid? I'm very excited to be able to use the 1.08 version, it looks great and from what I've seen it's coming along really well. Just popping in for this question.
lucaxs Posted June 23, 2016 Posted June 23, 2016 (Sorry, should have included this in my previous post... pls respond to that one though ) On the topic of potential third party plugins, I'm considering looking into making dialogue triggers, since that was mentioned as a commonly requested feature, and it's a good fit for me: while I haven't done Skyrim scripting stuff before, I'm a third year computer science student, so I can probably figure it out, given a few weeks (and my asset creation skills are not good enough to make animations or whatnot). After thinking about it briefly though, what exactly would people want out of a dialogue trigger system for OS? My biggest question is whether people assume that some sort of "relationship system" would be part of dialogue triggers (e.g. chance for NPC to refuse if they dislike you, cooldown on "interactions" per day, etc.). I suppose that could be configurable in an MCM menu? It just feels to me like it would be a bit of a stretch to try to make such a system "fully immersive" due to voice acting restrictions. Maybe you could reuse some generic acceptance / refusal lines. Anyway, if anyone has suggestions for resources for a project like this, like any example SL plugins, that would be appreciated Can't make any promises, as I am in the middle of an academic term. Dynamic Follower Dialogue has a lot of new follower/spouse lines: From the mod's description: "Adds over 1,500 dialogue lines for NPCs with the main focus on friends, followers, and spouses.These lines are completely voiced and consist of existing lines that have been re-added in a new instance as well as new and completely unique dialogue I've created from splicing/editing parts of multiple dialogue lines together to form new ones that you will only hear from using this mod." Perhaps some lines in those files could be used à la Spouses Enhanced. His similarly 'custom voiced' high elf follower mod Minerva might also prove interesting. (The mod author is also planning a new mod (to be released in the coming months) that will expand on DFD.) If you do come across something useful in DFD, I assume you'd have to ask him for permission? Your thoughts on a relationship system reminded me of what CEO once said, that he'd like varying outcomes in 0sex, that an npc could walk away in anger if you repeatedly do something she dislikes. Presumably, a dialogue mod for 0sex could then latch onto that information, like what you said about chances to refuse and cooldowns. But it's too early to talk about those kinds of variables. I'm just saying it would be possible Some other thoughts: -About the 'chance for an npc to refuse if they dislike you'-idea. I don't know about you, but I'm just using 0sex on the npc my char is married to, not random npc's. Given the romantic nature of 0sex, I've always found this preferable. So a chance for refusal would just be irritating, because you'd then have to wait for the cooldown à la Eager NPCs. I know that the chance to refuse creates the illusion that the npc has a mind of his/her own, but I'm worried that every time he/she refuses, it would just be annoying rather than immersive. It'd be like endlessly failing Fallout persuasion options all over again -In Spouses Enhanced, you have the option to invite a third npc for a threesome. Maybe a dialogue mod for 0sex could do something similar. Talk a friendly npc into a threesome (or into foursomes and beyond) during which the npc would respond with some generic lines. If succesful, the mod would mark them as 'invitable for 0sex' so to speak. Then, after you activate 0sex, you could press a button to make invitable npc(s) join the party. Using this method, we'd have a dialogue-driven way of activating threesome, foursomes, etc. I hope this helps I'm really sorry about asking a stupid question like this, but I just picked up this mod yesterday and from what I've seen, there's a 1.08 version on the Nexus, but there is no way of getting it? The only thing I can get is the 1.06 version. Is the 1.08 version not released yet or am I just really stupid? I'm very excited to be able to use the 1.08 version, it looks great and from what I've seen it's coming along really well. Just popping in for this question. Read the sticky on the Nexus page. CEO is planning to bring it back.
Bif_Mandrake Posted June 23, 2016 Posted June 23, 2016 I've taken some time off from gaming in general lately. The plan is "one final ultimate Skyrim mod build" and then I'll let myself get lost in Tamriel for a while. Luckily for me, I picked up the last Osex beta while it was available. Even if this mod was twice as buggy as it seems to be, I wouldn't hesitate to use it as there's nothing (imo) that really compares. Hell, if I was "forced" to use the 1.06 beta, I'd be beyond delighted. Osex for me is one of the "immersive" mods that I don't use every time I play. Perhaps because of that, it really stands out when I do use it. For example, the last time I used Osex was after clearing out a particularly intense dungeon with my favorite custom follower (Etain the Shewolf). In the final battle I took down 8 bandits single-handed, and as I sheathed my ebony blade Etain ran up to me. It was a spontaneous thing - and a great virtual decompression tool. Seemed authentic, too. After all that violence, a little sexual tension release seemed like the ticket. In terms of creating verisimilitude, this mod is the bomb. Thank you sincerely.
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