Jump to content

Fallout New Vegas GECK & Scripting Help 101


Recommended Posts

Posted

Can anyone help me with DLC leveled lists? I don't know what's going on with them, for whatever reason when I try to add weapons to enemies through scripts, nothing appears to be happening. I was mainly using the White Legs, Marked Men and lobotomites, but I'm also using Point Lookout's smugglers. I've been spawning those enemies, and they don't appear to be getting the weapons. 

 

Do these lists function differently or something?

Posted

Can anyone help me with DLC leveled lists? I don't know what's going on with them, for whatever reason when I try to add weapons to enemies through scripts, nothing appears to be happening. I was mainly using the White Legs, Marked Men and lobotomites, but I'm also using Point Lookout's smugglers. I've been spawning those enemies, and they don't appear to be getting the weapons. 

 

Do these lists function differently or something?

Are you perhaps adding them too early in startup? I know a lot of things aren't ready in the first 10 seconds of the game. The lists may not exist yet when you try adding them on the first scan.

Posted

I did have that issue but not with those particular lists. I did add them later on to test, and still they came up with nothing. Maybe I should start doing the adding when the DLCs start? I am using TTW I don't know if that means that those lists will be disabled until I step into new vegas. I had some MessageEx scattered around my script to inform me of when something was being added, the lists did show up, but that might not matter if they are disabled. 

Posted

I did have that issue but not with those particular lists. I did add them later on to test, and still they came up with nothing. Maybe I should start doing the adding when the DLCs start? I am using TTW I don't know if that means that those lists will be disabled until I step into new vegas. I had some MessageEx scattered around my script to inform me of when something was being added, the lists did show up, but that might not matter if they are disabled.

Look up FNVEdit perhaps and see if TTW is overwriting those lists perhaps, I'm not sure if you add something by script and TTW overwrites the list with it's own version, maybe the script written stuff gets wiped?
Posted

No, they're not overwritten, I checked for that. The only ones it overwrites are Fallout 3 lists, but that was not an issue. Maybe its the same deal with those lists, as in they're not enabled until the player is at those areas, I can post some of them and see if anyone has used them before. 

 

Some of them are: 

NVDLC02WeaponsWhiteLegStormDrummerGuns 

NVDLC03LobotomiteWeapon

NVDLC04MarkedMenHunterTier4RangeWeapons 

 

 

Posted

There is no "enabled" or "disabled" for lists. Likely what's happening is when the DLC starts up, it clears the list and then refills it. If you modify it before this, your modifications are lost.

 

Right click one of the lists in the GECK with your full load order active and search for usage, you may find a script clearing it out and can then come up with a way to ensure your script doesn't run until after that one via a quest var it sets or something.

Posted

NVM, I know why it doesn't work and it had nothing to do with a script. Apparently those leveled lists don't calculate from the PC's level, and because of that they do not spawn with the weapons. That's for White Legs and Lobotomites at least. 

Posted

Could anyone clarify the purpose/usage of the following NVSE functions. They are were added by NVSE 3.1, and I think the only documentation is in whats_new.txt:

 

 

 

 


3 alpha 01
New functions:

......

"Token" functions: A token is an Item that can only be present once in inventory, and must allow Health and Ownership. Most likely created from an Armor with no biped slot so it can't be equipped.
    GetTokenValue, GetTV
        Get the value of a token [Odessa: value in terms of caps?]
        
    SetTokenValue, SetTV
        Add or modify the value of a token [Odessa: " ]
        
    GetTokenRef, GetTR
        Get the referenece of a token [Odessa: ???]
        
    SetTokenRef, SetTR
        Add or modify the reference of a token [Odessa: ??!?]
        
    SetTokenValueAndRef, SetTVR
        Add or modify both the value and the reference of a token [Odessa: ??!!??]

 

        
    GetPaired
        Detects if ref and actor cross references each other (through item ownership). Usage for thinks like is familly member, is partner of where there maybe multiple instances (n n links)

 


      

From testing in the GECK, GetPaired is called on a reference with a inventory baseform and another reference as arguments: eg

 

SunnyREF.GetPaired Weap10mmPistol, TrudyREF

and... returns 0 whenever I've tested it.

 

I have no idea what the token functions are for.

Posted

A token is an inventory object that can hold two arbitrary values. A reference and a float. There can only be at most one token in an NPC inventory at any time.

This was an attempt at making extended values of any type attached to actors.

 

Tokens are paired if the first one reference the second one and the second one reference the first. The idea was to record relationship like who is married to whom.

 

 

Posted

Can someone help me spot an error in my script? I'm trying to use a loop to add a bunch of weapons into form lists without having to spam ListAddForm. I've checked in game to see that nothing unusual gets added but after spending like 30 minutes waiting for everything to be added to every list I saw nothing. I checked to see if it was anything in the form lists but still nothing, everything looks like it should but I still end up getting a CTD. 

 

 

 

scn WotnMFormListQuestScript 

array_var WeaponLists 
array_var FormLists
array_var Weapons
array_var Entry

ref refList 
ref refWeaponList
ref refWeapon
int bUpdate
int iCounter

Begin GameMode  

	If (bUpdate == 0)
		Let WeaponLists := ListToArray WotnMForms     ;this array has 10 elements
		Let FormLists := ListToArray WotnMFormLists	   ;this array also has 10 elements 

		While (iCounter != 9)												;this loop iterates iterates through weapon lists and form lists in order to select each element accordingly
			Let refWeaponList := WeaponLists[iCounter]
			Let refList := FormLists[iCounter]
			Let Weapons := ListToArray refWeaponList
			ForEach Entry <- Weapons                                       ;each element in the array weapons is selected and added to the list which is assigned to refList 
				Let refWeapon := Entry["value"]
				ListAddForm refWeapon refList 
			Loop 
			Let iCounter += 1
		Loop 	
		Let bUpdate := 1
	EndIf
	
	If (GetGameRestarted == 1 || GetGameLoaded == 1)        ;If the game is restarted or another save is loaded, the counter is reset as well as bUpdate, in order to add the forms again, due to ListAddForm not causing permanent changes 
		Let iCounter := 0
		Let bUpdate := 0
	EndIf 
End 

 

 

Posted

Its taken a while, but I've now documented every function in NVSE 4.5.6 on the GECK wiki. This is the most accurate and comprehensive NVSE documentation available. Sources: obse docs, nvse_whatsnew, gribbleshnibbit, this forum and GECK testing.

Posted

Regarding crime..... :blush:

 

Say I have an NPC that is going to be in the same cell as the player. The player tries to pickpocket and fails. Is there a way to reset things so the player can pickpocket this NPC again?

 

The idea being, after a day has passed the player can try to pickpocket again. It would appear things only reset normally if the player is not in the same cell as the NPC in question. :dodgy:

Posted

Regarding crime..... :blush:

 

Say I have an NPC that is going to be in the same cell as the player. The player tries to pickpocket and fails. Is there a way to reset things so the player can pickpocket this NPC again?

 

The idea being, after a day has passed the player can try to pickpocket again. It would appear things only reset normally if the player is not in the same cell as the NPC in question. :dodgy:

 

I thought that alerts cool off in 3 game days?

 

Posted

Regardin Is there a way to reset things so the player can pickpocket this NPC again?

 

Disable / Enable does the trick, if it's viable for you

Posted

 

Regarding crime..... :blush:

 

Say I have an NPC that is going to be in the same cell as the player. The player tries to pickpocket and fails. Is there a way to reset things so the player can pickpocket this NPC again?

 

The idea being, after a day has passed the player can try to pickpocket again. It would appear things only reset normally if the player is not in the same cell as the NPC in question. :dodgy:

 

I thought that alerts cool off in 3 game days?

 

 

 

So did I. But apparently not if the player is in the same cell as the NPC for those 3 days.

 

 

Regardin Is there a way to reset things so the player can pickpocket this NPC again?

 

Disable / Enable does the trick, if it's viable for you

 

 

I'll give that a try. Maybe  can blink the NPC in and out of existence briefly. Thanks! :angel:

 

Posted

I'm trying to make a compatibility patch between ST Robot Race and Project Nevada, adding the PN Enhanced Vision modes to the robot by default (Would make sense that a robot has Night, Heat, and EM vision modes built-in, right?). The way the race works, the head is technically a helmet and the robot has no actual head, so I'm trying to add the vision modes to the head. I'm following the PN modders guide (https://docs.google.com/document/d/1FPIuZGoh5acg433cywGo1vi1dNFTJPXG6rNRgzCUoyc/edit?hl=en&authkey=CNicvuIF&pli=1#), trying to add it via script, but the script won't save.

 

Following their example text, here's the script I wrote:

 

scn 000STPNRoboVisonScript

Begin GameMode

if getGameRestarted == 0
return
endif

listAddForm PNxCVisionModeNightList STRobotHead
listAddForm PNxCVisionModeHeatList STRobotHead
listAddForm PNxCVisionModeEMList STRobotHead

listAddForm PNxCScannerList STRobotHead

; Refresh visor script to register any changes
set PNxCVisorMain.update to 1

return

End

 

 

I'm using NVSE GECK as the guide requires.I made the quest first, as it shows in the example. Where am I going wrong?

Posted

I'm trying to make a compatibility patch between ST Robot Race and Project Nevada, adding the PN Enhanced Vision modes to the robot by default (Would make sense that a robot has Night, Heat, and EM vision modes built-in, right?). The way the race works, the head is technically a helmet and the robot has no actual head, so I'm trying to add the vision modes to the head. I'm following the PN modders guide (https://docs.google.com/document/d/1FPIuZGoh5acg433cywGo1vi1dNFTJPXG6rNRgzCUoyc/edit?hl=en&authkey=CNicvuIF&pli=1#), trying to add it via script, but the script won't save.

 

Following their example text, here's the script I wrote:

 

scn 000STPNRoboVisonScript

 

Begin GameMode

 

if getGameRestarted == 0

return

endif

 

listAddForm PNxCVisionModeNightList STRobotHead

listAddForm PNxCVisionModeHeatList STRobotHead

listAddForm PNxCVisionModeEMList STRobotHead

 

listAddForm PNxCScannerList STRobotHead

 

; Refresh visor script to register any changes

set PNxCVisorMain.update to 1

 

return

 

End

 

 

I'm using NVSE GECK as the guide requires.I made the quest first, as it shows in the example. Where am I going wrong?

You need GECK powerup to see error messages, but you also need to start it from a different link to the GECK.exe, it's in the OP here.

Posted

I used the links in the OP, installed per instructions, and tried to make my plugin again. Script still refuses to save with no error message as to why. I'm ready to throw up my hands and say nevermind.

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...