Instantane de reference de la reprise de migration (2026-09-29). Contient GI.uasset tel que trouve (copie UE4 identique a 4.27, MD5 F4550DA5DC05FC005400CDCA2FC123C9). Ajouts de ce commit : .gitattributes (aucune conversion de fin de ligne), regles .gitignore CHG-001, Tools/ (Snapshot, Restore, AssetHeaders), empreintes L0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
114 lines
No EOL
5.2 KiB
Text
114 lines
No EOL
5.2 KiB
Text
WRITING SEX TEXT
|
|
|
|
Descriptions are narrative flavor texts that appear at the top right corner of the screen during a sex scene. They are entered in .lpdesc files in the following format:
|
|
Condition
|
|
Text
|
|
## // separates this description from the following one
|
|
|
|
|
|
DirtyTalks are dialogue lines floating near a character during a sex scene. They are entered in .lptalk files in the following format:
|
|
Condition
|
|
A1's text
|
|
A2's text
|
|
// and so on for group sex
|
|
## // separates this DT from the following one
|
|
|
|
Writing or editing these is pretty much alike, so we talk about them in one and the same document. They both are very reliant on using Tags in the condition, have to consider actor roles, and can use interpolation.
|
|
|
|
1. The conditions
|
|
|
|
The condition line for descriptions and dirtytalks heavily uses the Tag() condition function. This lists one or several tags that must be true for the current animation, if the text is to be displayed. A list of available tags is in Docs/Modding/Lists/All_sex_tags.txt
|
|
|
|
description:
|
|
Tag(Kneeling, Hugging, Couple)
|
|
<A2.name> got down on <A2.p> knees and tied <A1.name>'s shoe.
|
|
##
|
|
|
|
dirtytalk
|
|
Tag(Kneeling, Hugging, Couple)
|
|
Christ almighty, that feels so good!
|
|
(muffled) Hm-hm?
|
|
##
|
|
|
|
Several conditions can be tied together with the AND (&&) or OR (||) logical operators. A conditional expression can also be negated by the NOT (!) operator. For more info on using logical operators, have a look at chapter 4.5 in "Writing Scenes.txt"
|
|
Tag(Doggystyle) || Tag(ReverseCowgirl)
|
|
<A2.name> couldn't quite see the look on <A1.name>'s face.
|
|
##
|
|
|
|
Tag(DoggyStyle) || Tag(ReverseCowgirl)
|
|
... // use three dots to not display anything for this actor
|
|
Are you alright back there?
|
|
##
|
|
|
|
Tag(Hugging, Couple) && !Tag(MM)
|
|
<A1.name> placed <A1.p> hands on <A2.name>'s shoulders.
|
|
##
|
|
|
|
Tag(Hugging, Couple) && !Tag(MM)
|
|
Honk honk!
|
|
Real mature...
|
|
##
|
|
|
|
Descriptions and DirtyTalks can be marked to only play when a particular anim starts or ends:
|
|
*START* Tag(Kissing, Couple)
|
|
<A2.name> took <A1.name>'s hand and smiled.
|
|
##
|
|
|
|
*END* Tag(Standing, Couple) && toCum > 90
|
|
Oh god, I can't wait!
|
|
Yes, yes, stay close!
|
|
##
|
|
|
|
Conditions in descriptions and dirtytalks aren't limited to Tag alone, and most of what's said in chapter 4.5 of "Writing Scenes" applies here too (except for the if-structure):
|
|
*START* Tag(Kissing, Kneeling) && [30 > [A2:attractiveness - A1:attractiveness] ]
|
|
<A1.S> couldn't believe that a <A2.man_or_woman> as <A2.handsome_or_gorgeous> as <A2.name> was on <A2.p> knees before <A1.o>
|
|
|
|
Finally, a special variable is available in sex scenes, which corresponds to the arousal meter: toCum. See an example above.
|
|
|
|
|
|
2. Actor roles
|
|
|
|
Conditions, and the text of descriptions, refer to the actors involved with pre-determined actor variables: A1, A2, and so on. The sequence of lines of a dirtytalk also follows this order.
|
|
|
|
So, how do you know which actor's going to be which?
|
|
|
|
Generally, when a sex scene is started in a narrative scene script with the Sex() command, the actors to use are stated as parameters.
|
|
Sex(Boss, Player)
|
|
Sex(Male1, Player, Male2)
|
|
|
|
This will rarely affect the roles that are assigned, except perhaps for threesomes: Sex(Male1, Player, Male2) will not be the same as Sex(Male2, Player, Male1).
|
|
|
|
The default ordering happens
|
|
- first, by gender: males are assigned a role before transsexuals, who come before women
|
|
- between same genders, by dominance: same-gender actors with a lower submission stat come first
|
|
So a foursome with two guys, a transsexual and woman would be ordered like
|
|
A1: most dominant male
|
|
A2: least dominant male
|
|
A3: transsexual
|
|
A4: female
|
|
|
|
Of course, we need to bear in mind that the player can swap roles at any time.
|
|
|
|
A common pitfall in writing descriptions and dirtytalks is to wind up talking about body parts that the actors simply don't have. This can be due to
|
|
- incorrect tag use (eg 'Couple' instead of 'MF')
|
|
- not anticipating a particular actor role order or the possibility of role swaps
|
|
- using actual words where interpolation would've been better
|
|
|
|
|
|
3. Interpolation
|
|
|
|
As you can tell by previous examples, you can use specific in-text functions between < > to insert text based on the actor's names, whether an actor is the player, or the actor's gender. We call this interpolation, and it is very similar to how it works in narrative scenes (see 4.1. of "Writing Scenes").
|
|
|
|
Available functions:
|
|
<A1.name> // A1's first name
|
|
<A1.name_last> // A1's last name
|
|
<A1.S> or <A1.s> // Subject pronoun (I, he, she), with or without capitals
|
|
<A1.P> or <A1.p> // Possessive adjective (my, his, her)
|
|
<A1.O> or <A1.o> // Object pronoun (me, him, her)
|
|
<A1.R> or <A1.r> // Reflexive pronoun (myself, himself, herself)
|
|
<A1.PP> or <A1.pp> // Possessive Pronoun (mine, his, hers)
|
|
|
|
In addition, you can always insert any choice of two words, depending on an actor's gender, by placing them around _or_ :
|
|
<A1.Mr_or_Mrs> <A1.name_last> is a very attractive <A1.man_or_woman>.
|
|
and if you don't use that 'on' an actor, it'll be based on whether the player is involved in the scene:
|
|
<We_or_They> had the time of <our_or_their> lives. |