Jump to content

DaWrecka

Members
  • Posts

    66
  • Joined

  • Last visited

Nexus Mods Profile

About DaWrecka

Profile Fields

  • Country
    None

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

DaWrecka's Achievements

Enthusiast

Enthusiast (6/14)

  • Conversation Starter
  • First Post
  • Collaborator Rare
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. Wow, a lot happened after I went to bed. This was exactly what I'd expected. However, OP said checking their base ID in-game with GBO did return the same ID as what was on the form list passed to the handler. Either that or we misunderstood one another. But the thing that I find interesting and confusing here is that there are other levelled actors on the form list that have their deaths registered accurately by the handler as intended.Not quite accurate; I think some clarification is in order. Taking Grouse as an example; Grouse has his own NPC_ form, base ID xx015698; If you call GetBaseObject on GrouseRef, his reference in the world which has a formID of xx033174, it returns the value xx015698, which is on the NPCParadiseFallsSlaverLIST. However, the NPC_ record Grouse uses LvlSlaver as a template. The same applies for Carolina Red, Jotun, Ymir, Pronto, and Richter; all six use LvlSlaver, all six have their own NPC_ form which is referenced in the world, all six references return the expected base form when you call GetBaseObject on them, all six references return a value for GetBaseObject which IS on the filter list. And none of the six is caught by the event handler if the filter FLST uses those base forms. LvlSlaver is, itself, an NPC_ record; however, it uses EncSlaver as its template, which is indeed a LVLN, or leveled NPC, record. The other candidates on the SlaverLIST include EulogyJones, Forty, and ParadiseFallsSlaver1, which have no template at all; ParadiseFallsSlaver2, 3, 4 and 5, and ParadiseFallsSlaverGuard01, which use ParadiseFallsSlaver1 as their template; Cutter, who uses DocAATEMPLATE as her template; and ParadiseFallsSlaverGuard02, ParadiseFallsSlaverGuard03, and ParadiseFallsSlaverGuard04, which use ParadiseFallsSlaverGuard01. So to answer Mktavish's question... None of them. Of the NPCs using LvlSlaver as their template, none of them are processed by the event handler, unless I filter based on their refs and not their base forms. This works - at least it does in this instance, because all of the references are already persistent. I'm not sure whether it would work in a different case where one or more of the references weren't already persistent. This sounds like a rabbit hole that Alice would run from screaming if she so much as glanced at it. In this particular case: Nothing. But that might not be the same for all cases. The reason I want to avoid this is conflicts; if I edit those scripts, but another mod is installed that ALSO edits those scripts, it's a crapshoot whether I get the events I need. Setting up an event handler avoids that conflict - assuming it works reliably, of course. EDIT: No, I don't know why the forum isn't displaying the timestamps and handles for the quotes. It wants to be dumb, I guess.
  2. I'm not sure you can pass an array variable as a filter to SetEventHandler. Otherwise it might work. ...or it would, except it turns out that all of the slavers I'm interested in are already set as persistent, meaning that that for this instance at least, making a form list of the references is pretty easy thanks to a modified version of matortheeternal's PowerList script. In fact, I've just done that. This DoctaSax?
  3. I did; GrouseRef definitely returns the same result for GetBaseObject as the base form that's on the formlist. I'll have to give that a try.
  4. According to the Wiki, you can pass a ref, a base form, or a list. Not ideal, but it might suffice as a workaround. Hmm... I wonder... what would happen if I were to add LvlSlaver as a filter...? (EDIT: Not a lot, it turns out)S So I tried registering handlers with explicit filters for those six... Using their base forms didn't work. Using their references did. Still not ideal, since it means you have to have persistent references for everything whose death you might want to handle, with unique refIDs. (I forget whether you can put non-persistent references on a form list)
  5. Hmm. It seems you're right. All of the ones which aren't working all use LvlSlaver as their template. There are other Slavers who have "Use Stats" and a template; However, none of those templates are LVLI forms. The only other commonality is that the ones which have been working have a Model Filename of "Characters\_Male\Skeleton.NIF", while the ones which don't work - which all use LvlSlaver - all use "marker_creature.nif", which is probably more of a 'red flag' than a cause.
  6. Oh right. Addendum; I found that the handler fails to catch Ymir's death. Ymir's editor location is the PF barracks, although he gets moved to the main courtyard by a script some time before you get there. Pronto is always in Lock and Load, though. ...further addendum, Carolina Red is NOT caught. I'm going through them one-by-one right now to make absolutely certain which deaths are caught and which aren't, and I'm going to take another look after that. So. I've been through the lot of them now, and the following slavers aren't trapped by the event handler: Grouse Richter Pronto Carolina Red Jotun Ymir so it seems the four I was comparing before were all faulty. Yay for wasting my own time. FNVEdit is currently loading up and this time, I'm certain I'll be checking the right bloody ones... However, one point I feel I should make; if I declare my event handler with no filters at all, it DOES trap those deaths, and it DOES process them correctly - meaning that all of those slavers ARE on the list that's used for filtering, because if they weren't I'd be getting entirely different messages in the console.
  7. Hmm. Okay. So, comparing the following slavers: Jotun, whose death is trappedCarolina Red, whose death is trappedGrouse, whose death is NOT trappedYmir, whose death is NOT trappedand narrowing it down to things which are common to all four; common to one pair and not the other; (ingoring Voice Type for example, since the two working ones have different voice types, the two non-working ones also have different voice types, and to cap it off Ymir - who doesn't work - has the same voice type as Jotun - who does) or just otherwise seem worthy of mention; we have these similarities and differences; (I'm using FNVEdit for these comparisons, with my full load list, to make sure that it isn't an override from something else making things difficult) All four have the "arrow-M" model in the GECK.All four use the LvlSlaver template.All four have the "Use Stats" template flag and no others.All four have the Slaver class.All four have Height and Weight set to 0.00 in their base formNone of them have the Essential, "No low level processing", "Quest item", "Respawn", "Is CharGen Face Preset", "No Knockdowns", "Respawn", or "No VATS Melee" flags set.Grouse and Ymir have unique scripts, both of which have OnDeath blocks. Jotun has no script at all, but Carolina Red has a script, ParadiseFallsSlaverScript, which also has an OnDeath block.All four are set to Aggressive, Foolhardy, 50 Responsibility, Mood Neutral, and Assistance "Helps Friends and Allies".All four have their references set to PersistentI'm just not seeing any differences to explain this... All of them are killable, so they're not Essential. Pronto and Grouse are both involved in quests, Pronto in the unmarked quest Economics of Violence, Grouse in the marked sidequest Strictly Business and the story quest Rescue From Paradise. Richter, however, isn't involved in any quests. In fact, in-game he doesn't even have a name, just "Slaver".
  8. I've checked with GECK and FNVEdit; the base forms in the world are definitely the same ones as on the form list, and there is nothing in my load order overriding the list. I DID notice that Grouse, Richter and Pronto have the "capital M with an arrow through it" model within GECK that's associated with levelled actors... The logical conclusion would be that it's connected, except there are other slavers like Jotun and Carolina Red who also have the same "arrow-M" model in the GECK, and those have no problem. EDIT: Oh, also, a detail I just remembered: If I register the event handler with no filters at all, meaning it catches ALL kills - it will catch Grouse, Richter and Pronto; And when the event handler processes those kills, it reports that yes, those NPCs ARE on the Slaver list, in that both IsInList returns true, and ListGetFormIndex returns a value that is not equal to -1, and they return a base object that, to my eyeballs, is on the list. I'm aware of this, and no it's not the problem; I have a savegame I'm using for testing which, immediately after loading, has a console entry that states the event handler has been registered; I kill Richter, nothing in console. Kill Grouse, no console output. Move in and kill Forty, the function's debug logging strings appear to show that Forty's death has been registered.
  9. I'm working on updating a FO3 mod I made to Tale of Two Wastelands. In that mod, I had a quest stage call GetDead() on every slaver in Paradise Falls, and give the player some bennies once every one was dead. In the update, I decided to try and update it with NVSE capabilities into something more efficient; I decided to try using an OnDeath event handler to trap the death of characters like so: SetEventHandler "OnDeath" fnProcessParadiseSlaverDeath, "first"::NPCParadiseFallsSlaverLIST fnProcessParadiseSlaverDeath is an Object script containing a function which I've included here: NPCParadiseFallsSlaverLIST is a FLST, mostly-empty in FalloutNV.esm and even unused in Fallout3.esm and TaleOfTwoWastelands.esm, that contains base form IDs for every slaver from Paradise Falls. From the debugging lines printed to the console, and saved to my log, I can tell that while the event handler is called on most of the people on that list, including Eulogy Jones, Forty, and some of the unnamed slavers, it isn't called on Grouse, Richter, or Pronto - even though all three are definitely on the FLST. So I tried setting the event handler another way: SetEventHandler "OnDeath" fnProcessParadiseSlaverDeath, "first"::NPCParadiseFallsResidentLIST ResidentLIST is basically like the SlaverLIST, except it includes the slaves. This one still doesn't work; the event handler still fails to catch the death of Grouse, Richter, or Pronto. So far the only way I've found to actually have my event handler reliably catch all of the slaver deaths is to declare the event handler with no filter at all - which is obviously not ideal. Especially when it SHOULD be working, but isn't because, I don't know, maybe because this engine is held together with spit and sellotape. I have no idea what the crap is going on here; can anyone provide pointers? tl:dr; I'm declaring an OnDeath event handler using a form list as a filter for the victims, but the stupid engine is being an arse and refusing to call that event handler for some NPCs which are definitely on that list. Can anyone tell me WTF is going on and WTF I can do to fix?
  10. Well, crap. I wasn't paying attention and didn't even realise there was a giveaway to begin with.
  11. I believe the function you're looking for is SetNumericGameSetting: SetNumericGameSetting iLevelsPerPerk 2or whatever. You MAY need to enclose the iLevelsPerPerk in quote marks; I'm not 100% sure.
  12. I'm trying to configure FNV so my Steam controller's face buttons do the same as they would on an Xbox controller. It's... not entirely possible, but not too bad. Or at least, it wouldn't be too bad, if I could assign Enter as the Accept key in menus. But I can't figure out how to do it. I'm familiar with how to change the buttons used, but I can't figure out how to use Enter/Return. I've been using vats_menu.xml as my testbed. At the top is a fairly clear block of: <_PCButton_X> return_button </_PCButton_X> <_PCButton_E> accept_button </_PCButton_E> <_PCButton_R> special_attack_button </_PCButton_R> <_PCButton_F> special_attack_2_button </_PCButton_F> I tried changing the _PCButton_E to _PCButton_Return, _PCButton_Enter, _PCButton_ENT and _PCButton_RET, but none of these work; strangely, the E key remains the "accept" button - by which I mean pressing Return won't commit the VATS attack in-game, but pressing the E key does. I'm aware that changing what the game displays has to be done further-down; Right now I'm more concerned with getting Enter to do the job. tl:dr; I want to use Return as my "accept" key in menus. How do I set this in the menu XML?
  13. So many mods have weapons that I'd love to use, but are actually all but useless to me due to the fact that I mostly roll with stealth fields. I'd like to change that. I know it's possible to have something that's visible even after a stealth field; There's a KAC PDW model in the Book of Earache whose Aimpoint scope has a laser dot that remains visible even when I'm stealthed. But I cannot for the life of me figure out how to replicate the effect on a different mesh; I can only replicate the effect if I copy the entire laser dot block. I've tried copying the NiStringExtraData from the node; I've tried duplicating the NiStencilProperty data. I've tried duplicating the NiAlphaProperty values, and the NiMaterialProperty values, I've tried dthe works... The only thing that's worked is if I paste the laser dot in its entirety; everything else I've tried, I either get no difference, or the weapon crashes the game as soon as I put the Pipboy down. So I turn to you, modders who've been doing this longer than I have; how can I pull this off? I'm leery about attaching the model file for examination; I don't actually know who it belongs to, and I don't know if it's available legitimately elsewhere; Compounding this is the fact that I know the guy who released the Book of Earache took some models without permission and got banned for it, and I'm not sure which ones.
×
×
  • Create New...