News:

Please request registration email again and then check your "Spam" folder

Former www.henthighschool.com

Stupid questions thread

Started by ElPresidenete, Sep 04, 2023, 07:42 AM

Previous topic - Next topic

ElPresideneteTopic starter

Was hoping for some answers, but oh well.. guess I'll ask more questions:

I notice that IsPersonVirgin method checks for anal and vaginal...but sometimes when I ask people about their virginity, it also shows dick in the person stats display. How do you get penile virginity?

ElPresideneteTopic starter



It's not triggering. Did I get this wrong.

It's supposed to trigger over the weekend (saturday, sunday) at night

Umgah

Where is the event file placed? If that is just a location event then it should be in YOUR_MOD\Events\Location\School\Basement and you do not need location checks because that event will be triggered only there.

ElPresideneteTopic starter

How to make a person sleep/use a bed.

I can't see where beds are defined (I cna find a sleep button for the player).
I'm trying to put beds in the basement and have slaves sleep there. Putting them there and having them stay there is easy. But how to make them sleep/use bed?

barteke22

Either:
- Set their Bedroom to that location for auto.
- Manually apply & remove the ScheduleHandlerAsleepIndicator status effect (could apply it in a DailyEvent (asleep at midnight) with enough minutes to run out at 6am).

Bed visual requires one to be defined in the location's layout.xml, otherwise they'll be asleep standing.

GTK/HLK

Had an issue before where Fontaine Auto Wins without interaction. Back after playing before(different times) but the one before hand still had the issue with Fontaine Auto win. (and no scene of being introduced to the Town Council/Hall) which i saw in the other previous runs before this. which led to being able to vote.

While i know that branch of the story doesnt exist.

its one of the things that stumps me. (specially since the first times always went through.)

Currently Running the latest. No changes/Mods (so unless extract and play doesnt work for the latest. since it doesnt seem to have patches. i didnt do anything else.)

ElPresideneteTopic starter

Quote from: barteke22 on Dec 19, 2023, 04:47 PMSet their Bedroom to that location for auto.

How? I have no idea how bedrooms are set.

TBBle

Quote from: ElPresidenete on Dec 20, 2023, 08:54 AM
Quote from: barteke22 on Dec 19, 2023, 04:47 PMSet their Bedroom to that location for auto.
How? I have no idea how bedrooms are set.

Normally, they're either set in the File Editor, or the game assigns a home when it generates them.

To set it from VEE, you're probably going to have to use Set Property By Name, the property name appears to be intBedroom. intHome might also be relevant since you probably want to avoid any surprise commuting to their own home and then suddenly being asleep in your basement.

In the slave case, I assume you're still using ScheduleHandlerNoneIndicator (via calling PutPersonInLocByName with duration -1) to keep them in the basement, and if so then I suspect intBedroom won't be checked, and you'll have to manage ScheduleHandlerAsleepIndicator directly.

There's no events in 1.10.0.6 that handle ScheduleHandlerAsleepIndicator or those properties, nor docs that I can see, so you may need to be careful that the engine is not interfering with them unexpectedly. Hopefully, ScheduleHandlerNoneIndicator being applied prevents the internal/default NPC scheduler from automatically putting people to sleep or waking them up.

ElPresideneteTopic starter

I am using ScheduleHandlerNoneIndicator, yes.

Would making a custom ScheduleHandler for slaves be the proper solution?

TBBle

Unless it's changed and the docs have not been updated, custom schedule handlers only work for scenario-specified NPCs, not generated NPCs.

This was reportedly done for performance reasons, but I wonder if that restriction could be removed or loosened with something like ScheduleHandlerCustomIndicator. Using a Schedule Handler instead of ScheduleHandlerNoneIndicator would not interfere with normal awake/asleep handling, as far as I know, including allowing slaves to have late nights and/or sleep-ins (but not wander around town). I noticed that Andy has a SH to control where he sleeps, but sleeping itself is not managed by the handler.

I suspect that a scheduled event created from a DailyEvent might be better if you're only trying to apply status, and not actually move the slave around based on time-of-day and other logic, i.e. confined to a single room. I would start with logic that is similar to how slave food status is handled, but I don't know if that code is also in need of modernisation.

barteke22

You can set the bedroom with a link variant of the 'Person Location: ...' Op.

Neither bedroom (if NPC is in that location) nor Asleep/AwakeIndicator are affected by NoneIndicator (it only skips movement). You can easily test it by going to General Home and debugging the NPCs there.

ScheduleHandlers can be assigned to anyone via AttachEvent since 1.10 (though I'd imagine fireworks if attached to PC).


Easiest way to check if something works is experimenting, or if you need more in depth info, you can always ILSpy the exe to see the code.

ElPresideneteTopic starter

So I could in theory attach a Scheduler that would permit the slave to vist only certain locations (like roam around the house, but never leave)?

Interdasting. I will be trying some of these methods.

ElPresideneteTopic starter

I want ot dispaly to the palyer the number of utems/uses and have the mselect how many they wil luse. any smart way of doing that?
Note, I want ot do that for different items.

Basically, player gets choice of 3 drugs (depending if he has them), picks which one he will use and then how many.

TBBle

#28
Quote from: ElPresidenete on Jan 04, 2024, 09:25 AMI want ot dispaly to the palyer the number of utems/uses and have the mselect how many they wil luse. any smart way of doing that?
Note, I want ot do that for different items.

Basically, player gets choice of 3 drugs (depending if he has them), picks which one he will use and then how many.

I don't think there's anything native to help with that. The Inventory-based "Use" flow, (which also applies to NPCs but not daily-triggered items) is simply a wrapper around the ItemEvent AFAICT: It Tries the ItemEvent, and if accepted, increases the item use-count, Executes the ItemEvent, and if the use-count is now greater than the max uses, it deletes it. (That's mostly guessing based on the tanning lotion ItemEvent's implementation.)

So if you're trying to support choosing between items that are already directly inventory-usable, you just need to call the ItemEvent in the same way. Location\Your Bathroom\Btn_Shave tries to do this, but I think it's currently buggy as it's not incrementing use-count and never destroys the item when used up. (I reported this in the bug-report thread yesterday. I also suspect there might be a stack-splitting bug lurking in there, but haven't actually confirmed that to be the case, nor exactly where it is. Easy to test with a new game...)

And if the ItemEvent generates UI you don't want to trigger (because you're using multiple at once), you may need to extract the actual effect into the Function Library and call it from the ItemEvent and directly from your script. You could also smuggle a boolean "SkipUI" parameter into the Item Event that the engine will never set to True, if you prefer that. The energy drink button in Indicators and Difficulty mod just cut-and-paste the Energy Drink effect logic, which avoids modifying the Energy Drink vanilla object.

A "Disable Show Events" VEE node (like the one for temporarily disabling UI Notifications) would make this more reusable, but is probably not widely-useful... There was some other system that also uses some kind of SkipUI input, it might be part of GenSex? Either way, breaking the core logic out into the FunctionLibrary is probably simplest for now.

If you want to make the Use option in the player inventory also query for a count, then you'd do that in the Item Event's Execute path, once you know the Player is trying to Use (Mode 0) the item. You can use the Show Decision (Numeric Field) VEE node, but that doesn't AFAICT support bounding the input, so you have to requery if the player gives invalid input. (This might make a good engine feature request, either allow bounding that VEE node, or add a new Show Decision (Numeric Range) VEE node which offers a slider or similar friendly UI.). The energy drink button in Indicators and Difficulty mod drinks up to the number input, so that's an option too.

Combining both the above would allow an event to offer a list of inventory items (Panty Magic logic does this for example) and then call the chosen item's ItemEvent which will then query for the count to use, same as being used directly by the player from their inventory.

Late Edit: I just noticed that the Coffee Beans ItemEvent actually manages the stack of items itself, because it is never Used by the MC from Inventory, but is for calling from other events. So you can see what the Inventory Use logic is wrapping up for you, including moving items between stacks as their use-count changes. (Which is what I suspect the Shave button bug is... because the use-count didn't change, the stack wasn't split so the whole stack was renamed)

ElPresideneteTopic starter

Hmmm... Well, the event I'm making is spiking a drinks machine with either Slut Maker, Corruptor or Sildenafil.

ATM it owrks by chekcing if oyu have 1 in inventory, allowing you the option if you can and only using one. Then I'm iterating trough the lsit of affected people (everyone in the club in this case) and applying specific stat changed depending on drug used.

I was thinking of simply iterating trough people and callign the Item event on them, but that might be too powerful and I'm nto sure if I can. Logically, the effect would be watered down.

Now, if I can adjust the number of drugs used, then I could adjust the effect too. I know how  Icna do it, but that implementation wil lbe spahgetti, so for now I'm making fixed use.

My quest chain is nearing completion too.