Scrivener07 / FO4_Games

Play classic games in Fallout 4.
MIT License
19 stars 3 forks source link

Sim Settlements Plot Addon #27

Closed Scrivener07 closed 5 years ago

Scrivener07 commented 7 years ago

How about we create an SS addon plot for playing classic games like blackjack.

Sim Settlements Toolkit

Scrivener07 commented 7 years ago

TheWhiteCollarPlayers - Yesterday at 8:51 PM @kinggath Sounds great! Based on my in-game experience with SS I imagine our framework for calling the play blackjack script could run via the dialogue much like vanilla shops (if you have tips on that btw I could really use them) and if you're interested feel free to contribute your thoughts to the github issue scrivener posted!

kinggath - Yesterday at 8:52 PM I haven't done a lot of messing around with the dialog system yet.

TheWhiteCollarPlayers - Yesterday at 8:53 PM But did you happen to find which quests govern it?

kinggath - Yesterday at 8:53 PM You can create a new quest for that.

TheWhiteCollarPlayers - Yesterday at 8:53 PM If so I should be able to replicate it and attach the script pretty easily I would, but the issue is the assigning thing I don't know what alias/reference to use for any NPC that could be assigned if that makes sense?

kinggath - Yesterday at 8:53 PM It would be best to write a new handler for this. I can work on that if you want to design the plot. Though it will have to wait a bit, I'm down to the last two weeks of development on the first expansion. After that I could definitely tackle this for one of the early patches.

TheWhiteCollarPlayers - Yesterday at 8:54 PM Oh oh oh wait sorry, we are not that close to being ready for designing for SS

kinggath - Yesterday at 8:54 PM Ahh ok

TheWhiteCollarPlayers - Yesterday at 8:54 PM We still need to get to a "first playable build" and all sorts of stuff after it is refined I am sure I could start designing a plot, I haven't tinkered with that aspect of SS yet but with all of your tutorials and documents, should be straight forward I appreciate your willingness to help, I can only imagine how incredibly busy you are, many thanks! @kinggath But when we get to that point, we will let you know and gladly take you up on your offer

kinggath - Yesterday at 8:56 PM Ok, well I can at least point you guys in the right direction

TheWhiteCollarPlayers - Yesterday at 8:56 PM Yes! Thank you! And when the time comes, I could use tips for designing it to fit the SS style(edited)

kinggath - Yesterday at 8:57 PM You're going to want to extend the WorkshopObjectScript for your furniture object, and override this method: AssignActor so that you can assign them to an alias on your new quest to manage the dialogue. The workshop dialogue is handled by WorkshopParent, so you can use some of that as a template and steal dialogue lines so that their other lines can match the vanilla stuff.

Scrivener07 - Yesterday at 8:59 PM Oh that script is intended to be extended? I have never messed with workshop anything.

kinggath - Yesterday at 9:00 PM I don't think it was intended to be, but the inheritance is reasonable enough in papyrus that you can extend pretty much anything. Especially with the native Parent.Method support.

Scrivener07 - Yesterday at 9:01 PM How much of this "just works" :todd: ?

kinggath - Yesterday at 9:01 PM lol - more than expected, but less than should.

Scrivener07 - Yesterday at 9:01 PM I like these odds, better than most LOL

kinggath - Yesterday at 9:03 PM The biggest hurdle is how much WorkshopParent tries to get involved. I'd tell you to decompile the SS code for ideas on some of the hoops you might have to jump through, but I think it's a little tough to follow now and the primary reason for it's complexity is overriding the default behavior of one assignment per settler. I think for getting a standalone release functioning, just extending WorkshopObjectScript should be pretty simple overall.

Scrivener07 - Yesterday at 9:05 PM That sounds hopeful. I will give it a try soon. Some of it is even documented http://www.creationkit.com/fallout4/index.php?title=Category:Workshop

TheWhiteCollarPlayers - Yesterday at 9:06 PM I'll have to let @Scrivener07 handle the scripting part, he's been my lifeline for this mod :smiley: but I'll try to replicate what Beth did for the vendor, which I think I can manage. For the moment at least A "band aid" fix if you will

kinggath - Yesterday at 9:32 PM WorkshopNPCScript is on an actor - if you're looking to make the settlers be able to run the table, you'll need to do a ForceRefTo call from the script and assign them into that alias. You should be duplicating an object with the WorkshopObjectScript on it to make settlers be assignable. If you're just trying to make a custom dealer, then your method should work.

TheWhiteCollarPlayers - Yesterday at 9:35 PM The WorkShopObjectScript is used for the furniture if that's what you mean, I'm trying to set up the dialogue for the npc that is assigned to the furniture object

kinggath - Yesterday at 9:36 PM Right, those WorkshopVendors you're duplicating are the tier 4 vendors. So they are special NPCs.

TheWhiteCollarPlayers - Yesterday at 9:37 PM Oh.....is there a non-special one I should use?

kinggath - Yesterday at 9:38 PM You don't need an actor record for this to work On your quest alias, check in the Optional flag, and set the Fill Type to Specific Reference, but don't actually choose a reference you'll then be able to fill the reference at runtime when the NPC is assigned to your custom furniture

TheWhiteCollarPlayers - Yesterday at 9:39 PM Huh, and how does that happen?

kinggath - Yesterday at 9:39 PM Also make sure your alias type is RefCollection - that way multiple dealers can be set up

TheWhiteCollarPlayers - Yesterday at 9:40 PM Oh good point, thanks

kinggath - Yesterday at 9:40 PM On your furniture, you'll need to extend WorkshopObjectScript, and tell it about your custom quest

TheWhiteCollarPlayers - Yesterday at 9:40 PM ah...ok I can handle that In that case, I'm gonna delete my previous message about how to do it lol

kinggath - Yesterday at 9:42 PM In your extended script, you'll add a function called AssignActor - in it, you'll want to copy the contents of WorkshopObjectScript's AssignActor function and add your new extra handling. Look up the ForceRefTo function for how to assign the actor to an alias. You'll also need to handle removing them from the alias in that function. When you look up the WorkshopObjectScript's version - you'll see how it's used for assign and unassign. You may have to add some extra handling for removing them from the alias later (I can't recall off hand)

TheWhiteCollarPlayers - Yesterday at 9:43 PM Ah ok, I will do my best, might see if Scriv can handle it, my background lies in C code, so Papyrus is a little advanced for me Many many thanks for your suggestions, I'm glad I didn't journey too far down that wrong path I mentioned

kinggath - Yesterday at 9:44 PM Might need to make use of this custom event: WorkshopParentScript.WorkshopActorUnassigned (Scriv can figure that out :wink: )

TheWhiteCollarPlayers - Yesterday at 9:44 PM Hahahaha he is my life saver

kinggath - Yesterday at 9:44 PM Good luck!

TheWhiteCollarPlayers - Yesterday at 9:44 PM I'll send him all this Thank you sir!

kinggath - Yesterday at 9:45 PM I'll be able to help more fully in a couple weeks - trying to hit my target deadline atm so my plate's pretty full

TheWhiteCollarPlayers - Yesterday at 9:47 PM I'm sure it is, I appreciate the assistance you've given now! If scriv can handle what you said then we will be back to cookin along! Thanks again! @kinggath Also, gonna put you in the special thanks section, would you like for us to include your YouTube or Nexus link? If you don't choose, I'll just put em both

kinggath - Yesterday at 9:52 PM how about simsettlements.com

TheWhiteCollarPlayers - Yesterday at 9:55 PM That too!

TheWhiteCollarPlayers commented 6 years ago

After we are at a comfortable point with the mod, we can discuss this, but it is definitely something I want to do

TheWhiteCollarPlayers commented 6 years ago

An update: user Uituit has created the plots for us, all I need to do is add our custom furniture to each level and boom done. Will be focusing on this soon!

TheWhiteCollarPlayers commented 5 years ago

The sim settlements addon is pushed to the Nexus! Closed!