Wolfe6900 Posted June 8, 2024 Posted June 8, 2024 AuctionHouse - Fallout 4 View File The Fallout version of Simple Slavery. What this mod does: -Allows the player to be sold into slavery. Currently, it has just 1 outcome. The player goes through an auction, then obtains a male follower. Once the male follower dies, the quest is complete. This can be done on an infinite repeat. - To get there, you will need to 'coc AuctionHouse' Requirements: - None, other than the base game. Future Plans: - Link this mod to other mods like Commonwealth Slavers, Raider Pet and etc. for additional outcomes. - Link this mod to defeat mods, allowing the player to be sent to the Auction House upon defeat. Submitter Wolfe6900 Submitted 06/08/24 Category Quest Requirements None 8
vaultbait Posted June 8, 2024 Posted June 8, 2024 Probably the easiest approach is to use a quest stage script fragment, since those run whenever a quest advances to the stage associated with the fragment. Have the dialogue choice advance the quest's stage. The teleportation part is then not too dissimilar from a teleport activator object ("door") script-wise, and tutorials for those abound.
nottommy Posted June 8, 2024 Posted June 8, 2024 yo quick question, is this a mod where the player gets auctiuoned into slavery or like what the gig here? (I would love to help) dont hav eany coding skills tho
travelmedic Posted June 8, 2024 Posted June 8, 2024 Just as food for thought, there's already another FO4 mod here on LL names "The Auction House" that also deals with slavery and is an add-on for Just Business. Maybe you might want to change the name of your mod slightly so people don't get them confused??? 1
Wolfe6900 Posted June 8, 2024 Author Posted June 8, 2024 54 minutes ago, vaultbait said: Probably the easiest approach is to use a quest stage script fragment, since those run whenever a quest advances to the stage associated with the fragment. Have the dialogue choice advance the quest's stage. The teleportation part is then not too dissimilar from a teleport activator object ("door") script-wise, and tutorials for those abound. Thanks for the advise! I'll try out that key phrase and see if it leads me somewhere. It seems like half the battle is finding the correct phrase for google to give me something to bite off of. Currently a noob modder at this point.
Wolfe6900 Posted June 9, 2024 Author Posted June 9, 2024 41 minutes ago, nottommy said: yo quick question, is this a mod where the player gets auctiuoned into slavery or like what the gig here? (I would love to help) dont hav eany coding skills tho Yeah, not sure if you're familiar with what Simple Slavery Plus Plus did with Skyrim but basically it was a halfway point to where mods would link together. This is supposed to serve as a mod that would link something like "Raider Pet" where some event would trigger the Player Character to be sent to an auction, sold to the highest bidder, then sent to Raider Pet, Commonwealth Captives, Nuka Ride or etc., randomly. 7
Wolfe6900 Posted June 9, 2024 Author Posted June 9, 2024 21 minutes ago, travelmedic said: Just as food for thought, there's already another FO4 mod here on LL names "The Auction House" that also deals with slavery and is an add-on for Just Business. Maybe you might want to change the name of your mod slightly so people don't get them confused??? I knew it sounded familiar; that must be where it came from. I'll look for an alternative name. Thanks for the input
nottommy Posted June 9, 2024 Posted June 9, 2024 yo quick question, is this a mod where the player gets auctiuoned into slavery or like what the gig here? (I would love to help) dont hav eany coding skills tho 58 minutes ago, Wolfe6900 said: Thanks for the advise! I'll try out that key phrase and see if it leads me somewhere. It seems like half the battle is finding the correct phrase for google to give me something to bite off of. Currently a noob modder at this point. sound ssick already like the idea cant wait for actual release
Wolfe6900 Posted June 9, 2024 Author Posted June 9, 2024 7 hours ago, nottommy said: btw whats the download file? Right now it's just the .esp file so essentially, you could just copy/paste it into your Fallout 4 > Data folder and enable it through the game's Mods Menu to test it. I didn't want to compress it yet to a zip since the scripting could be lost if someone else was to mess with the script.
hewbert Posted June 9, 2024 Posted June 9, 2024 Thank you Wolfe, I was having similar ideas messing around in Skyrim lately. The gameplay loop of defeat -> Violate - > sent to Slave Market - > outcome could bring some fresh new ideas to FO and make sure player characters think twice before charging into battles.
amonng Posted June 9, 2024 Posted June 9, 2024 好想法,我想这个模组日后甚至有望发展成一个中型甚至较大型的模组。可以尝试着加入一些拍卖中或者拍卖后的剧情任务,例如成为掠夺者的战斗随从和性奴,这样可以添加许多类似于普雷斯顿的清理据点任务,在这些任务中还可以设置一些支线色情任务,比如被超级变种人抓住成为他们的奴隶然后被枪手头目解救之类的,由此可以拓展大量的任务线。另外,可以试着让男性玩家成为奴隶主(就像上古卷轴天际的那个经典mod一样),但上述的一切都只是我的建议,这些想全部实装需要很多时间和精力的。加油,我看好你。 Good idea, I think this mod will even grow into a medium or even larger mod in the future. Try adding some of the auction or post-auction story missions, such as becoming a radier's combat slave and sex slave, which can add a lot of Preston-like spot cleanup missions, and in these missions you can also set up some side erotic missions, such as being captured by super mutants and being their slave and then rescued by the gunner boss, etc., so that you can expand a large number of quest lines. Also, try making male players become slave owners (like the classic mod in The Skyrim), but all of the above is just my suggestion, and it takes a lot of time and effort to implement them all.O7 4
Wolfe6900 Posted June 9, 2024 Author Posted June 9, 2024 3 hours ago, hewbert said: Thank you Wolfe, I was having similar ideas messing around in Skyrim lately. The gameplay loop of defeat -> Violate - > sent to Slave Market - > outcome could bring some fresh new ideas to FO and make sure player characters think twice before charging into battles. Thanks for the kudos! This is my first mod so it's been a helluva learning curve and will take a lot of time before it's fully functional. 1
hewbert Posted June 9, 2024 Posted June 9, 2024 15 minutes ago, Wolfe6900 said: Thanks for the kudos! This is my first mod so it's been a helluva learning curve and will take a lot of time before it's fully functional. For sure! Checking the site has inspired myself to dig around and create. Iv been watching tutorials now and again to learn and hope to contribute in the future.
Wolfe6900 Posted June 9, 2024 Author Posted June 9, 2024 1 hour ago, hewbert said: For sure! Checking the site has inspired myself to dig around and create. Iv been watching tutorials now and again to learn and hope to contribute in the future. Seeing as this is my first mod, I'm sure your expertise would help as well! I worked a few edits trying to make the mod dependent on other mods like "Torture Devices" and etc., however, it ultimately led to my version being corrupted and set to 0MB size. I was on vacation last week so had plenty of time to work this, however, I'll be busy at work next week and won't be able to make many updates. Feel free to dive into the file, play around and send me the .esp if you'd like.
slvsaris Posted June 9, 2024 Posted June 9, 2024 I would check out other mods for coding examples. Just find one that does what you are looking to do and poke around the source.
spicydoritos Posted June 9, 2024 Posted June 9, 2024 31 minutes ago, slvsaris said: I would check out other mods for coding examples. Just find one that does what you are looking to do and poke around the source. I was going to suggest the same thing. Specifically, check out the bip_boundMain script from Bound in Public. Moving an actor to some other location is simple, it's just actor.MoveTo(ObjectRef). Doesn't matter if it's in the same room or across the map. The hard part is remembering to account for secondary things like companions, player control, etc. That's why I strongly recommend that your script fragment call the function from a main script that's attached to a different quest. You'll tear your hair out if you try to handle all those issues within a script fragment.
Kanlaon Posted June 10, 2024 Posted June 10, 2024 Ahh, yes. Like @spicydoritos Moveto is only one (small) part of the thing. At the moment there are only a few mods for player slavery available in FO4 and all of them requires to dig into the special tarket mod and what is required there. In some of them I have already take a look inside. For slavery outcomes there is already AAF violate where you can have a look how @EgoBallistic had made some good solutions for CSA Abduction, Raider Pet and Bound in Public. In my unpublished "Go to sleep" I had also added some addional quests to achive better control for the available slavery mods. ( The solution with Magic effect scripts, which is used in the published version was not the best idea, since the start event of the magic effect will fire again when a saved game was reloaded, Learning by doing ) Any way, I can help with scripting if it is required. Regards
Wolfe6900 Posted June 10, 2024 Author Posted June 10, 2024 22 hours ago, spicydoritos said: I was going to suggest the same thing. Specifically, check out the bip_boundMain script from Bound in Public. Moving an actor to some other location is simple, it's just actor.MoveTo(ObjectRef). Doesn't matter if it's in the same room or across the map. The hard part is remembering to account for secondary things like companions, player control, etc. That's why I strongly recommend that your script fragment call the function from a main script that's attached to a different quest. You'll tear your hair out if you try to handle all those issues within a script fragment. 1. So I attempted creating a script through the "Script" tab: Quote Scriptname AuctionHouse_Dialogue_Script extends Quest actor.MoveTo(ObjectRef) ObjectReference Property ObjRefProperty_AuctionHouse Auto Const and I get a "no viable alternative at input" error. Attempted going into the "Properties" > Type: "ObjectReference" but get the same error when trying to add it. 2. Another method I used was adding the script: Quote Scriptname AuctionHouse_TeleportPlayer extends ObjectReference ObjectReference Property DestinationMarker Auto ; fill this property with the objectreference of the XmarkerHeading where you want the player to teleport to. ; optionally you can have some global variables here that get set to 1(on) when certain conditions are met. You can then add an if statement that decides if you can teleport or not. Event OnActivate(ObjectReference akActionRef) Game.GetPlayer().MoveTo(DestinationMarker) ;moves the player to the preset location EndEvent This one succeeds and let's me place the property as my XMarker, however, when I go back to the "Scenes" tab, check "Run Fragment" and type "kmyQuest AuctionHouse_TeleportPlayer" in the block below, I get the errors: Quote script property NewProperty already defined script variable ::NewProperty_var already defined script property NewProperty already has a get function defined script property NewProperty already defined script variable ::NewProperty_var already defined script property NewProperty already has a get function defined Would you happen to know what I'm doing wrong in this?
Wolfe6900 Posted June 10, 2024 Author Posted June 10, 2024 5 hours ago, Kanlaon said: Ahh, yes. Like @spicydoritos Moveto is only one (small) part of the thing. At the moment there are only a few mods for player slavery available in FO4 and all of them requires to dig into the special tarket mod and what is required there. In some of them I have already take a look inside. For slavery outcomes there is already AAF violate where you can have a look how @EgoBallistic had made some good solutions for CSA Abduction, Raider Pet and Bound in Public. In my unpublished "Go to sleep" I had also added some addional quests to achive better control for the available slavery mods. ( The solution with Magic effect scripts, which is used in the published version was not the best idea, since the start event of the magic effect will fire again when a saved game was reloaded, Learning by doing ) Any way, I can help with scripting if it is required. Regards Feel free to make any modifications you'd like in it; I was pulling out my hair working 3 days on the fragments and decided to upload it here looking for advise. It'd probably help advance it faster with multiple people working on it; I've only got about 1 hour/daily to dabble around in it and feel it could be months before it's ready to play.
vaultbait Posted June 10, 2024 Posted June 10, 2024 32 minutes ago, Wolfe6900 said: 1. So I attempted creating a script through the "Script" tab: Quote Scriptname AuctionHouse_Dialogue_Script extends Quest actor.MoveTo(ObjectRef) ObjectReference Property ObjRefProperty_AuctionHouse Auto Const and I get a "no viable alternative at input" error. Attempted going into the "Properties" > Type: "ObjectReference" but get the same error when trying to add it. All function calls must occur within event blocks (Papyrus is an asynchronous event-driven language). That's why this wouldn't compile but your other attempt inside an OnActivate event did. Property declarations and global variable assignments are fair game in the main context outside of event blocks though. (Script fragments attached to topicinfos or quest stages are actually embedded inside events you don't see in the CK's fragment editor, so raw function calls work okay in those.) 35 minutes ago, Wolfe6900 said: 2. Another method I used was adding the script: Quote Scriptname AuctionHouse_TeleportPlayer extends ObjectReference ObjectReference Property DestinationMarker Auto ; fill this property with the objectreference of the XmarkerHeading where you want the player to teleport to. ; optionally you can have some global variables here that get set to 1(on) when certain conditions are met. You can then add an if statement that decides if you can teleport or not. Event OnActivate(ObjectReference akActionRef) Game.GetPlayer().MoveTo(DestinationMarker) ;moves the player to the preset location EndEvent This one succeeds and let's me place the property as my XMarker, however, when I go back to the "Scenes" tab, check "Run Fragment" and type "kmyQuest AuctionHouse_TeleportPlayer" in the block below, I get the errors: Quote script property NewProperty already defined script variable ::NewProperty_var already defined script property NewProperty already has a get function defined script property NewProperty already defined script variable ::NewProperty_var already defined script property NewProperty already has a get function defined Would you happen to know what I'm doing wrong in this? What ObjectReference is the script attached to? If you're approaching it this way, the script fragment will need to Activate() that ObjectReference (ideally referenced as a property in the fragment, though typically it would be a quest alias in the quest your scene is a part of).
Wolfe6900 Posted June 10, 2024 Author Posted June 10, 2024 1 hour ago, vaultbait said: All function calls must occur within event blocks (Papyrus is an asynchronous event-driven language). That's why this wouldn't compile but your other attempt inside an OnActivate event did. Property declarations and global variable assignments are fair game in the main context outside of event blocks though. (Script fragments attached to topicinfos or quest stages are actually embedded inside events you don't see in the CK's fragment editor, so raw function calls work okay in those.) What ObjectReference is the script attached to? If you're approaching it this way, the script fragment will need to Activate() that ObjectReference (ideally referenced as a property in the fragment, though typically it would be a quest alias in the quest your scene is a part of). The ObjectReference was referring to the XMarker in the jailcell. I found an alternative way to teleport, via interacting with an object with the following script: Quote Scriptname ExampleTeleporter extends ObjectReference ObjectReference property TeleportMarker auto Event OnActivate(ObjectReference akActivator) akActivator.MoveTo(TeleportMarker) EndEvent Not sure how well this would implement/integrate with other mods though? Would there be a way to make a mod, i.e., AAF Violate, force the Player Character to interact with the object?
vaultbait Posted June 10, 2024 Posted June 10, 2024 42 minutes ago, Wolfe6900 said: The ObjectReference was referring to the XMarker in the jailcell. I found an alternative way to teleport, via interacting with an object with the following script: Not sure how well this would implement/integrate with other mods though? Would there be a way to make a mod, i.e., AAF Violate, force the Player Character to interact with the object? That's basically how a "teleport door" (e.g. the entrance to the bomb shelter in Sanctuary) works. It's an ObjectReference script attached to an in-game placed activator object. A mod like Violate could simply soft-add its refId as an ObjectReference if your mod is installed, and then call that reference's Activate() method.
Kanlaon Posted June 10, 2024 Posted June 10, 2024 Some hints in general I would suggest not to focus on the "teleport" feature, instead first (re)build your auction house and create TopicInfos for the desired outcomes (in one or maybe more different scenes if necessary) depending at least on a random condition and at least one global variable for each outcome maybe an additional scriptproperty to decide if the desired outcome is available at all. Global variables work well with the Fallout 4 MCM and can be used in (dialogue) conditions. The other possibility to use settings in the MCM (as done in AAF violate) has the advantage/disadvantage (?) to work independant of a saved game. The last possibility to use script properties for an MCM is very critical and can easily lead to problems (although) it works in general. The reason for this is that in difference to skyrim scripts are objects in FO4 and can become invalid. If such a script is invalid the properties are no longer accesable from the MCM. Besides the dialogue quest - and as Spicydoritos suggested - one quest containing a script library for common functions is very handy. Be careful if you assign more than one script to a quest, often it is no problem but sometimes the CK to seems to change the order in which they are attached to the quest. (This happened to me in one of may mods, and since this script containes properties for the MCM it takes me a long time to find out why my MCM does not work anymore) Additional if you are planning updates in future another quest should works as a starter and should be able to do version updates. Last but least maybe it could also make sense to have an own quest and script only for common propertys (as it is done in Devious devices RC9) - but smaller mods also can operate without it. To continue with the Bound in Public Mod, this mod already does a lot by itself and also handles possible player followers by itself ! Basically all you really need is: Quest BIP_BoundQuest = Game.GetFormFromFile(0x00001ECC, "BoundInPublic.esp") as quest BIP_BoundQuest.start () To start, that already should be enough --> No teleport required. Similar easy is "Commonwealth slavers" an example is found on the mod page (No teleport required !). Unfortunately the mod itself does not work well for midgame levelled player. (With Lvl 37 the levelled NPC's in Hardwaretown spawns gunners instead of raiders -> quest hung)
Kanlaon Posted June 10, 2024 Posted June 10, 2024 1 hour ago, Wolfe6900 said: The ObjectReference was referring to the XMarker in the jailcell. I found an alternative way to teleport, via interacting with an object with the following script: Not sure how well this would implement/integrate with other mods though? Would there be a way to make a mod, i.e., AAF Violate, force the Player Character to interact with the object? I never tried to use it this way, what i already have practised is ObjectReference Property GTS_PlMarkerRef Auto Const Mandatory ; .... pl_ref.MoveTo (GTS_PlMarkerRef) where the Moveto is part of a function somewhere. If you want to use it in an activate event you will of coarse require something to trigger your Onactivate Event. When I remember right the Markers are invisible, so clicking is not an option. Doing something like this is possible with a script function similar to TriggerbedRef.activate (pl_ref) (The bed in the triggerbedref is activated by the player, which will cause the Default action to fire and if there is an OnActivate assigned will fire this)
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now