Jump to content

Let's talk about slavery (Now with a small download!)


Chase Roxand

Recommended Posts

Posted
I guess I would point out that slavery is supposed to be a "completely controlled environment' date='" and that it might spur some more creative use of gameplay elements by modders, and might make for an interesting change of pace for players. And the idea that the pipboy is "simply too important to the basic gameplay" vastly understates what can be done without it, without really explaining what on earth you might need the pipboy for in a slavery mod anyways. Presumably you could always retrieve it with the rest of your stuff when escape, or when otherwise appropriate. And it would have always been possible to put a toggle in the mod settings, and have the mod default to keeping the PipBoy. But I can understand the technical arguments against the idea. I wouldn't want to be trapped in an agonizing reload cycle with a blank space on my arm where I'm expecting my PipBoy to be.[/quote']By "completely controlled environment" I was referring to in-game environement and not story environment. I used vanilla FO3's Tranquility Lane as an example (emphasis on vanilla here) because the game removes your Pipboy, but it also removes any need for you to use it. The game handles item unequippping/reequipping itself as necessary until you leave the simulation, and of course due to the story there the game knows you have no reason to switch items anyway.

 

Add any mod at all and you've left the controlled environment. You've now got unknown elements in the mix that the slavery plugin has no control over. Sure, within the story you have no reason to nor should you even have the ability to switch items. But who knows what mod would suddenly start causing problems. It's just my opinion that unless you are 100% certain the player isn't going to need it you shouldn't be removing some of the player's menu screens.

Posted

I believe that Kissinger meant that the slaver would feed you (AddItem/EquipItem) while the PipBoy was removed.

 

Yes' date=' that is what I mean, thanks. There might be other workarounds, but I don't know enough about scripting to suggest anything. You might be able to make a food dish or a take-out container or whatever that would feed the player when activated.

 

By "completely controlled environment" I was referring to in-game environement and not story environment. I used vanilla FO3's Tranquility Lane as an example (emphasis on vanilla here) because the game removes your Pipboy, but it also removes any need for you to use it. The game handles item unequippping/reequipping itself as necessary until you leave the simulation, and of course due to the story there the game knows you have no reason to switch items anyway.

 

I think that sounds like exactly what I had in mind. It sounds ideal for a slavery mod.

 

Add any mod at all and you've left the controlled environment. You've now got unknown elements in the mix that the slavery plugin has no control over. Sure' date=' within the story you have no reason to nor should you even have the ability to switch items. But who knows what mod would suddenly start causing problems. It's just my opinion that unless you are 100% certain the player isn't going to need it you shouldn't be removing some of the player's menu screens.

[/quote']

 

I think you know a lot more about mod-mod conflicts than I do. But I wonder why this couldn't be worked around. Presumably the player knows what mods they have installed, and if they need management it is always possible to reload or tweak things beforehand. But Chase has already said that PipBoy removal won't be included, so this discussion is probably just theoretical.

Posted
EDIT:

A bit unrelated' date=' but does anyone know how I could add a warning "beep" when the player is near/outside of their safe area?

[/quote']

Have a look at the Bomb Collar Scripts for Dead Money, I think they do that.

Posted

Well, this is as much as I've been able to get done over the weekend. Like I said before, there won't be any time for me to work on SexoutSlavery this week. So this is all that there will be for the next week. It's very very far from being finished, but there's enough to toy around with.

Feel free to make test plugins and/or improve the ESM until next weekend.

 

This does nothing on its own. If you don't know how to use the GECK, don't download it.

 

The main variables

Note: all variables will be called from SexoutSlaveryPlayerQ, so add "SexoutSlaveryPlayerQ." in front of them.

Most of the variables in SexoutSlaveryPlayerQScript have comments, so the "optional" ones not included here are described there.

 

master - The reference that owns the player. It can be an NPC or an object.

slaveryType - How the script will check for punishment. Values are shown below:

  • 0 - free roaming [default]
  • 1 - leashed (not implemented)
  • 2 - player must stay within a certain radius of "master"
  • 3 - player must be in the same cell as "master" or be within a certain radius
  • 4 - player must be in a cell listed in SexoutSlaverySafeCells

workType - What the player is working as. (sex slave, for caps, for fighting, etc) (not implemented)

punishmentType - The type of automated punishment given when they break the rule defined in slaveryType. Values are shown below:

  • 0 - no punishment [default]
  • 1 - knock out the player and move them to their master (not implemented)
  • 2 - explode the player's collar
  • 3 - inject the player with the ingestible item defined by "injectionRef"
  • 4 - start combat with the player

takeItems - remove none (0 [default]), all important items (1), or all weapons (2) from the player's inventory. Exceptions can be included in SexoutSlaveryEquipmentAllowed.

stolenItemsContainer - where the items removed from the player will go [default is "SexoutSlaveryItemsLocker"]

useDefaultDialog - use the premade dialog for master-slave and client-slave relations (not implemented)

 

 

 

How to use it

CIOS SexoutSlaveryFreePlayer ; resets settings

; define vital/optional variables here
; add stuff to SexoutSlaveryExtraMasters, SexoutSlaverySafeCells, 
; SexoutSlaveryEquipmentAllowed, SexoutSlaveryCombatTargets (not implemented), 
; and/or SexoutSlaveryWorkItems (not implemented) as needed.

CIOS SexoutSlaveryEnslavePlayer ; enslaves the player

 

For example:

playerRef.CIOS SexoutSlaveryFreePlayer

set SexoutSlaveryPlayerQ.master to SarahWeintraubREF
set SexoutSlaveryPlayerQ.slaveryType to 4
set SexoutSlaveryPlayerQ.punishmentType to 2
set SexoutSlaveryPlayerQ.takeItems to 1
set SexoutSlaveryPlayerQ.stolenItemsContainer to SarahWeintraubREF
ListAddForm SexoutSlaverySafeCells 2EOVault21GiftShop
ListAddForm SexoutSlaverySafeCells 2EOVault21

playerRef.CIOS SexoutSlaveryEnslavePlayer

 

To free the player at any time, use "CIOS SexoutSlaveryFreePlayer".

Posted

Just thought I'd update everyone: I began work on the slaver system, but once I had it 99% complete, it fell apart and now I'm getting crashes. Also, the form lists are acting funny. Are they not permanent if modified in a script, or something? Anyway, if someone wants to take a stab at it, PM me. Otherwise, it'll probably be another week before I have anything new to share.

Posted

How's the mod progressing? can't wait to play it! :D

 

EDIT: Didn't see it was just a resource. Allow me to change the question:

 

Is anyone using this resource atm? I'd like to play another slavery mod :D

Posted

It'll be a resource, but I'll also include playable examples. So you'll at least get something to do with this if you aren't a modder. However, I could use some ideas for who would be a slave owner in the vanilla game.

I didn't get anything done this weekend, unfortunately. But right now it looks like...

 

Done:

- The ability to enslave the player with a couple lines of code.

- A form list that slavers read from to randomly select a master to sell to.

- Basic capture system/dialog for slavers.

- Placed random slavers across the wasteland.

 

To-do soon:

- Add a warning sound when too far away or outside of the safe area.

- Fix crashing when moving items to the default container.

- Fix slavers not traveling to the selected master.

- Fix the "possible masters" form list resetting itself.

- Add pre-made systems for whoring out and collecting caps as a sex slave.

- Come up with better AI/implementation for the slavers.

 

To-do later:

- Port the "leash" system here.

- Add additional pre-made jobs for slaves. (Maybe, since it's a lot of work and I don't know if people will even use them)

- Enslavement of NPCs.

- Hardcore mode support.

 

When the "to-do soon" items are done, I'll consider an official release.

Posted

However' date=' I could use some ideas for who would be a slave owner in the vanilla game.

[/quote']

 

Violet,Captain Curtis,Michael Angelo (he can consider it living art),Mick or Ralph running it as a secret business on the side,Jean-Baptiste Cutting and Jeannie May Crawford.

 

I never did much with the Khans or Boomers so not sure who would be in those.

Posted

Well, the crashing has been fixed, but now this damn AI package won't work. Could someone help? I can't keep wasting my time with this.

 

The AI package "SexoutSlaverySlaverTravelToWaypoint", when added to the slaver (through the "SexoutSlaveryDefaultDialog" quest script), directs the slaver to a marker. However, the slaver never moves. I've tried using several different types of objects as markers, but nothing will work. Instead, the slaver just stands around until the AI package decides to call it quits and terminates itself.

 

If someone would take a stab at getting things working, I'd be immensely grateful.

 

To summon a slaver, use "player.placeAtMe XX001996 1". You'll need SexoutSlavery-Example.esp in order for the slaver to work.

Posted
The AI package "SexoutSlaverySlaverTravelToWaypoint"' date=' when added to the slaver (through the "SexoutSlaveryDefaultDialog" quest script), directs the slaver to a marker. However, the slaver never moves. I've tried using several different types of objects as markers, but nothing will work. Instead, the slaver just stands around until the AI package decides to call it quits and terminates itself.[/quote']The door in the cell that the marker is in does not have any teleport data. The NPC isn't going to the marker because there's no way to get there.

 

Posted
The AI package "SexoutSlaverySlaverTravelToWaypoint"' date=' when added to the slaver (through the "SexoutSlaveryDefaultDialog" quest script), directs the slaver to a marker. However, the slaver never moves. I've tried using several different types of objects as markers, but nothing will work. Instead, the slaver just stands around until the AI package decides to call it quits and terminates itself.[/quote']The door in the cell that the marker is in does not have any teleport data. The NPC isn't going to the marker because there's no way to get there.

 

 

But I'm moving the marker before adding the package. Shouldn't the slaver be trying to move to the new location? Plus, I tried including a marker in an accessible place ("SexoutSlaveryWaypointF2" in 2EOVault21GiftShop). That didn't work either. :\

Posted

The "SexoutSlaverySlaverWaitForPlayerTokenScript" script, which is attached to the "SexoutSlaverySlaverWaitForPlayerToken" Misc Item. I suppose that the system is a bit convoluted, but everything up until the slaver navigation works fine for me. It's setting dialogTarget correctly.

Posted

Try switching the script that moves the marker for a script that moves something visible, like a table or something, and see if it's actually moving to the proper place.

Posted

Tried that too (SexoutSlaveryWaypoint2). Everything moved fine. I've even tried using MoveTo and that works. If the slaver is in the same cell as the marker, it sometimes works, but it seems to never work several cells away.

Posted

Got so many fish to fry of my own that I don't have a lot of time to help with your AI package woes, but I will try to find the time to look into the issues you're having.

 

Posting because I just sent loogie a simple script to do the leashing stuff that I thought you might be able to expose to his mods and the others. Completely untested and partially pseudo in reference to variables, but it should work with minimal fiddling.

 

int leashpulling
float angle
int walkkey

Begin GameMode
 if leashed
   if (0 == leashpulling)
     if ((player.GetDistance LeashHolderREF) > max_roam_distance)
       disableplayercontrols
       set leashpulling to 1
       set walkkey to getcontrol 0
       holdkey walkkey
       LeashHolderRef.setrestrained 1
     endif
   else
     if ((player.GetDistance LeashHolderREF) > (max_roam_distance + 30))
       set angle to (player.GetAngle Z) + (Player.GetHeadingAngle LeashHolderRef)
       player.setangle Z angle
     else
       enableplayercontrols
       set leashpulling to 0
       releasekey walkkey
       LeashHolderRef.setrestrained 0
     endif
   endif
 endif
End

 

It needs a bit of tuning to be usable as a general purpose, like being able to dictate the start range and the stop offset, the master/slave references, etc.

 

If it isn't clear, the getkey stuff is inside the if block rather than once in an init block just because the player can change them during the course of play.

 

There is obviously some other stuff that would need to be done as well, like disabling fast travel, releasing the leash if the leash holder dies.. all that sort of boring "oh yeah, what about that" type of stuff, but I think the core is sound.

  • 2 weeks later...
Posted

leash system would be a great system and I can imagine multiple using methods for it, I strongly recommend you keep it and make it more like the way it works for playerslave in Lovers PK

Guest Loogie
Posted

Locking it so it sinks down and the newer one is more visible, at Chase's request.

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...