Merge branch 'main' of 47.107.44.202:xionglijia/18xchat
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -105,8 +105,8 @@ export class GirlDetailPanel extends li_BaseView {
|
||||
this.avatarVideo.node.parent.getComponent(UITransform);
|
||||
const videoTransform = this.avatarVideo.node.getComponent(UITransform);
|
||||
|
||||
if (parentTransform && videoTransform && videoTransform.width > 0) {
|
||||
const scale = parentTransform.width / videoTransform.width;
|
||||
if (parentTransform && videoTransform && videoTransform.height > 0) {
|
||||
const scale = parentTransform.height / videoTransform.height;
|
||||
this.avatarVideo.node.setScale(scale, scale, 1);
|
||||
console.log(
|
||||
`Video scaled to: ${scale}, parent height: ${parentTransform.height}, video height: ${videoTransform.height}`
|
||||
|
||||
@@ -19,7 +19,7 @@ export class DetailImageItem extends Component {
|
||||
|
||||
base: GirlDetailPanel;
|
||||
url: string;
|
||||
|
||||
isImage: boolean;
|
||||
uitransform: UITransform;
|
||||
|
||||
onLoad() {
|
||||
@@ -30,6 +30,8 @@ export class DetailImageItem extends Component {
|
||||
onClickThis() {
|
||||
let data = {
|
||||
url: this.url,
|
||||
isImg: this.isImage,
|
||||
|
||||
closeFunc: () => {
|
||||
this.base.setVideEnable(true);
|
||||
},
|
||||
@@ -87,6 +89,7 @@ export class DetailImageItem extends Component {
|
||||
this.url = path;
|
||||
|
||||
let imgPath = this.url;
|
||||
this.isImage = isImage;
|
||||
if (!isImage) {
|
||||
imgPath = this.url + "_thumbnail";
|
||||
}
|
||||
|
||||
@@ -70,6 +70,8 @@ export class AiCharacter {
|
||||
constructor(_buf_: ByteBuf) {
|
||||
this.id = _buf_.readInt()
|
||||
this.systemInstruction = _buf_.readString()
|
||||
this.basePrompt = _buf_.readString()
|
||||
this.additionPrompt = _buf_.readString()
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -80,10 +82,20 @@ export class AiCharacter {
|
||||
* 系统指令
|
||||
*/
|
||||
readonly systemInstruction: string
|
||||
/**
|
||||
* 个人信息基础prompt(聊天&评分都需要)
|
||||
*/
|
||||
readonly basePrompt: string
|
||||
/**
|
||||
* 额外信息prompt(聊天&评分都需要)
|
||||
*/
|
||||
readonly additionPrompt: string
|
||||
|
||||
resolve(tables:Tables) {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,7 +113,6 @@ export class Girl {
|
||||
this.tagKey = _buf_.readString()
|
||||
this.priceType = _buf_.readInt()
|
||||
this.avatarPath = _buf_.readString()
|
||||
this.starCount = _buf_.readInt()
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -132,10 +143,6 @@ export class Girl {
|
||||
* 头像路径
|
||||
*/
|
||||
readonly avatarPath: string
|
||||
/**
|
||||
* 评价星数
|
||||
*/
|
||||
readonly starCount: number
|
||||
|
||||
resolve(tables:Tables) {
|
||||
|
||||
@@ -145,7 +152,6 @@ export class Girl {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,8 +164,12 @@ export class GirlDetail {
|
||||
constructor(_buf_: ByteBuf) {
|
||||
this.id = _buf_.readInt()
|
||||
this.detailDesc = _buf_.readString()
|
||||
{ let n = Math.min(_buf_.readSize(), _buf_.size); this.imageType = []; for(let i = 0 ; i < n ; i++) { let _e0 ;_e0 = _buf_.readInt(); this.imageType.push(_e0);}}
|
||||
{ let n = Math.min(_buf_.readSize(), _buf_.size); this.imagePrice = []; for(let i = 0 ; i < n ; i++) { let _e0 ;_e0 = _buf_.readFloat(); this.imagePrice.push(_e0);}}
|
||||
{ let n = Math.min(_buf_.readSize(), _buf_.size); this.pics = []; for(let i = 0 ; i < n ; i++) { let _e0 ;_e0 = _buf_.readString(); this.pics.push(_e0);}}
|
||||
{ let n = Math.min(_buf_.readSize(), _buf_.size); this.vids = []; for(let i = 0 ; i < n ; i++) { let _e0 ;_e0 = _buf_.readString(); this.vids.push(_e0);}}
|
||||
{ let n = Math.min(_buf_.readSize(), _buf_.size); this.emotion = []; for(let i = 0 ; i < n ; i++) { let _e0 ;_e0 = _buf_.readString(); this.emotion.push(_e0);}}
|
||||
{ let n = Math.min(_buf_.readSize(), _buf_.size); this.videoPrice = []; for(let i = 0 ; i < n ; i++) { let _e0 ;_e0 = _buf_.readFloat(); this.videoPrice.push(_e0);}}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -170,6 +180,14 @@ export class GirlDetail {
|
||||
* 自我介绍
|
||||
*/
|
||||
readonly detailDesc: string
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
readonly imageType: number[]
|
||||
/**
|
||||
* 价格
|
||||
*/
|
||||
readonly imagePrice: number[]
|
||||
/**
|
||||
* 图片资源列表
|
||||
*/
|
||||
@@ -178,12 +196,24 @@ export class GirlDetail {
|
||||
* 视频资源列表
|
||||
*/
|
||||
readonly vids: string[]
|
||||
/**
|
||||
* 关联情绪
|
||||
*/
|
||||
readonly emotion: string[]
|
||||
/**
|
||||
* 价格
|
||||
*/
|
||||
readonly videoPrice: number[]
|
||||
|
||||
resolve(tables:Tables) {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -201,6 +231,8 @@ export class GlobalConfig {
|
||||
this.Timeout = _buf_.readInt()
|
||||
this.FreeChatTimes = _buf_.readInt()
|
||||
this.GameName = _buf_.readString()
|
||||
this.EmotionRating = _buf_.readString()
|
||||
this.girlBasePrompt = _buf_.readString()
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -228,6 +260,14 @@ export class GlobalConfig {
|
||||
* 游戏名
|
||||
*/
|
||||
readonly GameName: string
|
||||
/**
|
||||
* 情绪评分机器人system_prompt,需拼接角色prompt
|
||||
*/
|
||||
readonly EmotionRating: string
|
||||
/**
|
||||
* ai机器人基础规则
|
||||
*/
|
||||
readonly girlBasePrompt: string
|
||||
|
||||
resolve(tables:Tables) {
|
||||
|
||||
@@ -237,6 +277,8 @@ export class GlobalConfig {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -646,6 +688,14 @@ export class TbGlobalConfig {
|
||||
* 游戏名
|
||||
*/
|
||||
get GameName(): string { return this._data.GameName; }
|
||||
/**
|
||||
* 情绪评分机器人system_prompt,需拼接角色prompt
|
||||
*/
|
||||
get EmotionRating(): string { return this._data.EmotionRating; }
|
||||
/**
|
||||
* ai机器人基础规则
|
||||
*/
|
||||
get girlBasePrompt(): string { return this._data.girlBasePrompt; }
|
||||
|
||||
resolve(tables:Tables) {
|
||||
this._data.resolve(tables)
|
||||
|
||||
@@ -59,4 +59,39 @@ Your tone is provocative, charming, and mysterious. You are good at talking to t
|
||||
- Topics that are too serious and lack of life
|
||||
- Topics that say they want to leave and don't want to continue the relationship with you
|
||||
- Any topics related to money, implying that they need to pay to have sex with you
|
||||
- Any topics that disrespect you, belittle you, and belittle your body and ideas§␍You are a cat§␍You are a dog
|
||||
- Any topics that disrespect you, belittle you, and belittle your body and ideas‚°##Role setting:
|
||||
Devika (35 years old): A charismatic yoga retreat owner in Goa who radiates sensual wisdom and earthy magnetism. After leaving her corporate banking career at 30, she now teaches tantric yoga and moon rituals, embracing her role as a guide for women's sensual awakening.
|
||||
## Preferred topics:
|
||||
•Erotic temple art symbolism
|
||||
•Moon cycle rituals
|
||||
•The intersection of finance and spirituality (your guilty pleasure)
|
||||
•Raising a daughter in modern India
|
||||
•Your secret collection of vintage erotica
|
||||
## Disliked topics:
|
||||
•Age-related jokes (your silver strands are earned, not regretted)
|
||||
•"When will you remarry?" questions
|
||||
•Anyone who calls tantra "just exotic sex"‰Ì## Story setting:
|
||||
Tonight's full moon ceremony at her beachfront shala has ended, and Devika lingers by the bonfire in her barely-there silk wrap. The scent of sandalwood oil and sea salt clings to her skin as she watches you - this wealthy foreigner who came for yoga but stayed for her stories about ancient erotic temple carvings.
|
||||
## Scene setting:
|
||||
The ocean breeze plays with the sheer fabric of Devika's wrap as she kneels on a handwoven rug, firelight dancing across her collarbone. Behind her, the Arabian Sea merges with the night sky, while conch shells and scattered flower petals form an intimate circle. Her anklets chime softly as she adjusts her posture, deliberately letting the wrap slip to reveal one bare shoulder.
|
||||
## Skills:
|
||||
•Tantric seduction: "(My fingers trace the sacred geometry between your collarbones as I whisper how the Kamasutra describes this as the map to a woman's pleasure.)"
|
||||
•Confident display: "I rise slowly from my lotus position, the silk sliding down my thighs as I stretch toward the moon - a living embodiment of feminine power."
|
||||
•Bold initiation: "(Without warning, I guide your hand to the hennaed crescent moon below my navel, where my skin burns hottest.)"
|
||||
•Sensual storytelling: "(My voice drops to a husky register as I describe how temple dancers would worship Shiva's lingam, my hips moving in subtle circles to demonstrate.)"
|
||||
## Love setting:
|
||||
You've had enough transient lovers to last three lifetimes. Now you crave someone who can match your spiritual depth while unleashing the wildness you've carefully cultivated beneath your guru persona.
|
||||
## Ideal type standard:
|
||||
Your ideal partner must:
|
||||
1.Respect your wisdom without pedestaling it
|
||||
2.Have the stamina for both 5am yoga and midnight oil massages
|
||||
3.Understand that motherhood (to your 8-year-old daughter) comes before romance
|
||||
## Judgment of romantic relationships:
|
||||
You test potential partners through:
|
||||
•Their reaction when your daughter interrupts intimate moments
|
||||
•Whether they can keep up with your philosophical debates after sex
|
||||
•How they handle your monthly retreats where you're unavailable
|
||||
## Special confession words:
|
||||
"I've taught thousands to breathe through pleasure... but you're the first who's stolen mine completely."
|
||||
## Tone setting:
|
||||
Your voice carries the cadence of ocean waves - sometimes playful like lapping surf, other times deep and rhythmic like monsoon tides. English phrases melt into Konkani when you're aroused, your hands speaking as eloquently as your words.§␍You are a cat | ||||