[BETA/WIPz] NifScript

Post » Tue May 17, 2011 9:02 am

I hope this is still being worked on.
User avatar
Far'ed K.G.h.m
 
Posts: 3464
Joined: Sat Jul 14, 2007 11:03 pm

Post » Tue May 17, 2011 1:51 pm

It is. I'm just busy. Scruggs has actually done a lot to help this. ARES should be released in a month or so, and this should see an update shortly after.
User avatar
jesse villaneda
 
Posts: 3359
Joined: Wed Aug 08, 2007 1:37 pm

Post » Tue May 17, 2011 12:54 pm

NifScript 0.9 has been released. The primary change is that it has fixed the bug with meshes inside BSAs.

Please note that v1.0 will be replacing these functions. They will be deprecated (though I will maintain backwards compatibility), and I strongly recommend that people avoid using these functions for anything beyond a Beta.
User avatar
Claire
 
Posts: 3329
Joined: Tue Oct 24, 2006 4:01 pm

Post » Tue May 17, 2011 5:41 am

Great to hear this one is still alive. :)
User avatar
Fiori Pra
 
Posts: 3446
Joined: Thu Mar 15, 2007 12:30 pm

Post » Mon May 16, 2011 11:59 pm

NifScript 0.9 has been released. The primary change is that it has fixed the bug with meshes inside BSAs.


Thank you
User avatar
Devils Cheek
 
Posts: 3561
Joined: Sun Aug 13, 2006 10:24 pm

Post » Tue May 17, 2011 11:57 am

i noticed that the new unnecessary violence mod includes a function to add any shield to your back including mod added ones. does anyone know if anyone will be making a standalone mod that just does the shield on back option. i already use deadly reflex and that is just mainly for the occasional shield bash which i love.
User avatar
Mandi Norton
 
Posts: 3451
Joined: Tue Jan 30, 2007 2:43 pm

Post » Tue May 17, 2011 4:05 pm

It doesn't do shield on back - only hides your shield. It only does 'weapon on back' for off hand weapons. Once V1 of nifscript is out shields will be handled though.

You can configure UV to do ONLY this if you want though. It doesn't change your game in any way unless you let it, so there's no real need for a standalone.

HeX
User avatar
NO suckers In Here
 
Posts: 3449
Joined: Thu Jul 13, 2006 2:05 am

Post » Tue May 17, 2011 11:51 am

Could the functionality of this be upgraded to include armor? This is coming from someone who has never modded in Oblivion, so excuse me if anything here sounds very off...

What I mean is: I once saw this mod that allowed the player to increase the stats of their armor (so for example if someone preferred Ebony's look over Daedric, they could simply take a copy of Ebony armor and Daedric armor and 'combine' them. The Ebony armor would then be called Ebony Greaves + 1 and would have the stats of a pair of Daedric Greaves). This mod, unfortunately, only worked for Vanilla-added items.

So would it technically be possible to use NifScript to add the .nif of your currently worn armor to a dummy item with different stats, and then rename the item to the armor you want to become stronger? i.e. let's say I have a pair of blue gauntlets and green gauntlets, both are mod-added, and I see that the blue ones are stronger than the green ones. I prefer the look of t nessicary he green ones though, so I could do something and come out with green gauntlets (+1) which now has the same armor rating as the blue pair? Or was that a pure swing-and-a-miss?

This isn't an attempt of hijacking your thread, DW; I was just wondering hypothetically if such a feature is implemented in NifScript, then would my idea be possible? In any case, this has great potential (Unnecessary Violence wouldn't be much the same without it). I just hope this is put to the test and utilized. I appreciate all the work you've done, and thank you for it. Best of luck!
User avatar
Christina Trayler
 
Posts: 3434
Joined: Tue Nov 07, 2006 3:27 am

Post » Tue May 17, 2011 7:04 am

It doesn't do shield on back - only hides your shield. It only does 'weapon on back' for off hand weapons. Once V1 of nifscript is out shields will be handled though.

You can configure UV to do ONLY this if you want though. It doesn't change your game in any way unless you let it, so there's no real need for a standalone.

HeX



ok...cool ill give it a shot when it gets updated. :)
User avatar
KIng James
 
Posts: 3499
Joined: Wed Sep 26, 2007 2:54 pm

Post » Tue May 17, 2011 1:12 am

It doesn't do shield on back - only hides your shield. It only does 'weapon on back' for off hand weapons. Once V1 of nifscript is out shields will be handled though.

You can configure UV to do ONLY this if you want though. It doesn't change your game in any way unless you let it, so there's no real need for a standalone.

HeX

For the sake of completeness, NifScript v0.9 has an undocumented, untested function, NifGetBackShield, which might (if it works correctly) return a version of a shield mesh that appears on the back. I don't honestly even know what item slot it's even supposed to use, though.

Could the functionality of this be upgraded to include armor? This is coming from someone who has never modded in Oblivion, so excuse me if anything here sounds very off...

What I mean is: I once saw this mod that allowed the player to increase the stats of their armor (so for example if someone preferred Ebony's look over Daedric, they could simply take a copy of Ebony armor and Daedric armor and 'combine' them. The Ebony armor would then be called Ebony Greaves + 1 and would have the stats of a pair of Daedric Greaves). This mod, unfortunately, only worked for Vanilla-added items.

So would it technically be possible to use NifScript to add the .nif of your currently worn armor to a dummy item with different stats, and then rename the item to the armor you want to become stronger? i.e. let's say I have a pair of blue gauntlets and green gauntlets, both are mod-added, and I see that the blue ones are stronger than the green ones. I prefer the look of t nessicary he green ones though, so I could do something and come out with green gauntlets (+1) which now has the same armor rating as the blue pair? Or was that a pure swing-and-a-miss?

This isn't an attempt of hijacking your thread, DW; I was just wondering hypothetically if such a feature is implemented in NifScript, then would my idea be possible? In any case, this has great potential (Unnecessary Violence wouldn't be much the same without it). I just hope this is put to the test and utilized. I appreciate all the work you've done, and thank you for it. Best of luck!

That could be done with OBSE without NifScript, actually. Not a bad idea for a mod, as a matter of fact.

If you're interested, I'd be willing to give you some tips on how you could make a mod like that.
User avatar
Josh Dagreat
 
Posts: 3438
Joined: Fri Oct 19, 2007 3:07 am

Post » Tue May 17, 2011 2:05 am

Hmmm, I'm afraid I'll have to decline on your offer. As I said, I've no modding experience. In fact, the only experience I have with coding is a bit of knowledge with C and VB.NET (plus a small amount of knowledge about the Game Maker language when I was a kid). But thanks a bunch for the offer, and thanks a lot for sating my curiosity by answering.

Again, great job on this great utility; you deserve all the recognition you get for this.
User avatar
Destinyscharm
 
Posts: 3404
Joined: Sun Jul 23, 2006 6:06 pm

Post » Tue May 17, 2011 9:11 am

Could this eventually apply rotations to weapon models, so you could flip one upside down and maybe turn it with a script?
User avatar
Lance Vannortwick
 
Posts: 3479
Joined: Thu Sep 27, 2007 5:30 pm

Post » Tue May 17, 2011 1:38 pm

For the sake of completeness, NifScript v0.9 has an undocumented, untested function, NifGetBackShield, which might (if it works correctly) return a version of a shield mesh that appears on the back. I don't honestly even know what item slot it's even supposed to use, though.


Oh yeah remember you mentioning something about his before actually. I might have a play with it and see if it works. You never know ;)
User avatar
Calum Campbell
 
Posts: 3574
Joined: Tue Jul 10, 2007 7:55 am

Post » Tue May 17, 2011 2:56 pm

Could this eventually apply rotations to weapon models, so you could flip one upside down and maybe turn it with a script?


I believe that nif translation/rotation has always been on the intended features list. I hope one day to be able to use it to allow you to reverse your grip on a weapon or off hander and hold it in a stabby fashion.
User avatar
Mariana
 
Posts: 3426
Joined: Mon Jun 12, 2006 9:39 pm

Post » Tue May 17, 2011 4:13 am

Could this eventually apply rotations to weapon models, so you could flip one upside down and maybe turn it with a script?

Should be in v1.0. Pretty easy.
User avatar
KU Fint
 
Posts: 3402
Joined: Mon Dec 04, 2006 4:00 pm

Post » Tue May 17, 2011 2:19 pm

Should be in v1.0. Pretty easy.

:drool: I can see so many possible fun things to do with rotation and translation controls - be good for animating things. Will it be able to rotate specific ninodes/objects or just the scene root?
Pacific Morrowind
User avatar
ashleigh bryden
 
Posts: 3446
Joined: Thu Jun 29, 2006 5:43 am

Post » Tue May 17, 2011 3:01 am

The former is what I'd planned on doing.
User avatar
Deon Knight
 
Posts: 3363
Joined: Thu Sep 13, 2007 1:44 am

Post » Tue May 17, 2011 3:09 am

Just out of curiosity... well, I was always curious about this project since it started... how complex would it be to implement functionality to create new NIF files by "combining" NiNodes, NiTriStrips/Shapes from existing NIF files? You know, I always understood NifScript to one day or another do everything you usually do in NifSkope now ingame during runtime from scripts. And "merging" parts of NIFs to create new ones always was a key feature I used NifSkope for.

I haven't yet thought about in detail how to make use of it, but I remember I could have used such a function on quite many occasions already.

Consider this a theoretical question rather than a request, as I know it certainly will take way more effort than anything else.
I'm just playing around with some ideas, seeing how far you already got with this. :goodjob:
User avatar
Justin
 
Posts: 3409
Joined: Sun Sep 23, 2007 12:32 am

Post » Tue May 17, 2011 5:51 am

Yup, NS is already a wonderfully useful thing, that's only going to get more incredible :)

One slightly irritating caveat sadly is that the engine doesn't recognise and apply the updates on an actor unless you unequip/reequip the object in question or at least force a redraw in some way (this might be a candidate for an OBSE function, or even a NS one - NSForceRedraw?), which precludes a lot of the obvious animation type desires for now.

What the effect will be on non character actor-object nifs I don't know, but I'd guess they'll need to be disabled/reenabled at least to force a redraw.
User avatar
saxon
 
Posts: 3376
Joined: Wed Sep 19, 2007 2:45 am

Post » Tue May 17, 2011 10:36 am

Just out of curiosity... well, I was always curious about this project since it started... how complex would it be to implement functionality to create new NIF files by "combining" NiNodes, NiTriStrips/Shapes from existing NIF files? You know, I always understood NifScript to one day or another do everything you usually do in NifSkope now ingame during runtime from scripts. And "merging" parts of NIFs to create new ones always was a key feature I used NifSkope for.

I haven't yet thought about in detail how to make use of it, but I remember I could have used such a function on quite many occasions already.

Consider this a theoretical question rather than a request, as I know it certainly will take way more effort than anything else.
I'm just playing around with some ideas, seeing how far you already got with this. :goodjob:

Very much... hoped for. It should certainly be possible. We're a ways away from being able to do that, though. But it's very much something I want this to do.

Yup, NS is already a wonderfully useful thing, that's only going to get more incredible :)

One slightly irritating caveat sadly is that the engine doesn't recognise and apply the updates on an actor unless you unequip/reequip the object in question or at least force a redraw in some way (this might be a candidate for an OBSE function, or even a NS one - NSForceRedraw?), which precludes a lot of the obvious animation type desires for now.

What the effect will be on non character actor-object nifs I don't know, but I'd guess they'll need to be disabled/reenabled at least to force a redraw.

Disable/Enable is sufficient (and easy to use) for non-equipment. For non-weapons, un/re-equip will work just as well. It's weapons that cause the problems, because you are force to draw the weapon from your sheathe again, which looks really, really bad.

Redrawing a mesh has been requested for OBSE for a while, but Scruggs has no idea where such functionality might be found. If he comes across anything, I'm sure he'll expose it (at least, if testing on it shows that it is safe).



By the way: since HeX is going to be away for quite a while with RL stuff, and UV is the only mod that uses NifScript, I'll be working on ARES for a while, I think. I'll come back to NifScript after I get an initial release of ARES out.
User avatar
April
 
Posts: 3479
Joined: Tue Jun 20, 2006 1:33 am

Post » Tue May 17, 2011 8:32 am

By the way: since HeX is going to be away for quite a while with RL stuff, and UV is the only mod that uses NifScript, I'll be working on ARES for a while, I think. I'll come back to NifScript after I get an initial release of ARES out.


Sounds like a plan. I've kept you away from ARES for too long already :) Have fun with your bigger toy...
User avatar
Victoria Vasileva
 
Posts: 3340
Joined: Sat Jul 29, 2006 5:42 pm

Post » Tue May 17, 2011 3:50 pm

i noticed that the new unnecessary violence mod includes a function to add any shield to your back including mod added ones. does anyone know if anyone will be making a standalone mod that just does the shield on back option. i already use deadly reflex and that is just mainly for the occasional shield bash which i love.


Know one, because I made one: LP's Shield on Back


Until now it only works with Bethesda-Meshes, but I'll try this undocumented command.


@DW:
Is the syntax the same as the one in the test version you send me?
User avatar
Jessica Nash
 
Posts: 3424
Joined: Tue Dec 19, 2006 10:18 pm

Post » Tue May 17, 2011 6:57 am

A function request, DW, if you can - Changing the collision layer property ( not sure if I'm using the correct terminology ); as in "Setting the collision layer to OL_TRIGGER". Basically, what Phitt says in http://www.gamesas.com/bgsforums/index.php?showtopic=977097&hl=. Is such a function possible to implement ?
User avatar
quinnnn
 
Posts: 3503
Joined: Sat Mar 03, 2007 1:11 pm

Post » Tue May 17, 2011 2:41 pm

@DW:
Is the syntax the same as the one in the test version you send me?


Still a point of interest. ;)


New Stuff:
When are you planning to delete the created Meshes?


I'd vote for At every GameStart/Load (in that order), because it's easy to check for as the Scripter using GetGameRestarted/Loaded.
Any other solution won't be a problem won't be a problem because we have http://www.obse.silverlock.org/obse_command_doc.html#FileExists, but I'd prefer the ones mentioned above. This way I could recreate all of them at one time. ;)

Or maybe you implement a AreMeshesDeleted-Function (just like IsPluggyDataReset for Pluggy). :chaos:
User avatar
Jack Moves
 
Posts: 3367
Joined: Wed Jun 27, 2007 7:51 am

Post » Tue May 17, 2011 1:33 pm

Know one, because I made one: LP's Shield on Back


Until now it only works with Bethesda-Meshes, but I'll try this undocumented command.

@DW:
Is the syntax the same as the one in the test version you send me?

Ah, it is the same command I sent you. I haven't touched it since. Did it work when I sent it to you?

A function request, DW, if you can - Changing the collision layer property ( not sure if I'm using the correct terminology ); as in "Setting the collision layer to OL_TRIGGER". Basically, what Phitt says in http://www.gamesas.com/bgsforums/index.php?showtopic=977097&hl=. Is such a function possible to implement ?

Quite probably. But it looks somewhat like it's a no-go from that thread?

At any rate, since there are a bunch of requests in that direction, after I get v1.0 out, I'll look into collision stuffs.

New Stuff:
When are you planning to delete the created Meshes?

I'd vote for At every GameStart/Load (in that order), because it's easy to check for as the Scripter using GetGameRestarted/Loaded.
Any other solution won't be a problem won't be a problem because we have http://www.obse.silverlock.org/obse_command_doc.html#FileExists, but I'd prefer the ones mentioned above. This way I could recreate all of them at one time. ;)

Or maybe you implement a AreMeshesDeleted-Function (just like IsPluggyDataReset for Pluggy). :chaos:

Hehehe, this is the sweet bit. I delete meshes "when Oblivion is done with them". Similarly, I create the meshes "when Oblivion needs them". Scruggs set up an awesome system for me where I can tell when either of those events has occurred, and create or delete the mesh as necessary. Therefore, the mesh will only exist for as long as Oblivion needs it. If I understand correctly, it only needs the file when the mesh is being loaded - once it is loaded, I'll delete it. I'll write it anew if Oblivion informs me that it needs to reload it.

Performance issues may come into play here, though. If I find that I'm writing/deleting too often and it's having a negative influence on performance, I'll just write them when Oblivion asks for them, and delete them when the player quits (or reloads, since I'll have to delete them and then re-write them with the save game's version to make sure that changes that happened since the save that's being loaded don't incorrectly persist).

At any rate, you won't ever have to worry about it. The meshes will exist when you need them.
User avatar
Steven Nicholson
 
Posts: 3468
Joined: Mon Jun 18, 2007 1:24 pm

PreviousNext

Return to IV - Oblivion