Jump to content

user826

Premium Member
  • Posts

    152
  • Joined

  • Last visited

Everything posted by user826

  1. I installed Blender to my E:/Modding/Fallout/Tools folder, so not only is it not in any kind of protected directory, it's not even on the boot drive at all. I'm going to give BSArch another shot, but I'm not optimistic that it'll make any difference. EDIT: As expected, even the armors I extracted using BSArch cause Blender to crash when I try to enter Edit Mode.
  2. I can't even get BSArch to run. The window doesn't stay open long enough for me to type any commands, even when run as admin. But I don't see what difference it makes? Even if I copy a NIF over from my desktop, which I'm able to edit in Blender over there, it crashes on the laptop. EDIT: It turns out that the import settings that I choose plays a part in whether or not it crashes. If I import weapons using the armor import settings, I can edit the mesh, but if I import them using the weapon import settings, it crashes as well. So now, it basically means I can't edit weapons either. These are the import settings I'm using: Armor settings: Weapon/Object settings: I also tried uninstalling everything and reinstalling them in the following order: Python, Blender, PyFFI, and Nif Scrips, but it still crashes.
  3. No, I used the BSA Browser that's included with Fallout Mod Manager. The same tool I use on my desktop.
  4. I extracted the mesh directly from the base game BSA and tried to edit it in Blender within a span of sixty seconds. It's not a custom NIF, and being a vanilla mesh, it works perfectly fine in NifSkope.
  5. Adding the Blender executable to the DEP exception list did nothing to fix the issue. I don't think that was ever the problem though, because Blender runs fine. It's only when I try to edit an armor NIF that it crashes. I'm even able to load up human and creature skeletons and edit them without any issues. But for whatever reason, it won't let me edit armors. Could it be an issue with weighted vertices?
  6. Okay, I'm using the basic recommended setup for New Vegas NIF editing. Blender v2.49b, Python 2.6.6, PyFFI 2.1.11, Nif Scripts v2.5.9.77 and NifSkope v2.0.0 Pre-Alpha 6. I don't know how to make the 32-bit version large address aware, as none of the tutorials I followed back in the day ever told me to do so. I have this same setup running on my Windows 7 desktop machine which I normally use for modding, and it runs flawlessly.
  7. Hey everyone! I'm running into an odd problem on my Windows 10 laptop. Every time I fire up Blender and load up an armor mesh, if I hit A to deselect everything in the scene and then click my mouse on the piece that I want to edit, Blender crashes. This only happens for armors. I can edit skeletons, weapons and objects just fine. Does anyone know what might be causing this?
  8. @AusAllerWelt - Thank you! I usually have to make multiple different Nifs for each stage of a project I'm working on due to this issue. Hopefully, I'll be able to solve it easily now. @madmongo - How do I fix the smoothing in Blender? I find a lot of the meshes that I import into the latest version of Blender (in order to use the Knife Project tool) and then re-import into Blender 2.49b lose their smoothing as well. Maybe your answer will let me fix that issue as well.
  9. You need to extract the texture from the BSA archive (To find the texture, you may have to also extract the mesh as well and open it up in NifSkope). Then, load the texture into your image editing software of choice, do your edits, then export the texture as a DDS file. You may need to download the correct plugin before this option is available. Here is the link for the Photoshop version. If you want your texture to universally replace every instance of the old texture in the game, name the texture the same as the original file and place it in your New Vegas Data folder, under the correct file path. If you only want your retexture to affect one unique instance of the outfit, you will need to load the mesh into NifSkope, point it to your texture, then use the GECK to create a new outfit using your new mesh, and add it to the game.
  10. Hey, everyone! Why is it that sometimes when I'm importing Nif mashups into Blender do some pieces appear "shiny" in Object Mode, and when I re-export to a Nif file, these parts don't get exported? I find this usually happens with pieces that I've previously already edited in Blender, Copy Branch/Paste Branch-ed into an existing Nif, and then imported that pasted-over Nif back into Blender. Here's a few screenshots showing what I mean. Notice how the torso and pants look "shinier" than the coat, for instance: Exporting the above Nif looks like this in NifSkope: And re-importing that Nif back into Blender gives me this: The low-poly faces in the third screenshot tell me that the information is there, but it's being corrupted. Does anyone know how I can fix this?
  11. Upon further reflection, I'm thinking you're right, it might be the weapon pickup thing - perhaps combined with cowering/flee behaviour. In any case, it's not game-breaking. Just a little eccentricity. Most players might not even notice. I only noticed because I wasn't doing any shooting, and letting the companion do all the work. Someone who's actually playing using the mod would probably have shot and killed all the non-responsive ones without even noticing that they weren't fighting back.
  12. Okay, so the following combination seems to be working well enough so far. I've got this block running in my quest script with the delay set to 1: if (CustomizableCompanionREF.GetCombatTarget != CurrentTarget) if (CustomizableCompanionREF.GetCombatTarget != 0) set CurrentTarget to CustomizableCompanionREF.GetCombatTarget if (CurrentTarget.GetItemCount aaaMISCKillCountToken < 1) CurrentTarget.AddItem aaaMISCKillCountToken 1 set CustomizableCompanionREF.EnemiesEngaged to (CustomizableCompanionREF.EnemiesEngaged + 1) endif endif elseif (CurrentTarget != 0) if (CurrentTarget.GetDead == 1) set CurrentTarget to 0 endif endif My kill count token is a Misc Item with an empty name field so that it won't show up in the enemy's inventory, even if the player manages to access it while they're being attacked by the companion. The token runs the following script: scn aaaSCPTKillCountToken ref MySelf begin OnAdd set MySelf to GetContainer end begin OnCombatEnd if (MySelf.GetDead == 0) RemoveMe endif end begin GameMode if (MySelf.GetDead == 1) if (MySelf.IsKiller CustomizableCompanionREF) set CustomizableCompanionREF.EnemiesKilled to (CustomizableCompanionREF.EnemiesKilled + 1) endif RemoveMe endif end @Dubious - Your suggestion seems to have helped, although it hasn't completely solved the "do nothing while being attacked" issue. I've noticed that the enemies exhibiting this behaviour all seem to play the "bend over and pick something up off the ground" animation at least once.
  13. I'm trying it with a Misc Item right now, actually, but without the name field filled in. So far, when I call OpenTeammateContainer 1 on the target he's engaging, the item doesn't show in the inventory, which is awesome! However, I'm still noticing the targets stop fighting, although I'm not sure if that's just normal cowering/flee behavior.
  14. I used an armor with no weight, no DT, no DR, no body slots, marked unplayable. As far as I know, Misc Items can't be marked unplayable, so if somehow the player were to open the inventory of the enemy before the script had a chance to remove the item, they would see it.
  15. So, the issue right now is that I'm not sure how to handle tracking which targets he's already engaged. For instance, if he attacks someone, then finds a bigger threat, kills that, and re-engages the first target, that first target counts as 2 enemies engaged instead of one. This is where I thought adding a token would be helpful, but I've found that in some cases, using the token tends to stop enemies from fighting for some reason. They will aggro, but then as soon as they have the token in their inventory, they'll just stand there, waiting to be attacked. This means the token idea is out. This is the script as it exists right now: if (CustomizableCompanionREF.GetCombatTarget != CurrentTarget) && (CustomizableCompanionREF.GetCombatTarget != 0) set CurrentTarget to CustomizableCompanionREF.GetCombatTarget if (KillCountDoOnce == 0) set CustomizableCompanionREF.EnemiesEngaged to (CustomizableCompanionREF.EnemiesEngaged + 1) set KillCountDoOnce to 1 endif endif if (CurrentTarget != 0) if (CurrentTarget.GetDead == 1) if (CurrentTarget.IsKiller CustomizableCompanionREF) set CustomizableCompanionREF.EnemiesKilled to (CustomizableCompanionREF.EnemiesKilled + 1) set CurrentTarget to 0 set KillCountDoOnce to 0 else set CurrentTarget to 0 set KillCountDoOnce to 0 endif endif endif The problem is that if he's engaging an enemy, then finds a new threat and engages that, KillCountDoOnce has not been reset to 0, so his Enemies Engaged counter will not increase. I'm going to try using a dummy spell with no duration or effects, and calling IsSpellTarget as the check condition, and using Dispel on death to clear it.
  16. I'm going to give it another shot. I thought the script processing delay was set to zero by default, though? How can setting it to 1 help? EDIT: I set the script processing delay to 1 and used this script: scn killCounterQuestScript ref CurrentTarget short TargetCountDoOnce begin GameMode if (CustomizableCompanionREF.GetCombatTarget != CurrentTarget) && (CustomizableCompanionREF.GetCombatTarget != 0) set CurrentTarget to CustomizableCompanionREF.GetCombatTarget endif if (CurrentTarget != 0) if (TargetCountDoOnce == 0) set CustomizableCompanionREF.EnemiesEngaged to (CustomizableCompanionREF.EnemiesEngaged + 1) set TargetCountDoOnce to 1 endif if (CurrentTarget.GetDead == 1) if (CurrentTarget.IsKiller CustomizableCompanionREF) set CustomizableCompanionREF.EnemiesKilled to (CustomizableCompanionREF.EnemiesKilled + 1) set CurrentTarget to 0 set TargetCountDoOnce to 0 else set CurrentTarget to 0 set TargetCountDoOnce to 0 endif endif endif end And it does work, but is still pretty hit-or-miss. Sometimes, if he engages multiple enemies in quick succession, it'll only count as 1 engagement/1 kill. I'm going to try a hybrid system, using the quest script to add the kill count token instead of an area-of-effect spell.
  17. My mods still work if you're using NVSE and JIP (I have them installed because TTW requires them) but I want people to be able to experience my content even if they're not mod-literate, or if they for whatever reason don't want to install a whole bunch of plugins that change the core function of the game. Design for the 99th percentile and all that.
  18. So, the quest-based script is not as reliable as the token-based system, even with the quest priority set to really high. I think I'll stick with the token system for the time being until I can come up with something better.
  19. Thanks, I'll try that out tomorrow. Right now, it's bed time, haha
  20. Yeah, I noticed that and changed it. Thanks for pointing it out too! I also added some Return statements, and it seems to be working now. The script looks like this at the moment: scn aaaSCPTKillCountEffect ref MySelf begin ScriptEffectStart set MySelf to GetSelf if (MySelf != Player) && (MySelf != CustomizableCompanionREF) if (MySelf.GetCombatTarget == CustomizableCompanionREF) if (MySelf.GetItemCount aaaARMOKillCountToken == 0) MySelf.AddItem aaaARMOKillCountToken 1 Return endif elseif (CustomizableCompanionREF.GetCombatTarget == MySelf) if (MySelf.GetItemCount aaaARMOKillCountToken == 0) MySelf.AddItem aaaARMOKillCountToken 1 Return endif endif endif end Also, I count enemies attacking him as an engagement. Like, if you get jumped by a group of hostiles, even if you haven't gotten a shot off yet, you are considered to have engaged the enemy. EDIT: For some reason, the giant rats still aren't registering as engagements or kills, and I don't know why. Could it be perhaps that since they can't equip the armor, that it doesn't register? Should that even matter? The script should run during the OnAdd block.
  21. I don't like using third-party per-requisites for my mods. I find it challenging to try and design things to work using only vanilla assets. In any case, here's what I've got so far: The following area-of-effect script is cast on my NPC every three seconds. It checks if any actors within its area of effect are targeting the NPC or are being targeted by the NPC. If so, it adds the Kill Count Token to their inventory. scn aaaSCPTKillCountEffect ref MySelf begin ScriptEffectStart set MySelf to GetSelf if (MySelf != Player) && (MySelf != CustomizableCompanionREF) && (MySelf.GetCombatTarget == CustomizableCompanionREF) if (MySelf.GetItemCount aaaARMOKillCountToken == 0) MySelf.AddItem aaaARMOKillCountToken 1 endif elseif (CustomizableCompanionREF.GetCombatTarget MySelf) if (MySelf.GetItemCount aaaARMOKillCountToken == 0) MySelf.AddItem aaaARMOKillCountToken 1 endif endif end The Kill Count Token runs the following script. When added to an actor's inventory, it advances the "Enemies Engaged" counter by 1. When the enemy is killed by the NPC, it advances the "Enemies Killed" counter by 1. scn aaaSCPTKillCountToken ref MySelf short DoOnce begin OnAdd set MySelf to GetContainer if (DoOnce == 0) set CustomizableCompanionREF.EnemiesEngaged to (CustomizableCompanionREF.EnemiesEngaged + 1) set CustomizableCompanionREF.EnemiesEngagedTotal to (CustomizableCompanionREF.EnemiesEngagedTotal + 1) set DoOnce to 1 endif end begin GameMode if (MySelf.IsKiller CustomizableCompanionREF == 1) if (MySelf.GetItemCount aaaARMOKillCountToken > 0) set CustomizableCompanionREF.EnemiesKilled to (CustomizableCompanionREF.EnemiesKilled + 1) set CustomizableCompanionREF.EnemiesKilledTotal to (CustomizableCompanionREF.EnemiesKilledTotal + 1) RemoveMe endif endif end The issue I'm having right now is that some enemies (i.e. the giant rats in Cerulean Robotics) are being killed by the NPC, but they're not being registered. The "Enemies Engaged" and "Enemies Killed" counters remain at 0. This also sometimes happens with human enemies, where the NPC will kill a raider, but it won't register, then he'll kill another raider in the same room and it does register. I have no idea why it's being so inconsistent.
  22. I don't use NVSE or JIP NVSE to make my mods, so I can't use GetCombatTargets, or GetKiller. I'm currently using GetCombatTarget and IsKiller, but it's not working reliably 100% of the time. Also, the companion is using my own custom XP system, independent of the player's XP, so I can't piggyback off of the player. I want him to get XP if he does all the work and I don't kill anyone for him.
  23. So, I found a workaround solution involving a timer that constantly casts an area of effect spell on the NPC, and any hostile actors in the vicinity are given a non-playable piece of armor as a marker token. When added to the enemy's inventory, the token advances the "Enemies Engaged" counter by 1, and when killed by the NPC, the token removes itself from the enemy's inventory and advances the "Enemies Killed" counter by 1. While this works, it's bloated and not very elegant, so I'm still holding out hope that my original idea can be salvaged. If you're more knowledgeable about the GECK than I am, please weigh in!
  24. Would anyone be able to tell me the most efficient way to count the number of kills made by an NPC? I'm trying to add a kill count stat to my customizable companion so that I can factor that number into his XP gain calculation. So far, I've tried the following: 1) Created an effect script: scn aaaSCPTCustomizableCompanionKillCount begin ScriptEffectStart set CustomizableCompanionREF.EnemiesEngaged to (CustomizableCompanionREF.EnemiesEngaged + 1) set CustomizableCompanionREF.EnemiesEngagedTotal to (CustomizableCompanionREF.EnemiesEngagedTotal + 1) end begin OnDeath CustomizableCompanionREF set CustomizableCompanionREF.EnemiesKilled to (CustomizableCompanionREF.EnemiesKilled + 1) set CustomizableCompanionREF.EnemiesKilledTotal to (CustomizableCompanionREF.EnemiesKilledTotal + 1) end 2) Created a new Base Effect: Effect Archetype: ScriptAssoc. Item: aaaSCPTCustomizableCompanionKillCountHostileDetrimentalRecoverSelf (<< I don't think this flag is correct, but if I don't include it, I can't select this base effect when making my Actor Effect)TouchTarget3) Created a new Actor Effect: Type: AbilityDisallow Absorb/ReflectScript Effect Always AppliesArea Effect Ignores LOSAuto-CalculateEffect: Kill CountMagnitude: 1Range: Self (<< Again, I don't think this is correct, but there is no other option available)4) Created a new Perk Perk Entry: Ability (aaaSPELCustomizableCompanionKillCount) 5) Added the perk to the companion And it doesn't work! I suspect it's because he's casting the effect on himself, instead of the enemy he's engaging. How do I fix this?
×
×
  • Create New...