Jump to content

markyrocks

Members
  • Posts

    130
  • Joined

  • Last visited

Everything posted by markyrocks

  1. Usually when I have issues like this I'll open the fragment Source file comment out the entire script, open the terminal, compile it which should overwrite the pex file ( you may want to backup the pex). Add in the missing properties, uncomment the .psc then compile again. You can't add properties if the entire psc wont compile. It's kinda a catch 22. You probably want to use an external editor to do this. I use visual studio which is free and fantastic. I haven't set it up with compiling built in but it's not necessary, you just save from vs and go into the ck and compile.
  2. Just to update this. I have a sneaking suspicion fo4vr probably doesn't support .esl. it's not even supported by the ck for that matter. When I had tried using the .esl it actually for whatever weird reason made it so when I was trying to load a game it added an extra step. Normally I'd hit load, find the save select it then confirm. With the esl I'd have to do all that and click again...weird. I've found all kinds of broken stuff in regards to the automatron dlc and fo4vr so none of this is surprising
  3. I feel you. I kinda faced a similar issue with my mod. I was just forced to find refs of specific type or keyword. Unless you just get all the settlers in the workshop, cycle through the array and just find one that is near player. It's not possible to force one alias to multiple refs ? Maybe use something that has to do with the players angle, like if the settler is near the player and the player is looking at the settler.
  4. OnPlayerDialogueTarget() would be my guess. I've never used it it doesn't have parameters listed but I'd imagine akTarget could be used to pass the ref alias
  5. Ok so moving on. So imagine I have a plugin with just files that i wanted another plugin to be able to access. What would be the procedure to make the .esl and have the other plugin access the forms? I realize there is the one function call that was already mentioned that was like getformfromfile or something. Can I not just use those forms like I would from any other master? Edit. I was able to remove the dependency from the .esl I had made. Everything works as it did b4. Which is great but now I guess I have to make these forms again...
  6. I appreciate the input but 3 arm handy robots dont work that way. At least not in the vr version of the game. Any modification to a 3 arm handy for whatever reason breaks it. Trust me I've explored many avenues to get to this point. That's the most frustrating part is I have all the other robot types working in a similar way that you describe. The 3 arm handy specifically when any mod is attached to it in game it automatically loses left and right eyes and arms. Basically like its expecting arms other robot type arms in the eye sockets. Edit this is all kinda the reason I remained vague when talking about all this initially bc I didn't really want to get into the why of what I'm trying to do bc I wanted to focus on the file related issues. I've spent 100s of hours working on this so again if there was any other way I would have found it by now.
  7. My main mod is just a .esp literally all that is on the other file is forms. I'm probably going to just remake all the forms onto my main mod plugin. If everyone is saying that's legit then why make it overly complicated. The point of all this is I'm attempting to mimic the robot workbench in vr and apparently the creation of custom handy type robots is handled by native code. Since I have no access to that and no other reasonable way to do what I want this is the brute force method. I was looking at like 5000 forms originally but narrowed it down to 750. I feel like that's enough variety. I have it setup with 3 quests. You select a button in a terminal it sets a quest stage. Those stages correspond to a selected group of parts, paint or weapons. They also correspond with the naming scheme of my forms. I've tried using a formlist. Other methods ect. The main problem is converting the information I have to the relevant result. I didn't spend a whole lot of time fighting it bc I knew I could easily make my 2000 line if statement. I'd love to give Actorbase property handyAT0P0WLWR0 auto const Int pstage=quest.getstage() Int wstage= ect Int astage= ect String="handyAT" + astage + "P" + pstage + "WLWR" + wstage Game.getplayer().placeactoratme(string) That says type mismatch ect... if you try to cast as a actorbase it says they're incompatible...I understand why. Edit. I'm thinking maybe if I put the form variables in a struct could I access them by. Struct mystruct handyAT0P0WLWR0 endstruct ;use the above method to get string Game.getplayer().placeactoratme(mystruct.string) ?
  8. So I've been working on a mod for awhile as some of you probably know. Due to various reasons I was forced to make alot of forms. Around 750. B4 I did this I looked into plugin file size limits ect. I wasn't able to find a conclusive answer so let's start there. Is there a limit to the number of forms in a plugin? I only ask bc un the ck wiki it says something about 8bit limit, I'm not sure what that means exactly but it also says that light master files circumvent that limit and allow up to 2000 forms. The 2 things could be completely unrelated I'm not sure but it led me to believe there must be some type of limits. Long story short I made 750 forms on a separate plugin than my main mod. I loaded that plugin and my main mod (as active) declared the forms as variables on a script. I added the plugin with all the forms to my mod load order. Doesn't seem to work. What I mean by that is simply connecting a terminal button to a quest script that just placeactoratme(ActorOnFormPlugin) ect. So I know it should work if it has access to the forms. This is kinda a side question but is there a limit to the length of an if elseif statement? Bc again due to limitations I was forced to make a 2000 line long if elseif statement....gawd, and no I'm not kidding. Ok so I thought maybe I had exceeded the plugin size and maybe it wasn't loading? So I compressed it, and created a .esl from it. I loaded the .esl with my main mod in the ck I reconnected the script I'm using to the .esl so it "sees" the forms, they're all declared ect. Then I added the .esl to my plugin load order for the game and started the game...once I did that its acting like my mod doesn't exist. Smh. So why would this happen? Last but not least, now my mod is dependent on the .esl... that for whatever reason is preventing it from working. I then disconnected the forms from my main mod script. So it had no attachment to the .esl, but it's still dependent. Can someone give me some insight as to what I need to do here? I have backups of my main mod without the dependency on the .esl so I can revert. I'll lose some work but it can reasonably be done. If the issue is using forms from another plugin I can remake the forms on my main mod plugin if necessary.. I dont want to bc it takes some time. Incase anyone is wondering these ridiculous amounts of forms and 2000 line if statements are being done by other programs I wrote so I push a button and it does it by itself.
  9. Well you're opening up a whole can of worms. Probably the first place to start would be making a new ammo type "caps" (duh). From there I'd suggest just making a new cap gun. Modifying the object template so it has different subclasses like auto cap gun semi auto scoped ect. As your doing that you can make and add your various modcol's for the gun object templates. Theres tutorials on this so I'm not going into details here. Once that's done youd want to add your gun to various lvled lists. After that...you'd probably want to add the new receivers to the workbench so they can be crafted. Recipe filters and co's and such. Then youd probably want to make a new misc item, caps, add weight specs (this will also let it be dropped, use caps nif model ect. Then make a quest that will basically keep track of the caps... when I say that you could like get the number of caps a player has and automatically make the number of cap misc item appear in inventory. use an inventory filter and whenever the player picks up caps it also adds to the misc item tally. Probably need a on container change event to monitor if caps are dropped if they are then subtract caps from the player ect. Also you'd need some kinda event that monitors weapon fired so everytime it subtracts caps. Edit on 2nd thought you might be able to avoid making a misc item and replace that with actual ammo. I believe that you can give ammo a weight and drop it and it would take care of the need to track when a weapon is fired (if it's done right) I've never really looked at ammo and how it works. I'm assuming the ammo type is tied to an actual ammo object. This is alot of stuff, hope you know what you're doing. Goodluck
  10. Is your .ba2 named properly? Needs to match your mod name perfectly. Look like yourmodname-Main.ba2
  11. Are you interested in flat out replacing a specific type of ammo or do you want to keep all existing ammo in place and create your own?
  12. Event Oninit() (Self as scriptobject).registerformenuopencloseevent("WorkshopMenu") Endevent ;edit, this script would get attached to the quest!!!!! Event (self as scriptobject).OnMenuOpenCloseEvent(string asMenuName, bool abOpening) if (asMenuName == "LockpickingMenu") if (abOpening) Debug.Trace("Lockpicking menu is open!") endif endif endEvent
  13. Oninit() is really only used for like one time events. It would probably be a lot easier to like superficially add the specific perk to the player temporarily given specific conditions and removed after the fact than whatever it is you're trying to do. Take my above advice make a quest. Think of a quest as like the home base for your mod. Setting quest stages are basically keeping track of different happenings in the mod. It took me awhile to figure this out but it was probably some of the best advice I got. You're talking about a global variable...they are not const. They change all the time given specific conditions. But if x happens setstage(10)...once it's set it's not going to change unless you change it.
  14. Something like Object reference[] array = new array[formlist.getsize()] Int index=0 While index != Formlist.getsize() array[index] = Formlist.getat(index) ; index+=1 Endwhile (Untested) As far as having a struct in your script theres no way to access the elements via a number. You can However do what I did and use autoit to generate code similarly using text files and copying the information to arrays and making it spit out what I wanted.
  15. Event OnHit(ObjectReference akTarget, ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, \ bool abSneakAttack, bool abBashAttack, bool abHitBlocked, string apMaterial)
  16. Ya I've tracked it up to that point b4. I appreciate the input. I think I'm going for the brute force method at this point. Its going to make my mod balloon considerably but it is what it is. I'm back to making my own ck automation tools.
  17. The problem specifically is that I can spawn in a handy type robot with any mods I want but they have to be manually added to the object template of the actor base. If I try to attachmod(mod) the bot basically turns to crap. If I attachmod() the robot automatically loses 2 arms, 2 eyes. Its almost like the node data changes from a handy type robot to a automatron which allows regular arms to be placed on the eye nodes. I've been trying for the past 2 days to figure out a way to dynamically change the object template directly b4 instantation. Doesn't seem to be anyway to do this. That's why I was hoping I could run functions on a ref b4 creation. I'm pretty sure I tried disabling b4 the mod operation but I could always try it again. Is there any way to specify which mod is priced from a mod collection? If I could do that it would probably solve the problem. I was trying to figure out a way to make lvled lists with keywords to point at different mod configurations on the object template but I'd still need to make a bizzilion different configurations. I thought about putting the lvled list in the bot inventory but items in the bots inventory dont seem to do anything. Idk. Tough one.
  18. Well my plan is shot lol. I was hoping that if I cast actor as objectreference before instantation that it would just like load the reference to memory expecting to be spawned at some point... gawd.
  19. You can definitely use onmenuopencloseevent. The only issue is that the constructable object has a static recipe and theres probably no easy way to change it dynamically. So the cheap work around is going to be to either return the items it cost to build to the player inventory given the population count. Or like you said make a duplicate item with a different recipe. You can dynamically add or remove items from the workshop menu via a quest stage via conditions. Youd basically use the menu event to check the population, if its 0 yourquest.setstage(10) Else yourquest.reset(). The conditions on the item would be for the regular workbench getstage() < 10.00 (select your quest) The conditions on the duplicate item would be Getstage()==10. Edit. Ya I don't think you have to duplicate the entire bench just the constructable object.
  20. Thanks for the reply. So if I define a specific actor in the properties of a script, can I cast the actor as an object reference? The moral of the story here is due to whatever reason I need to run functions on an object reference before instantation....
  21. Ok so obviously I know what a created ref is... cruising through the papyrus scripting reference as is tradition..I had seen the author(s) refer to some functions in terms of "this will only work on created refs". Can someone give me an example of how to manipulate a noncreatedref and maybe a quick explanation? I believe I tried casting an actor base as objectreference and the editor said they were incompatible... I'd really like to know if something like this is possible? Do I need to define an object reference in the script properties and leave it blank and try something similar? I know by now you're probably thinking what am I doing? Losing my MIND. But for real I really want to know. If noone answers any questions I'd rather it be the above. What else... O I've been playing with robots and I'd like someone to take a look at something for me. If I load up the ck and only select the main fo4.esp and dlc01. No other mods ect. If I then click on body part data, then find anything that involves Mr handy or dlc01 createabothandy ect. I get an error message that pops up that says something like "warning missing node data P-modslotb|0 doesn't exist in 3d data" or something like that. Can anyone else confirm that this does this for them? These handybots are a royal pita. I'm just wondering if this is part of the problem I'm having? Any help would be great guys. Ty ty ty ty ty
  22. If there isn't a function that is available that meets your specific needs then you can always attach a script to the object and through some kinda event call if statements from there. Or use a quest to set various stages for different conditions and do other things based on those conditions.
  23. Its nothing that complicated. I'm just trying to mod mr handy robots in f04vr. Its broken and I'm trying to find a workaround.
  24. So I'm dealing with robots in vr and everything for the most part is great. My current problem is that when I try to creat a Mr handy type robot, no matter which way I try to do it as soon as I add any mod to it, the robot basically loses 2 arms and 2 eyes lol... I can remove a mod using removemod() with no I'll effects but adding anything messes it all the way up. I've tried pretty much every reasonable method I can think of. That's what doesn't work. The good news is that if I manually add the object mods to the robots object template and spawn the robot in it works just fine... so that leads me down 2 paths either A. I'll be severely limited in the functionality of this particular aspect of the mod bc I'd have to make every handy version individually and just spawn them in. I think I did the math and to get every variation would be more than a million combinations.... Or B. I need to manipulate the object template ingame. It seems that there is a fo4se function that gets you in there but I'm not exactly sure how. https://www.creationkit.com/fallout4/index.php?title=GetTemplate_-_ActorBase I wanted to avoid f4se but i can basically just make 2 versions of my mod. One that requires it and one that doesn't.
×
×
  • Create New...