Jump to content

ZerasCETA

Supporter
  • Posts

    35
  • Joined

  • Last visited

Everything posted by ZerasCETA

  1. https://www.youtube.com/results?search_query=fallout+4+creating+a+new+weapon Plenty of tutorials on Youtube related to adding weapons.
  2. Ah, like he said: There's a category in the Creation Kit called "Material Type". Everything listed in there has an associated sound and impact effect.
  3. I myself have done a lot of research and testing on this, and unfortunately, most of the power armor functionality is hardcoded, not scripted. The "battery" (fusion core insertion and drain) mostly isn't, but almost everything else is. You may have stumbled upon the power armor systems script; it isn't actually used, just an asset left in the game from before the dev's realized the scripting wasn't enough and they needed to hardcode the functionality. That said, what I think you need to look at to achieve your goals is the "Race" category "PowerArmorRace" and its associated "skin": "PowerArmorSkin" (which is an armor) and that armor object's associated armor add-on: "PowerArmorWhole". As you know, a power armor frame is a furniture, and if you didn't already know, upon activating one, your race technically changes to PowerArmorRace, instead of human, (although your base race remains human) and the player character automatically "equips" the frame "armor" skin. Compatibility issues with other mods can arise because you can't give multiple options for changing this object, but, changing that armor addon's material should do what you need it to. As for the fusion core material turning purple... no idea, sorry, haha.
  4. I have 4 projects currently in the pipeline. My current primary focus is what could best be described as an independent construction set for building seamless, gorgeous buildings, most similar to "Snap'N'Build" but with a focus and optimization on player chosen materials. This one, I'm only using your post to show off for the first time, in the hopes that people are interested, I don't want help with it currently, sorry... http://i.imgur.com/aOxZx5J.jpg http://i.imgur.com/hryFakS.jpg http://i.imgur.com/9S3KMVL.jpg The SECOND one however, I would love a REAL artist's help with. These are two screenshots from the original scrapped mod I started for Fallout: New Vegas: http://i.imgur.com/9YduozJ.jpg http://i.imgur.com/cuxxDqY.jpg The scripts for manipulating activator objects at the time didn't quite work, but they do in FO4. Keep in mind, F:NV had no airships, but the Prydwen revitalized this one for me a thousand fold, and even though I put a dummy version in just to see how it would look in FO4 (With a dummy texture set, not real textures): http://i.imgur.com/ptAldtF.jpg http://i.imgur.com/uGNjvO9.jpg http://i.imgur.com/vGuQH1i.jpg http://i.imgur.com/PzIOMCu.jpg I have scrapped this design in favor of a design more similar to the Prydwen mixed with the Heli-Carrier from the Marvel movies. Still Fallout-ish though, not immersion breaking. I'm confident I can script it, the problem is... I'm old now and my art skills are well below sub-par... Time and bills are cruel mistresses. I think I need a real artist to realize this. If you're interested in a project like this, shoot me a message and we can discuss. Oh yeah, project 3 is a grappling hook gun. Script works great, works like the hookshot from Legend of Zelda: Ocarina of Time, just need unique art for it. Looks like a generic laser rifle currently. There's also project 4 which is... Script heavy but I have that part under control. I need a real artist for that one too but I'm not ready to show it off publicly yet at all. Also, if you look up my history you'll see I have one release... Yeeeah, I got into some trouble over a skyrim mod a while back... Let's just ignore that.... I've been modding Bethsoft games since Morrowind. Ugh, Always read the rules.. The Nexus team has zero sympathy....
  5. I'm sorry, I'm assuming English is not your first language. That's fine, but I don't really understand your question. I'll do my best to answer anyway. The "BSX" flags node in a .nif file stores the material data for a mesh. When exporting from 3DS Max 2013 with the official BethSoft exporter, the "Collision Group" button on the 4th tab of the right panel in 3DS max controls this. Hopefully you know what I'm taking about. Just set a material type and an object type and you're good. keep in mind, not all material types are used by Fallout 4, wood, concrete, and metal definitely are.
  6. Sounds like you've tested the file structure extensively, so I doubt that will be the bug, if any. In my experience, just release it as version "1.0a" and explain that its currently in the alpha testing stage and that you're looking for feedback on potential conflicts and issues and hunt down the reports you get. Most will be user error in one way or another, as all modder's see, but some will enlighten you to real issues you need to fix. Once you feel confident it's ready, move it to 1.1r and beyond.
  7. Well, again, for my purposes I did it with the script attached to the frame. Power armor is a sitting furniture. The Actor event you should use is OnGetUp(). Example (in a script extending Actor, placed on a player alias): Event OnGetUp(ObjectReference akFurniture) if akFurniture.HasKeyword(FurnitureTypePowerArmor) ; do your stuff here endif EndEventYou're welcome :smile: This, should work to convert it to a constant script running on the player but I can't guarantee that as I haven't actually done it this way. Still, no reason it shouldn't work.
  8. That's a bit much for what he's asking. He literally means a set of scripts that use Game.GetPlayer().SetScale(1.15) and SetScale(1.0) upon entering and exiting it. I did actually write a set of scripts that do this, although they're highly intertwined with a lot of other scripts. I'll try to come back and post just the parts necessary when I have more time to explain how to implement them. It's actually pretty simple.
  9. This. A thousand times this. Coming up with the grand idea is the fun and easy part. You'll think that it's going to be fun to do the modelling until you're tearing your hair out trying to get a snap point to work because you forgot to rename a copied BSConnectPoints node (Happened to me for about 4 hours today), or when you can't get a script to work for an entire weekend because it turns out what you're trying to modify is a hardcoded system (Has happened to me), or when every attachment for your new gun works perfectly except one and you find out it's because of a typo in an unused box that the tutorial you read said was optional, but isn't (Happened to me too). The outdated information and misinformation is killer for these games. Do yourself the favor recommended above, pick something do-able, achieve it, then move up. Don't ever put the world on your shoulders from day one, a mistake I've made myself on more than a few occasions. If I were you, I'd start with a Texas flora overhaul. Change the terrain textures and local plant life to what you'd find in Texas. If you do work up to building a Texas mod one day, it will be an essential element, and if not, you still gave FO4 the environment you were looking for and I can almost guarantee that would get a good amount of downloads as well. When That's done, make a new-age texas ranger companion, then make a new gun that he has by default, then the quest to get the gun, and so on and so forth. If you're truly dedicated, one day you might have a Texas overhaul. If not, you still made some cool stuff. But i can guarantee if you start a city being your first project, you'll eventually get discouraged, it's just too much too soon.
  10. This is a very strange issue, since it's something so basic and i've never seen it not work before. My script wasn't working at all, no part of it, so i went back to the basics and wrote a simple test script and even it didn't trigger upon equipping the weapon: Event OnEquipped(Actor akActor) Debug.MessageBox("Equipped") EndEvent Does it get any simpler? I've got the weapon created from a basic 10mm with all mod options but the basics removed. the script is added, and compiles just fine. I've double, triple, quadruple checked... I've checked it a lot... And I can't find anything out pf place. My best guess is it's an issue with the mods on the weapon but i have no idea why that would be. Anyone seen this before? EDIT: Tried the script on another weapon and it worked fine. Something I did to the object template or the keywords seems to have screwed it up but starting over with a new weapon seems to be working. I had no idea that could happen.
  11. I'm sure there is but I don't know of one off the top of my head, sorry. It's very easy to use though. When you enter power armor in the game, first it plays the frame furniture's "getting in" animation, then it disables the frame furniture and stores it and changes the player's race to power armor race and adds the frame skin (which is just an armor set to be the race's "naked" body). when you exit the frame, it respawns the furniture and plays the getting out animation. the frame that you got in will have the same editor id as the one you exit, so if you make a custom frame in the editor, and add a script below the battery script in the editor with something like: Event OnExitFurniture(ObjectReference akActionRef) If akActionRef != Game.GetPlayer() ;Do NPC Related Stuff Else ;Do Player Related Stuff EndIf EndEvent It will trigger. I'm not sure if it's possible to add a script with that event to furniture objects on the fly to make it work without modifying the frames already in the game, but i don't think it is. Maybe with an ActiveMagicFffect actually, haven't tried it like this before. EDIT: This might be useful to you too, this is a function I wrote to wait for the player to finish the animation for getting into a power armor before doing anything else. There may be better ways to do it but i know this way works. It's also in the frame's script: ;Wait for Player to Finish Activating Power Armor Function WaitForPowerArmorEnter() If PlayerRef.IsInPowerArmor() == False Utility.Wait(0.1) WaitForPowerArmorEnter() Else ;DoStuff EndIf EndFunction
  12. The Event you're looking for is "OnExitFurniture" believe it or not. Since power armor frames are technically a furniture, this event get's triggered once the power armor exiting animation starts. This event is called by the furniture itself though so the frame itself would have to have the script attached which may not be what you're looking for.
  13. I'm very curious about this one and i have some experience working on something similar. If you'd like to PM me some of the details concerning what you'd need from a scripter, I'd be happy to let you know if it's something I can do and would be interested in being a part of. My only concern is that it seems like you have the scripts working well already, which may mean you're looking for someone who is able to modify the .swf hud files to implement new elements, which i cannot do.
  14. I have an object that needs to be level at all times but follow an actor's movements, only changing it's x, y, z coordinates and z rotation, leaving x and y at 0. Continuous moveto or translateto commands might be an option but I was wondering if there's a way to do it be default without continuous updates. I know humanoid actor's root node is generally level but this would be attached to a vertibird and i'm not sure if its root rotates, and will require more testing.
  15. Pretty much. Translations and Rotations work on the node the collision is attached to, but scale does not. I didn't know about that workaround so that might work, worth a shot. Worst case though, making a new collision object is pretty easy with 3ds max 2013 and the BGS Fallout 4 Exporter toolset that bethesda released with the CK.
  16. I've got a script going that would require all the players stats be irrelevant and only use a set of predefined stats. I was going to use a function like: ActorValue Property Health Auto float PlayerPreviousHealth float PlayerNewHealth PlayerPreviousHealth = PlayerRef.GetValue(Health) PlayerRef.SetValue(Health, PlayerNewHealth) ;Do stuff ;then when the script is over PlayerRef.SetValue(Health, PlayerPreviousHealth) But doing that for every single actor value, making sure all armor is unequipped and then re-equipped, storing and dispelling, then reapplying all afflictions, and then storing and removing every player perk and then reapplying them would be a huge script and I'm wondering if there's a simpler way. This already involves a race change before the irrelevant stats stage in case there's a way to use that.
  17. I'll leave it to someone else to correct me if I'm wrong because I haven't technically done it, but yes, I think it is that simple. Allowing workshop use in a new interior cell should make it a new player home. I can't think of any other requirements the game puts on one since interior cell homes can't be attacked, don't have settlers, and don't need water, food, beds, or defense.
  18. Yeah, unfortunately. I Can't say with 100% certainty that it can't be done, but i'm almost positive. It's like trying to get the last chair used by an npc, when the chair has since been disabled, and none of it happened on screen. The functions to do it just don't exist, and in all likelihood, the npc exiting power armor just spawns a generic frame reference, with no specific reference because he never technically got in one. You're going to have to use a workaround of some sort. If you can optimize the script enough to run instantly, it should still appear to the player the way you'd like it to at least.
  19. Ahhh, no problem, I couldn't figure this one out in past Gamebryo games myself but it suddenly clicked for me for this one. It's much more simple than you'd allow yourself to believe. So in NifSkope, the primary NiNode cannot be manipulated, and anything you change in it's translation, rotation, or scale won't affect it. Changing the Translation, Rotation, or scale of a BSTriShape will affect the model, but not the nodes. To add a new node to attach to, just right click the primary NiNode (the one at the top of the hierarchy with everything else below it) and click Node >> Attach Node >> NiNode. This will put a new NiNode with no name at 0,0,0, rotation 0, 0, 0, Scale 1.0. Then to rename it, click the new NiNode, then in the lower panel right click the "Name" row and click "Edit String Index". There, type a new name, like "Object_Attach". The name really doesn't matter, as long as it's the same as what you use in your script. Adjust its translation, rotation and scale further down in the lower panel to match your purposes and that's it. In your script, make sure the node you're attaching to is the same name as the newly created one and you're golden. For this example, "ObjectToAttachTo.PlaceAtNode("Object_Attach", NewlyAttachedObject)"
  20. I honestly haven't used Sin or Cos since New Vegas so I'm not gonna be much help there, but did you try adding a new NiNode to your marker at your coordinates and using PlaceAtNode() instead of coordinates in your script? Might work for your purposes as long as your marker is matching rotation with the player, that NiNode should always be in the same place relative to the player's Z rotation.
  21. Ahhh, I've been working on a power armor related mod myself and ran into a similar issue. The bad news is there's really no perfect way around it. The problem is, power armor frames are a race skin or armor while they're being worn, and a furniture item when they aren't being worn, with absolutely no link from one to the other. The reference of the frame furniture they got into will be the same for the one they get out of, but i haven't found anywhere that that information is stored while they're wearing it and i believe, as with most things related to power armor, it's hardcoded. When you use Victim.SwitchToPowerArmor(None), the npc will automatically switch back to their previous race (power armor is technically a race, for anyone reading) and the animation event of the frame furniture object begins to play. Believe it or not, the get out animation isn't an actor animation but is actually the frame furniture's animation being activated on the actor, exactly the way getting out of a chair object works. The best way I can say to go about getting around it is to use FindAllReferencesWithKeyword(isPowerArmorFrame) with a small radius, on the "victim" at the time right after they're ejected from the power armor, while the geting out animation is playing. If you call it before they're getting out, there won't be a frame furniture object nearby. This should get you that furniture frame's reference ID and allow you to tap it's inventory at will. I can't say for certain that this will work as it's not what i needed to do exactly, but it should work. The only time i can think of that it might not is if they get hit by your effect in a room full of power armor frames. Then you could narrow it down by comparing the distance from the victim to each reference and choosing the one with the smallest distance. Should work in 99% of cases. hope this helps.
  22. Exactly, that's what i need, sorry if my explanation was confusing. I was looking for a simpler method than just excluding all other possible anims, of which there are a lot. The effect is cast by the use of a potion object and uses PlaceAtMe to place an object. The only way to avoid it being placed in midair, since this object cannot have physics, is to make sure the player isn't moving. I was hoping to avoid a thirty mile long If/Or statement, haha, but i guess that's the plan then.
  23. I've written a magic effect script that will require the player to be standing still on the ground before continuing, while wearing power armor, and I cannot for the life of me find the correct AnimEvent or a suitable animation variable to use to detect it, in either the power armor behaviors or the root behaviors, 1st or 3rd person... The Idle Animation dialogue box in the CK, under 1st person root behaviors shows ActionIdle, then "1stPIdle", but the AnimEvent is set to None, which of course it is, that's the whole point, but that means I can't friggin detect it. Does anyone know how to do this, or a better way than going either of those routes?
  24. That did it! And without the keyword too, that's perfect, thank you so much. I tried to learn about linked ref's from an old skyrim tutorial by Cipsis but I just wasn't getting it by the way it was explained. I still don't fully understand but whatever, it works and that's what I needed.
  25. I've got an objectreference script attached to a workshop created object, that upon the event OnInit(), immediately places another unique object on a node. The second placed object needs to have access to the unique reference of the first to be able to disable and delete it. The problem I'm having is that since both are unique, placed references, I can't use a property referencing the base object from the editor, meaning the objectreference properties have to be created dynamically. These objects could exist multiple times in the world and i need the second objects to only reference the ones that created them. This is the script running on the first object, it has no issues for what it does but probably needs something added for the solution to my issue. Scriptname ZW_GMccT_BaseActivator extends ObjectReference Default Form Property GMccT_PA_Dummy Auto Const ;The base object of the one to be created Event OnInit() self.BlockActivation(True, True) ObjectReference GMccT = self as objectreference GMccT.PlaceAtNode("PA_Attach", GMccT_PA_Dummy) ;new object placed endEvent Then here's the hypothetical script running on the second object, where the reference "InstanceOfOriginalObjectThatCreatedThisOne" would reference the object instance that created this object, and no others, even if others of the same base object exist in the same cell: Scriptname ZW_GMccT_PA extends ObjectReference Default ObjectReference InstanceOfOriginalObjectThatCreatedThisOne Property Event OnActivate(ObjectReference ActivateRef) InstanceOfOriginalObjectThatCreatedThisOne.DisableNoWait() InstanceOfOriginalObjectThatCreatedThisOne.Delete() EndEvent I've read up on LinkedRefs and didn't understand it but that might be the answer. I also considered using the return value of PlaceAtNode but I'm pretty sure this just returns the base object, right? I really couldn't get that to work right so I abandoned it. I also considered using keywords but quickly realized that there's nothing to stop all instances of the object from having the same keywords and all being deleted at once. So... How do I do it...?
×
×
  • Create New...