DocClox Posted June 2, 2012 Author Posted June 2, 2012 um... no' date=' lol. i have been concentrating on dealing with the government stuff for gimps like me, stupid annoying reality sucks. was that the lovers stuff?... [/quote'] Yeah, The sex itself is a bit unreliable still, but the code to store animations in arrays and bring up the positioning data - that works just fine.
sbseed Posted June 2, 2012 Posted June 2, 2012 sweet... i always wondered how they kept track of stuff so seeming easily... ill have to unpack that and see exactly how they did it. sounds like a creating a quasi squal server database.
Princessity Posted June 2, 2012 Posted June 2, 2012 By the by... what is so special about those arrays? I read the CK wiki page about them but to me it looks like written in Chinese xD All I understood is that they're similar to formlists somehow but if they and formlists exist together obviously there must be something more to them?
sbseed Posted June 3, 2012 Posted June 3, 2012 there important because instead of using formlists that just list the names/id's the arrays can story all of the information... basically if its setup how i think it might be, its like putting all the animations we want to use into a single file... then when running down specific animations or to debug animations that arent running properly super easy. it would also be a huge help with keeping scripting to as much of a minimum as possible. making it easier to keep track of all the script involved as well. at least thats what im hoping lol
DocClox Posted June 3, 2012 Author Posted June 3, 2012 By the by... what is so special about those arrays? I read the CK wiki page about them but to me it looks like written in Chinese xD All I understood is that they're similar to formlists somehow but if they and formlists exist together obviously there must be something more to them? Arrays are: Faster More memory-efficient Allocatable Typed Subscripted Limited in Size They're faster' date=' because they're just a raw block of bytes internally. The engine can whizz down these super-fast. Formlists on the other hand need to calculate where to find the data for each form you access, and for each index. If you have a lot of list processing to do, arrays are going to be a LOT faster. They're more [b']memory efficient[/b] simply because they're just a block of pointers. Formlists are going to have all sorts of cruft internally, generally to do with efficient use of memory, or to optimise search times. None of it is major, but it's quite possible that a formlist uses 10 times the amount of memory per item stored. Then again, that's still maybe 40 bytes as opposed to 4, so unless you're using a lot of lists, it's probably not worth worrying about. Arrays are allocatable because you can say new objecttype[99] and get a chunk of memory that wasn't there before. You can fake that with things like placeAtMe of course, but this is way less bother. Arrays are subscripted which means that you can write foo = myArray[32] rather than foo = myFormList.getAt(32) which is not only less typing, but saves the expense of a function call to get your data. They're typed, too. With the formlist, you need to cast the result to be the same type as foo and if there's a problem, you don't get to find out until run time. With the array, the compiler checks that foo and myarray are compatible at compile time, potentially saving a lot of debugging time. On the other hand, arrays are limited in size, where formlists are not. Arrays can't be bigger than 128 entries, which is a pure pain. basically if its setup how i think it might be' date=' its like putting all the animations we want to use into a single file... then when running down specific animations or to debug animations that arent running properly super easy. [/quote'] Well, not quite. You get the arrays to look up the objects quickly, but the user defined types are still a problem. In theory, you can a record to hold any data you like just by extending form: Scriptname SkySex_Warehouse_Marker_Script extends Form { custom data object for sex acts } Idle property anim auto { The actual idle to play with PlayIdle } string Property name Auto { name of the animation - this is what we'll search on } string Property mod Auto { name of the mod - so we can SSG.Blowjob and AP.Blowjob without them interfering } Int Property slot Auto { slot zero is the the primary: one around which the others are positioned } Int Property zero_index Auto { index of the zero/prime record } float Property displacement Auto { distance from primary in x-y plane } float Property zoff Auto { z-distance relatuve to primary } Float Property zrot Auto {rotation relatuve to primary - 180 if you want the actor to turn around } Float Property duration Auto { how long to run the act for. Only used for primary records } Bool Property headtrack Auto { if false, disables head track } String Property idle_name Auto { name of the idle as defined in the behavior file } (Anyone else really hate that curly-bracket auto-doc syntax?) Anyway, that works, in so far as you create a new record format that has data elements for all the info needed to start and position a sex scene with any number of participants. The problem is creating instances of the object. New only works with arrays[1]. What we can do, however, is attach the same script to an object that we can place in the game. So what I did was change the first line to Scriptname SkySex_Warehouse_Marker_Script extends ObjectReference And then I copied Gold001 and added the script to the coin base object. I can create new instances of my modified coin with placeAtMe, just like any other in-game object. And each one I create has all the data needed to store the animation data for part of a sex scene.[2] So: for each idle I want to add I use placeAtMe to create the record (conveniently attached to a fake gold coin) and then add the reference to an array where I can look it up. Well actually ... I added it to a formlist in this case, being worried about that 128 limit. At some point I'll make an unbounded array class but for now I use a formlist To manage all the records I have a Warehouse script with some useful functions. This is one to add a new record: int function add_animation( \ Idle a_animation, \ string a_name, string a_mod, \ int a_slot, \ float a_displacement=0.0, float a_zoff=0.0, \ float a_zrot=0.0, \ float a_duration=10.0, \ bool a_headtrack = False, \ Int a_zero_index=-1 \ ) ; ; get a new animation record ; SkySex_Warehouse_Marker_Script rec = new_animation() ; ; shout, if that failed for any reason ; if rec == None MessageBox("Error: record not created") Return -1 EndIf ; ; fill out the fields ; rec.name = a_name rec.anim = a_animation rec.mod = a_mod rec.slot = a_slot rec.displacement = a_displacement rec.zrot = a_zrot rec.duration = a_duration rec.headtrack = a_headtrack rec.zero_index = a_zero_index; ; ; add it to the form list ; AnimationList.AddForm(rec); ; ; return the index of the record ; that's the size of the list, -1 since we count from zero ; return AnimationList.GetSize() - 1; EndFunction This is the function that creates our golden data records SkySex_Warehouse_Marker_Script function new_animation() ; ; this is the instance we return ; SkySex_Warehouse_Marker_Script instance ; ; get the object ref and the base form ; ObjectReference oref = proto_alias.GetReference(); form base = oref.GetBaseObject() ; ; create the instance with some bracketting debug chatter ; trace("creating new record from " + proto_alias) instance = oref.PlaceAtMe(base, 1, True, False) as SkySex_Warehouse_Marker_Script trace("instance created: " + instance); ; ; return it ; return instance EndFunction And then we can add scenes to the list with code like this: ; ; cowgirl animation. We're calling the male primary this time ; since the female needs to position herself relative to him ; ; calling the mod here "skysex", for lack of any better info ; add_animation( \ a_animation = m_cowgirl, \ a_name = "Cowgirl", \ a_mod = "Sexrim", \ a_slot = 0 \ ) add_animation( \ a_animation = f_cowgirl, \ a_name = "Cowgirl", \ a_mod = "Sexrim", \ a_slot = 1, \ a_displacement = -10 \ ) So, there we have it: A quick guide to arrays, custom data formats, and the sex framework, all in one post. Incidentally, I should probably add that this isn't just blue sky "it ought to work" stuff here. All of this is written and working in v0.03 [1] This may not be true. There's a linked list implementation in the CK wiki that manages to "new" arbitrary objects, but I couldn't work out how they were doing it. [2] This may be how the linked list example ended up doing it as well. I'm not sure they used the "new" keyword at all in the end.
alex_85 Posted June 3, 2012 Posted June 3, 2012 Two things I've thought about, one is on the PC will be marked up with something set if you fail something quest. with something markings, collar, burner marking between his legs. so that nps not want to trade or even let the PC in or send her to jail if she try to buy some things from them. and only low life would rape or do sexual things to the PC. Second, if it were possible to have an An Alternative Start where Pc is already enslaved and broken. slave to a monster "like the one in "a night to remember" or something like that. and something quest to get out of it and whit that Pc have may changed have to a similar skin tone as the owner which help of magic. which would result the same as becoming marked. but the body has the same shape but only the skin has changed, but if you find someone good healer can make the PC human again. or a bad/mean one that sealing the PC skin tone and instead enslaves PC and keep her as a play freak. show her all over town and skrim as a object to play and humiliate. or much easier, but starlings as a slave in the guild. choose face, hair, body weight and there after starting on a carriage which takes PC to someone new owner or to the guild like you just got picked up and being delivered to some bad place, but the PC is already broken down. Otherwise, thanks for what you have done so far and good luck with the rest
GHJKL Posted June 3, 2012 Posted June 3, 2012 Are there any plans to incorporate deadric princes in the quests, there are some who fit quite well. As a bonus they are also each others enemies. This could make for some interesting factions within the guild maybe? Mephala VS. Molag Bal? As known in the West, Mephala is the demon prince of murder, sex, and secrets. All of these themes contain subtle aspects and violent ones (assassination/genocide, courtship/orgy, tact/poetic truths); Mephala is understood paradoxically to contain and integrate these contradictory themes." — Vivec and Mephala Molag Bal is the Daedric Prince whose sphere is the domination and enslavement of mortals. He is known as the King of Rape and the Harvester of Souls. His main desire is to harvest the souls of mortals and to bring them within his sway by spreading seeds of strife and discord in the mortal realms. One legend claims that Molag Bal created the first vampire when he raped a Nedic virgin, who in turn slaughtered a group of nomads. He is a Daedric power of much importance in Morrowind, where he is always the archenemy of Boethiah, the Prince of Plots. Other enemies are Ebonarm and Mephala. His summoning day is Chil'a. In Aldmeris, his name means Fire Stone.
sbseed Posted June 3, 2012 Posted June 3, 2012 basically if its setup how i think it might be' date=' its like putting all the animations we want to use into a single file... then when running down specific animations or to debug animations that arent running properly super easy. [/quote'] Well, not quite. You get the arrays to look up the objects quickly, but the user defined types are still a problem. In theory, you can a record to hold any data you like just by extending form: Scriptname SkySex_Warehouse_Marker_Script extends Form { custom data object for sex acts } Idle property anim auto { The actual idle to play with PlayIdle } string Property name Auto { name of the animation - this is what we'll search on } string Property mod Auto { name of the mod - so we can SSG.Blowjob and AP.Blowjob without them interfering } Int Property slot Auto { slot zero is the the primary: one around which the others are positioned } Int Property zero_index Auto { index of the zero/prime record } float Property displacement Auto { distance from primary in x-y plane } float Property zoff Auto { z-distance relatuve to primary } Float Property zrot Auto {rotation relatuve to primary - 180 if you want the actor to turn around } Float Property duration Auto { how long to run the act for. Only used for primary records } Bool Property headtrack Auto { if false, disables head track } String Property idle_name Auto { name of the idle as defined in the behavior file } (Anyone else really hate that curly-bracket auto-doc syntax?) Anyway, that works, in so far as you create a new record format that has data elements for all the info needed to start and position a sex scene with any number of participants. The problem is creating instances of the object. New only works with arrays[1]. What we can do, however, is attach the same script to an object that we can place in the game. So what I did was change the first line to Scriptname SkySex_Warehouse_Marker_Script extends ObjectReference And then I copied Gold001 and added the script to the coin base object. I can create new instances of my modified coin with placeAtMe, just like any other in-game object. And each one I create has all the data needed to store the animation data for part of a sex scene.[2] So: for each idle I want to add I use placeAtMe to create the record (conveniently attached to a fake gold coin) and then add the reference to an array where I can look it up. Well actually ... I added it to a formlist in this case, being worried about that 128 limit. At some point I'll make an unbounded array class but for now I use a formlist To manage all the records I have a Warehouse script with some useful functions. This is one to add a new record: int function add_animation( \ Idle a_animation, \ string a_name, string a_mod, \ int a_slot, \ float a_displacement=0.0, float a_zoff=0.0, \ float a_zrot=0.0, \ float a_duration=10.0, \ bool a_headtrack = False, \ Int a_zero_index=-1 \ ) ; ; get a new animation record ; SkySex_Warehouse_Marker_Script rec = new_animation() ; ; shout, if that failed for any reason ; if rec == None MessageBox("Error: record not created") Return -1 EndIf ; ; fill out the fields ; rec.name = a_name rec.anim = a_animation rec.mod = a_mod rec.slot = a_slot rec.displacement = a_displacement rec.zrot = a_zrot rec.duration = a_duration rec.headtrack = a_headtrack rec.zero_index = a_zero_index; ; ; add it to the form list ; AnimationList.AddForm(rec); ; ; return the index of the record ; that's the size of the list, -1 since we count from zero ; return AnimationList.GetSize() - 1; EndFunction This is the function that creates our golden data records SkySex_Warehouse_Marker_Script function new_animation() ; ; this is the instance we return ; SkySex_Warehouse_Marker_Script instance ; ; get the object ref and the base form ; ObjectReference oref = proto_alias.GetReference(); form base = oref.GetBaseObject() ; ; create the instance with some bracketting debug chatter ; trace("creating new record from " + proto_alias) instance = oref.PlaceAtMe(base, 1, True, False) as SkySex_Warehouse_Marker_Script trace("instance created: " + instance); ; ; return it ; return instance EndFunction And then we can add scenes to the list with code like this: ; ; cowgirl animation. We're calling the male primary this time ; since the female needs to position herself relative to him ; ; calling the mod here "skysex", for lack of any better info ; add_animation( \ a_animation = m_cowgirl, \ a_name = "Cowgirl", \ a_mod = "Sexrim", \ a_slot = 0 \ ) add_animation( \ a_animation = f_cowgirl, \ a_name = "Cowgirl", \ a_mod = "Sexrim", \ a_slot = 1, \ a_displacement = -10 \ ) So, there we have it: A quick guide to arrays, custom data formats, and the sex framework, all in one post. Incidentally, I should probably add that this isn't just blue sky "it ought to work" stuff here. All of this is written and working in v0.03 [1] This may not be true. There's a linked list implementation in the CK wiki that manages to "new" arbitrary objects, but I couldn't work out how they were doing it. [2] This may be how the linked list example ended up doing it as well. I'm not sure they used the "new" keyword at all in the end. ill create a subpage on srecourse.esm wiki page for these.
shinchan Posted June 4, 2012 Posted June 4, 2012 Are there any plans to incorporate deadric princes in the quests' date=' there are some who fit quite well. As a bonus they are also each others enemies. This could make for some interesting factions within the guild maybe? Mephala VS. Molag Bal? As known in the West, Mephala is the demon prince of murder, sex, and secrets. All of these themes contain subtle aspects and violent ones (assassination/genocide, courtship/orgy, tact/poetic truths); Mephala is understood paradoxically to contain and integrate these contradictory themes." — Vivec and Mephala Molag Bal is the Daedric Prince whose sphere is the domination and enslavement of mortals. He is known as the King of Rape and the Harvester of Souls. His main desire is to harvest the souls of mortals and to bring them within his sway by spreading seeds of strife and discord in the mortal realms. One legend claims that Molag Bal created the first vampire when he raped a Nedic virgin, who in turn slaughtered a group of nomads. He is a Daedric power of much importance in Morrowind, where he is always the archenemy of Boethiah, the Prince of Plots. Other enemies are Ebonarm and Mephala. His summoning day is Chil'a. In Aldmeris, his name means Fire Stone. [/quote'] Short answer: yes Long answer: Look back through a bunch of the earlier pages.
smoke1967 Posted June 4, 2012 Posted June 4, 2012 Are there any plans to incorporate deadric princes in the quests' date=' there are some who fit quite well. As a bonus they are also each others enemies. This could make for some interesting factions within the guild maybe? Mephala VS. Molag Bal? As known in the West, Mephala is the demon prince of murder, sex, and secrets. All of these themes contain subtle aspects and violent ones (assassination/genocide, courtship/orgy, tact/poetic truths); Mephala is understood paradoxically to contain and integrate these contradictory themes." — Vivec and Mephala Molag Bal is the Daedric Prince whose sphere is the domination and enslavement of mortals. He is known as the King of Rape and the Harvester of Souls. His main desire is to harvest the souls of mortals and to bring them within his sway by spreading seeds of strife and discord in the mortal realms. One legend claims that Molag Bal created the first vampire when he raped a Nedic virgin, who in turn slaughtered a group of nomads. He is a Daedric power of much importance in Morrowind, where he is always the archenemy of Boethiah, the Prince of Plots. Other enemies are Ebonarm and Mephala. His summoning day is Chil'a. In Aldmeris, his name means Fire Stone. [/quote'] Short answer: yes Long answer: Look back through a bunch of the earlier pages. ive been following this thread with much anticipation but this is the first time i felt i had something to add...regaurding the deadra...a guild is really just a collection of like minded people who usualy pool thier resources to benefit all of thier guild...for example the base game thieves guild...now in that guild there are people with different skill sets useful for certain activities...infiltrating, pickpocketing, jailbreaking and extortion to name the few i remember...how about we take some of the deadric princes and give them factions within the guild...such as dibella followers who deal with pleasure slaves...followers of hircine for the slavers who excell at capturing the raw slaves...dagon followers who can break a slave quicker...molag bhaal followers could be generalists good at all but specializing in nothing...mephala followers could be good at secretly tranporting the slaves...(i havent studied the princes and thier realms of influence so if other deadra fit certain aspects better please change it to fit better) i dont know how difficult any of this would be to implement but it could be usefull (if possiable) to give players of SSG a choice in how they want to play the mod from hardcore badass to typical middle of the road slaver, niether evil or caring, who just gets the job done to tender caring master who will nurture and guide his slaves well thats more than my 2 cents. please feel free to ignore or use as you modders see fit...i just wanted to throw this out for consideration
Princessity Posted June 4, 2012 Posted June 4, 2012 dont forget mehrunes dagon Awh I dunno... would Mehrunes be more the top or the bottom? ^^ For me he always was such a poor thing! His very existence is actually a curse forcing him to act against his nature (he wanted to save Mundus from Alduin but was cursed to become the prince of destruction instead), everything he has ever tried either ended in a spectacular failure or came back to stab (or bite) him in the end and other Daedric Princes are always having so much fun at his expense! He got the job against his will and I think he really just wants to be a happy little leaper demon again...
smoke1967 Posted June 4, 2012 Posted June 4, 2012 dont forget mehrunes dagon Awh I dunno... would Mehrunes be more the top or the bottom? ^^ For me he always was such a poor thing! His very existence is actually a curse forcing him to act against his nature (he wanted to save Mundus from Alduin but was cursed to become the prince of destruction instead)' date=' everything he has ever tried either ended in a spectacular failure or came back to stab (or bite) him in the end and other Daedric Princes are always having so much fun at his expense! He got the job against his will and I think he really just wants to be a happy little leaper demon again... [/quote'] lol...i had to laugh...Mehrunes dagon the prince of...brat slaves...those slaves who cant but help acting out...of course all done to incite "master" into "punishing" them thus giving them the very thing they desire...interesting take on it...and more so because it rings true...rethinking...mmmmmm....fades into rumination......
Dark_Lord_ Posted June 4, 2012 Posted June 4, 2012 Hello, a message of one of the scenario writers and co-admins of this mod: As of now, the wiki seems to be closed down. We were harassed by a troll yesterday, who seemed to be offended by the themes of this mod. This same troll might have reported the wiki for objectionable content, causing it to shut down. Doc has send a message to the Wikia staff, in hopes of getting the Wiki, or at least its contents back. The unfair thing is that we were issued no warning before it closed down. The only thing we can do now is wait...
Dark_Lord_ Posted June 4, 2012 Posted June 4, 2012 We have no idea. He appeared randomly, cowardly hiding behind an anonymous account.
deadmetal Posted June 4, 2012 Posted June 4, 2012 pfft cowards...I suppose thats to be expected, they usually lack the balls to face people head on
DocClox Posted June 4, 2012 Author Posted June 4, 2012 Where the hell did this troll come from? No idea. Someone edited the font page calling me a bigoted asshole for not personally writing same sex content for the mod and saying how come rape was ok and gay sex was not. Something about the way he phrased it seemed to suggest that the rape would have been A-OK if male rape had been possible. Go figure. Anyway' date=' Dark_Lord rolled back the change and we thought no more about it. 24 hours later the wiki is closed, without so much as the courtesy of a warning note. Disappointing. Anyway, it's not the end of the world. [list'] [*] I've contacted wikia asking them to review the decision. I suspect that someone (who may or may not have been yesterdays' gay rape fetishist) has run to the wikia admins shouting "Homophobia! Hate speech! Pornography! Oh my!" If so, it's possible that a wikia admin too a quick look and canned the page without further thought. If so, maybe a review can get the site re-instated. If not, maybe we can still get the content from them. Let's hope so. [*] If we can't ... we've still got a lot of stuff on the thread here. Digging it all out and getting it to a new home is going to be a stone pain in the ass ... but if it's got to be done, it's got to be done. [*] Some of you are going to have offline copies of the data. Anyone who has anything, I'd appreciate a copy. [*] And it's possible we can dig some of the pages out of our browser cache. I'm not having a lot of luck there just yet, but if anyone can, please do. Lastly, please don't hassle the wikia dudes about this. I'm going to try and play this very responsible and businesslike and hope to persuade them that I'm not a mad rapist or homophobe, and that we have a right to the data we created, even if wikia don't care to host it. Let's not undermine that by flaming them to a crist, 'kay? OK, I've rambled enough. Later, all. We have a lot of the data on the thread here, so that's one thing.
GHJKL Posted June 4, 2012 Posted June 4, 2012 Hello' date=' a message of one of the scenario writers and co-admins of this mod: As of now, the wiki seems to be closed down. We were harassed by a troll yesterday, who seemed to be offended by the themes of this mod. This same troll might have reported the wiki for objectionable content, causing it to shut down. Doc has send a message to the Wikia staff, in hopes of getting the Wiki, or at least its contents back. The unfair thing is that we were issued no warning before it closed down. The only thing we can do now is wait... [/quote'] Damn, no one has a backup?
windu190 Posted June 4, 2012 Posted June 4, 2012 In case diplomacy fails, I traced this guy and am ready to perform the black sacrement.
deadmetal Posted June 4, 2012 Posted June 4, 2012 Damn' date=' no one has a backup? [/quote'] Im assuming the mod is safe, im assuming its some of the images and requests as well as the stories that have gone missing
DocClox Posted June 4, 2012 Author Posted June 4, 2012 well, a lot of the detailed planning is gone. We can recreate that easy enough I guess, but there's a lot of work just went up in a puff of logic. If folks have local copies, I'd like the journal of facedon valerius, the cheapcunt express and as much of Birthday Girl/the Dastard/Mthandeumz Market as I can get
deadmetal Posted June 4, 2012 Posted June 4, 2012 well' date=' a lot of the detailed planning is gone. We can recreate that easy enough I guess, but there's a lot of work just went up in a puff of logic. If folks have local copies, I'd like the journal of facedon valerius, the cheapcunt express and as much of Birthday Girl/the Dastard/Mthandeumz Market as I can get [/quote'] Would have been alot worse if the current mod coding got lost, stories and ideas are easily redone, re-writing scripts is alot more difficult. If we dont get the wiki page back, I do have a suggestion, possibly if the admins allow it a sub-forum here would be ideal, course thats not something that can be requested lightly, but at least source information stored here is far safer than on a wiki. of course I know there are alot of modders on here who would love sub-forums and would see it as possibly favoratism, but then again I dont think many modders here have ever really attempted a mod on this scale with the exception of 'Claudia's Little Secret' which does have its own subforum. Im skeptical that the wiki guys will give the data back anyway as Im pretty sure they arn't quite as understanding or open minded about...certain things that we find acceptable here...and if they do I wouldnt trust them to keep it up again indefinately
DocClox Posted June 4, 2012 Author Posted June 4, 2012 Like I say: let's keep those fingers away from the nuclear launch buttons. Someone out there has just accused us of being a bunch of low-life scumbags. Let's not give him anything that could support his argument
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