Jump to content

Ez0n3

Members
  • Posts

    202
  • Joined

  • Last visited

Everything posted by Ez0n3

  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.
  16. Nobody is using version control on their projects? I updated the version control page on the wiki which shows how I got Fallout3 working: http://geck.bethsoft.com/index.php/Version_Control New Vegas seams nearly identical. It's crazy that it would work on the games that came before and after, but just not NV. Especially considering that all of VC appears to be there, it's just nor working for me. No large project devs have VC running in NV?
  17. I was just wondering if anyone sucessfully set up version control with the New Vegas version of the GECK? I got it working with Skyrim a while back and just recently got it working with Fallout 3, but I can't seem to get it working with New Vegas. The NV GECK it nearly identical to the FO3 GECK, all of the same ini entries exist for both. I did see this article though: http://www.falloutwiki.com/Blog:News/J.E._Sawyer_talks_GECK_and_NWN2 Maybe Obsidian couldn't release a GECK with version control funtionality? If I enable version control, it will auto create the "\\Merging\\ConstructionSetNetwork.ini" like it's supposed to (I can read/write to all the shares). If I disable version control and the ConstructionSetNetwork.ini exists, it will say something like "version control is disabled, continue loading anyway?", like it's supposed to. But it never throws an error about the missing .fud files. And when I do the "view details" thing on the master, it loads a long list of items rather than asking if I want to create a new list to save space. What I use for a quick test to see if it's working, is to load the GECK/CK and then highlight the master (Fallout3.esm, FalloutNV.esm, Skyrim.esm) and click details. If it asks "do you want to create an empty list", then it's working. If it starts loading a long list of forms, then it's not working - terminate the task. Anyone managed to get VC working in New Vegas? VC Resources: http://www.creationkit.com/Version_control http://www.sureai.de/development/tutorials/skyrim-creation-kit-version-control/ http://wiki.tesnexus.com/index.php/Version_control_primer http://www.darkcreations.org/forums/topic/1870-ck-version-control-discussion/ http://geck.bethsoft.com/index.php/Version_Control (Incomplete)
  18. If they have no Outfit assigned, it's as if they have a default Outfit assigned that is empty. When you revisit the cell, they will revert back to their default Outfit which would be "None". So they would all be in their underwear even though they have armor/clothing items in their inventories. That's what I have been getting in my meddeling.
  19. I think sharing and caring used dialogue to get at their inventories. If you make a new quest and add new dialogue for all the vanilla voice types but do not set a condition for the quest, all npc's should be able to say the new dialogue. So for each voice type, there would be a new line like: Quest: NewNpcDialogue - Player: Let's trade. -- NPC Female Argonian: Alright. -- NPC Male Argonian: Alright. -- NPC Female Breton: Alright. -- NPC Male Breton: Alright. etc... Each would have something like this in their script: akSpeakerRef.OpenInventory(True) I don't think that will do all that you want it to though. In Skyrim, NPC's have "Outfits" unlike Fallout. The items that make up their outfits don't show up in their inventory unless they are dead. To compound the issue, once you leave the area with the NPC you "clothed", they will fallback onto their assigned Outfit. The next time you visit the cell, they will revert to their "default" clothes. The only way that I'm aware of to get around those issues is to remove their outfits and then give them the items that make up their outfit individually. So say their outfit had a torso piece and shoes, then you would have to give them those items individually or they will all be in their underwear. That will fix the issue with items not showing up in their inventories. Then you will have to run a check every cell load to make them equip their items. I'm pretty sure that requires assigning 2 scripts 1 script to every npc or maybe assign it dynamically, but NPC's outside the radius will be in their underwear. A script that extends ObjectReference for OnCellAttach and OnItemAdded events Another script that extends Actor for OnObjectEquipped and OnObjectUnequipped events and to store their currently equipped items A script that extends Actor for OnCellAttach, OnItemAdded, OnObjectEquipped and OnObjectUnequipped events and to store their currently equipped items Then you would have to store the items the NPC equips. So when it gets an OnItemAdded, it Equips the item. When it equips or unequips an item, it will update the stored script items. Then when it gets a OnCellAttach, have it equip the items that are stored in the Actor script. Hopefully, someone knows an easier way. But that's probably why there isn't a mod already. Edit: I keep forgetting Actor extends ObjectReference :P
  20. Years back I noticed Sonic Mayhem had the Quake 2 Soundtrack on their site for "free download" (I don't see it there anymore). I contacted them and asked if I could use their music in a mod that I would be distributing and they said no problem. I think they only asked that they were credited (listed in the credits as the author). NIN have some albums for "free download", but you have to enter an email address and then they are emailed to you. But he might just let you if you asked. Or just direct the mod users to the site where they can download the music for free. Not that Sonic Mayhem or NIN is Skyrim themed, but something like that would be allowed right? I would like to see a list of A, AA and AAA "free download" instrumentals that can possibly be distributed with permission :smile:
  21. Does it crash? The CK is the only thing that needs an ini tweak for multiple master that I'm aware of. Make sure that any mod your mod depends on is loaded and in the correct order. Then try coc'ing into it.
  22. Did you convert it the way described in the wiki article? Creating_Custom_Master_Files Maybe check the flags and dependencies with TES5Edit. Did you make a backup of the mod before converting it?
  23. What if you make it a master? Sometimes that has a magic way of making problems vanish. Assuming you want to remain sane, you should only load mods that your mod depends on during dev. ;) Any reason in particular?
  24. Along with "Don't Havok Settle", you can also assign the default script "defaultDisableHavokOnLoad" to each reference you want to stay put. By default: havokOnHit = true havokOnActivate = false havokOnZKey = false Meaning, it will only havok when it is hit. If you set them all to false, it will remain static.
  25. Put the text file (.txt) in the root of your Skyrim folder (same folder as TESV.exe). While the game is running, open the console "~" and type: bat TheNameOfTheFileMinusTheExtension In your case: bat all-perks Pressing Enter afterwards to execute it. Assuming ..\Skyrim\all-perks.txt I don't understand the second question.
×
×
  • Create New...