Jump to content

OSex+ The Greatest Virtual Sex Ever


Recommended Posts

Posted

 

 

Scorpion,

Thank you very much, it must have taken a while to test this and I was starting to believe that it was related to behavior files or animations but you helped a great deal narrow it all the way down. If you have the time I would appreciate it if you try and see which of the behavior files specifically is causing the problem.

 

- I'll update the findings of Scoped Bows thanks for this.

 

- With the spanking you're technically leaving a scene then entering a new scene which is the spank then it routes you back to the previous scene so it loads in the menu as if you are arriving there for the first time which sets you on page 1. I see what you mean that it would be nice to stay on what you have selected in those kind of scenes especially with spanking it's kind of weird if you're trying to get a good pace so I will see what I can do about this. It gets a bit complicated but most likely I can figure something out.

 

- In terms of language I'd like very much for it to support non-english characters and I am trying different things to make it work, I'm exporting the Flash movie with the characters for other languages but do know it's not working. If anyone has an idea on what exactly I have to do to get it to export with non-english characters that would be a huge help to translating this project. I have the flash file in the git hub if having access to it could help show me what to do. I'm confused as to why it's not working but will continue to try. If anyone has any idea on what settings I need to set in Flash to make it work it would be a great help to me. I have the characters you want and they are selected to be exported but something isn't working and I need help to know why.

 

- In the .ini languageOverride="" is only for if you want to use a language that the skyrim client can't be set to, for example English, Japanese, Russian, Czech etc are all official language of the client but if you speak a language that isn't one of these then you would fill out the languageOverride to be that specific language and make translation files for it. In most cases this wouldn't apply and most likely will not get used much. 

Posted

 

I got a question. How do you cum? 

 

You just start stroking your little guy untill it becomes big, hard and wants to explode :P:D

 

I followed your instructions precisely and now the librarian is calling the cops. Thanks a lot, Kinky.

 

Posted

Maybe a daft question, but would having num lock on or off make any difference to starting a scene for some people, since the mod uses num pad for input?

 

Posted

 

Greate mod! Thank you, greate CEO!

 

All worked perfectly.

But I have problem with scaling young woman and girls. I have a problem with girls, whose growth is less than growth of the protagonist (0.7-0.9 setscale). At the start they become in 1.2 - 2 times higher of my character, it's scary. If a girl the same height with the hero, all worked normal.

And I have another big problem - my hero can't let come. How about the cum to face of girl and not only. How about orgasm?

 

Hi Sed,

Thank you for the nice comments.

 

I intentionally shut down small actors due to morality reasons, even if it comes at the cost of shutting out dwarves and other legit short races. It sounds like you are speaking about the end result however as they will be grown to the standard height on starting the scene. There is one major bug I couldn't solve yet for launch that we are working on right now in this thread to fix and it's regards to scale. The further an actor is from the ideal scale to start you'll notice more and more deviation in size during the scene. Starting the scene a second time with the same actor might fix this in some cases. 

 

Orgasms will be returning soon, they are in the works and now that coding development is slowing down I'll have a lot more time to animate and make these things happen.

 

 

I think immersive will solve the moral issue is not high scale by kids or small girls. May be just lock sex with children and girls small growth? Now it turns so ugly - sex with a girl-giant.

 

And how about wizard sex in air and special patch for users LoversLab?

 

 

Posted

CEO i tried to download Crash test 4 but got this:

 

 

 

image.jpg

 

 

 

But it seems like Scorpion is on good lead anyway.

Posted

Hi, I love this mod and have had almost no problems with it. Just one, when I start the scene for some reason my female becomes a couple inches (relative gamewise) taller than the male. Is there a way to check the scaling in this?

Posted

Hi, I love this mod and have had almost no problems with it. Just one, when I start the scene for some reason my female becomes a couple inches (relative gamewise) taller than the male. Is there a way to check the scaling in this?

 

CEO and other guys are working on scaling issues.

 

You can check few things:

 

Go to meshes\0SA\_0S\Config and oper _config.ini with notepad.

 

If you have sortRoleByAnimGender=1 this should always make female sub (lower then male)

 

Change sortTieBreaker=2 if you want that your female character is sub (lower) in a scene with another female who is by default taller then your player girl.

 

You can check scaling from scene menu within game if you go on info about actors.

 

 

Posted

 

- In terms of language I'd like very much for it to support non-english characters and I am trying different things to make it work, I'm exporting the Flash movie with the characters for other languages but do know it's not working. If anyone has an idea on what exactly I have to do to get it to export with non-english characters that would be a huge help to translating this project. I have the flash file in the git hub if having access to it could help show me what to do. I'm confused as to why it's not working but will continue to try. If anyone has any idea on what settings I need to set in Flash to make it work it would be a great help to me. I have the characters you want and they are selected to be exported but something isn't working and I need help to know why.

 

 

Translations in Flash can be tricky to get working right. Does the font itself have those characters in it?

Posted

public function calcOHeight(GoalOH:Number, NativeOH:Number){return ((GoalOH - NativeOH) / NativeOH) + 1.0}

Simpler, but the same math result:

 

public function calcOHeight(GoalOH:Number, NativeOH:Number){return (GoalOH / NativeOH)}

 

This can be seen in my papyrus scaling code as the fScalingFactor variable.

 

So far so good. I believe this leaves only two places for a possible math error. The t-pose measuring process, or the netimmerse function that applies the result of this actionscript function. I've seen the t-pose code. Have you posted the other, the netimmerse command that applies the scaling factor calculated in actionscript?

Posted

 

public function calcOHeight(GoalOH:Number, NativeOH:Number){return ((GoalOH - NativeOH) / NativeOH) + 1.0}

Simpler, but the same math result:

 

public function calcOHeight(GoalOH:Number, NativeOH:Number){return (GoalOH / NativeOH)}

 

This can be seen in my papyrus scaling code as the fScalingFactor variable.

 

So far so good. I believe this leaves only two places for a possible math error. The t-pose measuring process, or the netimmerse function that applies the result of this actionscript function. I've seen the t-pose code. Have you posted the other, the netimmerse command that applies the scaling factor calculated in actionscript?

 

 

That is currently:

 

Event OnSnapSc(string eventName, string zType, float zAmount, Form sender)
NetImmerse.SetNodeScale(Actra, zType, zAmount, false)
EndEvent
Posted

Translations in Flash can be tricky to get working right. Does the font itself have those characters in it?

I think the main problem is not in the fonts, or not only in the fonts.

The problem is in the encoding of the text. Flash itself always uses only utf-8 codepage as i know. But the external data, which it recieves about the player from the game engine can be encoded not in the utf-8. In such situation, even if the font embedded into a flash will contain the needed symbols (russian letters for example), they will not be displayed correctly. Because the flash expects, that the russian (or other language) symbols must have their respective utf-8 codes. But the game engine can give to the flash the text encoded in the cp1251, ANSI or some other codepage. Different Skyrim localizations can use different codepages for non-english symbols depending from the language, and this codepage can be not utf-8. Most probably the game can return the text in the codepage, which by default uses Windows for russian or some other language.

 

For example when flash is used in the web applications, most usually the text which the swf file recieves from the server, is preemptively converted on the server side by the PHP (or other server side preprocessor) and only after such conversion the text is sended to the swf, if the server side works with the text in other codepage.

 

Here i think we have the same situation - swf file uses utf-8, but the game engine uses some other codepage (regarding to russian localization this perhaps can be cp1251, or maybe ANSI / other language localizations of the game can use other codepages which also can be not UTF-8).

 

I have the flash file in the git hub if having access to it could help show me what to do.

I have downloaded your code and i can change, compile and test it on my side, but because it is quite complicated and has a lot of .as files with a lot of code, i still can't understand one important detail - the mechanism of how the data about actor (like her name, equipment, etc.) is recieved from the game engine to flash. In other words, in which way the data is transferred from Papyrus scripts to flash, or from skse to flash, or maybe the swf file reads it from the PapyrusUtil .json files, or how? I'm very sorry for the extremely noob question, of course i can read the entire code of all your .as files and understand this by myself, but it will take a lot of time then. So just to make understanding it a little faster, can you please just point me the name of that .as file, which is directly responsible for recieving the data about the actor from the game engine, or to explain me shortly the mechanism how and where it obtains such data like the character's name for example.
Posted

 

But it seems like Scorpion is on good lead anyway.

 

Hi Kinky,

If you want to conclude this will be it. You'll want to use your profile that is crashing with OSex installed already, not the testing one we've been using in the last 2 crash tests.

 

Go Here:

Data\meshes\actors\character\behaviors\

 

Put these files somewhere else: 

 

FNIS__ESG_0ER_F_Behavior

FNIS__ESG_0ER_M_Behavior

 

FNIS_0SA_System_Behavior

FNIS_0Sex_0MF_D_Behavior

FNIS_0Sex_0MF_K_Behavior

FNIS_0Sex_0MF_M_Behavior

FNIS_0Sex_0MF_S_Behavior

FNIS_0Sex_0MF_U_Behavior

 

Make sure there are no more OSex or OSA one's left in there. Also you tested the wiz sex plugin for me so make sure that is turned off for the test.

 

I'm assuming if these are all gone that the game will work correctly. When you have time if you could bring them back one at a time or hot and cold etc. and tell me which one is the one causing the crash.

 

 

 

Translations in Flash can be tricky to get working right. Does the font itself have those characters in it?

 

 

Yes it seems lke it, and they are checked for being included also.

 

I'll make a few tests with the UI if anyone that uses non english characters will test to see if any are making the characters they need show up.

Posted

 

Hi, I love this mod and have had almost no problems with it. Just one, when I start the scene for some reason my female becomes a couple inches (relative gamewise) taller than the male. Is there a way to check the scaling in this?

 

CEO and other guys are working on scaling issues.

 

You can check few things:

 

Go to meshes\0SA\_0S\Config and oper _config.ini with notepad.

 

If you have sortRoleByAnimGender=1 this should always make female sub (lower then male)

 

Change sortTieBreaker=2 if you want that your female character is sub (lower) in a scene with another female who is by default taller then your player girl.

 

You can check scaling from scene menu within game if you go on info about actors.

 

Got it! Will try it out after work but that should solve it thanks Kinky!

Posted

 

I have the flash file in the git hub if having access to it could help show me what to do.

I have downloaded your code and i can change, compile and test it on my side, but because it is quite complicated and has a lot of .as files with a lot of code, i still can't understand one important detail - the mechanism of how the data about actor (like her name, equipment, etc.) is recieved from the game engine to flash. In other words, in which way the data is transferred from Papyrus scripts to flash, or from skse to flash, or maybe the swf file reads it from the PapyrusUtil .json files, or how? I'm very sorry for the extremely noob question, of course i can read the entire code of all your .as files and understand this by myself, but it will take a lot of time then. So just to make understanding it a little faster, can you please just point me the name of that .as file, which is directly responsible for recieving the data about the actor from the game engine, or to explain me shortly the mechanism how and where it obtains such data like the character's name for example.

 

 

Scorpion I will explain the steps it takes but if it's not what what you were looking for or need more info I"ll try again let me know.

 

- There are 2 Papyrus Scripts that get cast on Actors to allow the UI to communicate with them. 

- _oActra is a small version that any NPC that the UI has made data on that session gets first. It is removed when a new game is loaded.

- _oActraga is a larger heavier version that also gets applied if they are in a scene with more properties. It is removed when the scene ends. 

 

-----------

 

- The first step happens in _oActra where they register for this event that allows the UI to request their papyrus details:

 

Around line 79 in _oActra you'll see this:

 

 

 

if Request == "Details"
UI.InvokeStringA("HUD Menu", "_root.WidgetContainer."+glyph+".widget.com.skyActraDetails", sendActraDetails(actra, formID, PlayerRef))
elseIf Request == "Scale"
UI.InvokeStringA("HUD Menu", "_root.WidgetContainer."+glyph+".widget.com.skyActraScale", sendActraScale(actra, formID))
endIf

 

-------------

 

sendActraDetails and sendActraScale are functions in _oGlobal  that make an array of the needed information and get passed along to the UI.

 

 

 

 

equipment is handled the same way but is in their _oActraga script

 

 

 

 

Event OnRequestEQSuite(string eventName, string zNothin, float numArgggYeLanLubers, Form sender)
int zSlot = 0
string[] Eq = new string[73]
armor EqCur
While zSlot <= 32
EqCur = Actra.GetWornForm(getOSlot(zSlot)) as armor
If EqCur
Eq[zSlot] = EqCur.getFormID()
Eq[zSlot+40] = EqCur.getName()
Else
Eq[zSlot] = 0
Eq[zSlot+40] = "noeq"   
EndIf
zSlot += 1
EndWhile
 
Eq[39] = formID
UI.InvokeStringA("HUD Menu", "_root.WidgetContainer."+glyph+".widget.com.skyActraAttireWorn", Eq)
UI.InvokeStringA("HUD Menu", "_root.WidgetContainer."+glyph+".widget.com.skyActraWeaponWorn", analyzeWeapon(0))
UI.InvokeStringA("HUD Menu", "_root.WidgetContainer."+glyph+".widget.com.skyActraWeaponWorn", analyzeWeapon(1))
EndEvent
 
At the end it sends the arrays up to the skyActraAttireWorn function in com.as
 

 

 

 

 

The different types of information the UI needs are received by papyrus events that actra and actraga register for. The UI sends these events when it wants the information and Papyrus responds.

 

These functions from Papyrus all first go to the core/Boot/Com.as

Com is meant to be an interchangeable script that handles communication exactly for a specific game like Skyrim and then adjusts it to be information for the UI so in the future I can use this system on other games. All of the papyrus data gathering scripts will go through com.

 

---------------------------------------------

 

In most cases the information received in Com get's set to that Actor's ActorData.as, each actor will get one of these. It's located in core/Actra/ActorData.as

 

You'll see it has functions that basically unpack the data and assign it to variables in these places:

 

core/Actra.as  (For general stuff)

core/Actra/Body/ActorScale.as and core/Actra/Body/ActorScalePart.as (For saving scales)

 

and their equipment gets sent to:

core/Actra/Equip/Attire.as

 

to the setSkyAttire(attireSet) function where it unpacks the data and makes item.as entries for each one.

 

 

-----------------------------

-------------------------------

---------------------------------

 

I see what you mean about the UI and the problem and that was a very thorough and clear explanation but I have to admit I'm having a hard time seeing how to apply if you do see the way to make it work, more insight on exactly I would have to change in the files would be a great help to me, but I assume that's what your looking with the above information you requested anyways.

 

Thank you so much for this great help Scorpion!

Posted

 

 

 

public function calcOHeight(GoalOH:Number, NativeOH:Number){return ((GoalOH - NativeOH) / NativeOH) + 1.0}

Simpler, but the same math result:

 

public function calcOHeight(GoalOH:Number, NativeOH:Number){return (GoalOH / NativeOH)}

 

This can be seen in my papyrus scaling code as the fScalingFactor variable.

 

So far so good. I believe this leaves only two places for a possible math error. The t-pose measuring process, or the netimmerse function that applies the result of this actionscript function. I've seen the t-pose code. Have you posted the other, the netimmerse command that applies the scaling factor calculated in actionscript?

 

 

 

That is currently:

 

 

Event OnSnapSc(string eventName, string zType, float zAmount, Form sender)
NetImmerse.SetNodeScale(Actra, zType, zAmount, false)
EndEvent

 

The function's description comment suggests it is a pure Set command, similar to the way GlobalVariables are changed in Skyrim's console. Set Value To X. Meaning, if you want the node to be GoalOH, all you should have to do is pass it GoalOH, unprocessed. Or, is 1% of GoalOH the actual desired goal the node needs (decimal shifting)?

 

I'm going to work up a test to see if it is a true Set command.

Posted

 

 

 

Hi Migal my intention with the comment was to separate it from the BlendSC (Which in scene genital scaling uses.) BlendSC will run it through the ticking function that make it visually grow or shrink over a few frames where as SnapSC will just put it directly to the value that you want with no gradual size adjustment.

 

The number being received as zAmount during a scene is the number listed under their Info > Character > Current Proportions > Body Scale, usually something around 0.8 - 1.2

Posted

Ok here we go I need help (again sorry)

 

Current Function:

NetImmerse.SetNodeScale(Actra, nodeType, newValue, false)
 
I want it to be:
NiOverride.AddNodeTransformScale(Actra, false, gender, nodeType, ????????, newValue)
 
Documentation:
; Adds a scale override for the particular key, pos[0-2] correspond to x,y,z
Function AddNodeTransformScale(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key, float scale) native global
 
 
is this the right kind of NiOverride function to use and how do I establish what the key is. correspond to x,y,z is what is getting me worried I need to apply the scale on all 3 coordinates you think?
 
--------------------
 
And for this chunk:
 

 
scale[0] = FormID
scale[1] = NetImmerse.GetNodeScale(actra, "NPC Root [Root]", False)
scale[2] = NetImmerse.GetNodeScale(actra, "NPC Belly", False)
scale[10] = NetImmerse.GetNodeScale(actra, "NPC GenitalsBase [GenBase]", False)
scale[11] = NetImmerse.GetNodeScale(actra, "NPC GenitalsScrotum [GenScrot]", False)
scale[12] = NetImmerse.GetNodeScale(actra, "NPC Genitals01 [Gen01]", False)
scale[13] = NetImmerse.GetNodeScale(actra, "NPC Genitals02 [Gen02]", False)
scale[14] = NetImmerse.GetNodeScale(actra, "NPC Genitals03 [Gen03]", False)
scale[15] = NetImmerse.GetNodeScale(actra, "NPC Genitals04 [Gen04]", False)
scale[16] = NetImmerse.GetNodeScale(actra, "NPC Genitals05 [Gen05]", False)
scale[17] = NetImmerse.GetNodeScale(actra, "NPC Genitals06 [Gen06]", False)
return scale

 

 

 

 

example:

scale[17] = NetImmerse.GetNodeScale(actra, "NPC Genitals06 [Gen06]", False)

 

scale[17] = NiOverride.GetNodeTransformScale(actra, false, gender, "NPC Genitals06 [Gen06]", ????????????)

 

 

Documentaton:

; Returns a scale value override for the particular key, 0.0 if did not exist or failed
float Function GetNodeTransformScale(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key) native global

 

Posted

Hi Migal my intention with the comment was to separate it from the BlendSC (Which in scene genital scaling uses.) BlendSC will run it through the ticking function that make it visually grow or shrink over a few frames where as SnapSC will just put it directly to the value that you want with no gradual size adjustment.

I was referring to the comment inside netimmerse.psc. Sorry for the confusion.

 

The number being received as zAmount during a scene is the number listed under their Info > Character > Current Proportions > Body Scale, usually something around 0.8 - 1.2

And that number is derived from the below actionscript, correct?

 

public function calcOHeight(GoalOH:Number, NativeOH:Number){return ((GoalOH - NativeOH) / NativeOH) + 1.0}
Posted

 

And that number is derived from the below actionscript, correct?

 

public function calcOHeight(GoalOH:Number, NativeOH:Number){return ((GoalOH - NativeOH) / NativeOH) + 1.0}

 

 

Yep, exactly calcOHeight is outputting the number which is the current proportions > body scale, and going into the snapSc event as zAmount.

Posted

dear CEO,

 

Is it possible to center the UI manually? I have some problems with the ENB preset I'm using. The whole UI moved to the left of screen for about 400pixels. I don't know which ENB setting caused this, if there's any way to set the UI position it will be very helpful.

 

I was using Snapdragon Prime ENB. Seems vanilla UI and SkyUI are not affected.

 

--------------

 

OK, I just fixed this by setting ForceBorderlessFullscreen in enblocal.ini to true.

 

 

Posted

Yep, exactly calcOHeight is outputting the number which is the current proportions > body scale, and going into the snapSc event as zAmount.

Test the following temporary changes and watch what happens. In my game, OnSnapSc is getting fired several times and changing the Post Scaling measurement each time. Either that, or calling the netimmerse functions once makes them fire multiple times. Note: I tested on an NPC shorter than the player.

 

Event OnSnapSc(string eventName, string zType, float zAmount, Form sender)

; Migal
float fPreScaling
float fPostScaling
String PlayerOrNPC
If Actra != PlayerRef
	PlayerOrNPC = "NPC"
else
	PlayerOrNPC = "Player"
endif
fPreScaling = NetImmerse.GetNodeScale(Actra, zType, false)
utility.wait(2.0)
debug.messagebox("Pre Scaling: " + fPreScaling + "\n zAmount was: " + zAmount + "\n" + PlayerOrNPC)
; end Migal

NetImmerse.SetNodeScale(Actra, zType, zAmount, false)

; Migal
fPostScaling = NetImmerse.GetNodeScale(Actra, zType, false)
utility.wait(3.0)
debug.messagebox("Post Scaling: " + fPostScaling + "\n zAmount was: " + zAmount + "\n" + PlayerOrNPC)
; end Migal

EndEvent
Wow. I just learned the same code is called when reverting the scale back to natural. That was unexpected.

 

Edit: I've updated the above code to provide more info. My testing indicates OnSnapSC is being spammed as if it were a blend routine.

Posted

 

 

 

Hi Migal thank you for this I'm inputting the code now to test what you are talking about.

 

Without having tried it yet it seems like you are hinting at that it's happening twice? Are you seeing this change after the first time however, I might be misunderstanding and will not know until I try your example my self now but I am noticing the double scale click  happening but I've confirmed the script itself is not calling the event more then a single time. If this is what I'm talking about you'll notice it not happen on the 2nd attempt I believe.

 

Putting it in now and seeing for myself.

 

------------------------------------------------------

 

Going to try to get this patch pushed by tomorrow I think we're right about to solve everything. Will need Kinky's test results on the last crash test and that should do it and we seem to have the scale just about conquered.

 

Some additional patch notes I'm working on here:

 

 

 

 

OSA
 
General---------
 
XPMS skeleton requirement resulted in too much troubleshooting. I'm instead using a keyword check to detect if the actor is valid. There is a chance that custom NPCs were not packed with the needed keywords but this will be much less frequent then users not having XPMS isntalled. I do however recommend XPMS skeletons be used at all times as they are a substantial upgrade with no disadvantages.
 
BootProcess-------------------
 
UI/HUD CONFLICTS
 
If the user has detrimental UI mods installed from the past OSA will now show a warning message
instead of engaging in an infinite loop and crashing, to aid in trouble shooting 
 
 
MENU--------------
 
Scene Menu > Info > Scene
 
Now shows Current Scene and Last Scene to aid the API since scenes look better when started from a transition but it was hard to get transition scene IDs.
 
MISC----------------
 
NMM already uses the .omod extension so it was resulting in NMM not able to load the mod.
.oplug changed to .osplug and .omod changed to .osmod
 
 
 
TRANSLATION MODULE--------------
Added 4 more generic Conjugation Methods to aid romance languages in translation
These will be swapped on the gender of the actor in role 0 (Dom) or role 1 (Sub)
 
$$A0 * $$A1
$$B0 * $$B1
$$C0 * $$C1
$$D0 * $$D1
 
^^A0 
^^B0 
^^C0 
^^D0 
 
aFemale= ""
aMale= ""
aNone= ""
bFemale= ""
bMale= ""
bNone= ""
cFemale= ""
cMale= ""
cNone= ""
dFemale= ""
dMale= ""
dNone= ""
 
 
TRANSLATION INI-------------------
 
New Entires Under: [Menu Specific]
currentScene= "Current Scene"
lastScene= "Last Scene"
 

Posted

Thank you very much CEO for the explanations. Now i understood how it works.

And i want to show you the result of my very first experiment for fixing this:

 

 

26851575104_db6cbbfa30_z.jpg

 

 

On the screenshot you can see the russian alphabet, which, as you see, is displayed correctly. Currently this is just the hardcoded string, which i have preencoded into UTF-8 codepage and pasted it into the code of _oGlobal.psc script instead of the actor name (just for testing purposes). As you see, all symbols shows correctly. Also i have recompiled the OSA.swf and embedded the font with the russian symbols into it (currently it is the Times New Roman, but later it can be changed of course :D), it was not so hard, later i will write you more detailed information how to do this.

 

This experiment proves the next things:

1. That my theory about the text must be sent into flash in the UTF-8 codepage is correct.

2. That just embedding the font is not enough, we must reencode the text into UTF-8 on the Papyrus side, and only then send it to flash.

3. That in general this is technically possible to fix.

 

But now the worst part of the problem:

The test string was converted into UTF-8 codepage by the external program and then copypasted into Papyrus code. But we must do the same thing dynamically with the each string, which will be sent to flash.

Sadly the Papyrus built-in StringUtil object, which contains functions for working with strings, is too much primitive and underdeveloped, so it has no codepage conversion functionality. So the only way to do it dynamically, is to write my own SKSE plugin, which will implement codepage conversion function. If i will success in doing this, then such plugin will be usable not only for this mod, but even for any other mods, which deal with the interface or have any other codepage-related troubles. So it could be considered as a little framework itself. But this means, that i need some time to understand how to write and compile SKSE plugins. So i not promise that i will make this so fast, maybe i will need quite long time for this. But i have downloaded SKSE SDK and will try to do this.

Posted

 

 

Wow this is amazing. I understand Scorpion what you mean and clearly your computer science knowledge is immense and of course in some cases vastly beyond what I can comprehend at my skill level but once again this was very clear and thorough so thank you for taking the time to explain. I will try to recap to make sure I am understanding.

 

The characters that show up currently in OSA are a result of a failed code page type. The failure is happening in the string in papyrus itself so it's being sent to the UI as incorrect characters. The UI's display (As long as we export with a font that has the characters) currently is correct but it's receiving the wrong characters from Papryus. There's no way we can perform this code page conversion once it gets to flash?

 

It seems like you are looking to make a DLL that will either natively convert all string types to the proper UTF conversion needed or it will be some kind of function that wraps around the result and converts it? This sounds very exciting and since OSA is very text dependent in terms of display but also navigating it would be a huge help to this project and I'm sure other mods can find application as well, it sounds like an incredibly useful DLL that would help a lot of things. I wish good luck and that it comes to be if there's anything I can do to help let me know. I do have a very basic understanding of making DLLs for Skyrim so there's a small chance I can help but there are others in this thread that are stronger with C then I am.

 

--------------------------------

 

Here's one question that is a different angle on this and I'm curious to your thoughts and knowledge. In some cases like the translate system the text is not being pulled directly from Papyrus but is instead being taken from the .ini file, to translate the text on the scene menu pages etc. Are those in the current system able to take Russian characters? Do I need to do additional things for the XML and INI texts that Actionscripts receives to have those work as well, or is this problem limited only to papyrus?

 

For example in your image: "Turn her around." that text is being given to the UI directly from a .ini document. Would that currently be translatable now and work as long as it's set to a font that does have the characters using your export process? A majority of the text is gathered from .ini or .xml, the only exception to this is the actor's name, their race, and the item names of their equipment.

Posted

 

Latest version. I added GetScale so you can see exactly what happens to the actor's overall size. You'll see that the player is being spammed and the NPC is not. Either that, or netimmerse functions run multiple times from one call. The zAmount is not always the same on the same NPC but surprisingly, it is sometimes correct on RaceToScale NPCs.

 

Event OnSnapSc(string eventName, string zType, float zAmount, Form sender)
; Migal
float fGetScale
float fPreScaling
float fPostScaling
String PlayerOrNPC
If Actra != PlayerRef
	PlayerOrNPC = "NPC"
else
	PlayerOrNPC = "Player"
endif
fPreScaling = NetImmerse.GetNodeScale(Actra, zType, false)
fGetScale = Actra.Getscale()
utility.wait(2.0)
debug.messagebox("Pre Scaling: " + fPreScaling + "\n GetScale was: " + fGetScale + "\n zAmount was: " + zAmount + "\n" + PlayerOrNPC)
; end Migal

NetImmerse.SetNodeScale(Actra, zType, zAmount, false)

; Migal
fPostScaling = NetImmerse.GetNodeScale(Actra, zType, false)
fGetScale = Actra.Getscale()
utility.wait(2.0)
debug.messagebox("Post Scaling: " + fPostScaling + "\n GetScale was: " + fGetScale + "\n zAmount was: " + zAmount + "\n" + PlayerOrNPC)
; end Migal

EndEvent
PS: If we could stop the spamming, I'd probably have this thing working as pure papyrus in pretty short order. I already know GetSCale is working, which means we can use it to replace the t-pose. I understand what your actionscript and settings do and I believe I can modify my original solution to work so you don't have to change them.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...