[WIPz] New Vegas Script Extender (NVSE)

Post » Tue May 04, 2010 6:35 pm

Do you guys have any ETA on this? How many patches will you "wait out" so to speak?
User avatar
El Khatiri
 
Posts: 3568
Joined: Sat Sep 01, 2007 2:43 am

Post » Tue May 04, 2010 9:46 pm

When you say "holding" do you mean in the player's inventory? Or in the player's hands?

At least with Fallout 3 we found a global list of all objects. In theory, we could expose functions to walk down just the weapons or ammo in that list, returning each object form. From that point you could modify the base form and weight would adjust accordingly. However, I am not sure that we would ever expose the functions to walk over everything. It seems somewhat dangerous. That was the decision we came to a year or so ago for F3. I would need to talk to Ian about it, and also find the data again before we could do that.


Thank you very much for the response.
I meant holding as in the players inventory...
Though if it were possible to double the weight of weapons and ammo that would be all I need for the mod I am working on and counting how many guns the player has in his inventory would not be necessary at that point.
If it can be possible to do this by modifying a single variable I think that would be ideal especially since it would allow people to add new weapons and ammo they would be fully supported with minimal hassle. I think this would be the cleanest implementation imo.
Though I am not aware of technical limitations or how expensive something like this would be or what kinds of problems it could pose.

Let me know what you decide :)
User avatar
jesse villaneda
 
Posts: 3359
Joined: Wed Aug 08, 2007 1:37 pm

Post » Wed May 05, 2010 6:12 am

A way to get the currently-equipped ammunition (and get/set the number of rounds in the current magazine) would be great, as well as a way to get a list of the currently equipped weapon's possible ammunition types.

I'll look for the ammunition type data. I know we had some difficulties tracking the current rounds in the early days of FOSE (as it seems to be a value stashed away somewhere - perhaps just in the interface.) I'll need to re-examine what I was doing in FOSE to track this.

Do you guys have any ETA on this? How many patches will you "wait out" so to speak?

I expect that we'll release a beta sometime next week. Ian is pretty slammed at work until Monday, and quite a bit of the "cooler" functionality needs his special touch. I'm thinking specifically about script loops (Label/Goto). I can pound away at the data type decoding and building functions around those in the meantime. I still don't have a good feel for exactly how big v1 will be. It really depends on how much I get done.

Thank you very much for the response.
I meant holding as in the players inventory...
Though if it were possible to double the weight of weapons and ammo that would be all I need for the mod I am working on and counting how many guns the player has in his inventory would not be necessary at that point.
If it can be possible to do this by modifying a single variable I think that would be ideal especially since it would allow people to add new weapons and ammo they would be fully supported with minimal hassle. I think this would be the cleanest implementation imo.
Though I am not aware of technical limitations or how expensive something like this would be or what kinds of problems it could pose.

Let me know what you decide :)

There is not a single variable managing the weight of items. Each base object type (weapon, armor etc) has an individual weight shared by all objects of that type. The only way to adjust all of these is to either manually change them in the mods (the most common way to do it) or to somehow iterate over all of the types and do it in code. To do the latter requires exposing the list of all base types found in the game for the modder to adjust. The "danger" of doing that really falls into two categories: performance hit whenever this work needs to be done (on game start and perhaps reload), and the danger of having a mod overwrite the values of objects from other mods, which could cause problems or adjust the mods in ways not intended. So really it is problems of performance and compatibility.
User avatar
courtnay
 
Posts: 3412
Joined: Sun Nov 05, 2006 8:49 pm

Post » Tue May 04, 2010 8:30 pm

There is not a single variable managing the weight of items. Each base object type (weapon, armor etc) has an individual weight shared by all objects of that type. The only way to adjust all of these is to either manually change them in the mods (the most common way to do it) or to somehow iterate over all of the types and do it in code. To do the latter requires exposing the list of all base types found in the game for the modder to adjust. The "danger" of doing that really falls into two categories: performance hit whenever this work needs to be done (on game start and perhaps reload), and the danger of having a mod overwrite the values of objects from other mods, which could cause problems or adjust the mods in ways not intended. So really it is problems of performance and compatibility.


Hmm
So in your opinion it will be best for me to manually edit every weapons weight with an optional esp?

wish there was a programmatic solution :(
User avatar
djimi
 
Posts: 3519
Joined: Mon Oct 23, 2006 6:44 am

Post » Wed May 05, 2010 3:34 am

The other option would be to just lower the player's carrying capacity. I realize you're trying to single out weapons, but the underlying problem is that it's pretty unrealistic to have someone running around with 300 lbs. keystered (though Arwen's Tweaks already has a pretty elaborate mechanism for doing so, or did for FO3 anyway).
User avatar
kelly thomson
 
Posts: 3380
Joined: Thu Jun 22, 2006 12:18 pm

Post » Wed May 05, 2010 3:59 am

The other option would be to just lower the player's carrying capacity. I realize you're trying to single out weapons, but the underlying problem is that it's pretty unrealistic to have someone running around with 300 lbs. keystered (though Arwen's Tweaks already has a pretty elaborate mechanism for doing so, or did for FO3 anyway).


Yeah I considered this too but the goal is to limit weapons only and not touch other things. For me the imbalance is not so much the large carrying capacity it is the one man arsenal I want to address.
The other solution I can think of is to count the number of weapons the player has and work a script around that. hmm

Just attempting to find the cleanest possible way to do this. A global all weapons/ammo are simply twice as heavy variable would most likely get the job done.
But I don't want to make the game run slower or be less stable either..
User avatar
~Sylvia~
 
Posts: 3474
Joined: Thu Dec 28, 2006 5:19 am

Post » Tue May 04, 2010 11:16 pm

Yeah I considered this too but the goal is to limit weapons only and not touch other things. For me the imbalance is not so much the large carrying capacity it is the one man arsenal I want to address.
The other solution I can think of is to count the number of weapons the player has and work a script around that. hmm

Just attempting to find the cleanest possible way to do this. A global all weapons/ammo are simply twice as heavy variable would most likely get the job done.
But I don't want to make the game run slower or be less stable either..

I think reducing the number of weapons the character can carry is a pretty clean way to go. To do that you'll need to wait for the NVSE inventory walking functions (at least GetNumItems and GetInventoryObject are already implemented.) You can look at each object, see if it is a weapon and how many are there. You can look at the type of weapon as well (1h vs 2h) and build a limit perhaps. Something like 5-6 points of weapons overall, where a 1h weapon is 1-2 points and a 2h weapon is 2-3. (Adjust numbers as you like.) You could then pop a dialog when you discover the user has more and ask them to drop some. This would stop any player from having 10 pistols and 5 rifles, but still gives reasonable flexibility. Of course things like pack brahmin or backpack mods (which move items out of the general inventory) could be used to get around it.

Or you could work with someone doing a weapon balance mod and suggest a heavyweight version which adjusts each weapon weight directly.
User avatar
Far'ed K.G.h.m
 
Posts: 3464
Joined: Sat Jul 14, 2007 11:03 pm

Post » Tue May 04, 2010 11:21 pm

I think reducing the number of weapons the character can carry is a pretty clean way to go. To do that you'll need to wait for the NVSE inventory walking functions (at least GetNumItems and GetInventoryObject are already implemented.) You can look at each object, see if it is a weapon and how many are there. You can look at the type of weapon as well (1h vs 2h) and build a limit perhaps. Something like 5-6 points of weapons overall, where a 1h weapon is 1-2 points and a 2h weapon is 2-3. (Adjust numbers as you like.) You could then pop a dialog when you discover the user has more and ask them to drop some. This would stop any player from having 10 pistols and 5 rifles, but still gives reasonable flexibility. Of course things like pack brahmin or backpack mods (which move items out of the general inventory) could be used to get around it.

Or you could work with someone doing a weapon balance mod and suggest a heavyweight version which adjusts each weapon weight directly.


Thanks for the tips/info!
If its possible for me to run a check like you say that seems like it is easily the best way to go.
Maybe I can do a hand system of some sort where you can carry 6 hands worth of weapons. 1 handed weapons count as 1 hand and 2 handed weapons count as 2 hands. Go over 6 hands worth of weapons and it gives a simple status penalty. Think that can work with the given environment? I think it seems pretty simple to understand and running the check every few seconds when not in menu mode might be feasible.

looking forward to NVSE :)
User avatar
IsAiah AkA figgy
 
Posts: 3398
Joined: Tue Oct 09, 2007 7:43 am

Post » Wed May 05, 2010 5:46 am

Thanks for the tips/info!
If its possible for me to run a check like you say that seems like it is easily the best way to go.
Maybe I can do a hand system of some sort where you can carry 6 hands worth of weapons. 1 handed weapons count as 1 hand and 2 handed weapons count as 2 hands. Go over 6 hands worth of weapons and it gives a simple status penalty. Think that can work with the given environment? I think it seems pretty simple to understand and running the check every few seconds when not in menu mode might be feasible.

looking forward to NVSE :)

That would be quite easy. You could manage the penalty with an actor effect (or series of actor effects) and adjust accordingly. Walking the PC's inventory and doing this would be extremely fast and could be done often (every second or five.) I think you'll have the ability to do this with the functionality I have currently set for v1. I'll double check. (Perhaps I will build a similar script for testing. I could test quite a few functions that way.)
User avatar
Joanne Crump
 
Posts: 3457
Joined: Sat Jul 22, 2006 9:44 am

Post » Tue May 04, 2010 7:06 pm

Is it possible to have some kind of function that would allow the player to face the direction he is moving to (in 3rd person view) but still show the move forward animation when moving forward diagonally and the opposite when moving backwards diagonally? Or is it already there?
User avatar
renee Duhamel
 
Posts: 3371
Joined: Thu Dec 14, 2006 9:12 am

Post » Wed May 05, 2010 2:14 am

That would be quite easy. You could manage the penalty with an actor effect (or series of actor effects) and adjust accordingly. Walking the PC's inventory and doing this would be extremely fast and could be done often (every second or five.) I think you'll have the ability to do this with the functionality I have currently set for v1. I'll double check. (Perhaps I will build a similar script for testing. I could test quite a few functions that way.)


Awsome!

Now I just need a clever name for the 6 hands weapon limit.... hmm
User avatar
Kat Ives
 
Posts: 3408
Joined: Tue Aug 28, 2007 2:11 pm

Post » Wed May 05, 2010 3:43 am

I may be totally dumb, but for an alternate start role-player mod I was working on for FO3 I couldn't find a single method to retrieve the player's name. I could bring up the player set name dialog but that value was completely gone. I, too, would kill for a string variable tool. Perhaps, and this might be too much, but integration of a sqlite3 database or some persistent key/value pair database or hashmap would be great. It could allow safer inter-mod relationships and understanding. If a string var tool existed it would also allow the user to register their mods and their respective versions so other modders could play nicely.
User avatar
Alister Scott
 
Posts: 3441
Joined: Sun Jul 29, 2007 2:56 am

Post » Wed May 05, 2010 1:07 am

I may be totally dumb, but for an alternate start role-player mod I was working on for FO3 I couldn't find a single method to retrieve the player's name. I could bring up the player set name dialog but that value was completely gone. I, too, would kill for a string variable tool. Perhaps, and this might be too much, but integration of a sqlite3 database or some persistent key/value pair database or hashmap would be great. It could allow safer inter-mod relationships and understanding. If a string var tool existed it would also allow the user to register their mods and their respective versions so other modders could play nicely.

OBSE has a series of additional features include persistent string and array types. Those features will be ported over to NVSE, but exactly when that will happen is uncertain. Right now I am working through as many of the basic functions that I can. Once those are in place (mostly because they are easier to do) we can look at the persistent data types and the corresponding co-save files.
User avatar
Bonnie Clyde
 
Posts: 3409
Joined: Thu Jun 22, 2006 10:02 pm

Post » Wed May 05, 2010 4:20 am

Oh great. Fantastic to know you guys have plans for a script extender for new vegas. It will be sweet again. :)

The things i personly would like to see have already been covered, though I'll mention them as well. Personly i really want keypress controls.
User avatar
Chris BEvan
 
Posts: 3359
Joined: Mon Jul 02, 2007 4:40 pm

Post » Tue May 04, 2010 10:17 pm

Oh great. Fantastic to know you guys have plans for a script extender for new vegas. It will be sweet again. :)

The things i personly would like to see have already been covered, though I'll mention them as well. Personly i really want keypress controls.

You'll get your wish. I just implemented them this evening. :D
User avatar
helliehexx
 
Posts: 3477
Joined: Fri Jun 30, 2006 7:45 pm

Post » Wed May 05, 2010 9:30 am

You'll get your wish. I just implemented them this evening. :D


Oeeeh ... Can't wait. Then i can recreate my nightvision goggles. Cause they ain't the same without fose. (nwse) ;)

Again ... Thanks for this.
User avatar
Beth Belcher
 
Posts: 3393
Joined: Tue Jun 13, 2006 1:39 pm

Post » Wed May 05, 2010 6:14 am

Hey guys. Glad to see this taking off, I can't wait. In the meantime, do you know how we'll launch NVSE? I wanted to go ahead and add NVSE launch support to NVCMU. So do we need to pass any arguments at command line for FalloutNV.exe or Steam.exe or is it just automatically loaded at start now?
User avatar
Luis Longoria
 
Posts: 3323
Joined: Fri Sep 07, 2007 1:21 am

Post » Tue May 04, 2010 10:24 pm

Hey guys. Glad to see this taking off, I can't wait. In the meantime, do you know how we'll launch NVSE? I wanted to go ahead and add NVSE launch support to NVCMU. So do we need to pass any arguments at command line for FalloutNV.exe or Steam.exe or is it just automatically loaded at start now?

Steam will automatically load NVSE if it is found. That is the support we needed from Valve to make it work properly.
User avatar
sunny lovett
 
Posts: 3388
Joined: Thu Dec 07, 2006 4:59 am

Post » Wed May 05, 2010 4:11 am

Is it possible to get a Get/Set current ammo in weapon? For example, an SR has used up 10 of it's 30 rounds, so GetCurrentAmountAmmo would show 20.

I'm sure there are some great uses for this :)
User avatar
Sophie Miller
 
Posts: 3300
Joined: Sun Jun 18, 2006 12:35 am

Post » Wed May 05, 2010 12:10 am

Is it possible to get a Get/Set current ammo in weapon? For example, an SR has used up 10 of it's 30 rounds, so GetCurrentAmountAmmo would show 20.

I'm sure there are some great uses for this :)

In FOSE we could Get/Set the ammo being used (by objectid) and get/set the number of bullets used each time the weapon fired. I've also decoded the clipsize for each weapon. I have the Get functions in place for NVSE, and I can easily port over the set functions today.

I remember (vaguely) that the current amount of ammo in a clip isn't part of the weapon, but seems to be slung off of the interface element that reports it. We had trouble with this in the early FOSE days, and I don't remember whether I got it licked or not. I certainly never exposed the information about it in functions. I'll see what I can do.
User avatar
Isabell Hoffmann
 
Posts: 3463
Joined: Wed Apr 18, 2007 11:34 pm

Post » Wed May 05, 2010 4:36 am

NV has a couple new perk entry points:
Modify Attack Speed
Calculate Gun Spread
Equip Speed

Would it be possible to get functions to modify those via scripts? The setweapon functions aren't particularly useful in that regard since they affect all weapons of the base form (atleast if I remember correctly)
User avatar
Laura-Lee Gerwing
 
Posts: 3363
Joined: Fri Jan 12, 2007 12:46 am

Post » Wed May 05, 2010 10:41 am

NV has a couple new perk entry points:
Modify Attack Speed
Calculate Gun Spread
Equip Speed

Would it be possible to get functions to modify those via scripts? The setweapon functions aren't particularly useful in that regard since they affect all weapons of the base form (atleast if I remember correctly)

I will look into these and see how they function. The SetWeaponXXX functions do change the base weapon (which affects all instances). Perhaps the perks don't change the weapons, but instead are applied in the calculations? With the modifications you can make to weapons they may also be dealing with cloned forms again that persist (hopefully.) If that is the case, then you could use CloneForm to create a new base object that you could modify directly. These are high on my priority list to investigate once I get the basics in place. Not sure whether that will happen for v1 or not.

Edit: Now that I think about it, the Modify attack speed and equip speed probably introduce new multipliers on a character or in Extra forms. They are probably a float which is multiplied in as part of the calculation. So if we can find these floats, we can probably make the adjustments you want. I'll have to look at the specifics of the Perks in the GECK.
User avatar
Kayla Keizer
 
Posts: 3357
Joined: Tue Dec 12, 2006 4:31 pm

Post » Wed May 05, 2010 3:20 am

Would it be ideal to add some network/socket control through the GECK scripting? i once planned it all out, and while it is possible , the scripter would be passing in numbers that correspond to some list of packet types.

I suppose i could do it myself. if i must ( i probably won't), is the third party plugins just as easy to make this time around?
User avatar
Kristian Perez
 
Posts: 3365
Joined: Thu Aug 23, 2007 3:03 am

Post » Wed May 05, 2010 9:06 am

Would it be ideal to add some network/socket control through the GECK scripting? i once planned it all out, and while it is possible , the scripter would be passing in numbers that correspond to some list of packet types.

I suppose i could do it myself. if i must ( i probably won't), is the third party plugins just as easy to make this time around?

What is the point of the network/socket control? What are you trying to accomplish?

Also we will be adding plugin support for NVSE, hopefully with the first version.
User avatar
MatthewJontully
 
Posts: 3517
Joined: Thu Mar 08, 2007 9:33 am

Post » Tue May 04, 2010 8:13 pm

IsInAir
IsPlayerMovingForward/Backward/Left/Right
IsKeypressed functions
Tap/Hold/HammerKey functions
Tap/Hold/HammerControl functions
GetFirstRef/GetNextRef
While/Loop
GetEquippedItem
User avatar
^~LIL B0NE5~^
 
Posts: 3449
Joined: Wed Oct 31, 2007 12:38 pm

PreviousNext

Return to Fallout: New Vegas