Jump to content

Ez0n3

Members
  • Posts

    202
  • Joined

  • Last visited

Nexus Mods Profile

About Ez0n3

Profile Fields

  • Country
    United States
  • Favourite Game
    Fallout of course

Ez0n3's Achievements

Collaborator

Collaborator (7/14)

  • Week One Done
  • One Month Later
  • One Year In
  • First Post
  • Collaborator Rare

Recent Badges

0

Reputation

  1. Ahh ok, still getting the hang of arrays - I haven't needed them much in the past x) ty
  2. I ended up using the array of aliases, but another option I found that might interest some would be to store the ref data onto the RefCollectionAlias script. The main reason I didn't want to do this was it would require x amount of "Potion" properties, x amount of whatever else I want to store. I could make them into arrays (array of Potion, array of Armor, etc), but it gets really hairy after many are added. But if necessary, what could be done is have an array of a structure in the RefCollectionAlias script. But that would need to be kept in sync with the collection. Something like: Scriptname myRefCollectionAliasScript extends RefCollectionAlias Struct RefData ObjectReference myObjRef = None Potion myFavFood = None bool myBool = False int myInt = 0 float myFloat = 0.0 EndStruct RefData[] Property ObjRefData Auto ObjRefData = new RefData[GetSizeOfCollection()] if ref not in collection find next free index ObjRefData[index].myObjRef = theRef ObjRefData[index].myFavFood = NukaCola get this refs fav food find this ref == ObjRefData[index].myObjRef return ObjRefData[index].myFavFoodSomething like that. But that's a bit over what I need. It might help someone else though :wink:
  3. I had forgotten about ActorValue, that would probably work for the actors. Ty :smile: Ya, there are not that many, so for non actors, I will turn a bunch of separate alias's into an array. I had all the add/rem/getat etc stuff already in functions, so I have been messing with swapping the collection with an array of aliases for non actors. Thanks very much for the suggestions :smile:
  4. Oh, ya I mean what I have on the collection is a script like: Scriptname myRefCollectionAliasScript extends RefCollectionAlias Potion Property myFavFood Auto ; i think this is a single instance that all refs in the collection share?If say Ref01 sets "myFavFood" to "NukaCola" and then later, Ref02 sets "myFavFood" to "Whiskey", Ref03 sets "myFavFood" to "Jet". I think no matter where you pull it from, it would be the last one set? I'll have to try, I thought all refs in the collection shared a single instance of RefCollectionAlias script. IE: Later if I check what their fav food is, I want to get: Ref01 myFavFood = NukaCola Ref02 myFavFood = Whiskey Ref03 myFavFood = Jet If they all share a single instance, it would always get the last one set for all refs? It would be: Ref01 myFavFood = Jet Ref02 myFavFood = Jet Ref03 myFavFood = Jet Pretty sure, I will have to triple check x) What I thought you meant was add both scripts to the collection script field: myRefCollectionAliasScript ActorExtensionScript And then try to do: ActorExtensionScript myActoreRef = myAliasActors.GetAt(aiIndex) as ActorExtensionScriptWhich required me to check "Incompatible" in-order to add ActorExtensionScript to the collection as well as the RefCollectionAlias script.
  5. Hmm, I'll have to poke at it some more. If say I attach this script to the collection: Scriptname ActorExtensionScript extends Actor int Function Test() return 500 EndFunctionAnd then in the quest I do something like this: ActorExtensionScript myActoreRef = myAliasActors.GetAt(aiIndex) as ActorExtensionScript int i = myActoreRef.Test() Debug.Notification("Test="+ i)The script will compile, but the in-game result of "Test()" is always "0". The function resolves at compile, but at runtime, I get nothing. :/ I'll try a few more things, thanks for the info. PS: I also tried something like: myAliasActors.AddRef(akActorRef as ActorExtensionScript)Which compiles also, but at runtime, it refuses to add the "ref as ActorExtensionScript" to the collection. The collection is always size "0". But it gets added if i just do it normally: .AddRef(akActorRef)
  6. Is there any way to save custom data to each ref/alias in a RefCollectionAlias? For instance, a RefCollectionAlias full of Actor Refs. Each Ref is already in the vanilla game and I don't want to edit them. But what I would like to do is store a bit of data for each ref while it's in the alias. After it is removed, I don't care what happens to it. RefCollectionAlias Property myAliasActors Auto ; To Add myAliasActors.AddRef(akActorRef) ; To Remove myAliasActors.RemoveRef(akActorRef) ; To Find myAliasActors.Find(akActorRef) ; To Get at Index myAliasActors.GetAt(aiIndex)How would I go about saving a custom Property such as "Potion myFavFood" to each alias in the collection? IE: While they're in the collection, I can set and get their "myFavFood". But after they're removed from the collection, it gets wiped. While they're in the RefCollectionAlias, I would like to be able to do something like: Actor myActoreRef = myAliasActors.GetAt(aiIndex) as Actor myActoreRef.myFavFood = NukaColaSo somewhere, I need to have: Potion Property myFavFood AutoThis is where I'm stumped. I have a script attached to the RefCollectionAlias, but I can't seem to get at each alias separately - only the Refs. I tried casting the Actor Ref in the collection to a new type which has the property like: Scriptname ActorExtensionScript extends Actor Potion Property myFavFood AutoIn-order to be able to call it like: ActorExtensionScript myActoreRef = myAliasActors.GetAt(aiIndex) as ActorExtensionScript myActoreRef.myFavFood = NukaColaBut that doesn't seem to "stick". I can put a custom function in there and try to call it with a debug messagebox, but that never triggers. So my question is, is there a way to store custom data into each alias in the collection? Thanks :)
  7. Been tied up, thanks for the reply. I hadn't thought of setting up a 3rd "cleanup" quest. I might not end up needing to detect when it stops, I don't know yet. But now I know what to do if is it needed. ;) Thanks
  8. I had a feeling it would work because the VC button was still there and it was writing ini's. I would have given up much sooner if the VC button was missing :wink:
  9. Sorry to necro but, NV VC does work! :smile: I updated the wiki for Version Control which now has the few differences between FO3 and FNV. Thanks to J.Burke at Obsidian for pointing out that the INI entries for the users had been changed in NV. Fallout 3 uses these: [WhoCanMerge] [WhoCanForceCheckout] While Fallout NV uses these: [SudoWhoCanMerge] [SudoWhoCanForceCheckout]So you have to prepend "Sudo" for the NV version of the GECK and obviously replace Fallout3 with FalloutNV where applicable. :dance:
  10. I was just playing around with the example on the wiki for Dynamically Attaching Scripts to Objects and I was wondering if it possible to detect when a script is attached to an object and also, when it gets detached? So far, OnInit seem to work for detecting when it gets attached, but is there any way to detect when the alias script stops affecting the object? EG: I was applying an Effect Shader to to some Acti's and Cont's and I wanted it to start the shader OnInit (PMS - BlockActivation), but how to stop it? What Event can I stick the SMS - UnBlockActivation into? Scriptname ShaderAliasScript extends ReferenceAlias EffectShader Property ObjShader Auto Event OnInit() EndEvent Auto State Waiting Event OnInit() Debug.Trace("Alias Script Attached") ObjectReference rSelfRef = GetRef() ObjShader.Play(rSelfRef) rSelfRef.BlockActivation(True) EndEvent Event ??? Debug.Trace("Alias Script Detached") ObjectReference rSelfRef = GetRef() ObjShader.Stop(rSelfRef) rSelfRef.BlockActivation(False) EndEvent EndStateThanks
  11. My mistake, I was actually using ListAddForm and not AddFormToFormList. It was very late and you have to completely exit the game to know for sure (some will stick if you only drop back to the main menu and not exit entirely). :wink: AddFormToFormList seems to be persistent. ListAddForm definitely is not. Thanks
  12. According to the wiki for ListAddReference, it says not to use that function and to use AddFormToFormList instead if you want it to persist across save games. Is there something special I have to do? It's definitely adding the ref to the list, but it doesn't seem to be sticking across saves. Thanks
  13. They are new FormLists and new Forms/Refs. Nothing is being overridden. Open the FormList and then drag refs from the Cell View window and drop them in the list. I have done this with many types of forms/refs, but Doors and Lights seems to be a special case. There may be others. Off the top of my head, things I know work fine are: NPC's, Statics, Movable Statics, Activators, Idle Markers. Ya, there seems to be a few things that have to be just right - or else. This one was driving me bonkers because while working on it, all I had was the main master and the mod. So the problem didn't appear until much later on when I was testing it with DLC/other mods. The FormLists giving me grief arn't actually used by anything nor do they have any conditions. They were just used to group things together. For instance, the shack places 3 objects in the Mojave: Map Marker (STAT), Cave Door Frame XMarkerHeading (STAT) and a Cave Door (DOOR). So I made a new FormList called "ShackMojaveRefs" and dragged those 3 refs into the list. That way, I could edit the refs by opening the list rather than opening the Mojave. It's pretty handy when it isn't stopping the game from working. :/ I'm almost positive I hit this in Skyrim as well. A betting man would put money on it being in Oblivion also :wink:
  14. Either I've completely snapped and I'm now insane or I think I've found some kind of bug. While working on a house mod for NV, I hit a bug where the new master file HAD to be loaded directly after FalloutNV.esm or the Main Menu would not appear and the game would go unresponsive. I have been debugging that problem for a very long time. Recently, while tinkering on my house for F3. I hit the exact same problem right after I added a Door reference to a FormList that I created. I think Skyrim might also have the same problem. To replicate the Door in FormList bug, simply add any Door reference to any FormList and save that file as a Master (ESM). Then load that file directly after the main ESM file (in this case FalloutNV.esm) and the Main Menu will work. Now try loading the new Master after another master such as any DLC masters and the Main Menu will be missing. IE: If the Master has a FormList with a Door reference in it, then that master MUST be loaded directly after the main ESM or Main Menu will not appear and the game will become unresponsive. Also, for NV at least, this appears to also be the case for Light references (although it may have something to do with light refs with external emittance set). Doors alone will cause the problem, but it still existed after I removed all of those. It wasn't until after I removed all Door and Light refs from all FormLists that I created, that the bug vanished. I have read that this bug is normally caused by refs that no longer exist. This is not the case, these refs definitely exist. Maybe someone else would like to confirm this? Posting to hopefully save someone else from venturing to the brink of insanity :/
  15. What's nice about VC is that it's seamless. I can start the GECK, make some alterations, merge them, refresh, make more, merge them, refresh, etc without having to close the GECK. Also, this may seem superficial, but I like how altered records from the last merge show up with a green tint. I will probably end up merging with FNVPlugin and FNVedit for NV like you are, I will just space out the merges since I have to shut down the GECK to do it. IE: Start GECK, make some alterations, close GECK, open FNVedit, merge records, close FNVedit, start GECK, make some alterations, etc... EDIT: Project Brazil looks really good :wink: It's not that crazy when you consider that all the other games besides NV were made by Bethesda. Obsidian used Bethesda's Fallout 3 engine and assets but who knows what changes they made to it. What I meant is that much of VC appears to exist and be somewhat functional. If you have the wrong ini settings or what have you, it will throw errors as if it's working. It appears as if they left 99% of VC in but removed the ability to add users "WhoCanMerge". I can add those entries to the ini, but it's as if they have no affect. I'm going to hammer at it a bit more, fingers crossed :/ EDIT: Also, just an FYI, when I add users to the section "WhoCanMerge", those users are automatically written to the "ConstructionSetNetwork.ini" file like they should be. So it's definitely reading them from the GECKCustom.ini, GECKPrefs.ini files and then writing the user info to "ConstructionSetNetwork.ini". I fear that any user added will not have the correct privileges matching some possibly hard coded check. As if it's saying: A new user has been added, add them to the net ini, do they have sufficient privileges (member of obsidian team)? No, so disable the VC functions.
×
×
  • Create New...