-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathKojoDown_File_Structure_Sample.kd
158 lines (119 loc) · 5.27 KB
/
KojoDown_File_Structure_Sample.kd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# Some Example for Kojodown
###### 标题即为文件标题,可自行定义
###### 标题下方可记录全文件的元数据,如作者等
作者:Choke cola。
本文档用作一定程度上的范例。
此外一些部分需解释时,会使用注释语法另作解释
; 注释就是像这样用分号开头,隔一个空格后有文本的单行
; 此外六级标题(如果兼容)也作为注释使用。
###### 为什么呢,因为这样可能利好于使用IDE的作者组织结构
## Sayana Otoma
###### 该标题为角色名
每个角色的部分都以二级标题开始,标题名为角色名。
而这个角色是我在AI文涩中看到的。
想了解可以看这里:[这就是链接语法哦](https://horde.koboldai.net/)
对角色的描述通常按不同板块书写。各板块命名由解析方自行规定
### Note
###### Note为固定标题,用于记录角色专属的注释信息
###### 如作者、版本、最后一次更新时间等
### Description
###### Description为固定标题
###### 在这里记录对角色的简介
撩人的病娇少妇很关心你
### Status
###### 属性可以用键值对表示。键从新行开始,以冒号为分割,值随其后,或另起一行表示。
###### 例如:
性格: 直接的
年龄: 32
职业: 家庭主妇
体验人数: 12
###### 数值数组可以用列表表示,一般用无序数组。如:
喜欢的事物:
- 玫瑰花
- 刺激的夜生活
- 有活力的年轻人
###### 复杂而重复的数值可以用表格表示:
sexpartinfo:
|器官| 敏感度 | 技巧等级 |经验数|异常经验数|
| --- | --- | --- |---|---|
| C | 1 | 5 | 100 | 400 |
| V | 2 | 6 | 200 | 600 |
| A | 3 | 7 | 50 | 5000 |
| B | 4 | 8 | 150 | 500 |
relationshipinfo:
|关系 | 姓名 | 现状 |
| --- | --- | --- |
|夫妻|Shota|实际出轨|
|父女|_|不相往来|
|邻居|{{user}}|单方面感兴趣|
; “_”表示不重要,或不提及
; {{value}}则是插值语法。表示变量值
### Events
###### 该角色的口上文本,Event是固定标题
###### 这里写口上与地文相关的事件。
###### 最好是在这里列个事件表。
events:
- 初遇:firstmeet
- or something else
; 事件标题由两部分组成:标题内容+“&”+锚点名
; 标题内容可省略。锚点名不包含空格,且与其前面的“&”不可省略。
; 一般建议四级标题用来写通用事件,五级标题用来写子事件和插值模板内容
#### 初遇&firstmeet
; 每项事件按“块”组织。一个块按顺序由“执行条件”“显示文本”“程序内容”组成。
; 三者至少有一项才能构成一个“块”
; 一个事件有多个块,点击一次进行一个块 *(或可在外部设置)*。
; 当事件中所有块执行完成(**无论是否满足** 条件),事件结束。
; 例如,本事件只有一个块。
> ;这里表示条件,其值为真则显示文本,执行逻辑。否则跳过,进入下一“块”
> ;本文使用伪代码表示逻辑
> user.charm>10&&user.stamina>20
; 以下则是文本内容
在{{random(2)==1?摇摆的车厢:拥挤的人群}}中,Sayana Otoma躲闪不及撞到了你身上。
; {{random(2)==1?"摇摆的车厢":"拥挤的人群"}}表示条件插值。如果随机数等于2,则插入”摇摆的车厢“; 否则插入”拥挤的人群“
{{@despbody}}
; @语法用于直接插入其他事件的块内容,并不跳转到新块。
”在这见到你真是太棒了……{{user}}。我们去。。。清净一点的地方吧“
; 以下则是选择语法。“选择”回话“则会进入到hmmm块的内容(**并非直接插入hmmm块的文本**)
; 选择”挑逗“则会根据char.anticipation进入sex块或者hmmm块。条件插值语法在这里仍然可用
-[回话]->hmmm
-[挑逗]->{{char.anticipation>20?->sex:hmmm}}
```
; 这里是逻辑部分。进入此块就会执行块中内容。如果存在选择语法,则会在作出选择之后执行块中内容
;print("Hello kojodown!")
char.noticeduser=true;
```
##### 周旋&hmmm
###### 在标题中使用&来标志锚点,&之前的部分表示该子事件的名称
###### 原则上,可以不提供名称,但是锚点必须给出
> user.charm>100
”你很幸运遇到了我。。。就算是你这样的小年轻也值得`#pink 冒一次险`,对吗“
; 除了粗体斜体之外还可以用内联代码段的形式设置一段文字的样式。
; 一种是`字号#颜色代码 内容`,一种是`样式函数(参数1,参数2,...) 内容 `
; 同样,可以用代码段首行加入样式声明的形式表达样式
```heart(10)lustful(3)
{{@despbody}}
```
-[接受]->sex
-[不接受]->hmmm
```
; 这里”```”行后面没有内容,即表示这是代码段。
print("why do you hesitate")
```
##### 身体描写&despbody
> char.anticipation<40 && char.anticipation>10
{{@despbody_anticipation_high}}
> char.anticipation<10
{{@despbody_anticipation_low}}
##### &despbody_anticipation_low
她棕色的头发波浪般地披散在肩上,淡褐色的眼睛深处燃烧着难以忽视的蠢动欲望。
##### &despbody_anticipation_high
她高大的身躯投下了阴影,将她和{{user}}隐藏在一个亲密的秘密空间中,而周围的乘客则对他们浑然不觉。
##### &sex
银瓶乍破水浆迸,铁骑突出刀枪鸣
```
youdid=true;
```
## Chara_Name_2
### Note
### Description
### Events