几个文件的中文标点换成全角

This commit is contained in:
MrZ626
2021-10-21 20:50:25 +08:00
parent 31bb7f62c6
commit a1a77f291b
3 changed files with 207 additions and 207 deletions

View File

@@ -4,30 +4,30 @@
## 1. 参数
模式文件应当是一个合乎(语)法的 Lua 程序文件, 其必须返回一个 `table`, 其中的内容包括:
模式文件应当是一个合乎(语)法的 Lua 程序文件其必须返回一个 `table`其中的内容包括:
### 1.1. `color`
### 1.1. `color`
**必选**, 模式的颜色, 用于点击地图图标后显示的提示文本.
**必选**模式的颜色用于点击地图图标后显示的提示文本
------
### 1.2. `env`
### 1.2. `env`
**必选**, 模式环境变量,决定了关卡的各项属性.
**必选**模式环境变量,决定了关卡的各项属性
具体各项参数见下表:
| 属性名 | 默认值 | **说明** |
| ------------------ | ----------------- | ------------------------------------------------------------ |
| **`drop`** | `60` | 下落延迟(帧, 支持正整数, `2^(-n)`, `0` \[20G\]) |
| **`lock`** | `60` | 锁定延迟(帧) |
| **`wait`** | `0` | 出块延迟(帧) |
| **`fall`** | `0` | 消行延迟(帧) |
| **`drop`** | `60` | 下落延迟(帧,支持正整数`2^-n``0` \[20G\] |
| **`lock`** | `60` | 锁定延迟(帧) |
| **`wait`** | `0` | 出块延迟(帧) |
| **`fall`** | `0` | 消行延迟(帧) |
| **`bone`** | `false` | 是否开启骨块模式 |
| **`fieldH`** | `20` | 场地高度 |
| **`heightLimit`** | `1e99` | 允许的最大场地高度 |
@@ -51,23 +51,23 @@
| **`irs`** | `true` | 提前旋转 |
| **`ims`** | `true` | 提前移动 |
| | | |
| **`skinSet`** | `[设置]` | 方块贴图, 只能填写内置皮肤的名字 |
| **`skin`** | `[设置]` | 方块颜色, 包含 25 个整数 (`1`~`16`)`table` |
| **`face`** | `[设置]` | 方块朝向, 包含 25 个整数 (`0`~`3`)`table` |
| **`skinSet`** | `[设置]` | 方块贴图只能填写内置皮肤的名字 |
| **`skin`** | `[设置]` | 方块颜色包含 25 个整数 `1`~`16``table` |
| **`face`** | `[设置]` | 方块朝向包含 25 个整数 `0`~`3``table` |
| | | |
| **`block`** | `true` | 是否显示方块 |
| **`ghost`** | `0.3` | 影子透明度(`0`~`1`) |
| **`center`** | `1` | 旋转中心透明度(`0`~`1`) |
| **`ghost`** | `0.3` | 影子透明度`0`~`1` |
| **`center`** | `1` | 旋转中心透明度`0`~`1` |
| **`smooth`** | `false` | 是否平滑下落 |
| **`grid`** | `0.16` | 网格透明度(`0`~`1`) |
| **`bagLine`** | `true` | 是否显示包分界线(如果存在) |
| **`lockFX`** | `2` | 锁定特效等级(`0`~`5`整数) |
| **`dropFX`** | `2` | 瞬间下落特效等级(`0`~`5`整数) |
| **`moveFX`** | `2` | 移动特效等级(`0`~`5`整数) |
| **`clearFX`** | `2` | 消除特效等级(`0`~`5`整数) |
| **`splashFX`** | `2` | 溅射特效等级(`0`~`5`整数) |
| **`shakeFX`** | `2` | 晃动特效等级(`0`~`5`整数) |
| **`atkFX`** | `2` | 攻击特效等级(`0`~`5`整数) |
| **`grid`** | `0.16` | 网格透明度`0`~`1` |
| **`bagLine`** | `true` | 是否显示包分界线如果存在 |
| **`lockFX`** | `2` | 锁定特效等级`0`~`5`整数 |
| **`dropFX`** | `2` | 瞬间下落特效等级`0`~`5`整数 |
| **`moveFX`** | `2` | 移动特效等级`0`~`5`整数 |
| **`clearFX`** | `2` | 消除特效等级`0`~`5`整数 |
| **`splashFX`** | `2` | 溅射特效等级`0`~`5`整数 |
| **`shakeFX`** | `2` | 晃动特效等级`0`~`5`整数 |
| **`atkFX`** | `2` | 攻击特效等级`0`~`5`整数 |
| | | |
| **`text`** | `true` | 是否显示消行文本 |
| **`score`** | `true` | 是否显示落块分数 |
@@ -75,47 +75,47 @@
| **`nextPos`** | `false` | 是否开启生成预览 |
| **`showSpike`** | `false` | 是否开启spike计数器 |
| | | |
| **`hideBoard`** | `false` | 场地隐藏模式(`down`"|"`up`"|"`all`") |
| **`flipBoard`** | `false` | 场地翻转模式(`U-D`"|"`L-R`"|"`180`") |
| **`hideBoard`** | `false` | 场地隐藏模式`down`"|"`up`"|"`all`" |
| **`flipBoard`** | `false` | 场地翻转模式`U-D`"|"`L-R`"|"`180`" |
| | | |
| **`sequence`** | `bag` | 序列模式, 是放一块后对 `next` 序列的刷新函数, 可以使用默认的几个函数用字符串表示,<br> 也可以自己写一个. 注意: 使用协程技术 |
| **`seqData`** | `{1,2,3,4,5,6,7}` | 序列模式使用的”包”数据 (本质是生成序列用的数据,会作为参数传进上面那个<br>叫 `sequence` 的序列生成函数,不一定是包) |
| **`mission`** | `false` | 包含任务的 `table`, 说明暂时略 |
| **`sequence`** | `bag` | 序列模式是放一块后对 `next` 序列的刷新函数可以使用默认的几个函数用字符串表示,<br> 也可以自己写一个 注意: 使用协程技术 |
| **`seqData`** | `{1,2,3,4,5,6,7}` | 序列模式使用的”包”数据 本质是生成序列用的数据,会作为参数传进上面那个<br>叫 `sequence` 的序列生成函数,不一定是包 |
| **`mission`** | `false` | 包含任务的 `table`说明暂时略 |
| | | |
| **`life`** | `0` | 生命数(复活次数) |
| **`life`** | `0` | 生命数复活次数 |
| **`garbageSpeed`** | `1` | 垃圾行释放速度 |
| **`pushSpeed`** | `3` | 垃圾行上涨速度 |
| **`noTele`** | `false` | 是否禁止10个高级按键 |
| **`visible`** | `'show'` | 方块可见性, 填写固定的几个字符串 |
| **`visible`** | `'show'` | 方块可见性填写固定的几个字符串 |
| **`freshLimit`** | `1e99` | 锁延刷新次数限制 |
| **`easyFresh`** | `true` | 是否使用简单锁延刷新规则 |
| **`bufferLimit`** | `1e99` | 攻击缓冲行数上限 |
| | | |
| **`fkey1`** | `false` | 按下功能键1后执行的函数 |
| **`fkey2`** | `false` | 按下功能键2后执行的函数 |
| **`keyCancel`** | `{}` | 包含禁止使用的按键的 ID, 例如 `{1,2}` 就是禁止左移和右移 |
| **`keyCancel`** | `{}` | 包含禁止使用的按键的 ID例如 `{1,2}` 就是禁止左移和右移 |
| **`fine`** | `[设置]` | 是否开启非极简提示音 |
| **`fineKill`** | `false` | 是否开启非极简即死 |
| **`b2bKill`** | `false` | 是否开启断 B2B 即死 |
| **`missionKill`** | `false` | 是否开启强制任务 |
| **`noInitSZO`** | `false` | 是否禁止 SZO 块开局, 如果禁止, 开局序列会自动跳过最多连续五个SZO |
| **`noInitSZO`** | `false` | 是否禁止 SZO 块开局如果禁止开局序列会自动跳过最多连续五个SZO |
| | | |
| **`mesDisp`** | `NULL` | 需要在玩家侧边栏显示的信息(或函数列表,依次执行,可以显示在外面但是强烈不建议), 输入玩家对象 |
| **`dropPiece`** | `NULL` | 放一块后要执行的函数(或函数列表,依次执行), 输入玩家对象 |
| **`task`** | `NULL` | 每帧会**继续执行**的函数(或函数列表,依次执行,返回`true`会把自身从队列里清除) (初始化时会执行一次, 可以用来设置场地等), 输入玩家对象, 注意:使用协程技术 |
| **`eventSet`** | `false` | 使用预设事件套件名称(字符串), 和上面三个套件会叠加, 使用时请小心, 尽量不要同时指定太多组件 |
| **`mesDisp`** | `NULL` | 需要在玩家侧边栏显示的信息或函数列表,依次执行,可以显示在外面但是强烈不建议输入玩家对象 |
| **`dropPiece`** | `NULL` | 放一块后要执行的函数或函数列表,依次执行输入玩家对象 |
| **`task`** | `NULL` | 每帧会**继续执行**的函数或函数列表,依次执行,返回`true`会把自身从队列里清除 初始化时会执行一次可以用来设置场地等输入玩家对象注意:使用协程技术 |
| **`eventSet`** | `false` | 使用预设事件套件名称字符串和上面三个套件会叠加使用时请小心尽量不要同时指定太多组件 |
| | | |
| **`bg`** | `'none'` | 背景, 只能填写内置背景的名字 |
| **`bgm`** | `race'` | 背景音乐名(或者列表随机, 例如{`race`','`push`'}), 只能用内置音乐库的音乐名 |
| **`bg`** | `'none'` | 背景只能填写内置背景的名字 |
| **`bgm`** | `race'` | 背景音乐名或者列表随机例如{`race`','`push`'}只能用内置音乐库的音乐名 |
| **`allowMod`** | `true | 是否允许mod |
------
### 1.3. `load`
### 1.3. `load`
**必选**, 模式初始化函数, 一般创建一个玩家即可, 无输入, 无输出.
**必选**模式初始化函数一般创建一个玩家即可无输入无输出
------
@@ -123,9 +123,9 @@
### 1.4. `score`
可选(不填就没有分数保存和计算), 一局打完后要存储的数据.
可选不填就没有分数保存和计算一局打完后要存储的数据
输入玩家对象, 输出游戏结束瞬间返回一个包含直接决定该模式成绩的数据 table (会被强制加上`date`标签).
输入玩家对象输出游戏结束瞬间返回一个包含直接决定该模式成绩的数据 table 会被强制加上`date`标签)。
------
@@ -133,7 +133,7 @@
### 1.5. `scoreDisp`
可选(模式不出现在地图上的时候不用写), 是把`score()`存起来的table转换为字符串显示出来的函数. 输入一个成绩 table, 输出一个字符串.
可选模式不出现在地图上的时候不用写是把`score`存起来的table转换为字符串显示出来的函数 输入一个成绩 table输出一个字符串
------
@@ -141,9 +141,9 @@
### 1.6. `comp`
可选(没有`score`函数的时候不用写), 是成绩 table 之间对比并排序的规则.
可选没有`score`函数的时候不用写是成绩 table 之间对比并排序的规则
输入两个成绩table, 输出[第一个是不是排在第二个前面]的布尔值(可以类比”小于"运算)
输入两个成绩table输出[第一个是不是排在第二个前面]的布尔值可以类比”小于"运算
------
@@ -151,11 +151,11 @@
### 1.7. `getRank`
可选, 模式评级函数, 是用于评价玩家表现的函数.
可选模式评级函数是用于评价玩家表现的函数
输入玩家对象, 输出 `0`~`5`, `0`表示除了记录到排行榜外什么都不做;
输入玩家对象输出 `0`~`5``0`表示除了记录到排行榜外什么都不做;
1/2/3/4/5 表示 B/A/S/U/X 级, 能解锁连接的模式, 还会让模式图标在地图上显示不同的颜色.
1/2/3/4/5 表示 B/A/S/U/X 级能解锁连接的模式还会让模式图标在地图上显示不同的颜色
------
@@ -169,21 +169,21 @@
```lua
--sprint_40l.lua
return{ --返回一个table, 你也可以在之前定义一些常量或者函数什么
color=COLOR.green, --颜色
return{ --返回一个table你也可以在之前定义一些常量或者函数什么
color=COLOR.green,--颜色
env={ --模式环境变量
drop=60,lock=60,
eventSet='checkLine_40', --这个预设eventSet包含了dropPiece和mesDisp, 就是40行需要的东西
eventSet='checkLine_40',--这个预设eventSet包含了dropPiece和mesDisp就是40行需要的东西
bg='bg2',bgm='race',
},
load=function() --模式加载函数, 这里只生成了一个玩家, 常用的单人模式可以不写, 默认使用这个函数
PLY.newPlayer(1) --1是玩家编号, 默认用户控制1号玩家
load=function() --模式加载函数这里只生成了一个玩家常用的单人模式可以不写默认使用这个函数
PLY.newPlayer(1) --1是玩家编号默认用户控制1号玩家
end,
score=function(P)return{P.stat.time,P.stat.piece}end, --游戏结束时需要保存的本局关键信息
scoreDisp=function(D)return STRING.time(D[1]).." "..D[2].." Pieces"end, --把score返回的数据显示出来的方法
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end, --按照时间排序,时间一样就看块数
score=function(P)return{P.stat.time,P.stat.piece}end,--游戏结束时需要保存的本局关键信息
scoreDisp=function(D)return STRING.time(D[1]).." "..D[2].." Pieces"end,--把score返回的数据显示出来的方法
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,--按照时间排序,时间一样就看块数
getRank=function(P) --计算评级
if P.stat.row<40 then return end --你总得打完40行对吧, 否则直接return空掉成绩都不记录
if P.stat.row<40 then return end --你总得打完40行对吧否则直接return空掉成绩都不记录
local T=P.stat.time
return
T<=26 and 5 or --时间小于等于26秒就是X级要求

View File

@@ -1,31 +1,31 @@
# Techmino 配音说明文档
如果你想参与 Techmino 游戏中的语音配音, 请参考这份文档中的说明.
如果你想参与 Techmino 游戏中的语音配音请参考这份文档中的说明
## 1. 文件命名
__请注意, 每一个语音都可以录制多条, 播放时随机取一条语音使用, 听起来更自然.__
__请注意每一个语音都可以录制多条播放时随机取一条语音使用听起来更自然__
录制了多条的语音在实际使用时会随机挑选一条进行播放.
录制了多条的语音在实际使用时会随机挑选一条进行播放
对于组合性的语音, 请严格根据每条语音的说明进行录制, 否则可能会出现奇怪的现象.
对于组合性的语音请严格根据每条语音的说明进行录制否则可能会出现奇怪的现象
> __示例__: 多条 mini 语音文件应命名为 `mini_1.ogg`, `mini_2.ogg`….
> __示例__: 多条 mini 语音文件应命名为 `mini_1.ogg``mini_2.ogg`…
>
> 如果只有一条语音, 可以省略文件名中的 `_1` (`mini.ogg`).
> 如果只有一条语音可以省略文件名中的 `_1` `mini.ogg`)。
>
> __对于多条语音文件, 文件名后的数字不可省略__ (从 `_1` 开始).
> __对于多条语音文件文件名后的数字不可省略__ 从 `_1` 开始)。
投稿语音包请使用 wav 格式, 方便保留原文件, 以便将来有需要时重新转换格式.
投稿语音包请使用 wav 格式方便保留原文件以便将来有需要时重新转换格式
如果想要自己导入游戏, 请降噪, 裁剪, 调整音量后转换为 ogg 格式再进行导入.
如果想要自己导入游戏请降噪,裁剪,调整音量后转换为 ogg 格式再进行导入
@@ -35,7 +35,7 @@ __请注意, 每一个语音都可以录制多条, 播放时随机取一条语
### 2.1 消行语音
| 朗读的文本 | 文件名 | 音标(英式读法) | 音标(美式读法) | 日语读法 |
| 朗读的文本 | 文件名 | 音标英式 | 音标美式 | 日语读法 |
| ---------- | ----------------------- | -------------- | -------------- | ---------------- |
| single | `single.wav` | /ˈsɪŋɡ(ə)l/ | /ˈsɪŋɡəl/ | シングル |
| double | `double.wav` | /ˈdʌb(ə)l/ | /ˈdəb(ə)l/ | ダブル |
@@ -48,14 +48,14 @@ __请注意, 每一个语音都可以录制多条, 播放时随机取一条语
### 2.2 Spin语音
| 朗读文本 | 文件名 | 音标(英) | 音标(美) | 日语 | 说明 |
| 朗读文本 | 文件名 | 音标(英) | 音标(美) | 日语 | 说明 |
| ------ | ----- | ------- | ------- | --- | ---- |
| * spin | `*spin0.wav` | /spɪn/ | /spɪn/ | スピン | 文本和文件名里的 `*` 要分别换成下表所有方块名称录很多遍.<br>Spin 后不消行. 结束时语调应自然下降. `0` 是文件名的一部分. |
| * spin | `*spin.wav` | /spɪn/ | /spɪn/ | スピン | 文本和文件名里的 `*` 要分别换成下表所有方块名称录很多遍.<br>Spin 后消行. 结束时语调应自然上升 (后面要和消行语音拼接). |
| * spin | `*spin0.wav` | /spɪn/ | /spɪn/ | スピン | 文本和文件名里的 `*` 要分别换成下表所有方块名称录很多遍<br>Spin 后不消行结束时语调应自然下降 `0` 是文件名的一部分|
| * spin | `*spin.wav` | /spɪn/ | /spɪn/ | スピン | 文本和文件名里的 `*` 要分别换成下表所有方块名称录很多遍<br>Spin 后消行结束时语调应自然上升后面要和消行语音拼接)。
| 方块名称 | 音标(英) | 音标(美) | 日语 |
| 方块名称 | 音标(英) | 音标(美) | 日语 |
| ------- | ------- | ------- | ---- |
| __四连块(一定要录)__ ||||
| __四连块一定要录__ ||||
| Z | /zɛd/ | /zi/ | ゼット |
| S | /ɛs/ | /ɛs/ | エス |
| J | /dʒeɪ/ | /dʒeɪ/ | ジェー |
@@ -63,7 +63,7 @@ __请注意, 每一个语音都可以录制多条, 播放时随机取一条语
| T | /tiː/ | /ti/ | ティー |
| O | /əʊ/ | /oʊ/ | オー |
| I | /ʌɪ/ | /aɪ/ | アイ |
| __五连块和三连块(可以不录)__ ||||
| __五连块和三连块可以不录__ ||||
| P | /piː/ | /pi/ | ピー |
| Q | /kjuː/ | /kju/ | キュー |
| F | /ɛf/ | /ɛf/ | エフ |
@@ -82,49 +82,49 @@ __请注意, 每一个语音都可以录制多条, 播放时随机取一条语
### 2.3 其他特殊操作语音
| 朗读文本 | 文件名 | 音标(英) | 音标(美) | 日语 | 说明 |
| 朗读文本 | 文件名 | 音标(英) | 音标(美) | 日语 | 说明 |
| ------------- | ---------------------- | --------------- | ---------------- | ------------------ | ----------------------------- |
| all clear | `all_clear.wav` | /ɔːl klɪə/ | /ɔl ˈklɪr/ | オールクリア | |
| perfect clear | `all_clear.wav` | /ˈːfɪkt klɪə/ | /ˈpərfɪkt ˈklɪr/ | パーフェクトクリア | (可选)all clear 的另一种形式. |
| perfect clear | `all_clear.wav` | /ˈːfɪkt klɪə/ | /ˈpərfɪkt ˈklɪr/ | パーフェクトクリア | 可选all clear 的另一种形式|
| clear | `clear.wav` | /klɪə/ | /ˈklɪr/ | クリア | |
| half clear | `clear.wav` | /hɑːf klɪə/ | /hæf ˈklɪr/ | ハーフクリア | (可选)clear 的另一种形式. |
| half clear | `clear.wav` | /hɑːf klɪə/ | /hæf ˈklɪr/ | ハーフクリア | 可选clear 的另一种形式 |
### 2.4 其他游戏内语音
以下语音没有固定形式, 可以自由发挥. 建议多录制几个音频以达到最佳表现效果.
以下语音没有固定形式可以自由发挥建议多录制几个音频以达到最佳表现效果
| 文件名 | 说明 |
| -------------------- | ------------- |
| `win.wav` | 胜利语音. |
| `lose.wav` | 失败语音. |
| `welcome.wav` | 游戏启动语音. |
| `bye.wav` | 游戏退出语音. |
| `win.wav` | 胜利语音 |
| `lose.wav` | 失败语音 |
| `welcome.wav` | 游戏启动语音|
| `bye.wav` | 游戏退出语音|
## 3. 测试用音频
以下语音没有固定形式, 可以自由发挥. 建议多录制几个音频以达到最佳表现效果.
以下语音没有固定形式可以自由发挥建议多录制几个音频以达到最佳表现效果
__音频时间不能太长, 必须保持在 2s 内.__
__音频时间不能太长必须保持在 2s 内__
| 文件名 | 说明 |
| ------------------ | ------------------------------------------ |
| `test.wav` | 测试语音. (_e.g._ “啊” “喵” “呜”) |
| `happy.wav` | 彩蛋语音. 建议用很短的笑声. |
| `doubt.wav` | 彩蛋语音. 建议用 “嗯?” 等表示疑问的语气词. |
| `test.wav` | 测试语音。(_e.g._ “啊” “喵” “呜” |
| `happy.wav` | 彩蛋语音建议用很短的笑声 |
| `doubt.wav` | 彩蛋语音建议用 “嗯?” 等表示疑问的语气词|
## 4. 未使用音频
这些音频在游戏现阶段没有被使用, 但建议还是录制一份来为游戏的未来开发做准备.
这些音频在游戏现阶段没有被使用但建议还是录制一份来为游戏的未来开发做准备
这些语音全部是组合语音, 后接消行语音, 语气应自然上升.
这些语音全部是组合语音后接消行语音语气应自然上升
| 朗读的文本 | 文件名 | 音标(英式读法) | 音标(美式读法) | 日语读法 |
| 朗读的文本 | 文件名 | 音标英式 | 音标美式 | 日语读法 |
| ---------- | ------------------ | -------------- | -------------- | ---------- |
| split | `split.wav` | /splɪt/ | /splɪt/ | スプリット |
| air | `air.wav` | /ɛː/ | /ɛr/ | エア |