Jump to content

Recommended Posts

Heya Monoman, thanks for the mod. I've been running multiple of your mods now and they work just as intended without any issues.

 

I don't know if this has been suggested before, but here are some of my suggestions:

 

Trade Restriction: Traders have a chance to require nudity prior to trading, chance of additional requirements similar to toll gate officers'.

IIRC there is a mod that fulfills the being naked part, but it has a lot of other features that conflicts with other mods. 

 

Toll Gate Payment:

1. Spank That Ass integration, allowing for multiple(?) spanks as one of the payment options.

2. MME/Milk Addict integration, to pay with 'fresh' milk, if the player is a milkmaid.

 

Enforcer Checks: Currently if you own all the licences the enforces do not do anything, as they seemingly know that you have all the requirements to carry the items. Suggestion is to allow enforcers to check the player for valid licences periodically, with configurable cooldown timer. Possibly to hold on to the checks when the player is either in combat or in a scene. (Flashbacks to SRR slave agents forcegreeting when the player is already in a scene ?) Chance for enforcers to conduct a more 'thorough' search, after which the player can respond in multiple ways (soft SRR/DFC tie in maybe).

 

Additional Kennels: Currently the only Kennel is in Whiterun, perhaps additional kennels can be added to other towns, with some different animals?

 

Link to comment
31 minutes ago, jasondawn said:

I don't know if this has been suggested before, but here are some of my suggestions:

 

Trade Restriction: Traders have a chance to require nudity prior to trading, chance of additional requirements similar to toll gate officers'.

IIRC there is a mod that fulfills the being naked part, but it has a lot of other features that conflicts with other mods. 

 

Toll Gate Payment:

1. Spank That Ass integration, allowing for multiple(?) spanks as one of the payment options.

2. MME/Milk Addict integration, to pay with 'fresh' milk, if the player is a milkmaid.

 

Enforcer Checks: Currently if you own all the licences the enforces do not do anything, as they seemingly know that you have all the requirements to carry the items. Suggestion is to allow enforcers to check the player for valid licences periodically, with configurable cooldown timer. Possibly to hold on to the checks when the player is either in combat or in a scene. (Flashbacks to SRR slave agents forcegreeting when the player is already in a scene ?) Chance for enforcers to conduct a more 'thorough' search, after which the player can respond in multiple ways (soft SRR/DFC tie in maybe).

 

Additional Kennels: Currently the only Kennel is in Whiterun, perhaps additional kennels can be added to other towns, with some different animals?

These are not new requests, but nice summary.

 

Trade Restriction - various suggestions have been made - "similar to toll gate officers" sounds like a good way to put it though.

I think the toll gates spank may not have been requested before. Milk has.

I'm always in favor of more spanks.

 

Enforcer Checks - yes, this nails the oddity with enforcers: they are somehow psychically able to detect if you are trying to cheat or not.

 

Enforcers would feel more immersive if they inflicted the same crap on you regardless of the licenses you do or do not have.

Also, if they stopped making really specific accusations against your follower and blaming the PC for the follower's gear.

How do they even KNOW that person is your follower?

They should use similar dialog, "You too missy... Let's see what's in your bags."

and THEN the follower blames the PC: "She paid me to carry it."

 

But as Monoman says, too late now, probably won't ever change.

 

Additional Kennels - this never stops being asked for. And then Monoman says "but not exactly like kennels, maybe something specific to the city"... 

 

But you have to make the most of what you get. A Bikinifier was made.  Would you rather have the kennels or the bikinifier?

It doesn't matter now, Bikinifier is here. It probably wasn't an either/or choice. If Monoman was excited by making more "player hotels" he would likely have made them by now.

 

Some people won't use bikinifier, and some people won't use kennels.

 

I feel I need more reasons to use the kennel. Sometimes I use it for no reason at all, which feels a bit silly really.

If you use Bikinifier, you are going to get a lot of value out of it. It's probably better value than another kennel, or even two.

 

 

 

A fun idea for toll gate spanks might be a bit like this.

 

"Please, let me through the gate. I need to leave now!"

"Oh, do you now honeybuns?"

"Yes, just open the stupid gate... I'll pay the toll."

"Haha. Whatever you say miss." (winks)

 

PC is ported through the gate, but on arrival she's in some stocks just outside the gate.

Her clothes are then removed.

The guard then explains...

 

"The penalty for a woman trying to leave without permission is at my discretion. I hope this teaches you a lesson you idiot woman."

Guard administers a good whipping.

 

"You can wait here until we open the gate officially."

"This is so unfair... I'm going to report this to the Jarl."

"Unmarried women are technically a ward of the Jarl you know? Be careful he doesn't find a use for you."

 

PC spends however long it is until opening time naked in the stocks.

 

Guard comes to let you out.

 

"So wench, have you learned your lesson yet?"
"Yes sir. Sorry sir." (released)

"Get fucked you asshole!" (get another whipping and a fine, followed by stay in the stocks until gate closing time)

 

Guard then brings you back inside and lets you go, minus your clothes.

 

Don't take this too seriously, it's just a thought bubble.

Link to comment
4 hours ago, Black714 said:

Kennel Keeper Can Give Us Some Trick to Remove A Vaginal Plug. After Taking A Nap Removed Chastity Belt Can is a Problem.

Ow, my brain :(

2 hours ago, Lupine00 said:

With the open mouth patch, could we get a feature/option/something to make the mouth open a bit wider than the default?

Jeez. What are you trying to fit in there? :P

Got a phoneme in mind? Right now all this does it call Sexlab.OpenMouth() - So it's the SL version. Don't know much about phonemes in general. But I might be able to change the key press to rotate through:

1. Close mouth. 

2. Open mouth SL version

3. Open mouth eating watermelon whole version.

4. Close mouth. 

30 minutes ago, jasondawn said:

Trade Restriction: Traders have a chance to require nudity prior to trading, chance of additional requirements similar to toll gate officers'.

IIRC there is a mod that fulfills the being naked part, but it has a lot of other features that conflicts with other mods. 

Maybe. But it would only be a % chance of getting a dick trader I think. Similiar to the licence guys 'show me your tits' spiel. I'd say there's mods out there though that reduce your barter skill when naked. 

33 minutes ago, jasondawn said:

Toll Gate Payment:

1. Spank That Ass integration, allowing for multiple(?) spanks as one of the payment options.

2. MME/Milk Addict integration, to pay with 'fresh' milk, if the player is a milkmaid.

Also maybes. 

1 needs to get done in STA first

2 would need to be >= % full

37 minutes ago, jasondawn said:

Enforcer Checks: Currently if you own all the licences the enforces do not do anything, as they seemingly know that you have all the requirements to carry the items. Suggestion is to allow enforcers to check the player for valid licences periodically, with configurable cooldown timer. Possibly to hold on to the checks when the player is either in combat or in a scene. (Flashbacks to SRR slave agents forcegreeting when the player is already in a scene ?) Chance for enforcers to conduct a more 'thorough' search, after which the player can respond in multiple ways (soft SRR/DFC tie in maybe).

I don't really like the idea of periodic checks in general. Anything that interrupts me better have a good reason. Getting stopped for nothing would annoy me eventually. 

38 minutes ago, jasondawn said:

Additional Kennels: Currently the only Kennel is in Whiterun, perhaps additional kennels can be added to other towns, with some different animals?

Yup. Been suggested loads. Too much work-to-payoff ratio though. 

Link to comment
5 hours ago, Monoman1 said:

Jeez. What are you trying to fit in there?

Troll cock!

  

5 hours ago, Monoman1 said:

Got a phoneme in mind? Right now all this does it call Sexlab.OpenMouth() - So it's the SL version. Don't know much about phonemes in general. But I might be able to change the key press to rotate through:

There is apparently a way to make it bigger. See Better Blowjobs LE mod which patches sslBaseExpression.

Here's the code (I had to decompile to get it):

Spoiler

function OpenMouth(Actor ActorRef) global

    sslBaseExpression.ClearPhoneme(ActorRef)
    ActorRef.SetExpressionOverride(16, 0)
    mfgconsolefunc.SetPhonemeModifier(ActorRef, 0, 0, 75)
    mfgconsolefunc.SetPhonemeModifier(ActorRef, 0, 1, 75)
    mfgconsolefunc.SetPhonemeModifier(ActorRef, 0, 5, 100)
    mfgconsolefunc.SetPhonemeModifier(ActorRef, 0, 6, 100)
    mfgconsolefunc.SetPhonemeModifier(ActorRef, 0, 7, 100)
    mfgconsolefunc.SetPhonemeModifier(ActorRef, 0, 9, 68)
    utility.WaitMenuMode(0.100000)
endFunction

Complete decompile attached here: sslBaseExpression.7z

If you don't touch this file, I guess I can just use better blowjobs?

 

5 hours ago, Monoman1 said:

I'd say there's mods out there though that reduce your barter skill when naked. 

Use SLD to give your speech a boost for naked?

 

 

5 hours ago, Monoman1 said:

Yup. Been suggested loads. Too much work-to-payoff ratio though. 

How about quantity over quality?

 

Duplicate Whiterun kennel, duplicate kennel keeper NPC, etc, etc,

Just a theory, try Tes5Edit to bounce them to a new mod as new (renumbered) IDs, do some renames, then merge them back to SLS, thus duplicating all the involved forms en-masse. Hackily patch up a door from various cities.

 

Or, even hackier ... use the exact same kennel for all cities, and you leave by dialog that ports you back to the city you came from?

 

Failing that, add one of those Zap dog crates to all towns with no kennel. You can sleep in the crate for the price of a kennel.

Later on, maybe some later release, add funny things that happen if you sleep in the crate.

Link to comment
1 hour ago, Lupine00 said:

If you don't touch this file, I guess I can just use better blowjobs?

Open mouth scripts don't touch that script so it should be ok to use I'd guess. 

1 hour ago, Lupine00 said:

Or, even hackier ... use the exact same kennel for all cities, and you leave by dialog that ports you back to the city you came from?

Yea this is what I had planned on doing in the interim. Kind of boring but gets the job done. Still need to do the outside entrances though that could just be as simple as slapping a door into a wall. 

Link to comment
On 5/23/2020 at 11:37 PM, Monoman1 said:

Try this script please. Try to buy a licence and recreate the issue. Then post that log. 

_SLS_LicenceUtil.pex 81.11 kB · 2 downloads

First of all, I'd like to thank you for taking some of your time to trying to help me in solving this issue of mine. As per your request I've included the log file of my try. In this attempt, I talked with the quartermaster in Whiterun and asked him to give me the following licenses. No gold has been taken out from my inventory neither have I received any licenses:

 

- Short Magic

- Long Weapon

- Short Armor

- Long Clothes

 

Papyrus.0.log

Link to comment
10 hours ago, Meteox said:

First of all, I'd like to thank you for taking some of your time to trying to help me in solving this issue of mine. As per your request I've included the log file of my try. In this attempt, I talked with the quartermaster in Whiterun and asked him to give me the following licenses. No gold has been taken out from my inventory neither have I received any licenses:

Very odd.

 

Relevant log lines:

[05/26/2020 - 01:01:32AM] _SLS_: IssueLicence(): Issuer: [Actor < (C6046213)>]. LicenceType: -1. LicenceTerm: -1. DeductGold: TRUE. IsModEvent: False
[05/26/2020 - 01:01:32AM] _SLS_: IssueLicence(): BuyLicenceType: 0. BuyLicenceTerm: 0
[05/26/2020 - 01:02:19AM] _SLS_: IssueLicence(): Issuer: [Actor < (C6046213)>]. LicenceType: -1. LicenceTerm: -1. DeductGold: TRUE. IsModEvent: False
[05/26/2020 - 01:02:19AM] _SLS_: IssueLicence(): BuyLicenceType: 1. BuyLicenceTerm: 1
[05/26/2020 - 01:02:51AM] _SLS_: IssueLicence(): Issuer: [Actor < (C6046213)>]. LicenceType: -1. LicenceTerm: -1. DeductGold: TRUE. IsModEvent: False
[05/26/2020 - 01:02:51AM] _SLS_: IssueLicence(): BuyLicenceType: 2. BuyLicenceTerm: 0
[05/26/2020 - 01:03:26AM] _SLS_: IssueLicence(): Issuer: [Actor < (C6046213)>]. LicenceType: -1. LicenceTerm: -1. DeductGold: TRUE. IsModEvent: False
[05/26/2020 - 01:03:26AM] _SLS_: IssueLicence(): BuyLicenceType: 4. BuyLicenceTerm: 1

 

Code:

ObjectReference Function IssueLicence(Actor Issuer, Int LicenceType = -1, Int LicenceTerm = -1, Bool DeductGold = true, Bool IsModEvent = false)
	; LicenceType: 0 - Magic, 1 - weapons, 2 - Armor, 3 - Bikini, 4 - Clothes. -1 = Not set -> set via dialogue
	; TermDuration: 0 - Short term, 1 - Long term, 2 - Perpetual. -1 = Not set -> set via dialogue
	
	; Set mod event parameters
	If LicenceType > -1 && LicenceTerm > -1
		BuyLicenceType = LicenceType
		BuyLicenceTerm = LicenceTerm
	EndIf
	
	LicenceIntroDone = true

	Int GoldCost
	If BuyLicenceTerm == 0
		GoldCost = _SLS_LicCostShort.GetValueInt()
	ElseIf BuyLicenceTerm == 1
		GoldCost = _SLS_LicCostLong.GetValueInt()
	ElseIf BuyLicenceTerm == 2
		GoldCost = _SLS_LicCostPer.GetValueInt()
	EndIf
	
	ObjectReference Licence = (GetLicenceFormlist(LicenceAsInt = BuyLicenceType)).GetAt(BuyLicenceTerm) as ObjectReference
	StorageUtil.SetFloatValue(Licence, "_SLS_LicenceExpiry", -1.0)
	Int StampIt = ModEvent.Create("_SLS_InitializeLicence")
	If (StampIt)
		ModEvent.PushForm(StampIt, Licence)
		ModEvent.Send(StampIt)
	EndIf
	
	While StorageUtil.GetFloatValue(Licence, "_SLS_LicenceExpiry") == -1.0
		Utility.WaitMenuMode(0.2)
	EndWhile
	
	String DerogName = GetDerogName()
	String IssuerName = Issuer.GetBaseObject().GetName()
	String ExpiryString
	If _SLS_LicencePerpetualList.HasForm(Licence)
		ExpiryString = "Perpetual "
	Else
		ExpiryString = GetExiryDateAsReadableString(StorageUtil.GetFloatValue(Licence, "_SLS_LicenceExpiry"))
	EndIf
	If BuyLicenceType == 0 ; Magic 
		_SLS_LicenceCupcakeMagic.SetName(DerogName)
		_SLS_LicenceIssuerMagic.SetName(IssuerName)
		_SLS_LicenceExpiryMagic.SetName(ExpiryString)
		LicMagicDerogName = DerogName
		LicMagicIssuerName = IssuerName
		LicExpiryMagic = ExpiryString
		
	ElseIf BuyLicenceType == 1 ; Weapons
		_SLS_LicenceCupcakeWeapon.SetName(DerogName)
		_SLS_LicenceIssuerWeapon.SetName(IssuerName)
		_SLS_LicenceExpiryWeapon.SetName(ExpiryString)
		LicWeaponDerogName = DerogName
		LicWeaponIssuerName = IssuerName
		LicExpiryWeapon = ExpiryString
	
	ElseIf BuyLicenceType == 2 ; Armor
		_SLS_LicenceCupcakeArmor.SetName(DerogName)
		_SLS_LicenceIssuerArmor.SetName(IssuerName)
		_SLS_LicenceExpiryArmor.SetName(ExpiryString)
		LicArmorDerogName = DerogName
		LicArmorIssuerName = IssuerName
		LicExpiryArmor = ExpiryString
		
	ElseIf BuyLicenceType == 3 ; Bikini
		_SLS_LicenceCupcakeBikini.SetName(DerogName)
		_SLS_LicenceIssuerBikini.SetName(IssuerName)
		_SLS_LicenceExpiryBikini.SetName(ExpiryString)
		LicBikiniDerogName = DerogName
		LicBikiniIssuerName = IssuerName
		LicExpiryBikini = ExpiryString
		
	ElseIf BuyLicenceType == 4 ; Clothes
		_SLS_LicenceCupcakeClothes.SetName(DerogName)
		_SLS_LicenceIssuerClothes.SetName(IssuerName)
		_SLS_LicenceExpiryClothes.SetName(ExpiryString)
		LicClothesDerogName = DerogName
		LicClothesIssuerName = IssuerName
		LicExpiryClothes = ExpiryString

	EndIf
	
	Licence.MoveTo(_SLS_LicenceDumpRef)
	Licence.SetActorOwner(None) ; Clear ownership. If ownership is set to the player then guards confiscate it during bounty clear dialogue. (Wait, I know you.)
	
	If DeductGold
		PlayerRef.RemoveItem(Gold001, GoldCost)
	EndIf
	
	If !IsModEvent
		PlayerRef.AddItem(Licence)

		If RequestedContainerHasItems
			Utility.WaitMenuMode(1.5)
			RecoverObjects(Issuer)
		ElseIf BuyLicenceType == 0
			UnNullifyMagic()
		EndIf
	EndIf
	
	Utility.Wait(2.0)
	CheckForBikiniCurse()
	Return Licence
EndFunction

 

Basic test:

BuyLicenceTerm is being set to 0 on your first buy which is right (short term). So GoldCost should be equal to _SLS_LicCostShort.GetValueInt(). 

DeductGold is true. So the line PlayerRef.RemoveItem(Gold001, GoldCost) should definitely be running and at the very least gold should be taken. 

There are no 'None' errors so the licences at least exist, perhaps disabled but seems very unlikely...

 

The only thing I can think of is that LicenceUtil is getting stuck somewhere in there for you. Can fail buy a licence again, wait for it to end and save the game. Then open the save in Falrim tools and check anything in the 'Active scripts' or 'Suspended stack' sections. Look for any script beginning with SLS_

 

After that I can't explain it. 

 

Edit: I have a feeling the problem is in here:

While StorageUtil.GetFloatValue(Licence, "_SLS_LicenceExpiry") == -1.0
     Utility.WaitMenuMode(0.2)
EndWhile

Can you do in console and screenshot the results (Might need multiple screenshots to capture everything):

Sqv _SLS_LicenceAliases

 

Link to comment

I don't know how hard it would be but adding an option to have all inn prices in Whiterun adjusted to some multiple of the kennel cell price would be nice. Then if/when other cities get "kennels" have them get the same treatment.

 

Last time I was playing with this stuff I had a separate mod that I used to adjust the prices but having it built in would be nice.

Link to comment
2 hours ago, GGDX said:

I don't know how hard it would be but adding an option to have all inn prices in Whiterun adjusted to some multiple of the kennel cell price would be nice. Then if/when other cities get "kennels" have them get the same treatment.

Enough mods change inn price; no point adding more conflicts. You can set it yourself with a single set command from the console. No mod needed.

set RoomCost to 200.0

Link to comment

I wanted to alter the Detect Drawn Weapon feature so that it doesn't happen outside walled cities.  Is it something I can tweak in the plugin via xedit, at the console via quest variables, or by editing a script?  Also, where would I adjust the time delay to allow more than 1 second before forcegreet kicks in?

Link to comment
19 hours ago, HomuraGremory said:

Can i suggest something? 
Instead of having to install other mods to evade tolls, can you try adding a few entrances to each city, Maybe have a modify that if a certain entrance is used too much, some guards might be there to catch you? 

Pretty sure guards can already catch you for toll evasion if you've skipped town before, so I don't feel any additional code is necessary.

 

As far as alternate entrances, I feel like the intention of the mod is that main entrances aren't supposed to be toll avoidable. Skyrim Sewers really serves the purpose of alternate exits and entrances really well and it would be weird to have a guard posted on sewer grates.

 

On 5/25/2020 at 4:01 AM, Monoman1 said:

I don't really like the idea of periodic checks in general. Anything that interrupts me better have a good reason. Getting stopped for nothing would annoy me eventually.

I kind of like annoyances myself, I like to interact with the systems of the mods I'm running, it's why I set up my licenses to short duration because I like going to get a license more than once per month. Months really take a long time in skyrim.

 

And I feel like enforcers could use a little more love. My last interaction with an enforcer was when a courier showed up to give a letter of inheritance and 100 gold pieces because Enforcer had died somewhere.

Link to comment
2 hours ago, ttpt said:

I kind of like annoyances myself, I like to interact with the systems of the mods I'm running, it's why I set up my licenses to short duration because I like going to get a license more than once per month. Months really take a long time in skyrim.

Isn't the point of enforcers in unwalled town to generate that annoyance of periodic checks?

 

I guess whatever they do it's going to be almost nothing compared to the non-stop insistence that I was smuggling contraband on my follower that I was enduring previously. They could ask me every minute, it would barely be an intrusion.

 

 

In walled towns, it makes sense that they should always harass you going in or out, or if you are dumb enough to go near the gate (or Warmaiden's), but would otherwise stay in their area and not interrupt you to rifle through your stuff every five minutes.

 

However, guards to like to make their mark, and if a guard has stopped you for something already, shouldn't they then go on to smash your tail-light and book you for it?

 

Or put another way, if you're carrying a weapon, or picking a lock, or making a noise, or running in an unladylike way, then the guard has a perfectly good reason to search you and demand licenses for anything he finds.

Link to comment

Thank you for this amazing mod.

 

I saw some posts in this thread earlier about issues with the MCM not showing up, and script-reliant parts of the mod not functioning, and it looked like no definite solution was found. I think I found a fix:

 

The problem appears to be that the default vanilla Skyrim settings allocate a woefully low proportion of the CPU budget to Papyrus scripts. This might not be a problem if your computer is very strong, or use only a few mods, which is why apparently some people have no such trouble. However, if you try to run Sexlab Survival or Devious Devices mods or Frostfall on a mediocre PC, then even while getting a decent graphical FPS, Papyrus scripts might be seriously overstressed in the background.

 

None of the other tips and tricks I found online like "setstage SKI_ConfigManagerInstance 1", saving/reloading in-game and waiting a long time, reinstalling mods and starting a new game, etc, worked: the Survival MCM kept refusing to show up and its functionality was in a half-working half-broken state: e.g. Enforcers and Toll Collectors existed but they never bothered anyone.

 

The fix seems to be surprisingly easy: simply adjust Skyrim.ini settings to allocate a larger CPU budget to Papyrus. The Frostfall website has some [Papyrus] settings recommendations, while the MNC page offers its own alternative recommendation. Try one or the other (just copy-paste the settings; the linked mods are not necessary to download).

 

I used the middle recommendation listed on the Frostfall website ("increase the amount of CPU time and memory given to the script system"), and starting a new game, the Survival MCM showed up in seconds without any issue. It also made Skyrim run much smoother in general: mods now initialize more than 3 times as fast, and scripted events by other mods, such as equipping/unequipping items no longer lag in a noticeable way.

 

I suggest leaving a note on the download page (maybe under FAQ, or Known Issues, or maybe even more prominently?) to adjust the Skyrim.ini [Papyrus] settings if anyone encounters an issue with the MCM not showing up. This would be especially helpful for those of us who use neither Frostfall nor MNC, and so would hardly come across these recommendations otherwise.

Link to comment
On 5/26/2020 at 1:42 AM, Monoman1 said:

The only thing I can think of is that LicenceUtil is getting stuck somewhere in there for you. Can fail buy a licence again, wait for it to end and save the game. Then open the save in Falrim tools and check anything in the 'Active scripts' or 'Suspended stack' sections. Look for any script beginning with SLS_

 

After that I can't explain it. 

 

Edit: I have a feeling the problem is in here:


While StorageUtil.GetFloatValue(Licence, "_SLS_LicenceExpiry") == -1.0
     Utility.WaitMenuMode(0.2)
EndWhile

Can you do in console and screenshot the results (Might need multiple screenshots to capture everything):

Sqv _SLS_LicenceAliases

 

Fallrim showed me that there is an active script called "_sls_licenceutil.IssueLicence()". 

 

Information: 

Spoiler

STACKFRAME
ObjectReference _sls_licenceutil.IssueLicence()

Owner: _sls_licenceutil: *refid=024dba (6490ae70)

Script: _sls_licenceutil
Base: _sls_licenceutil
Event: IssueLicence
Status:
Flag: 00000010
Function type: NULL
Function return type: ObjectReference
Function docstring:
5 parameters, 17 locals, 22 values.
Status:
Function flags: 00000000
Function user flags:

₃₁ ₃₀ ₂₉ ₂₈ ₂₇ ₂₆ ₂₅ ₂₄ ₂₃ ₂₂ ₂₁ ₂₀ ₁₉ ₁₈ ₁₇ ₁₆ ₁₅ ₁₄ ₁₃ ₁₂ ₁₁ ₁₀ ₀₉ ₀₈ ₀₇ ₀₆ ₀₅ ₀₄ ₀₃ ₀₂ ₀₁ ₀₀
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Opcode version: 3.2


PAPYRUS BYTECODE:


   CAST ::temp12 Issuer
   STRCAT ::temp12 _SLS_: IssueLicence(): Issuer:  ::temp12
   STRCAT ::temp12 ::temp12 . LicenceType: 
   CAST ::temp13 LicenceType
   STRCAT ::temp13 ::temp12 ::temp13
   STRCAT ::temp12 ::temp13 . LicenceTerm: 
   CAST ::temp13 LicenceTerm
   STRCAT ::temp13 ::temp12 ::temp13
   STRCAT ::temp12 ::temp13 . DeductGold: 
   CAST ::temp13 DeductGold
   STRCAT ::temp13 ::temp12 ::temp13
   STRCAT ::temp12 ::temp13 . IsModEvent: 
   CAST ::temp13 IsModEvent
   STRCAT ::temp13 ::temp12 ::temp13
   CALLSTATIC Debug Trace ::NoneVar 2 ::temp13 0
   CMP_GT ::temp14 LicenceType -1
   CAST ::temp14 ::temp14
   JMPF ::temp14 3
   CMP_GT ::temp15 LicenceTerm -1
   CAST ::temp14 ::temp15
   JMPF ::temp14 4
   ASSIGN ::BuyLicenceType_var LicenceType
   ASSIGN ::BuyLicenceTerm_var LicenceTerm
   JMP 1
   CAST ::temp12 ::BuyLicenceType_var
   STRCAT ::temp13 _SLS_: IssueLicence(): BuyLicenceType:  ::temp12
   STRCAT ::temp12 ::temp13 . BuyLicenceTerm: 
   CAST ::temp13 ::BuyLicenceTerm_var
   STRCAT ::temp13 ::temp12 ::temp13
   CALLSTATIC Debug Trace ::NoneVar 2 ::temp13 0
   ASSIGN ::LicenceIntroDone_var true
   CMP_EQ ::temp15 ::BuyLicenceTerm_var 0
   JMPF ::temp15 4
   CALLMETHOD GetValueInt ::_SLS_LicCostShort_var ::temp16 0
   ASSIGN GoldCost ::temp16
   JMP 11
   CMP_EQ ::temp14 ::BuyLicenceTerm_var 1
   JMPF ::temp14 4
   CALLMETHOD GetValueInt ::_SLS_LicCostLong_var ::temp16 0
   ASSIGN GoldCost ::temp16
   JMP 6
   CMP_EQ ::temp14 ::BuyLicenceTerm_var 2
   JMPF ::temp14 4
   CALLMETHOD GetValueInt ::_SLS_LicCostPer_var ::temp16 0
   ASSIGN GoldCost ::temp16
   JMP 1
   CALLMETHOD GetLicenceFormlist self ::temp17 2  ::BuyLicenceType_var
   CALLMETHOD GetAt ::temp17 ::temp18 1 ::BuyLicenceTerm_var
   CAST ::temp19 ::temp18
   ASSIGN Licence ::temp19
   CAST ::temp18 Licence
   CALLSTATIC StorageUtil SetFloatValue ::temp20 3 ::temp18 _SLS_LicenceExpiry -1.0
   CALLSTATIC ModEvent Create ::temp16 1 _SLS_InitializeLicence
   ASSIGN StampIt ::temp16
   JMPF StampIt 5
   CAST ::temp18 Licence
   CALLSTATIC ModEvent PushForm ::NoneVar 2 StampIt ::temp18
   CALLSTATIC ModEvent Send ::temp14 1 StampIt
   JMP 1
   CAST ::temp18 Licence
   CALLSTATIC StorageUtil GetFloatValue ::temp20 3 ::temp18 _SLS_LicenceExpiry 0.0
   CMP_EQ ::temp15 ::temp20 -1.0
   JMPF ::temp15 3
==>CALLSTATIC utility WaitMenuMode ::NoneVar 1 0.2
   JMP -5
   CALLMETHOD GetDerogName self ::temp12 0
   ASSIGN DerogName ::temp12
   CALLMETHOD GetBaseObject Issuer ::temp18 0
   CALLMETHOD GetName ::temp18 ::temp13 0
   ASSIGN IssuerName ::temp13
   CAST ::temp18 Licence
   CALLMETHOD HasForm ::_SLS_LicencePerpetualList_var ::temp14 1 ::temp18
   JMPF ::temp14 3
   ASSIGN ExpiryString Perpetual 
   JMP 5
   CAST ::temp18 Licence
   CALLSTATIC StorageUtil GetFloatValue ::temp20 3 ::temp18 _SLS_LicenceExpiry 0.0
   CALLMETHOD GetExiryDateAsReadableString self ::temp12 1 ::temp20
   ASSIGN ExpiryString ::temp12
   CMP_EQ ::temp15 ::BuyLicenceType_var 0
   JMPF ::temp15 8
   CALLMETHOD SetName ::_SLS_LicenceCupcakeMagic_var ::NoneVar 1 DerogName
   CALLMETHOD SetName ::_SLS_LicenceIssuerMagic_var ::NoneVar 1 IssuerName
   CALLMETHOD SetName ::_SLS_LicenceExpiryMagic_var ::NoneVar 1 ExpiryString
   ASSIGN LicMagicDerogName DerogName
   ASSIGN LicMagicIssuerName IssuerName
   ASSIGN LicExpiryMagic ExpiryString
   JMP 37
   CMP_EQ ::temp14 ::BuyLicenceType_var 1
   JMPF ::temp14 8
   CALLMETHOD SetName ::_SLS_LicenceCupcakeWeapon_var ::NoneVar 1 DerogName
   CALLMETHOD SetName ::_SLS_LicenceIssuerWeapon_var ::NoneVar 1 IssuerName
   CALLMETHOD SetName ::_SLS_LicenceExpiryWeapon_var ::NoneVar 1 ExpiryString
   ASSIGN LicWeaponDerogName DerogName
   ASSIGN LicWeaponIssuerName IssuerName
   ASSIGN LicExpiryWeapon ExpiryString
   JMP 28
   CMP_EQ ::temp14 ::BuyLicenceType_var 2
   JMPF ::temp14 8
   CALLMETHOD SetName ::_SLS_LicenceCupcakeArmor_var ::NoneVar 1 DerogName
   CALLMETHOD SetName ::_SLS_LicenceIssuerArmor_var ::NoneVar 1 IssuerName
   CALLMETHOD SetName ::_SLS_LicenceExpiryArmor_var ::NoneVar 1 ExpiryString
   ASSIGN LicArmorDerogName DerogName
   ASSIGN LicArmorIssuerName IssuerName
   ASSIGN LicExpiryArmor ExpiryString
   JMP 19
   CMP_EQ ::temp14 ::BuyLicenceType_var 3
   JMPF ::temp14 8
   CALLMETHOD SetName ::_SLS_LicenceCupcakeBikini_var ::NoneVar 1 DerogName
   CALLMETHOD SetName ::_SLS_LicenceIssuerBikini_var ::NoneVar 1 IssuerName
   CALLMETHOD SetName ::_SLS_LicenceExpiryBikini_var ::NoneVar 1 ExpiryString
   ASSIGN LicBikiniDerogName DerogName
   ASSIGN LicBikiniIssuerName IssuerName
   ASSIGN LicExpiryBikini ExpiryString
   JMP 10
   CMP_EQ ::temp14 ::BuyLicenceType_var 4
   JMPF ::temp14 8
   CALLMETHOD SetName ::_SLS_LicenceCupcakeClothes_var ::NoneVar 1 DerogName
   CALLMETHOD SetName ::_SLS_LicenceIssuerClothes_var ::NoneVar 1 IssuerName
   CALLMETHOD SetName ::_SLS_LicenceExpiryClothes_var ::NoneVar 1 ExpiryString
   ASSIGN LicClothesDerogName DerogName
   ASSIGN LicClothesIssuerName IssuerName
   ASSIGN LicExpiryClothes ExpiryString
   JMP 1
   CALLMETHOD MoveTo Licence ::NoneVar 5 ::_SLS_LicenceDumpRef_var 0.0 0.0 0.0 true
   CAST ::temp21 NULL
   CALLMETHOD SetActorOwner Licence ::NoneVar 1 ::temp21
   JMPF DeductGold 4
   CAST ::temp18 ::Gold001_var
   CALLMETHOD RemoveItem ::PlayerRef_var ::NoneVar 4 ::temp18 GoldCost false NULL
   JMP 1
   NOT ::temp14 IsModEvent
   JMPF ::temp14 12
   CAST ::temp18 Licence
   CALLMETHOD AddItem ::PlayerRef_var ::NoneVar 3 ::temp18 1 false
   JMPF ::RequestedContainerHasItems_var 4
   CALLSTATIC utility WaitMenuMode ::NoneVar 1 1.5
   CALLMETHOD RecoverObjects self ::NoneVar 1 Issuer
   JMP 5
   CMP_EQ ::temp15 ::BuyLicenceType_var 0
   JMPF ::temp15 3
   CALLMETHOD UnNullifyMagic self ::NoneVar 0
   JMP 1
   JMP 1
   CALLSTATIC utility Wait ::NoneVar 1 2.0
   CALLMETHOD CheckForBikiniCurse self ::NoneVar 0
   RETURN Licence

 

I've attached the data table shown in fallrim as well as results of Sqv _SLS_LicenceAliases.

 

Spoiler

Data.png

 

Spoiler

LicenceAliases.png

Link to comment
1 hour ago, Meteox said:

Fallrim showed me that there is an active script called "_sls_licenceutil.IssueLicence()". 

Yea. Looks like I was on the right track. It's stuck waiting. Which means _SLS_Licence either never received the event or was never registered in the first place. The quest is running so it's not that. 

 

Maybe try:

Create a manual save in case.

Terminate the running thread in Falrim tools. 

StopQuest _SLS_LicenceAliases

StartQuest _SLS_LicenceAliases

And try buying again. 

 

What kind of spec PC are you running on? How many mods are you running? Is it possible the script system was under heavy pressure when buying the licence or starting the new game? I think you said that you bought the first licence no problem? Which would suggest it's not a quest initialization issue. 

Link to comment
4 hours ago, Monoman1 said:

Yea. Looks like I was on the right track. It's stuck waiting. Which means _SLS_Licence either never received the event or was never registered in the first place. The quest is running so it's not that. 

 

Maybe try:

Create a manual save in case.

Terminate the running thread in Falrim tools. 

StopQuest _SLS_LicenceAliases

StartQuest _SLS_LicenceAliases

And try buying again. 

 

What kind of spec PC are you running on? How many mods are you running? Is it possible the script system was under heavy pressure when buying the licence or starting the new game? I think you said that you bought the first licence no problem? Which would suggest it's not a quest initialization issue. 

I did exactly as you suggested but I wasn't able to buy them. I've also noticed that quest won't start again after I enter the StartQuest command (sqv shows that the quest being disabled. I can show you a screenshot if you'd like).

 

As for my pc it's not really that old, I made it somewhere back in 2017.

 

Motherboard: Gigabyte Z270-Gaming 9

Processor: i7-7700

RAM: 16GB

GPU: GeForce GTX 1070Ti

The game is on an SSD

 

The only time I could buy the licences is if I removed the mod, did a clean save, enabled the mod and ran directly to the quartermaster. If I quit the game before buying them then that's it, I'll have to do this cycle once more. 

Link to comment
2 hours ago, Meteox said:

I've also noticed that quest won't start again after I enter the StartQuest command (sqv shows that the quest being disabled

That's interesting. It likely means one of the aliases failed to fill and because they're not flagged as optional the quest doesn't start. And they really shouldn't fail to fill. Can you try this esp please. It changes the aliases to optional. Then do the whole thing again:

StopQuest _SLS_LicenceAliases

StartQuest _SLS_LicenceAliases

Sqv _SLS_LicenceAliases

 

And take the screen shots.

SL Survival.7z

 

You should switch back to the original esp and don't save your game while using the modified esp just in case. 

 

Do you have any mod that has taken licences from you besides SLS? Sanguines debauchery and defeat you don't need to worry about. 

Link to comment

It would be cool if getting getting assigned an Escort after getting caught for being without one resulted in the Devious Follower starting out somehow more "annoyed" with you than if you had voluntarily asked someone to be your follower.

 

So it would be an interesting choice between going without an escort (more immediate freedom, but potentially harsher conditions when caught), or voluntarily getting an escort.

Link to comment
2 hours ago, JR42 said:

It would be cool if getting getting assigned an Escort after getting caught for being without one resulted in the Devious Follower starting out somehow more "annoyed" with you than if you had voluntarily asked someone to be your follower.

The mod event can set a starting debt, which is a bit like being annoyed :) 

 

Presumably though, the follower volunteered to take on the job of escorting dumb female adventurers that might otherwise be a danger to themselves?

Why would they be angry?

 

As things stand there probably isn't much incentive to go without an escort. The escort if going to be useful, and though they cost money, how much that hurts is entirely up to the player. The main incentive is lack of money, but most games like that create so much peril that you need a follower to not die. Also, the follower can be fun.

A follower can also allow you to gamble for money, or use gold control to borrow, so that you can buy essential licenses.

 

There could be a bit more reward for guard dodging beyond not paying tolls, though in practice guard dodging is very hard, especially when they keep stealing all your clothes.

Link to comment
28 minutes ago, Lupine00 said:

Why would they be angry?

Because you tried to do them (or the 'escort guild') out of gold by going out 'adventuring' without an escort? 

Would it be possible to apply some random deal from SLS?

29 minutes ago, Lupine00 said:

though in practice guard dodging is very hard,

Yea. I don't mind towns much but I'm not happy with walled cities. It's version is much more active but it doesn't help that LOS in skyrim is absolutely, god damned horrendous. For example, those farmhouses in Riverwood don't appear to block LoS.... but something like a column does. Go figure. 

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use