Jump to content

user826

Premium Member
  • Posts

    154
  • Joined

  • Last visited

Everything posted by user826

  1. Well, true or not, it works, which is the main thing. I need to remember this little trick in future. Thanks again!
  2. @GamerRick: It works! Thank you so much! I had no idea I needed so many 'Return' statements, haha As a bonus, I also managed to figure out how to make it so that every 10 levels, he earns a SPECIAL point instead of skill points. I can finally move forward now, thank you!
  3. Hey everyone, I'm working on a mod right now where I'm trying to make a customizable companion - basically as they travel with you, they gain experience and can level up, and when they do, you get to decide where they allocate their skill points. I'm running into some trouble with the scripting though. The following snippets of code are placed inside a GameMode block in the script that is attached to my NPC. ;Companion levels up each time they earn 10 XP if (ExperiencePoints >= 10) && (MenuLevel == 0) set ExperienceLevel to (ExperienceLevel + 1) set TimesLeveledUp to (TimesLeveledUp + 1) ShowMessage aaaMESGCustomizableCompanionLevelUp ExperienceLevel set MenuLevel to 1 if (MenuLevel == 1) set Button1 to GetButtonPressed if (Button1 == 0) ShowMessage aaaMESGCustomizableCompanionLevelUpCombat elseif (Button1 == 1) ShowMessage aaaMESGCustomizableCompanionLevelUpDiplomacy elseif (Button1 == 2) ShowMessage aaaMESGCustomizableCompanionLevelUpDexterity elseif (Button1 == 3) ShowMessage aaaMESGCustomizableCompanionLevelUpIntellect endif set MenuLevel to 2 endif if (MenuLevel == 2) set Button2 to GetButtonPressed if (Button1 == 0) ;Combat if (Button2 == 0) CustomizableCompanionREF.ModAV EnergyWeapons 5 elseif (Button2 == 1) CustomizableCompanionREF.ModAV Explosives 5 elseif (Button2 == 2) CustomizableCompanionREF.ModAV Guns 5 elseif (Button2 == 3) CustomizableCompanionREF.ModAV MeleeWeapons 5 elseif (Button2 == 4) CustomizableCompanionREF.ModAV Unarmed 5 elseif (Button2 == 5) ShowMessage aaaMESGCustomizableCompanionLevelUp ExperienceLevel set MenuLevel to 1 Return endif set ExperiencePoints to 0 set MenuLevel to 0 elseif (Button1 == 1) ;Diplomacy if (Button2 == 0) CustomizableCompanionREF.ModAV Barter 5 elseif (Button2 == 1) CustomizableCompanionREF.ModAV Speech 5 elseif (Button2 == 2) ShowMessage aaaMESGCustomizableCompanionLevelUp ExperienceLevel set MenuLevel to 1 Return endif set ExperiencePoints to 0 set MenuLevel to 0 elseif (Button1 == 2) ;Dexterity if (Button2 == 0) CustomizableCompanionREF.ModAV Lockpick 5 elseif (Button2 == 1) CustomizableCompanionREF.ModAV Repair 5 elseif (Button2 == 2) CustomizableCompanionREF.ModAV Sneak 5 elseif (Button2 == 3) ShowMessage aaaMESGCustomizableCompanionLevelUp ExperienceLevel set MenuLevel to 1 Return endif set ExperiencePoints to 0 set MenuLevel to 0 elseif (Button1 == 3) ;Intellect if (Button2 == 0) CustomizableCompanionREF.ModAV Medicine 5 elseif (Button2 == 1) CustomizableCompanionREF.ModAV Science 5 elseif (Button2 == 2) CustomizableCompanionREF.ModAV Survival 5 elseif (Button2 == 3) ShowMessage aaaMESGCustomizableCompanionLevelUp ExperienceLevel set MenuLevel to 1 Return endif set ExperiencePoints to 0 set MenuLevel to 0 endif endif ;Companion also gains a SPECIAL point every 10 levels if (TimesLeveledUp == 10) ShowMessage aaaMESGCustomizableCompanionLevelUpSPECIAL ExperienceLevel set Button3 to GetButtonPressed if (Button3 == 0) CustomizableCompanionREF.ModAV Strength 1 elseif (Button3 == 1) CustomizableCompanionREF.ModAV Perception 1 elseif (Button3 == 2) CustomizableCompanionREF.ModAV Endurance 1 elseif (Button3 == 3) CustomizableCompanionREF.ModAV Charisma 1 elseif (Button3 == 4) CustomizableCompanionREF.ModAV Intelligence 1 elseif (Button3 == 5) CustomizableCompanionREF.ModAV Agility 1 elseif (Button3 == 6) CustomizableCompanionREF.ModAV Luck 1 endif set TimesLeveledUp to 0 endif The issue that I'm having is that when the correct conditions are met, the message appears, but after clicking the appropriate button, nothing happens. It would appear that the GetButtonPressed line (and everything after it) isn't running. I've tried pasting these snippets into the result script of a Quest stage, and then using a SetStage command to trigger it, but no luck. I also tried pasting these snippets into a persistent activator and using a "ActivatorREF.Activate player" command to trigger it, but it also doesn't work! No matter what I try, the script always fails after the message box appears. Can anyone offer any suggestions?
  4. This was a great idea, thank you! It seems the script is working properly, although now I'm thinking the weapon itself isn't very practical, haha! The damage doesn't really ramp up fast enough to be useful before you die. Maybe it's something that can only really be used for sneak attacks, or if I make it a ranged weapon instead of melee.
  5. Hey everyone, I'm currently working on a mod for a weapon that's supposed to do more damage the lower your health gets, but I'm not quite sure how to test it. The script compiled fine in the GECK, but since the damage is applied by script and not by the weapon's stats, I'm not sure how to most efficiently track my health, the target's health and the amount of damage that I'm dealing with each strike. Does anyone have any ideas? The following is the Effect script that I'm using: scn aaaSCPTLessHealthMoreDamage ref Victim short BonusDamage begin ScriptEffectStart set Victim to GetSelf set BonusDamage to ((Player.GetPermAV Health / 100)/(Player.GetHealthPercentage * 5)) Victim.DamageAV Health BonusDamage endI've also attached the plugin, if you want to take a closer look behind the curtain. Any help is appreciated!
  6. I'll certainly keep this in mind for next time. It sounds like a much more elegant solution than mine, and maybe I can adapt it for something else later on. Thanks for the tip!
  7. I didn't want to mess with the Confidence AV because I don't want them to flee, just to not attack for 30 seconds. I fully intended for them to become hostile again as soon as the Stop Combat effect wears off.
  8. I think I cracked it a different way. I created a new Base Effect (Self, Touch, Target, No Magnitude) using the following script: scn aaaSCPTStopCombatEffect begin ScriptEffectStart StopCombat end begin ScriptEffectUpdate StopCombat end begin ScriptEffectFinish StopCombat endI then made a new Actor Effect with the new "Stop Combat" base effect, setting the Duration for 30 seconds. It seems to work! NPCs hit with the dart still run around with their weapons drawn, but they don't attack. I'd call that a win. Thanks for your help and input all the same, though!
  9. Ooh, I'll try that and report back. Thanks! EDIT: Hmm, no joy. Even with the Aggression set to 0, as soon as they see me, they attack, even if I shot them with 3 darts. I also tried creating a new Base Effect with a Value Modifier to damage their Aggression, but it does nothing. I suspect the Aggression AV doesn't work like the others, which can be damaged. As far as I've seen, the only way to change the NPC's aggression is the drop down menu in the GECK.
  10. I'm trying to make a new ammo type for my Syringer Pistol mod that pacifies hostile NPCs and creatures for 30 seconds, but I'm having some trouble actually implementing it. I first tried nesting a StopCombat command inside some If/EndIf blocks like so: if (Timer < 30) if (Victim.IsInCombat == 1) StopCombat endif endifBut that didn't work at all. Next, I tried making a new faction that is allied with the player, and then using the AddToFaction function to temporarily make them allies, like so: Victim.AddToFaction PacifiedFaction set Timer to (Timer + GetSecondsPassed) if (Timer >= 30) Victim.RemoveFromFaction PacifiedFaction endifWhile this did technically work, I ran into another issue - namely that if I attacked another NPC within those 30 seconds, that second NPC would get added to the faction as well and the script would lose the reference variable of the first NPC, which means the first NPC would remain in the faction indefinitely and never become hostile again. Does anyone have any ideas? Ideally, an Actor Effect would be my preferred solution, since those can run on timers that aren't reliant on scripts. I tried using the Damage Aggression effect, but it didn't seem to do anything. Maybe I need to make the Magnitude a negative number, perhaps? Or alternatively, is there a function that will remove every ref from a faction? Any help would be appreciated!
  11. Success! For anyone stumbling across this thread in the future, if you're having the same issue and want to know how I solved it, what worked for me was loading the OBJ in Blender, then exporting it as a .3DS file. I re-imported the .3DS file into Blender, then exported it to .NIF, and it worked!
  12. @dubiousintent - I'll take a look on StackExchange, thanks! @madmongo - I forgot to mention it, but I did actually take that advice and what you see above is the result, haha! It's closer than I could've gotten with the .blend idea, but still not quite there
  13. An update: I discovered that if I re-import that pasted-over NIF into Blender, and then re-export it as a new NIF file, the mesh will appear textured in NifSkope, however, I lose all the mapping information. Each and every one of the mesh's triangles displays the entire 2048x2048 DDS texture file! At this point, I suppose I could try re-mapping the model, but this sounds like an incredibly daunting task for a novice like myself and I'd rather not have to go that route. Can anyone offer some advice?
  14. Thanks for the replies so far! So, after playing around with it a little bit, I discovered that the NiTriShapeData actually WAS being exported, it just wasn't rendering anything in NifSkope. I did the right-click >> Copy >> Paste Over thing into a vanilla base-game mesh to see what would happen, and I ended up with this: As you can see, the shape shows up! But, instead of inheriting the texture from the base-game model, it shows up as white on one side, grey on the other. I have obviously screwed up the UV/normal mapping somehow during the conversion process, but don't know how to fix it. @madmongo - You were saying something about texture/material issues which I think is likely the case, given this result. However, the OBJ I used came with a DDS texture, and I even went into the UV mapping window in Blender and chose that DDS, and it showed up correctly in Blender. It just won't export. Any idea how I can fix this? By the way, I'm trying to convert the meshes from this mod, and the uploader has given permission for it to be converted to other games, as long as credit is given.
  15. Hey, everyone! For as long as I've been playing New Vegas, I've wanted a Welrod pistol, but I've never been able to find a properly-modeled one. Recently, I downloaded a mod for Payday 2 that had exactly what I wanted, and through a long convoluted process, I managed to convert the Payday 2 model file into OBJ format. However, I can only open this OBJ in Blender 2.79. So, I tried saving it as a BLEND file with the "Legacy Mesh Format" option checked, which I then managed to open in Blender 2.49b, even though it threw up a warning about how some key information could get lost. I thought I was home free, but when I tried using NifScripts to export it into a format that New Vegas can read, the mesh doesn't show up in NifSkope! The file tree looks correct, with BSFadeNode, NiTriStrips and NiTriStripsData blocks in their proper configuration, but the render window is empty. The file size is only 36kb, which seems way too small, so I don't think the mesh data is exporting. Can anyone please help me? Alternatively, if you can convert the OBJs into NIFs that New Vegas can read, I'd be grateful as well, but if you could teach me how to do it myself, it would mean a lot to me! EDIT: I forgot to mention, when I enter Edit Mode in Blender 2.49b, the faces are pink/purple instead of the usual blue. I'm not sure if that's significant, but it was the only indication I had that something was off.
  16. Blah, figured as much. Okay, so I guess this means I have to choose one mod or the other. Thanks!
  17. What about just Diamond City market, then? Or would that be even worse because it doesn't even have a workbench? Because right now, I'm using a mod that disables the workshop functionality in Home Plate entirely and turns it into a pre-furnished player home.
  18. Here's the tutorial I followed: https://www.youtube.com/watch?v=ldDzigAiV3Y It shows you how to create a buildable interior like Home Plate. I don't think it lets you establish supply lines, but I think you can do that by adding the LocTypeSettlement (or similar, I don't have the CK open to check) keyword to your custom Location. And here are the notes I took in plaintext format, so you don't have to keep replaying the video over and over. I'd still recommend watching the video all the way through first, then referring back to the notes once you have the basic idea in your head. 1) Create a new Location - Give it the keywords 'LocTypeClearable' and 'LocTypeInteriorCell' 2) Make a new empty cell 3) Create duplicates of all the Static building pieces you will use - Give them the Actor Values 'WorkshopStackableItem' with a value of '1' and 'WorkshopItemOverlap' with a value of '8' * This prevents items you make in the workshop from falling through the floor 4) Build your cell 5) Create a duplicate of any WorkshopResourceContainer and add it to the cell 6) Add a WorkshopWorkbenchInterior to the cell - Go to the 'Scripts' tab - Set 'OwnedByPlayer' to True - Set 'EnableAutomaticPlayerOwnership' to False - Set 'MinRecruitmentAllowRandomAfterPlayerOwned' to False - Set 'AllowAttacksBeforeOwned' to False - Go to the 'Linked Ref' tab - Link the Workbench to the Resource Container with the keyword 'WorkshopLinkContainer' 7) Add a 'DefaultEmptyTrigger' and resize it to match the size of the cell - Go to the 'Linked Ref' tab - Link the Trigger to the Workbench with the keyword 'WorkshopLinkedPrimitive' :cool: Double-click on the Workbench and go to the 'Linked Ref' tab - Link it to the Trigger with the keyword 'WorkshopLinkSandbox' 9) To power the cell, add a WorkshopPowerInteriorFuseboxNoEdit - Go to the 'Linked Ref' tab - Link the Fusebox to the Workbench with the keyword 'WorkshopItemKeyword'
  19. This video tutorial can be adapted to do what you want, but you need to use the Creation Kit: https://www.youtube.com/watch?v=w57JUPYDa18 It shows you how you can spawn an item either in the world or in a container that has a particular legendary effect, using Leveled Lists, a Form List, and a custom Quest. You can follow the tutorial, but where he places the legendary effect mod in his Form List, you can substitute that with whatever lining Object Mod you want. Hope this helps!
  20. Hey, everyone. I'm trying to make a mod that changes Dogmeat's default spawn location to Diamond City Market and his default home location to Home Plate so that it's more realistic for him to show up 30 seconds after Nick Valentine whistles for him, as if he can travel at lightspeed from Red Rocket. I used the Ctrl+M command in the Creation Kit to move him from the Red Rocket Truck Stop to Diamond City, changed the "HomeLocation" property in DogmeatActorScript to DiamondCityPlayerHouseLocation, and changed two aliases in DogmeatQuest from SanctuaryHillsLocation and RedRocketTruckStopLocation to DiamondCityLocation and DiamondCityPlayerHouseLocation respectively. When I load up the mod in-game, he spawns correctly in the Diamond City Marketplace, but after I recruit and then dismiss him, he takes off for the Red Rocket Truck Stop. What did I miss? How does an NPC find their home location if not in their actor script properties? Is there a marker or something that I need to move as well? Any help is appreciated!
  21. Haha, if only it were that simple, I would've just built the levels on top of each other in the same cell and set the broadcast range to Current Cell Only. As it stands though, the dummy doors solution is working perfectly! Hopefully anyone else Googling this problem in the future now has a solution as well. Thanks! EDIT: A note to future users, if you go this route, don't forget to flag your dummy doors to be 'Hidden from Local Map'
  22. Good idea with the hidden doors! I'll give that a shot. I'm using the scripting method because I'm building a ring-shaped space station which has eight sections and while I guess I could link each section to the ones on either side of it using regular teleport doors, I think it would be a pain in the ass for the player to navigate if they have to walk through four sections in order to reach the room that's on the opposite side of the ring. What I wanted to do was allow the player to travel instantly to any section from any door. My script pops up a message box upon activation where you can select which section you want to go to and it moves you there. I picture each individual door acting like a turbolift from Star Trek, where it can travel sideways as well as up and down, to take you anywhere on the ship. Trying to cross-link all these doors together as teleport doors and keeping them organized sounds like a logistical nightmare!
  23. Linked how? Do you mean like with teleport doors between each relevant cell? If that's the case, I'm out of luck. I'm using scripted Player.MoveTo commands to simulate an elevator between each cell. Does anyone have any other ideas?
  24. Hey, everyone! I'm currently working on a custom player base that has multiple interior cells and I want to set up a radio station that can only be received when the player is inside any one of the cells. I have my Talking Activator set to Broadcast Range Type >> Linked Interiors, but I have no idea how to set which interiors are linked to that radio. The GECK wiki is no help in this matter. Can anyone here point me in the right direction?
×
×
  • Create New...