SKSE Questions: Functions and References...

Post » Fri Jun 22, 2012 4:32 am

Hi All,

I have a question about the following SKSE function, since it's unclear to me how they work:

ARMOR
SetArmorRating

WEAPON
SetBaseDamage
SetCritDamage
SetMaxRange
SetMinRange
SetReach
SetSpeed
SetStagger

These functions work on the instance (specific copy of item added to the game) upon which are called upon or work on the base object itself?

I mean...if I use them on one instance, they are going to mess up all objects of the same time?

I was wondering if they could be used as a "special type" of improvement...but I am afraid of messing up the game.

Please...I cannot find the answer anywhere...if you know, help me... :)

Jashkar
User avatar
Cesar Gomez
 
Posts: 3344
Joined: Thu Aug 02, 2007 11:06 am

Post » Thu Jun 21, 2012 7:37 pm

They all work on the base objects, not the references (instances).
User avatar
Dylan Markese
 
Posts: 3513
Joined: Sat Dec 01, 2007 11:58 am

Post » Thu Jun 21, 2012 10:21 pm

They all work on the base objects, not the references (instances).

Thanks...that's really a bad news. :(

I guess I need to drop the project I had in mind, then...

Thanks again,
Aghnaar
User avatar
Petr Jordy Zugar
 
Posts: 3497
Joined: Tue Jul 03, 2007 10:10 pm

Post » Fri Jun 22, 2012 1:19 am

The issue is that the information is on the base object, not a specific instance. SKSE (in general) exposes existing information to access and change. This is the way the game works underneath. For previous games (Oblivion, Fallout 2, New Vegas) we helped get around this with a CloneForm function which would create a new base object which could be modified to replace the existing one. In Oblivion these new base forms would even be saved in the game, but that code was removed in Fallout 3 and hasn't reappeared (to our knowledge). We are looking at introducing a new TempCloneForm() function for SKSE, but we have not done so yet.
User avatar
Angelina Mayo
 
Posts: 3427
Joined: Wed Jan 24, 2007 4:58 am

Post » Fri Jun 22, 2012 1:21 am

The issue is that the information is on the base object, not a specific instance. SKSE (in general) exposes existing information to access and change. This is the way the game works underneath. For previous games (Oblivion, Fallout 2, New Vegas) we helped get around this with a CloneForm function which would create a new base object which could be modified to replace the existing one. In Oblivion these new base forms would even be saved in the game, but that code was removed in Fallout 3 and hasn't reappeared (to our knowledge). We are looking at introducing a new TempCloneForm() function for SKSE, but we have not done so yet.

Thanks a lot, Behippo... :(
I really appreciate the amazing thing that you guys are adding with SKSE and I definitely understand how hard could be to try to add new features to that "labyrinth" which is the Papyrus (which often seems to behave in an erratical way), because honestly I often have hard time to find out how to have things work with the "vanilla" Papyrus...

I am really looking forward to when this new TempCloneForm() will be added to SKSE... :)

Moreover, one things that puzzles me and that I've noticed recently (since I was trying to make a disguise mod, but I dumped it...too hard for me)...well..."vanilla" Papyrus doesn't have a specific Changesix function!

There is a console command, but not a Papyrus script function! :((

Moreover I was wondering one thing...since from what you're saying seems that, in some way, SKSE "take steps" from OBSE...

...could I read the OBSE documentation to better understand SKSE functions?

I mean...some functions are quite obvious, but some of the most intriguing -at least from my point of view- (such as GetFaceMorph and GetFacePreset, just to name a few) are quite hard to understand, because I've no idea which index are used (and the description seems to suggest that index numbers are required for their proper use)! :(

Jashkar

P.S.: While I think myself as a decent programmer (for being a dabbler, I mean), I tend to mess up with parenthesis and variable casting...so with some functions I end up having no clue about why they don't seem to work in-game when I use them (in fact, I've started a disguise mod which should have stored the player's appearance, race and name and duplicated those of an "activated" victim...but the face of my player never changed!! :(( )
User avatar
Lyndsey Bird
 
Posts: 3539
Joined: Sun Oct 22, 2006 2:57 am


Return to V - Skyrim