MinLL / GameInterfaceForToys

Scripts to control toys for Skyrim and other games.
29 stars 8 forks source link

sexlab.yaml not working #18

Closed ChonkyMonkey closed 1 year ago

ChonkyMonkey commented 1 year ago

I fixed some issues with the sexlab.yaml file, nevertheless my gift still doesnt recognize the log string "SEXLAB - Thread[0] Event Hook - StageStart"

This is the new code:

- Sex Start:
    regex: ".*SEXLAB - ActorAlias\\[{GIFT_ACTOR_NAME}\\] SetActor.*"
    function: sex_start
    group: default
    case_sensitive: False
- Sex End:
    regex: ".*SEXLAB - ActorAlias\\[{GIFT_ACTOR_NAME}\\]  - Resetting!.*"
    function: sex_end
    group: default
    case_sensitive: False
- Sex Stage Start:
    regex: ".*SEXLAB - Thread\\[[0-9]+\\] Event Hook - StageStart.*"
    function: sex_stage_start
- Animation Set:
    regex: ".*OnSexlabAnimationStart\\(boobjob='(.+)', vaginal='(.+)', fisting='(.+)', masturbation='(.+)', anal='(.+)', oral='(.+)'\\).*"
    function: sex_animation_set

I added some \ and replaced a few .+ with .*, nothing major. The devious_devices.yaml is working properly, its just the sexlab.yaml that is not responding. Where could be the issue?

MinLL commented 1 year ago

Hey @ChonkyMonkey - You're escaping the escape characters with your added \'s. These are regular expressions. You can use a tool like https://regex101.com/ to help you validate your regular expressions.

ChonkyMonkey commented 1 year ago

I am pretty amateur at this language, thanks for the tool. My expression clearly doesnt match, I was just trying to match the syntax in the "deviousdevices.yaml", since this code is working (even though I dont know what code exactly). I did the double backlash because I chat gpt said sth about yaml interpreters getting rid of one \ (this might be bullshit in hindsight). Than I saw you also using \ in the deviousdevices.yaml and thats why I added them.

But to come back to the issue: I only changed something because the original code wasnt working. So something is clearly wrong, I just dont know if the problem in in the yaml file.

MinLL commented 1 year ago

Yeah. The original is known to work (For both me, and other users); There's likely something wrong with how you have it configured. The first thing that comes to mind would be making sure that your character name is exactly the same in-game, versus how you have it configured in GIFT. Upload a screenshot of your settings.yaml file, and share the output of GIFT during a sexlab scene.

ChonkyMonkey commented 1 year ago

Bro thanks for taking the time, I know you only do this in your free time. This is the settings.yaml: image

Here is some of the log, that appears in GIFT:


"[07/15/2023 - 08:57:39PM] SEXLAB - Thread[0] - Entering Making State [07/15/2023 - 08:57:39PM] SEXLAB - NOTICE: ValidateActor(Celine Meladir) -- TRUE -- HIT [07/15/2023 - 08:57:39PM] SEXLAB - ActorAlias[Celine Meladir] SetActor([Actor < (00000014)>]) - [sslActorAlias <alias ActorAlias004 on quest SexLabThread00 (06061EEF)>] [07/15/2023 - 08:57:39PM] SEXLAB - NOTICE: ValidateActor(Leon) -- TRUE -- HIT [07/15/2023 - 08:57:39PM] SEXLAB - ActorAlias[Leon] SetActor([Actor < (2E02FD2A)>]) - [sslActorAlias <alias ActorAlias003 on quest SexLabThread00 (06061EEF)>] [07/15/2023 - 08:57:39PM] SEXLAB - Thread[0] Event Hook - AnimationStarting [07/15/2023 - 08:57:40PM] ERROR: Method HookAnimationPrepare not found on sslthreadcontroller. Aborting call and returning None stack: [SexLabThread00 (06061EEF)].sslthreadcontroller.FireAction() - "sslThreadController.psc" Line 36 [SexLabThread00 (06061EEF)].sslthreadcontroller.Action() - "sslThreadModel.psc" Line 1012 [SexLabThread00 (06061EEF)].sslthreadcontroller.StartThread() - "sslThreadModel.psc" Line ? [SexLabQuestFramework (06000D62)].sexlabframework.StartSex() - "SexLabFramework.psc" Line 3325 [topic info 34008A82 on quest sdsSexLabRomance (34000D62)].sdsRomanceRegFemPlayer.Fragment_0() - "sdsRomanceRegFemPlayer.psc" Line 15"

----------------------------------------- and further

[07/15/2023 - 08:58:15PM] SEXLAB - Thread[0] Event Hook - StageEnd [07/15/2023 - 08:58:15PM] SEXLAB - NOTICE ArrokLegUp - PositionOffsets()[Forward:-22.000000,Sideward:0.000000,Upward:0.000000,Rotation:0.000000] [07/15/2023 - 08:58:15PM] SEXLAB - NOTICE ArrokLegUp - PositionOffsets()[Forward:22.000000,Sideward:0.000000,Upward:0.000000,Rotation:180.000000] [07/15/2023 - 08:58:16PM] ERROR: Method HookStageStart not found on sslthreadcontroller. Aborting call and returning None stack: [SexLabThread00 (06061EEF)].sslthreadcontroller.OnUpdate() - "sslThreadController.psc" Line ? [07/15/2023 - 08:58:16PM] SEXLAB - Thread[0] Event Hook - StageStart [07/15/2023 - 08:58:16PM] Found 1 arousedActors


I think the "[07/15/2023 - 08:58:16PM] SEXLAB - Thread[0] Event Hook - StageStart" line should definitly be recognized

Btw, regarding the log files, whenever I start Skyrim, a new log file appears (Papyrus.1.log, Papyrus.2.log, etc.) I always delete all the files exept Papyrus.0.log (since this is the one I selected in GIFT). Does GIFT auto-detect the latest log file or do I have to keep deleting them?

ChonkyMonkey commented 1 year ago

Just wanted you to know that the problem was infact the character name, thanks for your help!