Merge doc

This commit is contained in:
ckcz123 2021-08-12 21:50:55 +08:00
parent 0e766391be
commit e225b75d8f
4 changed files with 119 additions and 58 deletions

View File

@ -15,7 +15,7 @@
7. `project\autotiles`:自动元件,会随着在地图上的连续摆放而自动采取适当的绘制方式。 7. `project\autotiles`:自动元件,会随着在地图上的连续摆放而自动采取适当的绘制方式。
8. `project\tilesets`额外素材用来突破其他素材合计不得超过10000个的限制。您可以在这个区域拖动来批量框选再在地图区单击成片绘制或拖动平铺。 8. `project\tilesets`额外素材用来突破其他素材合计不得超过10000个的限制。您可以在这个区域拖动来批量框选再在地图区单击成片绘制或拖动平铺。
V2.7.3中terrains.png追加了薄墙图块红线V2.8中它们被挪到了最下方,可供利用。 V2.7.3中,`terrains.png`追加了薄墙图块红线V2.8中它们被挪到了最下方,可供利用。
V2.8中自动元件在素材区折叠模式下会只显示左上角一格与RPG Maker一致。 V2.8中自动元件在素材区折叠模式下会只显示左上角一格与RPG Maker一致。
@ -27,7 +27,7 @@ V2.8中,自动元件在素材区折叠模式下会只显示左上角一格,
其中“导出并复制地图”是指显示出左侧的矩阵并复制(一般用来跨塔复制地图),您也可以直接改动其中的数字(例如将绿色史莱姆批量替换为红色史莱姆),再点击“从框中导入地图”就能将改动的结果同步到地图上。 其中“导出并复制地图”是指显示出左侧的矩阵并复制(一般用来跨塔复制地图),您也可以直接改动其中的数字(例如将绿色史莱姆批量替换为红色史莱姆),再点击“从框中导入地图”就能将改动的结果同步到地图上。
下面的“楼层ID、中文名、状态栏名”分别对应楼层属性快捷键V的floorId、title和name其中floorId也作为文件名不能使用中文注意大小写问题title会显示在楼传界面和楼层切换黑屏name也允许使用中文。 下面的“楼层ID、中文名、状态栏名”分别对应楼层属性快捷键V的floorId、title和name其中floorId也作为文件名不能使用中文注意大小写问题title会显示在楼传界面和楼层切换黑屏name也允许使用中文但请注意控制字数
## 图块属性快捷键C ## 图块属性快捷键C
@ -59,7 +59,7 @@ V2.8中,道具名称支持使用${表达式计算}语法,但这样做会使
V2.7起,电脑端支持将文件直接拖动到素材区对应的列,进行追加。具体规则如下: V2.7起,电脑端支持将文件直接拖动到素材区对应的列,进行追加。具体规则如下:
1. 道具的图片宽高必须为32的倍数每格会被追加为一个新道具 1. 道具的图片宽高必须为32的倍数每格会被追加为一个新道具
2. 其他类别的多帧图块不包括自动元件和tileset规格必须为128×128、128×192、96×128、96×192之一分别对应32×32和32×48的四行四列或四行三列。 2. 其他类别的多帧图块不包括自动元件和tileset规格必须为128×128、128×192、96×128、96×192之一分别对应32×32和32×48的四行四列或四行三列后者为RPG Maker VX Ace格式
3. 向两帧的enemys.png或npcs.png追加时四列的图片取中间两列三列的图片取两边两列。 3. 向两帧的enemys.png或npcs.png追加时四列的图片取中间两列三列的图片取两边两列。
4. 向四帧的animates.png、enemy48.png、npc48.png追加时三列的图片按2123排布。 4. 向四帧的animates.png、enemy48.png、npc48.png追加时三列的图片按2123排布。
@ -68,26 +68,51 @@ V2.8起,图块支持“(注销并)删除”操作,执行后将(对已
### 非怪物非道具属性 ### 非怪物非道具属性
1. **触发器:**当碰触到地图上此图块时触发的系统事件,详见[事件](event)。 1. **触发器:**当碰触到地图上此图块时触发的系统事件,详见[事件](event)。
* **battle**: (未列出)战斗;当撞上一个怪物且没有覆盖触发器时(参见[事件](event))将自动调用此触发器产生战斗,并触发战后事件。 * **battle**: (未列出)战斗;当撞上一个怪物且没有覆盖触发器时(参见[事件](event))将自动调用此触发器产生战斗,并触发战前和战后事件。
* **getItem**: (未列出)拾获道具;当撞上一个道具且没有覆盖触发器时(参见[事件](event))将自动调用此触发器获得它,并触发(拾获)道具后事件。 * **getItem**: (未列出)拾获道具;当撞上/轻拾一个道具且没有覆盖触发器时(参见[事件](event))将自动调用此触发器获得它,并触发(拾获)道具后事件。
* **changeFloor**: (未列出)楼层切换;对于地图上绑定的绿点(常见于楼梯或彩色箭头)将自动调用此触发器产生楼层切换事件。 * **changeFloor**: (未列出)楼层切换;对于地图上绑定的绿点(常见于楼梯或彩色箭头)将自动调用此触发器产生楼层切换事件。
* **openDoor**: 用于制作门效果,当撞上此图块时将尝试开门(仅对`animates`和`npc48`生效),并触发开门后事件;具体开门动画参见下面的门信息。 * **openDoor**: 用于制作门效果,当撞上此图块时将尝试开门(仅对`animates`和`npc48`生效),并触发开门后事件;具体开门动画参见下面的门信息。
* **pushBox**: 推箱子;请勿对非箱子使用此触发器。 * **pushBox**: 推箱子;请勿对非箱子使用此触发器。
* **ski**: 滑冰;拥有此触发器的图块放置在背景层时,走上去将触发滑冰效果。 * **ski**: 滑冰;拥有此触发器的图块放置在背景层时,走上去将触发滑冰效果。
* **custom**: 自定义系统触发器;你可以使用 `core.registerSystemEvent` 来自己定义一个系统触发器,参见[API列表](api)。 * **custom**: 自定义系统触发器;你可以使用 `core.registerSystemEvent` 来自己定义一个系统触发器,参见[API列表](api)。
2. **可通行性:**勾选后勇士才可以踏入此图块,否则只能撞击此图块。(怪物被锁定为不可通行,道具被锁定为可通行,如有需要可以修改点上的不可通行性) 2. **可通行性:**勾选后勇士才可以踏入此图块,否则只能撞击此图块。(怪物被锁定为不可通行,道具被锁定为可通行,如有需要可以修改点上的不可通行性)
3. **碰触脚本/碰触事件:**勇士踏入或撞击此图块时执行的脚本该项会被eval相当于一种自定义的触发器您可以参考踩灯和四种路障去填写它。V2.8起,新增了“碰触事件”,使用起来更方便也更安全。 3. **碰触脚本/碰触事件:**勇士踏入或撞击此图块时执行的脚本该项会被eval相当于一种自定义的触发器您可以参考踩灯和四种路障去填写它。V2.8起,新增了“碰触事件”(会覆盖该点的普通事件),使用起来更方便也更安全。
4. **不可出入方向:**对三个图层的图块都有效。不可出方向指的是勇士站在这种图块上不能向哪个方向走包括撞击不可入方向指的是勇士不能从哪个方向走向这种图块包括撞击。例如不可入方向勾选了“上”则不能“从上方、向下”走向这个图块。请参考素材区第一列的四个灰色箭头样板1层右下角也有 4. **不可出入方向:**对三个图层的图块都有效。不可出方向指的是勇士站在这种图块上不能向哪个方向走包括撞击不可入方向指的是勇士不能从哪个方向走向这种图块包括撞击。例如不可入方向勾选了“上”则不能“从上方、向下”走向这个图块。请参考素材区第一列的四个灰色箭头样板1层右下角也有
* V2.8.1起,编辑器地图区下方提供了“通行度”勾选框,您可以随时勾选它来查看“不可出入方向”(包括图块的和点的)在地图上的实际效果。
5. **可破震:**勾选后此图块将成为破墙镐pickaxe和地震卷轴earthquake这两个道具的目标。 5. **可破震:**勾选后此图块将成为破墙镐pickaxe和地震卷轴earthquake这两个道具的目标。
6. **动画帧数:**您可以修改此帧数来让本来有4帧的图块只用前2或3帧循环播放另外制作门时请务必将此帧数改为1表示门在打开前静止在第1帧。 6. **动画帧数:**您可以修改此帧数来让本来有4帧的图块只用前2或3帧循环播放另外制作门时请务必将此帧数改为1表示门在打开前静止在第1帧。
7. **门信息:**只对`animates`和`npc48`有效您可以点击“编辑按钮”来填写此图块作为门的开关耗时、开关音效以及需要哪些钥匙各多少把可以填写任何消耗类道具也可以选择某些道具只需持有一定数量而不消耗。修改此信息后您需要将上面的“动画帧数”改为1并可能需要将“触发器”改为openDoor不改的话将无法通过撞击来开门但可以像三色墙一样用来制作暗墙 7. **门信息:**只对`animates`和`npc48`有效您可以点击“编辑按钮”来填写此图块作为门的开关耗时、开关音效以及需要哪些钥匙各多少把可以填写任何消耗类道具也可以选择某些道具只需持有一定数量而不消耗。修改此信息后您需要将上面的“动画帧数”改为1并可能需要将“触发器”改为openDoor不改的话将无法通过撞击来开门但可以像三色墙一样用来制作暗墙
* 该项在V2.7首次提供,只支持“同时需要多种钥匙各多少把、消耗其中哪几种”的“且运算”条件。 * 该项在V2.7首次提供,只支持“同时需要多种钥匙各多少把、消耗其中哪几种”的“且运算”条件。
* 如果您需要指定“或运算”条件如优先消耗一种钥匙没有再消耗另一种或“消耗量”少于“需要持有量”或者需要判断的条件不是道具而是其他条件比如勇士状态或flag请使用“碰触事件”但这样将无法自动存档。 * 如果您需要指定“或运算”条件如优先消耗一种钥匙没有再消耗另一种或“消耗量”少于“需要持有量”或者需要判断的条件不是道具而是其他条件比如勇士状态或flag请使用“碰触事件”但这样将无法自动存档。
* V2.8新增了(批量)开门后事件,它和(单点)开门后事件的执行先后顺序,由“脚本编辑——开门后脚本”指定。 * V2.8新增了(批量)开门后事件,它和(单点)开门后事件的执行先后顺序,由“脚本编辑——开门后脚本”指定,默认先执行单点的
* 因此,复杂的开门条件也可以换个角度思考,把开门条件设为什么都不需要(先斩后奏,这一思想在道具使用条件中也很常见),开门后事件中再进行判断,如果开门成功就按照条件扣除钥匙,开门失败就再把门关上就好了,这样就保留了自动存档功能。 * 因此,复杂的开门条件也可以换个角度思考,把开门条件设为什么都不需要(先斩后奏,这一思想在道具使用条件中也很常见),开门后事件中再进行判断,如果开门成功就按照条件扣除钥匙,开门失败就再把门关上就好了,这样就保留了自动存档功能。
* V2.8.1起npc48支持绑定大型贴图您可以制作大型门了开关门的动画会更为震撼
8. **行走图朝向:**设置后当勇士撞击该图块时图块会尝试转身面向勇士对话事件结束前请使用“事件转向”指令将其转回去。走动时也会尝试自动转向请参考样板0层使用的小姐姐。 8. **行走图朝向:**设置后当勇士撞击该图块时图块会尝试转身面向勇士对话事件结束前请使用“事件转向”指令将其转回去。走动时也会尝试自动转向请参考样板0层使用的小姐姐。
* V2.8起“行走图朝向”可以用于怪物绑定后只需手动设置脸朝下的怪物属性而不用管其他的手册显示、实际战斗、阻激夹域、漏怪检测hasEnemyLeft等都会强制读取脸朝下的怪物游戏中动态修改任何一个朝向的怪物属性都会立即强制同步到四个怪物身上。 * V2.8起,“行走图朝向”可以用于怪物,绑定后只需手动设置脸朝下的怪物属性(包括下面的绑定贴图)而不用管其他的,手册显示、实际战斗、阻激夹域(尤其是夹击)、漏怪检测(`hasEnemyLeft`)等都会强制读取脸朝下的怪物,游戏中动态修改任何一个朝向的怪物属性都会立即强制同步到四个怪物身上。
* npc在设置行走图朝向以后其他属性不具有自同步机制包括下面的绑定贴图请自行注意。
* 该项的四个方向甚至可以写不同的图块类别,后果未知。
9. **绑定贴图:**V2.8.1新增可以用于NPC和怪物。这很大程度上弥补了H5魔塔比起RPG Maker不能使用大型行走图的缺憾。
* 点击此项时将会直接弹窗请求选择文件文件首先会判断总高度和总宽度的比例是否大于0.5。
* 【1×4】如果这个比例不大于0.5(这个临界值可以通过复写`core.maps._getBigImageInfo`来修改那么整张图视为1行4列每列的高度至多为宽度的2倍即一个图块的单向4帧行走图。方向默认视为朝下如需修改可以在其“行走图朝向”只绑定一个需要的方向id写自己
* 【4×4】如果这个比例大于0.5那么整张图视为4行4列共16块即4个朝向图块各自的4帧行走图从上到下的朝向分别为“下、左、右、上”因此您需要注册四个最好是同类别的图块并绑定好行走图朝向贴图则都绑定这一张。
* 该图块放在地图的事件层以后本体会透明化,并且根据朝向(默认向下)选择行走图的绘制偏移量。
* 例如,朝下的图块,行走图在绘制时会让本体位于图片下缘中央,其他方向同理。
* 而在编辑器中1:1显示模式下大贴图会被缩小到1格如需预览原始尺寸的效果请点击地图区下方的“大地图”按钮。
* 游戏中该图块会全程使用绑定的贴图(选择项的子选项图标和文本的`\\i[]`转义序列仍然使用本体)进行显示,包括在怪物手册和显示文章的`\t[]`效果(这两种都会被缩小到一定尺寸)。而显示文章的`\b[]`效果则还是根据图块类别使用原始高度不过V2.8.1中您可以手动去掉尖角然后指定对话框的左上角坐标和限宽。
* 对该图块执行“显隐事件、转变图块、开关门npc48、不透明度设置和渐变、移动跳跃”都会直接操作大贴图这比起2.7.x的楼层贴图要好用许多
* 但是如果您有一张图片希望分成16小格但是每行对应完全独立的四个图块而不具有行走图朝向关系该怎么做呢
* “插件编写”的第一项init中提供了“资源加载后的操作”您可以在里面用`splitImage`将该图的四行提前裁剪成四张图片并重新命名,就可以使用啦!
* 切分出的新图片无法通过弹窗选取,必须手动填写,敬请谅解。
``` js
this._afterLoadResources = function () {
// 这是一个将4by4.png假设为384*384按行拆分成四个图片并保存的样例
// 可以用来在没有条件ps如原图尺寸不支持便捷ps或者手机造塔时的条件下
// 预处理图片来得到独立朝向的大型行走图1of4.png到4of4.png
var arr = core.splitImage('4by4.png', 384, 96); // 以宽386高96进行切分图片
for (var i = 1; i <= arr.length; ++i)
core.material.images.images[i + 'of4.png'] = arr[i - 1];
}
```
### 道具属性 ### 道具属性
样板自带的道具都在样板0层摆好了您可以直接进入游戏捡起它们就会看到该道具的注意事项这里不再赘述。 样板自带的道具都在样板0层摆好了您可以直接进入游戏捡起它们就会看到该道具的注意事项这里不再赘述。
@ -100,7 +125,7 @@ V2.8起,图块支持“(注销并)删除”操作,执行后将(对已
* 例如如果您想把四种血瓶和三种宝石改为便携式只需把其道具类别改为tools当然楼层属性中的ratio一项也就失效了 * 例如如果您想把四种血瓶和三种宝石改为便携式只需把其道具类别改为tools当然楼层属性中的ratio一项也就失效了
* 如果想把大黄门钥匙变为钥匙盒红黄蓝钥匙各一把只需把其道具类别从tools改为items * 如果想把大黄门钥匙变为钥匙盒红黄蓝钥匙各一把只需把其道具类别从tools改为items
* 如果想把剑盾变成装备,只需把其道具类别改为`equips` * 如果想把剑盾变成装备,只需把其道具类别改为`equips`
* 如果想修改破墙镐和炸弹的目标个数或让炸弹能够触发战后事件,请修改它们的使用效果。 * 如果想修改破墙镐/炸弹/冰冻徽章的目标个数V2.8支持改为八方向,使用`core.utils.scan2`即可)或让炸弹能够触发战后事件,请修改它们的使用效果。
2. **道具描述:**对除即捡即用类外的道具都有效。一个字符串,为道具在道具栏里的描述,也作为首次捡到时的提示信息的一部分(如果全塔属性中开启了这一提示功能的话)。支持使用`${表达式计算}`语法(如四种血瓶和三种宝石那样,但不支持中文替换),此语法的详细规则见“显示文章正文的转义序列”,和“值块和冒号缩写量”。 2. **道具描述:**对除即捡即用类外的道具都有效。一个字符串,为道具在道具栏里的描述,也作为首次捡到时的提示信息的一部分(如果全塔属性中开启了这一提示功能的话)。支持使用`${表达式计算}`语法(如四种血瓶和三种宝石那样,但不支持中文替换),此语法的详细规则见“显示文章正文的转义序列”,和“值块和冒号缩写量”。
3. **不显示在道具栏:**对tools和constants有效勾选此项后该道具在背包中将不显示出来。常用于不能主动使用或已有专门的使用按钮的道具来节省显示篇幅如手册、楼传、幸运金币、十字架、护符和钥匙等。该属性的详细原理见“脚本编辑N键”最下面的“道具栏显示项”。 3. **不显示在道具栏:**对tools和constants有效勾选此项后该道具在背包中将不显示出来。常用于不能主动使用或已有专门的使用按钮的道具来节省显示篇幅如手册、楼传、幸运金币、十字架、护符和钥匙等。该属性的详细原理见“脚本编辑N键”最下面的“道具栏显示项”。
4. **回放不绘制道具栏:**勾选此项后,录像回放中使用此道具将不显示黑黑的道具栏。常用于频繁使用的道具,如楼传、技能和冰冻徽章等。 4. **回放不绘制道具栏:**勾选此项后,录像回放中使用此道具将不显示黑黑的道具栏。常用于频繁使用的道具,如楼传、技能和冰冻徽章等。
@ -113,17 +138,20 @@ V2.8起,图块支持“(注销并)删除”操作,执行后将(对已
6. **即捡即用提示:**实际显示时会被接在“获得xxx”后面所以该项总是一个以逗号开头的字符串同样支持`${表达式计算}`语法。 6. **即捡即用提示:**实际显示时会被接在“获得xxx”后面所以该项总是一个以逗号开头的字符串同样支持`${表达式计算}`语法。
7. **碰触或使用事件:**对除equips外都有效。该项用于代替“即捡即用效果”但会使勇士停下脚步且会晚于地图上的afterGetItem事件被执行且不计入B键数据统计和“使用效果”如样板中的黄宝石和生命魔杖。如果您的js语法基础薄弱那么它将是您的不二之选。 7. **碰触或使用事件:**对除equips外都有效。该项用于代替“即捡即用效果”但会使勇士停下脚步且会晚于地图上的afterGetItem事件被执行且不计入B键数据统计和“使用效果”如样板中的黄宝石和生命魔杖。如果您的js语法基础薄弱那么它将是您的不二之选。
8. **使用效果:**对tools和constants有效。该项会被eval一般为一个js函数较为简单的使用效果如解药瓶也可能是一行代码破炸冰的目标个数请直接在该项中修改。总的来说因为事件比起脚本更容易实现异步特效且录像安全性更好所以如非必要不建议用此项。 8. **使用效果:**对tools和constants有效。该项会被eval一般为一个js函数较为简单的使用效果如解药瓶也可能是一行代码破炸冰的目标个数请直接在该项中修改。总的来说因为事件比起脚本更容易实现异步特效且录像安全性更好所以如非必要不建议用此项。
9. **能否使用:**对tools和constants有效。该项也会被eval一般为一个js函数较为简单的使用条件如解药瓶也可能是一行形如`core.hasFlag('xxx')`的代码。如果该道具在任何情况下都不能主动使用请留null并最好勾选“不显示在道具栏”以节约显示篇幅如果该道具在任何情况下都可以使用请填“true”如果使用条件较为复杂也推荐直接填“true”先斩后奏在使用效果中再行判定并在使用失败的场合使用`core.addItem('xxx')`静默返还一件该道具,如样板中的破墙镐和炸弹。 9. **能否使用或装备:**对tools、constants、equips有效。该项也会被eval一般为一个js函数较为简单的使用条件如解药瓶也可能是一行形如`"core.hasFlag('xxx')"`的代码。
10. **能否装备:**对equips有效请注意在装上装备后如果条件不再满足也不会自动卸下。和“能否使用”不同此项留null表示任何情况下都可以装备。 * 如果该道具在任何情况下都不能主动使用,请留`null`(并最好勾选“不显示在道具栏”以节约显示篇幅)。如果该道具在任何情况下都可以主动使用,请填`"true"`。
11. **道具的装备属性:**在介绍此项之前请先留意一下“全塔属性”中的“装备孔”一项。该项为一个字符串数组最多允许6项13×13样板或8项15×15样板。每一项为装备的类型名称建议是两个汉字如“武器”、“防具”。类型允许重复如可以让勇士最多同时装备两块盾牌。 * 如果使用条件较为复杂,也推荐直接填`"true"`先斩后奏,在使用效果中再行判定,并在使用失败的场合使用`core.addItem('xxx')`静默返还一件该道具,如样板中的破墙镐和炸弹。
* 如果用于装备,那么`null`表示任何情况下都可以装备。但是请注意装上以后,即使条件变得不满足也不会自动脱下。
10. **道具的装备属性:**在介绍此项之前请先留意一下“全塔属性”中的“装备孔”一项。该项为一个字符串数组最多允许6项13×13样板或8项15×15样板。每一项为装备的类型名称建议是两个汉字如“武器”、“防具”。类型允许重复如可以让勇士最多同时装备两块盾牌。
* 装备类型一个自然数和前面的“装备孔”对应如0表示武器1表示防具。如果装备孔有重复的名称则这里也直接写名称不用加引号穿戴时会自动尝试寻找第一个同类型的空闲装备位如果同类型的装备位唯一则会不管空闲与否直接替换没有空闲的话会提示玩家先卸下一件。 * 装备类型一个自然数和前面的“装备孔”对应如0表示武器1表示防具。如果装备孔有重复的名称则这里也直接写名称不用加引号穿戴时会自动尝试寻找第一个同类型的空闲装备位如果同类型的装备位唯一则会不管空闲与否直接替换没有空闲的话会提示玩家先卸下一件。
* 普攻动画:`project\animates`文件夹中任何一个文件的名称(不带后缀,但需要在全塔属性中注册过),只对第一个装备孔有效。普攻动画会播放在和勇士战斗的怪物位置处,如果是强制战斗的天降怪物,则会播放在勇士身上并跟随,请自行注意。详见“文件注册”使用动画。 * 普攻动画:`project\animates`文件夹中任何一个文件的名称(不带后缀,但需要在全塔属性中注册过,支持别名),只对第一个装备孔有效。普攻动画会播放在和勇士战斗的怪物位置处,如果是强制战斗的天降怪物,则会播放在勇士身上并跟随,请自行注意。详见“文件注册”使用动画。
* 数值提升项若干个键值对表示该装备增加属性的常数值支持负数。7个常用属性可以通过下拉框选取自定义的新属性也可以手动输入。 * 数值提升项若干个键值对表示该装备增加属性的常数值支持负数。7个常用属性可以通过下拉框选取自定义的新属性也可以手动输入。
* 百分比提升项:若干个键值对,表示该装备增加属性的百分比(支持负数,如填-10就表示减少10%),修改方法同上。 * 百分比提升项:若干个键值对,表示该装备增加属性的百分比(支持负数,如填-10就表示减少10%),修改方法同上。
* 请注意两种提升项只能写常数请不要认为写个flag变量就能自动变化了。 * 请注意两种提升项只能写常数请不要认为写个flag变量就能自动变化了。
* V2.8中两种提升项可以在游戏过程中通过事件指令来修改包括已经穿在身上的装备但是修改后的值仍然视为常数同时每件装备新增了“穿脱时事件”属性该事件以自动事件方式实现在换好装备后关闭装备栏的瞬间触发。而且下述各种buff可以使用冒号缩写量来读写了详见[事件](event)。 * V2.8中两种提升项可以在游戏过程中通过事件指令来修改包括已经穿在身上的装备但是修改后的值仍然视为常数同时每件装备新增了“穿脱时事件”属性该事件以自动事件方式实现在换好装备后关闭装备栏的瞬间触发。而且下述各种buff可以使用冒号缩写量来读写了详见[事件](event)。
* “穿脱时事件”指的是身上某件装备“从无到有”和“从有到无”,不包括“从多到少”和“从少到多”(在装备孔有重复名称的情况下)。 * “穿脱时事件”指的是身上某件装备“从无到有”和“从有到无”,不包括“从多到少”和“从少到多”(在装备孔有重复名称的情况下)。
* “穿脱时事件”的自动事件定义在`libs\core.js`如需修改例如改为检测“多少”而不是“有无”请在插件“init”中直接修改`core.initStatus.autoEvents`,这是一个一维数组,数组的每项为一个自动事件对象,对象的`symbol`属性含有`"equipEvent_"`时就表明这是一个穿脱时事件然后您可以修改其触发条件以及执行内容的第一项flag变化 * “穿脱时事件”的自动事件定义在`libs\core.js`如需修改例如改为检测“多少”而不是“有无”请在插件“init”中直接修改`core.initStatus.autoEvents`。
* 这是一个一维数组,数组的每项为一个自动事件对象,对象的`symbol`属性含有`"equipEvent_"`时就表明这是一个穿脱时事件。您可以修改其触发条件以及执行内容的第一项flag变化
* 装备对属性的影响原理:在穿脱装备时,会根据数值提升项和百分比提升项,分别调用`core.status.hero.xxx += yyy`和`core.addBuff('xxx', yyy)`这两个API衰弱的附加和解除同理而状态栏的显示值和战斗中的使用值则是`core.getStatus('xxx')`和buff值相乘再向下取整所得。 * 装备对属性的影响原理:在穿脱装备时,会根据数值提升项和百分比提升项,分别调用`core.status.hero.xxx += yyy`和`core.addBuff('xxx', yyy)`这两个API衰弱的附加和解除同理而状态栏的显示值和战斗中的使用值则是`core.getStatus('xxx')`和buff值相乘再向下取整所得。
* 可以按Alt+0~9快速更换套装在装备界面按这个组合键则是保存套装手机端的Alt键在V2.8被提供为粘滞键,点击状态栏右下角的难度标签就能看到。 * 可以按Alt+0~9快速更换套装在装备界面按这个组合键则是保存套装手机端的Alt键在V2.8被提供为粘滞键,点击状态栏右下角的难度标签就能看到。
@ -131,13 +159,15 @@ V2.8起,图块支持“(注销并)删除”操作,执行后将(对已
### 怪物属性 ### 怪物属性
1. **手册ID**【已弃用】原本是V2.8以前用来不完全实现多朝向怪物和大型怪物缩略图的手段现在建议全部用新增的“行走图朝向”属性和“单点图块不透明度设置”代替。该项设置后怪物将在手册中不显示为原怪物而显示为对应的怪物ID. 1. **手册ID**【已弃用】原本是V2.8以前用来不完全实现多朝向怪物和大型怪物缩略图的手段,现在建议全部用新增的“行走图朝向”属性和“单点图块不透明度设置”代替。
* 该项设置后怪物将在手册中不显示为原怪物而显示为对应的怪物ID比“行走图朝向”更优先如果对应ID的怪物在本楼层恰好也存在那么看上去就像原怪物在手册中消失了即RMXP魔塔的“伪装”属性可以适当利用这一点。
* 漏怪检测(`hasEnemyLeft`和阻激夹域尤其是夹击依然只会使用原怪物ID如有需求请使用“行走图朝向”属性。
2. **生命、攻防、金经:**如题注意金经必须在“全塔属性”快捷键B中的“状态栏显示项”中也勾选才能真正被启用。持有幸运金币时打怪获得的金币翻倍附加诅咒状态时打怪不获得金经。 2. **生命、攻防、金经:**如题注意金经必须在“全塔属性”快捷键B中的“状态栏显示项”中也勾选才能真正被启用。持有幸运金币时打怪获得的金币翻倍附加诅咒状态时打怪不获得金经。
3. **加点:**若全塔属性勾选了“加点”则此项为正数时将作为与该怪物每场战斗胜利后传递给“公共事件——加点事件”的参数即那里的flag:arg1默认表示加点的倍率您可以自行修改该事件。 3. **加点:**若全塔属性勾选了“加点”,则此项为正数时将作为与该怪物每场战斗胜利后传递给“公共事件——加点事件”的参数(即那里的`flag:arg1`,默认表示加点的倍率),您可以自行修改该事件。
4. **不可炸:**勾选后该怪物不会成为炸弹的目标有阻击怪在场的情况下请务必给有单点战后事件的怪物如机关门守卫和boss勾选此项否则玩家可能会偷梁换柱地炸掉该怪物并把阻击怪推过去打死来触发战后事件。不过V2.8起,炸弹的使用效果中提供了炸单点怪物触发战后事件的示例,可供利用。 4. **不可炸:**勾选后该怪物不会成为炸弹的目标有阻击怪在场的情况下请务必给有单点战后事件的怪物如机关门守卫和boss勾选此项否则玩家可能会偷梁换柱地炸掉该怪物并把阻击怪推过去打死来触发战后事件。不过V2.8.1起,炸弹的使用效果中提供了炸单点怪物触发战后事件的示例,可供利用。
5. **(批量)战前/战后事件:**V2.8新增,用于解决阻击怪等会移动的怪物不能使用地图上的战前/战后事件的问题。 5. **(批量)战前/战后事件:**V2.8新增,用于解决阻击怪等会移动的怪物不能使用地图上的战前/战后事件的问题。
* 两种战前事件都会在“撞击怪物、判定可以战胜、自动存档”后触发,这比起曾经的“覆盖触发器+天降强制战斗”对玩家更为友好。 * 两种战前事件都会在“撞击怪物、判定可以战胜、自动存档”后触发,这比起曾经的“覆盖触发器+天降强制战斗”对玩家更为友好。
* 批量战前事件默认晚于单点战前事件(修改需要复写函数),批量战后事件与单点战后事件的执行顺序可以直接在“脚本编辑——战后脚本”中调整。 * 批量战前事件默认晚于单点战前事件(修改需要复写函数),批量战后事件与单点战后事件的执行顺序可以直接在“脚本编辑——战后脚本”中调整,默认也是单点先执行
* 两种战前事件在强制战斗时都不会触发,并且都早于支援怪的跳跃动画,因此捕捉怪的战前事件也不会触发。 * 两种战前事件在强制战斗时都不会触发,并且都早于支援怪的跳跃动画,因此捕捉怪的战前事件也不会触发。
* 两种战前事件中如果使用“立刻结束当前事件”就会取消战斗,必要时您可以利用这一点制作回合制战斗。 * 两种战前事件中如果使用“立刻结束当前事件”就会取消战斗,必要时您可以利用这一点制作回合制战斗。
* 批量战前事件可以方便地制作“怪物先打一下勇士,再被勇士打死”的效果,同时延迟了怪物的消失,使得怪物根据“行走图朝向”转身后的效果能够来得及被看到。 * 批量战前事件可以方便地制作“怪物先打一下勇士,再被勇士打死”的效果,同时延迟了怪物的消失,使得怪物根据“行走图朝向”转身后的效果能够来得及被看到。
@ -161,6 +191,8 @@ V2.8起阻击和捕捉支持九宫格形状由zoneSquare属性指定。如
您甚至可以给同一种怪物设置阻击和捕捉,那么它会先后退然后在原位置留下一个残影和勇士战斗,从而起到刷金经的作用。 您甚至可以给同一种怪物设置阻击和捕捉,那么它会先后退然后在原位置留下一个残影和勇士战斗,从而起到刷金经的作用。
样板的光环是作用于怪物的,如果想制作作用于勇士的光环,需要注意缓存问题以免卡顿。
可以看到怪物属性中有很多值是彼此互相冲突的。请自行注意比如设计新属性时分散给各项而不要都吊死在三个value上。最后介绍一些和怪物相关的API 可以看到怪物属性中有很多值是彼此互相冲突的。请自行注意比如设计新属性时分散给各项而不要都吊死在三个value上。最后介绍一些和怪物相关的API
``` js ``` js
core.status.hero.flags.no_repulse = true; // 禁用阻击,包括伤害和后退效果 core.status.hero.flags.no_repulse = true; // 禁用阻击,包括伤害和后退效果
@ -184,6 +216,10 @@ V2.8起阻击和捕捉支持九宫格形状由zoneSquare属性指定。如
![image](img/floor.jpg) ![image](img/floor.jpg)
V2.7.1起楼层支持使用最大128×128的超大地图您可以在地图区下方点击“大地图”按钮切换到全景进行绘制或在1:1模式下使用wsad进行视角移动。
V2.8.1新增了怪物的大贴图绑定编辑器1:1模式下大贴图会被缩小到一格中您可以点击“大地图”按钮让大贴图按原始尺寸绘制。
1. **楼层ID**`project/floors`中的文件名不允许使用中文也不能直接修改。修改方法见上图底部修改后必须立即刷新浏览器页面该项需要注意大小写问题。另外作品发布时会统计楼层总数如果有一些剧情层或连载塔半成品层不希望被统计进去请使用“sample”+纯数字楼层ID即可就像三个样板层一样。 1. **楼层ID**`project/floors`中的文件名不允许使用中文也不能直接修改。修改方法见上图底部修改后必须立即刷新浏览器页面该项需要注意大小写问题。另外作品发布时会统计楼层总数如果有一些剧情层或连载塔半成品层不希望被统计进去请使用“sample”+纯数字楼层ID即可就像三个样板层一样。
2. **楼层名:**楼层在楼传、上下楼黑屏和浏览地图界面的名称。 2. **楼层名:**楼层在楼传、上下楼黑屏和浏览地图界面的名称。
3. **状态栏显示:**勇士在此楼层时状态栏左上角“上楼梯”图标右边的文字,允许使用中文,但请注意控制字数。 3. **状态栏显示:**勇士在此楼层时状态栏左上角“上楼梯”图标右边的文字,允许使用中文,但请注意控制字数。
@ -200,7 +236,7 @@ V2.8起阻击和捕捉支持九宫格形状由zoneSquare属性指定。如
* 可楼传飞到如果不勾选则此楼层禁止成为楼传的目标楼层。该项的具体原理见“脚本编辑——flyTo楼层飞行”。 * 可楼传飞到如果不勾选则此楼层禁止成为楼传的目标楼层。该项的具体原理见“脚本编辑——flyTo楼层飞行”。
* 可楼传飞出:如果不勾选,则勇士在此楼层禁止使用楼传。 * 可楼传飞出:如果不勾选,则勇士在此楼层禁止使用楼传。
* 快捷商店:如果不勾选,则勇士在此楼层禁止快捷使用全局商店。事件中的“启用全局商店同时打开”不受影响,详见“插件编写——全局商店”。 * 快捷商店:如果不勾选,则勇士在此楼层禁止快捷使用全局商店。事件中的“启用全局商店同时打开”不受影响,详见“插件编写——全局商店”。
* 不可浏览如果勾选则此楼层无法通过PageUp/PageDown键浏览也不会计入全塔B键数据统计。 * 不可浏览:如果勾选,则此楼层无法通过滚轮/PageUp/PageDown键浏览也不会计入全塔B键数据统计。
* 不可瞬移如果勾选则勇士在此楼层无法用E键和点击瞬移常用于用自动事件去监听勇士坐标时或者需要严格的计步属性时如每走10步失去一把黄钥匙 * 不可瞬移如果勾选则勇士在此楼层无法用E键和点击瞬移常用于用自动事件去监听勇士坐标时或者需要严格的计步属性时如每走10步失去一把黄钥匙
* 是否是地下层:如果勾选,则楼传非平面模式下(或平面模式下该层还没有锚点时)勇士在此楼层原地使用楼传会传送到上楼点,详见“脚本编辑——楼层飞行”。 * 是否是地下层:如果勾选,则楼传非平面模式下(或平面模式下该层还没有锚点时)勇士在此楼层原地使用楼传会传送到上楼点,详见“脚本编辑——楼层飞行”。
6. **首次到达事件、每次到达事件:**如题,详见“脚本编辑——切换楼层后”。每层的这两个事件是共用独立开关的,常见用法有“进入新区时清空已到达的楼层列表,只保留当前楼层”从而实现勇士不能再飞回从前区域的效果。 6. **首次到达事件、每次到达事件:**如题,详见“脚本编辑——切换楼层后”。每层的这两个事件是共用独立开关的,常见用法有“进入新区时清空已到达的楼层列表,只保留当前楼层”从而实现勇士不能再飞回从前区域的效果。
@ -208,18 +244,18 @@ V2.8起阻击和捕捉支持九宫格形状由zoneSquare属性指定。如
8. **上下楼点:**两个自然数构成的一维数组,将作为“楼层转换”事件(在地图上以图块左下角出现绿色小方块作为标记)和“楼层切换”指令中“上下楼梯”以及非平面楼传的目标坐标。 8. **上下楼点:**两个自然数构成的一维数组,将作为“楼层转换”事件(在地图上以图块左下角出现绿色小方块作为标记)和“楼层切换”指令中“上下楼梯”以及非平面楼传的目标坐标。
* 如果不设置,则在传送时会尝试从地图中搜索上下楼梯图块。因此当某个楼层没有楼梯或有多个楼梯时(如《[新新魔塔](http://h5mota.com/games/xinxin/editor.html)》),请务必设置这个属性。点击“编辑”按钮从地图选点即可。 * 如果不设置,则在传送时会尝试从地图中搜索上下楼梯图块。因此当某个楼层没有楼梯或有多个楼梯时(如《[新新魔塔](http://h5mota.com/games/xinxin/editor.html)》),请务必设置这个属性。点击“编辑”按钮从地图选点即可。
9. **楼传落点:**格式和设置方法同上。如果设置了此项,则楼传在此层的落点将强制变为该点,无视平面模式下的离开点和上面的上下楼点以及该层实际的楼梯位置。 9. **楼传落点:**格式和设置方法同上。如果设置了此项,则楼传在此层的落点将强制变为该点,无视平面模式下的离开点和上面的上下楼点以及该层实际的楼梯位置。
10. **地面图块:**可以填写任何一个图块ID此项也会作为手册和剧情对话中的帧动画背景。 10. **地面图块:**可以填写任何一个图块ID需要加引号或数字如1是墙6是冰块,此项也会作为手册和剧情对话中的帧动画背景。填写tileset时可直接填写数字不需要带字母X和引号。
11. **色调:**一行四列的数组前三项为小于256的自然数分别表示红、绿、蓝最后一项为0到1的浮点数表示不透明度可以点击“编辑”按钮用调色器调色。 11. **色调:**一行四列的数组前三项为小于256的自然数分别表示红、绿、蓝最后一项为0到1的浮点数表示不透明度可以点击“编辑”按钮用调色器调色。
* 值得一提的是,很多事件也以颜色作为参数,这些都是可以使用调色器调色的。 * 值得一提的是,很多事件也以颜色作为参数,这些都是可以使用调色器调色的。
12. **天气:**一行两列的数组第一项为字符串“rain”、“snow”、“fog”、“cloud”、“sun”第二项为不大于10的正整数分别表示1—10级的雨天雨丝数量和等级正相关、雪天由大小不一的白色实心圆组成详见样板1层雪花的数量和横飘速度和等级正相关、雾天、多云、晴天左上角洒下金色的阳光 12. **天气:**一行两列的数组第一项为字符串“rain”、“snow”、“fog”、“cloud”、“sun”第二项为不大于10的正整数分别表示1—10级的雨天雨丝数量和等级正相关、雪天由大小不一的白色实心圆组成详见样板1层雪花的数量和横飘速度和等级正相关、雾天、多云、晴天左上角洒下金色的阳光
* 色调层在天气层上方、UI层下方如不透明色调会遮盖天气浏览地图看不到色调关于图层的详细说明参见“个性化” * 色调层在天气层上方、UI层下方如不透明色调会遮盖天气浏览地图看不到色调关于图层的详细说明参见“个性化”
13. **背景音乐:**如题,当在游戏中触发楼层切换时(包括读档),如果`flag:__color__、flag:__weather__、flag:__bgm__`没有值,游戏当时的画面色调、天气、背景音乐就会变为楼层属性中的这三个设置项,详见“脚本编辑——切换楼层中”。 13. **背景音乐:**如题,当在游戏中触发楼层切换时(包括读档),如果`flag:__color__、flag:__weather__、flag:__bgm__`没有值,游戏当时的画面色调、天气、背景音乐就会变为楼层属性中的这三个设置项,详见“脚本编辑——切换楼层中”。
* V2.8起,该项允许多选,会随机播放其中一个。 * V2.8起,该项允许多选,会随机播放其中一个。
14. **宝石血瓶效果:**如题,必须填写且必须为非负数。此项的用法为core.status.thisMap.ratio,请参考四种血瓶和三种宝石的捡拾效果。 14. **宝石血瓶效果:**如题,必须填写且必须为正数。此项的用法为`core.status.thisMap.ratio`,请参考四种血瓶和三种宝石的捡拾效果。
* V2.8起手册中的“1防”改为“加防”表示加ratio点防御能减伤多少。 * V2.8起手册中的“1防”改为“加防”表示加ratio点防御能减伤多少。
* 您还可以将其用于其他各种场合作为系数,如血网的伤害、中毒后每步的损血等。 * 您还可以将其用于其他各种场合作为系数,如血网的伤害、中毒后每步的损血等。
15. **楼层贴图:** 15. **楼层贴图:**【V2.8.1起】怪物和npc可以直接绑定4帧大贴图了因此楼层贴图主要用于布景。
* 由于样板提供的图块只有32×32px和32×48px两种尺寸且后者只能画在事件层每个图块最多只能有4帧因此对于一些大图块十分不便如npcs.png中被大卸八块的魔龙和章鱼。 * 由于样板提供的图块只有32×32px和32×48px两种尺寸且后者只能画在事件层每个图块最多只能有4帧因此对于一些多帧大图块十分不便如npcs.png中被大卸八块的魔龙和章鱼。
* 你可以使用“楼层贴图”,该项允许您使用任何尺寸、任何帧数的素材,唯一的缺点是不支持移动跳跃和淡入淡出效果。 * 你可以使用“楼层贴图”,该项允许您使用任何尺寸、任何帧数的素材,唯一的缺点是不支持移动跳跃和淡入淡出效果。
* 点击“编辑”按钮进入事件编辑器,每张图片的写法为(可从入口方块拖出,然后双击预览第一帧的效果): * 点击“编辑”按钮进入事件编辑器,每张图片的写法为(可从入口方块拖出,然后双击预览第一帧的效果):
1. 图片名name如题图片需要放在`project/images`文件夹并注册。 1. 图片名name如题图片需要放在`project/images`文件夹并注册。
@ -269,7 +305,7 @@ V2.8起阻击和捕捉支持九宫格形状由zoneSquare属性指定。如
* 比起常规素材,额外素材最大的好处有几点: * 比起常规素材,额外素材最大的好处有几点:
1. 图片没有数量限制。常规素材的总数量最多只允许不到一万个,而额外素材每张图片上的图块数量最多允许一千个。 1. 图片没有数量限制。常规素材的总数量最多只允许不到一万个,而额外素材每张图片上的图块数量最多允许一千个。
2. 查看和绘制更为方便。常规素材每个图块独占一行,每列为一帧,导致不方便观察,且用多个图块拼图必须逐图块绘制。额外素材都是静止的,所以每个图块只占一格,多个图块可以在准备素材时就直接以相邻的样子绘制在同一张图片上,绘制地图时直接从素材区拖动来批量框选,再在地图区单击成片绘制或拖动平铺。 2. 查看和绘制更为方便。常规素材每个图块独占一行,每列为一帧,导致不方便观察,且用多个图块拼图必须逐图块绘制。额外素材都是静止的,所以每个图块只占一格,多个图块可以在准备素材时就直接以相邻的样子绘制在同一张图片上,绘制地图时直接从素材区拖动来批量框选,再在地图区单击成片绘制或拖动平铺。
3. 批量替换也更为方便。譬如您如果想制作形如“一场大战/天灾过后/多年以后,村庄/城镇化为了一片废墟”的效果,可以预先准备两张甚至更多张相同规格的额外素材图片,然后在适当的时候遍历某个/某些楼层的图块ID将以“X1”开头的图块统一替换为“X2”开头等。发布单机版游戏时您也可以提供多张相同规格的额外素材图片供玩家直接替换。 3. 批量替换也更为方便。譬如您如果想制作形如“一场大战/天灾过后/多年以后,村庄/城镇化为了一片废墟”的效果,可以预先准备两张甚至更多张相同规格的额外素材图片,然后在适当的时候遍历某个/某些楼层的图块ID将以“X1”开头的图块统一替换为“X2”开头等。发布单机版游戏时您也可以提供多张相同规格的额外素材图片供玩家直接替换皮肤风格
5. **使用动画:**`project/animates`文件夹中的文件名(不含后缀,请注意与`animates.png`相区分)。 5. **使用动画:**`project/animates`文件夹中的文件名(不含后缀,请注意与`animates.png`相区分)。
* 要使用动画您可以使用“RM动画导出”工具从RPG Maker XP 1.03及其制作的游戏中导出动画也可以用动画编辑器修改已有的动画或用图片新建。但这些办法都只适用于Windows系统非Windows系统建议直接从我们的官网下载他人的作品取用其中的动画。 * 要使用动画您可以使用“RM动画导出”工具从RPG Maker XP 1.03及其制作的游戏中导出动画也可以用动画编辑器修改已有的动画或用图片新建。但这些办法都只适用于Windows系统非Windows系统建议直接从我们的官网下载他人的作品取用其中的动画。
* 每个动画将其用到的各张图片直接以base64硬编码进同一个animate文件每个动画为一个animate文件。这样做的缺点是如果多个动画使用了相同的图片那么图片会被重复存储优点则是跨作品迁移动画更加方便。 * 每个动画将其用到的各张图片直接以base64硬编码进同一个animate文件每个动画为一个animate文件。这样做的缺点是如果多个动画使用了相同的图片那么图片会被重复存储优点则是跨作品迁移动画更加方便。
@ -306,13 +342,14 @@ V2.8起阻击和捕捉支持九宫格形状由zoneSquare属性指定。如
7. **使用音效:**`project/sounds`文件夹中的文件名(格式要求和写法同上)。 7. **使用音效:**`project/sounds`文件夹中的文件名(格式要求和写法同上)。
* V2.8起音效的播放和动画一样会返回一个ID并且有回调。音效不能像bgm一样只变速不变调而是必须一起变。 * V2.8起音效的播放和动画一样会返回一个ID并且有回调。音效不能像bgm一样只变速不变调而是必须一起变。
* 可以指定ID来提前停止某个音效不指定ID则全部停止但不能像停止动画时一样取消回调。 * 可以指定ID来提前停止某个音效不指定ID则全部停止但不能像停止动画时一样取消回调。
* 对玩家来说音效的音量和bgm是绑定的无法分开调节。此外样板没有背景音效bgs、bgv的默认实现。如有需求请使用并行脚本处理。 * 对玩家来说音效的音量和bgm是绑定的无法分开调节。此外样板没有背景音效bgs、bgv的默认实现。如有需求请使用并行脚本或自我回调处理。
* 音乐和音效在使用多选框注册时都支持试听但此时不支持变速变调您可以看到它们的总时长和已播时长精确到秒从而指定音乐的开播秒数或配合使用“等待n毫秒”事件或并行脚本处理。 * 音乐和音效在使用多选框注册时都支持试听但此时不支持变速变调您可以看到它们的总时长和已播时长精确到秒从而指定音乐的开播秒数或配合使用“等待n毫秒”事件或并行脚本处理。
8. **使用字体:**project\fonts文件夹中的文件名只支持ttf格式不写后缀。不建议给在线游戏版本添加中文字体因为文件真的很大…… 8. **使用字体:**project\fonts文件夹中的文件名只支持ttf格式不写后缀。不建议给在线游戏版本添加中文字体因为文件真的很大...
9. **文件别名:**如前所述,样板所有需要加载的文件名都必须全部是英文或数字。这一项允许你给文件取别名,别名可以使用任何语言的文字。 9. **文件别名:**如前所述,样板所有需要加载的文件名都必须全部是英文或数字。这一项允许你给文件取别名,别名可以使用任何语言的文字。
* V2.8起,此项改由事件编辑器编辑,同时样板新增了大量系统音效,可供灵活配置,务必善用! * V2.8起,此项改由事件编辑器编辑,同时样板新增了大量系统音效,可供灵活配置,务必善用!
10. **装备孔:**见“道具的装备属性”。 10. **装备孔:**见“道具的装备属性”。
11. **标题音乐:**如题,请注意部分浏览器不会在刚打开某个页面时就播放音频,必须用户操作一下才行。 11. **标题音乐:**如题,请注意部分浏览器不会在刚打开某个页面时就播放音频,必须用户操作一下才行。
* V2.8起背景音乐支持“变速不变调”或“变速且变调”,但无法直接用于标题音乐。如有需求,请复写`core.control.showStartAnimate`函数。
12. **主样式:**一些css设置项单击“编辑”按钮可以看到具体含义和用法这里不再赘述横竖屏标题画面背景支持gif动图 12. **主样式:**一些css设置项单击“编辑”按钮可以看到具体含义和用法这里不再赘述横竖屏标题画面背景支持gif动图
13. **游戏名:**标题画面和网页选项卡上显示的名字,可以和官网别的作品重名。 13. **游戏名:**标题画面和网页选项卡上显示的名字,可以和官网别的作品重名。
14. **唯一英文标识符:** **必须修改,且不得和官网别的作品重名**。只能使用字母数字下划线,如果您不确定一个标识符是否已被别的作品使用,请输入`https://h5mota.com/games/xxx`如出现404就说明此名称未被使用。 14. **唯一英文标识符:** **必须修改,且不得和官网别的作品重名**。只能使用字母数字下划线,如果您不确定一个标识符是否已被别的作品使用,请输入`https://h5mota.com/games/xxx`如出现404就说明此名称未被使用。
@ -369,6 +406,8 @@ V2.8起阻击和捕捉支持九宫格形状由zoneSquare属性指定。如
7. **竖状态栏自绘行数:**需要配合系统开关“开启自绘状态栏”使用建议改为4. 7. **竖状态栏自绘行数:**需要配合系统开关“开启自绘状态栏”使用建议改为4.
8. **楼层切换时间:**此项可被玩家更改单位为毫秒必须为0.1秒的0到10倍。 8. **楼层切换时间:**此项可被玩家更改单位为毫秒必须为0.1秒的0到10倍。
如有需求,可以把勇士移速(可被玩家更改)通过“配置表格”追加到这里,并修改`libs\core.js`对上述数值的初始化行为。
### 系统开关 ### 系统开关
这个类型的开关会保存在core.flags中只读请注意和core.status.hero.flags相区分。如需在游戏中修改请使用“设置系统开关”事件。 这个类型的开关会保存在core.flags中只读请注意和core.status.hero.flags相区分。如需在游戏中修改请使用“设置系统开关”事件。
@ -392,6 +431,7 @@ V2.8起阻击和捕捉支持九宫格形状由zoneSquare属性指定。如
8. **负伤:**勾选后,战斗结束时如果勇士的护盾没有完全被打破,则剩余的护盾值会加到其生命上。所以勾选此项后,护盾可以这样“间接”抵消掉仇恨伤害和固伤。 8. **负伤:**勾选后,战斗结束时如果勇士的护盾没有完全被打破,则剩余的护盾值会加到其生命上。所以勾选此项后,护盾可以这样“间接”抵消掉仇恨伤害和固伤。
9. **夹击不超伤害值:**勾选此项后,夹击伤害将封顶至夹击怪的战损。同时被四只怪夹击时,取两个战损中较小的。 9. **夹击不超伤害值:**勾选此项后,夹击伤害将封顶至夹击怪的战损。同时被四只怪夹击时,取两个战损中较小的。
10. **二分临界:**我们知道打败怪物所需的回合数取决于勇士的攻击减去怪物的防御。这个值并非每增大1都能使回合数减少因而有了“临界”的说法即“再至少增加多少攻击力才能减少回合数”。然而当您修改“脚本编辑——战斗伤害信息”函数后攻击力的增加可能反而导致回合数也增加于是临界值计算出错。您可以勾选此开关来修复代价是游戏可能较卡请自行权衡。 10. **二分临界:**我们知道打败怪物所需的回合数取决于勇士的攻击减去怪物的防御。这个值并非每增大1都能使回合数减少因而有了“临界”的说法即“再至少增加多少攻击力才能减少回合数”。然而当您修改“脚本编辑——战斗伤害信息”函数后攻击力的增加可能反而导致回合数也增加于是临界值计算出错。您可以勾选此开关来修复代价是游戏可能较卡请自行权衡。
* 目前样板的临界只有回合数法和二分法被真正采用,而循环法则只是保留了代码。如需启用,请复写`libs\enemys.js`的几个相关函数。
11. **标题开启事件化:**勾选此项后标题画面将改为执行前述的“标题事件”请自行研究V2.8起建议配合“标题事件居中”插件。 11. **标题开启事件化:**勾选此项后标题画面将改为执行前述的“标题事件”请自行研究V2.8起建议配合“标题事件居中”插件。
12. **开启自绘状态栏:**勾选此项后,状态栏将改用“脚本编辑——自绘状态栏”来绘制,同时“脚本编辑——点击状态栏”也将启用,请自行研究。 12. **开启自绘状态栏:**勾选此项后,状态栏将改用“脚本编辑——自绘状态栏”来绘制,同时“脚本编辑——点击状态栏”也将启用,请自行研究。
13. **四个显伤:**略,玩家依然可以在设置菜单中开关之,其中“定点怪显”指的是手册中把受到额外影响而数值不同的同种怪物分开显示。 13. **四个显伤:**略,玩家依然可以在设置菜单中开关之,其中“定点怪显”指的是手册中把受到额外影响而数值不同的同种怪物分开显示。

View File

@ -283,7 +283,7 @@ rand2则是通过js自带的`Math.random()`函数得到的真随机小数经过
V2.8对rand2以及“全局存储”、“弹窗输入”、“选择项”、“确认框”的此问题进行了一定的修复如果录像中出现了多余的随机数记录就会在播放时跳过并在控制台警告如果需要rand2但未记录或记录越界则会现场重新随机生成并补录。在V2.8之前这两种情况都会直接报错而在V2.8中会导致首次播放结果的二次记录不一致请不要惊慌按R键从头再次播放一遍即可。 V2.8对rand2以及“全局存储”、“弹窗输入”、“选择项”、“确认框”的此问题进行了一定的修复如果录像中出现了多余的随机数记录就会在播放时跳过并在控制台警告如果需要rand2但未记录或记录越界则会现场重新随机生成并补录。在V2.8之前这两种情况都会直接报错而在V2.8中会导致首次播放结果的二次记录不一致请不要惊慌按R键从头再次播放一遍即可。
总之,不计入录像的纯观赏性的随机效果(如捡到某道具随机播放一个音效)建议直接用`Math.random()`实现例如V2.8每次上下楼后会在楼层属性的背景音乐中随机播放一个)。 总之,不计入录像的纯观赏性的随机效果(如捡到某道具随机播放一个音效甚至随机指定音调高低,以及样板雨雪效果中的随机)建议直接用`Math.random()`实现例如V2.8每次上下楼后会在楼层属性的背景音乐中随机播放一个)。
## 录像回放(扩展内容,了解即可) ## 录像回放(扩展内容,了解即可)
@ -302,11 +302,11 @@ saveEquip:n 将身上的当前套装保存到第n套快捷套装n从0开始
loadEquip:n 快捷换上之前保存好的第n套套装 loadEquip:n 快捷换上之前保存好的第n套套装
fly:ID 使用楼传飞到某一层如fly:MT10表示飞到主塔10层 fly:ID 使用楼传飞到某一层如fly:MT10表示飞到主塔10层
choices:none 确认框/选择项界面超时(作者未设置超时时间则此项视为缺失) choices:none 确认框/选择项界面超时(作者未设置超时时间则此项视为缺失)
choices:n 确认框/选择项界面选择第n项选择项中n从0开始确认框界面0表示确定1表示取消此项越界将报错。此项缺失的话确认框将选择作者的默认项初始光标位置选择项将弹窗请求补选后台录像验证中则选第一项)。 choices:n 确认框/选择项界面选择第n项选择项中n从0开始确认框界面0表示确定1表示取消此项越界将报错。此项缺失的话确认框将选择作者指定的默认项(初始光标位置),选择项将弹窗请求补选(后台录像验证中则选默认项)。
shop:ID 打开某个全局商店如shop:itemShop表示打开道具商店。因此连载塔千万不要中途修改商店ID shop:ID 打开某个全局商店如shop:itemShop表示打开道具商店。因此连载塔千万不要中途修改商店ID
turn 单击勇士Z键转身 turn 单击勇士Z键转身
turn:dir 勇士转向某个方向dir可以为up down left right注意此项在正常游戏中无法随意触发。 turn:dir 勇士转向某个方向dir可以为up down left right注意此项在正常游戏中无法随意触发。
getNext 轻按获得身边道具,优先获得面前的,身边如果没有道具则此项会导致报错 getNext 轻按获得身边道具,优先获得面前的,身边如果没有道具则此项会被跳过。
input:none “等待用户操作事件”中超时(作者未设置超时时间则此项会导致报错) input:none “等待用户操作事件”中超时(作者未设置超时时间则此项会导致报错)
input:xxx 可能表示“等待用户操作事件”的一个操作也可能表示一个“接受用户输入数字”的输入后者的情况下xxx为输入的数字。此项缺失的话前者将直接报错后者将用0代替 input:xxx 可能表示“等待用户操作事件”的一个操作也可能表示一个“接受用户输入数字”的输入后者的情况下xxx为输入的数字。此项缺失的话前者将直接报错后者将用0代替
input2:xxx 可能表示“读取全局存储core.getGlobal”读取到的值也可能表示一个“接受用户输入文本”的输入两种情况下xxx都为base64编码。此项缺失的话前者将重新现场读取后者将用空字符串代替 input2:xxx 可能表示“读取全局存储core.getGlobal”读取到的值也可能表示一个“接受用户输入文本”的输入两种情况下xxx都为base64编码。此项缺失的话前者将重新现场读取后者将用空字符串代替

View File

@ -34,6 +34,10 @@ data为整个指令对象x和y为当前点坐标prefix为独立开关的
您可以自行使用`core.registerEvent`注册一个新的事件。如果需要把新指令做成像已有的指令一样有类别、名称、取色器、勾选框、下拉框、输入框等部件,请查阅[修改编辑器](editor)。 您可以自行使用`core.registerEvent`注册一个新的事件。如果需要把新指令做成像已有的指令一样有类别、名称、取色器、勾选框、下拉框、输入框等部件,请查阅[修改编辑器](editor)。
V2.8.1起下拉框中没有的项都可以通过在json区输入并点击“解析”按钮来临时追加刷新网页后失效如需永久追加请查阅[修改编辑器](editor)。
与此同时,显示文章、显示选择项、显示确认框都支持双击预览,预览前请先摆一个“设置剧情文本的属性”设置您预览时需要的属性然后双击它。
## 显示文字类(黄色) ## 显示文字类(黄色)
![image](img/images_texty.jpg) ![image](img/images_texty.jpg)
@ -78,6 +82,16 @@ data为整个指令对象x和y为当前点坐标prefix为独立开关的
4. **绘制的宽高:**立绘被伸缩后在视野中实际显示的宽高,必须同时填写,不填则不伸缩。 4. **绘制的宽高:**立绘被伸缩后在视野中实际显示的宽高,必须同时填写,不填则不伸缩。
5. **裁剪坐标和宽高:**必须同时填写,为从原图中裁剪区域的左上角坐标和区域宽高,不填则取全图。 5. **裁剪坐标和宽高:**必须同时填写,为从原图中裁剪区域的左上角坐标和区域宽高,不填则取全图。
6. **不透明度和旋转角度:**可选前者填一个不大于1的正数请自行双击预览。 6. **不透明度和旋转角度:**可选前者填一个不大于1的正数请自行双击预览。
6. **左上角坐标、限宽:**V2.8.1新增,该项不能和上面的`\b[对话框效果]`同时使用。
* 使用此项后本指令将变为正常的json格式而不是字符串格式。
* “左上角坐标”指视野中的相对像素坐标,“限宽”必须和左上角坐标一起指定,不能单独指定。
* “限宽”的下限在没有图像的情况下大约为64px在有图像的情况下大约为128px可以双击预览来确认到底能否正常显示。
* 一种推荐的用法是在指定下面的非0编号后使用然后“显示选择项/确认框”这样就和RPG Maker的行为一致了。
* 而且还能充分利用两侧的空间讲清楚每个子选项,这是在“选择项的提示文字无法随光标位置而变化”的现状下的一种妥协做法。
7. **编号:**V2.8.1新增,可以同时显示多个不同编号的对话框,常用来表现多名角色的嘈杂对话。
* 非0编号的对话框将不会自动消失甚至勇士恢复自由行动后也是可以被同编号的对话框覆盖或手动清除。
* 自由行动时,该项常用来做一些常驻提示,如技能的开关状态、毒衰咒状态、当前剧情任务进度等。
* 您甚至可以像图片一样去移动对话框如和一个npc一起移动支持四种变速效果立绘也会被一起移动。
立绘是画在UI层的下一个指令执行前就会擦除。如需持续显示请使用“显示图片”指令另外立绘会被“图像”遮挡。 立绘是画在UI层的下一个指令执行前就会擦除。如需持续显示请使用“显示图片”指令另外立绘会被“图像”遮挡。
@ -189,12 +203,14 @@ V2.7.2起,每个子选项还可以指定“启用条件”,当出现条件
V2.8起显示选择项在录像回放时如果录像中没有记录该选哪一项或者明明此事件未设置超时时间但录像中记录了超时就会弹窗询问玩家是否补选一项此时玩家可以输入某项的序号从0起来修复录像当然也可以在弹窗时点取消来放弃修复。 V2.8起显示选择项在录像回放时如果录像中没有记录该选哪一项或者明明此事件未设置超时时间但录像中记录了超时就会弹窗询问玩家是否补选一项此时玩家可以输入某项的序号从0起来修复录像当然也可以在弹窗时点取消来放弃修复。
提交成绩后,站点后端的录像验证时如果发生了同样的问题,则因为无法询问玩家,会直接选择第一项(可以在`core.events._action_choices()`函数中自行配置上述修复策略,如选择最后一项)。 提交成绩后,站点后端的录像验证时如果发生了同样的问题,则因为无法询问玩家,会选择默认项(即初始光标位置,下面会提到)。
如果录像回放中尝试选择不满足“启用条件”的灰项V2.8起会直接报错。这种处理方式比上面的“弹窗请求补选”更为严厉,如您在造塔测试时遇到了这种问题,可以先“回退到上一个节点”,然后在控制台输入`core.status.replay.toReplay`查看接下来该播放的内容可以按N键单步播放并在这个一维数组中删除掉那个非法的选项值。 如果录像回放中尝试选择不满足“启用条件”的灰项V2.8起会直接报错。这种处理方式比上面的“弹窗请求补选”更为严厉,如您在造塔测试时遇到了这种问题,可以先“回退到上一个节点”,然后在控制台输入`core.status.replay.toReplay`查看接下来该播放的内容可以按N键单步播放并在这个一维数组中删除掉那个非法的选项值。
而如果录像中记录了多余的确认框或选择项(`choices:n`V2.8起就会在播放时跳过并警告。 而如果录像中记录了多余的确认框或选择项(`choices:n`V2.8起就会在播放时跳过并警告。
V2.8.1起“显示选择项”支持限宽和手动指定默认项了注意最好指定一个100%出现且启用的项),配合“带编号的显示文章”效果更佳哦!
![image](img/quickshops.jpg) ![image](img/quickshops.jpg)
在“全塔属性——全局商店”中可以编辑各个商店,商店一共有三种: 在“全塔属性——全局商店”中可以编辑各个商店,商店一共有三种:
@ -229,6 +245,8 @@ V2.8起,显示选择项在录像回放时如果录像中没有记录该选哪
同理,公共事件(包括公共事件商店)和自动事件本质上是“一次性”的条件为`false`的后置条件循环,因此使用这两个指令都能跳出它们。 同理,公共事件(包括公共事件商店)和自动事件本质上是“一次性”的条件为`false`的后置条件循环,因此使用这两个指令都能跳出它们。
另外,全局商店在录像中的记录方式是`"shop:id"`紧接着显示选择项的记录,也就是说“离开”项的序号可能会不固定(尤其是在连载塔中),请稍加留心。
## 数据相关类(绿色) ## 数据相关类(绿色)
![image](img/control_itemsg.jpg) ![image](img/control_itemsg.jpg)
@ -246,14 +264,14 @@ V2.8起,显示选择项在录像回放时如果录像中没有记录该选哪
* 如果需要连续使用本指令建议除最后一个外都勾选“不刷新状态栏”以降低刷新状态栏的性能损耗并且避免意外触发自动事件、生命和魔力溢出甚至死亡生命小于等于0 * 如果需要连续使用本指令建议除最后一个外都勾选“不刷新状态栏”以降低刷新状态栏的性能损耗并且避免意外触发自动事件、生命和魔力溢出甚至死亡生命小于等于0
2. **设置怪物属性:**可以设置怪物的任何一项属性并计入存档。 2. **设置怪物属性:**可以设置怪物的任何一项属性并计入存档。
* 怪物ID在blockly块中也可以填中文要求没有重复有的话请在事件编辑器顶部关闭“中文替换”功能需要设置的属性项在下拉框中选取。通过配置表格自行新增的属性在下拉框里没有但可以写在json区再单击变黄的“解析”按钮或修改`_server\MotaAction.g4`文件最后的部分去追加。 * 怪物ID在blockly块中也可以填中文要求没有重复有的话请在事件编辑器顶部关闭“中文替换”功能需要设置的属性项在下拉框中选取。通过配置表格自行新增的属性在下拉框里没有但可以写在json区再单击变黄的“解析”按钮或修改`_server\MotaAction.g4`文件最后的部分去追加。
* 本指令对应`core.setEnemy(id, name, value, operator, prefix)`函数,完全等价。 * 本指令对应`core.setEnemy(id, name, value, operator, prefix)`函数,完全等价。注意value会被eval因此字符串需要额外套一层引号
* 最后的“值”和“数值操作”的右块写法一致,注意设置怪物名称需要加引号,设置逻辑值(是否)需要填写`true`或`false`,设置“特殊属性”需要填数组且只支持结果值。 * 最后的“值”和“数值操作”的右块写法一致,注意设置怪物名称需要加引号,设置逻辑值(是否)需要填写`true`或`false`,设置“特殊属性”需要填数组且只支持结果值。
* V2.8起,怪物支持“行走图朝向”功能,您在四个朝向的怪物中任意设置一个的属性都会强制同步到其他三个。 * V2.8起,怪物支持“行走图朝向”功能,您在四个朝向的怪物中任意设置一个的属性都会强制同步到其他三个。
3. **定点设置/移动或重置怪物属性:**V2.8新增,该指令主要是为了实现一些诸如“发动技能后指定某个点,该点怪物被削弱/增强,并计入存档”的功能。 3. **定点设置/移动或重置怪物属性:**V2.8新增,该指令主要是为了实现一些诸如“发动技能后指定某个点,该点怪物被削弱/增强,并计入存档”的功能。
* 该指令支持设置的属性有“名称、生命、攻击、防御、金币、经验、加点”,设置后,该属性会在“脚本编辑——怪物真实属性”中最先被使用,然后可以被光环等影响。 * 该指令支持设置的属性有“名称、生命、攻击、防御、金币、经验、加点”,设置后,该属性会在“脚本编辑——怪物真实属性”中最先被使用,然后可以被光环等影响。
* 使用时,需要指定楼层和坐标,楼层不写则取当前层,坐标不填则取当前点,支持双击从地图选点,(除移动外)支持选多个点。 * 使用时,需要指定楼层和坐标,楼层不写则取当前层,坐标不填则取当前点,支持双击从地图选点,(除移动外)支持选多个点。
* “移动某点怪物属性”支持写增量dx、dy如写[4,-2]就会让某个点的怪物属性移动到向右4格、向上2格的位置。 * “移动某点怪物属性”支持写增量dx、dy如写[4,-2]就会让某个点的怪物属性移动到向右4格、向上2格的位置。
* 发生战斗后,该点会被自动重置定点属性。但是怪物移动跳跃时(如阻击)定点属性并不会一起移动,因此才提供了移动该属性的指令 * 发生战斗后,该点会被自动重置定点属性。怪物移动跳跃时(如阻击)定点属性会自动一起被移动,您无需手动移动
* 该组指令实际调用的API为 * 该组指令实际调用的API为
``` ```
core.setEnemyOnPoint(x, y, floorId, ...) core.setEnemyOnPoint(x, y, floorId, ...)
@ -400,11 +418,11 @@ V2.8起,显示选择项在录像回放时如果录像中没有记录该选哪
* 这对指令可以填写新图块的ID也可以填写数字如17是空气墙201起是怪物 * 这对指令可以填写新图块的ID也可以填写数字如17是空气墙201起是怪物
* 如需让绑定了“行走图朝向”的图块转向也可以直接使用“事件转向”指令和勇士一样支持7种转法从而避免一个个手写行走图ID的麻烦。 * 如需让绑定了“行走图朝向”的图块转向也可以直接使用“事件转向”指令和勇士一样支持7种转法从而避免一个个手写行走图ID的麻烦。
* 转变图块和图层块对应`core.setBlock(number, x, y, floorId)`和`core.maps._triggerBgFgMap(type, name, loc, floorId, callback)` * 转变图块和图层块对应`core.setBlock(number, x, y, floorId)`和`core.maps._triggerBgFgMap(type, name, loc, floorId, callback)`
5. **设置图块不透明度和特效:**如题V2.8新增。前者支持渐变效果,可以用来制作亡灵状态的角色或配合楼层贴图实现大型怪物。 5. **设置图块不透明度和特效:**如题V2.8新增。前者支持渐变效果,可以用来制作亡灵状态的角色或配合楼层贴图实现大型多帧怪物。
6. **显隐贴图:**这个指令可以用来显隐之前在“楼层属性”中介绍的楼层贴图。 6. **显隐贴图:**这个指令可以用来显隐之前在“楼层属性”中介绍的楼层贴图。
* 显隐贴图不支持淡入淡出坐标为贴图左上角的【像素坐标】因此不支持地图选点楼层ID不填则取当前层。实际执行`core.maps._triggerFloorImage(type, loc, floorId, callback)` * 显隐贴图不支持淡入淡出坐标为贴图左上角的【像素坐标】因此不支持地图选点楼层ID不填则取当前层。实际执行`core.maps._triggerFloorImage(type, loc, floorId, callback)`
7. **移动和跳跃事件:**这两个指令可以将地图一点的图块转移到另一点。 7. **移动和跳跃事件:**这两个指令可以将地图一点的图块转移到另一点。
* 首先明确一点,这两个指令转移的【仅仅是图块】。起点的七彩事件不会被一同转移,终点的七彩事件也不会被覆盖。 * 首先明确一点,这两个指令转移的【仅仅是图块】。起点的七彩事件不会被一同转移(但不消失的情况下定点属性会一同转移),终点的七彩事件也不会被覆盖。
* 从游戏性上讲,最终的效果是起点被“隐藏事件+同时删除”,勾选“不消失”时终点被“转变图块+显示事件”(终点原来的图块被覆盖)。 * 从游戏性上讲,最终的效果是起点被“隐藏事件+同时删除”,勾选“不消失”时终点被“转变图块+显示事件”(终点原来的图块被覆盖)。
* 比如,阻击怪是“移动后不消失”,捕捉怪是“移动后消失”,支援怪是“跳跃后消失”。 * 比如,阻击怪是“移动后不消失”,捕捉怪是“移动后消失”,支援怪是“跳跃后消失”。
* 这两个指令一次只能转移一个图块,双击从地图选点选择的是移动的起点和跳跃的终点(跳跃的起点请右击选取)。 * 这两个指令一次只能转移一个图块,双击从地图选点选择的是移动的起点和跳跃的终点(跳跃的起点请右击选取)。
@ -414,6 +432,7 @@ V2.8起,显示选择项在录像回放时如果录像中没有记录该选哪
* 和“跳跃勇士”一样,“跳跃事件”默认也没有音效,可以自己搭配。 * 和“跳跃勇士”一样,“跳跃事件”默认也没有音效,可以自己搭配。
* V2.7.3起跳跃的目标坐标支持写增量dx、dy如写[4,-2]就会让某个图块跳到其原位置向右4格向上2格的位置。 * V2.7.3起跳跃的目标坐标支持写增量dx、dy如写[4,-2]就会让某个图块跳到其原位置向右4格向上2格的位置。
* 移动和跳跃实际对应`core.moveBlock(x, y, steps, time, keep, callback)`和`core.jumpBlock(sx, sy, ex, ey, time, keep, callback)`函数。 * 移动和跳跃实际对应`core.moveBlock(x, y, steps, time, keep, callback)`和`core.jumpBlock(sx, sy, ex, ey, time, keep, callback)`函数。
* V2.8起,这两个函数在“不消失”的情况下,会将起点处的定点怪物数据也一并移动到终点,这对阻击怪来说是个福音。
* V2.8起“移动事件”指令支持斜向移动行走图仍取左右、中途变速速度不得小于16、中途转向步数填0“后退”指令如果用在开头则必须是绑定了“行走图朝向”的图块如果用在中途则会根据上一步移动/转向的方向后退(注意这一点和勇士不同,勇士是不可能斜向后退的)。 * V2.8起“移动事件”指令支持斜向移动行走图仍取左右、中途变速速度不得小于16、中途转向步数填0“后退”指令如果用在开头则必须是绑定了“行走图朝向”的图块如果用在中途则会根据上一步移动/转向的方向后退(注意这一点和勇士不同,勇士是不可能斜向后退的)。
* “不等待执行完毕”的用法如前,但几个图块再加上勇士以各异的速度和总步数移动时安排起来很麻烦,需要用到下述的“等待三姐妹”。 * “不等待执行完毕”的用法如前,但几个图块再加上勇士以各异的速度和总步数移动时安排起来很麻烦,需要用到下述的“等待三姐妹”。
@ -430,7 +449,7 @@ V2.8起,显示选择项在录像回放时如果录像中没有记录该选哪
* 类似地,如果您在一个异步事件执行完毕之前就结束了整个事件流,让勇士恢复行动,那么可能这些异步事件还没来得及在游戏性方面生效,导致接下来会发生的事取决于玩家操作的时机和勇士的移速。 * 类似地,如果您在一个异步事件执行完毕之前就结束了整个事件流,让勇士恢复行动,那么可能这些异步事件还没来得及在游戏性方面生效,导致接下来会发生的事取决于玩家操作的时机和勇士的移速。
* 考虑到录像系统,在录像回放时很多耗时的东西和所有需要用户响应的东西会被跳过,勇士的移速又可以很快(倍速播放),导致回放结果和原游戏不一致。 * 考虑到录像系统,在录像回放时很多耗时的东西和所有需要用户响应的东西会被跳过,勇士的移速又可以很快(倍速播放),导致回放结果和原游戏不一致。
* 总之,当您希望确保一些异步事件完全生效后再开始执行新的指令或结束事件流,“等待所有异步事件执行完毕”就是您的不二之选了,事件编辑器也会在发现缺少本指令时弹窗警告。 * 总之,当您希望确保一些异步事件完全生效后再开始执行新的指令或结束事件流,“等待所有异步事件执行完毕”就是您的不二之选了,事件编辑器也会在发现缺少本指令时弹窗警告。
* “不等待执行完毕”的动画和V2.8中“等待播放完毕”的音效不会被本指令视为异步事件,所以也不会对它们进行等待,务请注意 * 动画和V2.8的阻塞音效默认会被等待V2.8.1提供了两个勾选框允许您不等待它们
3. **等待用户操作并获得键鼠/触屏信息:**前面提到三种QTE指令这是最后一种。 3. **等待用户操作并获得键鼠/触屏信息:**前面提到三种QTE指令这是最后一种。
* 之前提到的“确认框”和“选择项”可以复现RPG Maker的回合制战斗但没法做出更复杂的交互界面比如技能/天赋树,以及样板的道具商店,这就需要用到本指令了。 * 之前提到的“确认框”和“选择项”可以复现RPG Maker的回合制战斗但没法做出更复杂的交互界面比如技能/天赋树,以及样板的道具商店,这就需要用到本指令了。
* 本指令会阻塞事件的执行直到玩家按下键盘上的某个键滚轮视为PageUp/PageDown键、或点击【视野】中的某个点、或经过了超时毫秒数不设置则不限时 * 本指令会阻塞事件的执行直到玩家按下键盘上的某个键滚轮视为PageUp/PageDown键、或点击【视野】中的某个点、或经过了超时毫秒数不设置则不限时
@ -546,7 +565,6 @@ core.insertAction({"type": "changeFloor", "floorId": "MT" + core.rand2(20)})
2. **显示动画:**如题,可以双击选文件并预览(预览的坐标锁定为视野中心)和试听/修改音效。 2. **显示动画:**如题,可以双击选文件并预览(预览的坐标锁定为视野中心)和试听/修改音效。
* 如需从地图选点请右击指令块,也可用另一个指令让动画跟随勇士移动。 * 如需从地图选点请右击指令块,也可用另一个指令让动画跟随勇士移动。
* 坐标不写则取当前点如果勾选“相对窗口坐标”则坐标应填写为0—12或0—14表示视野中的相对坐标如13×13样板填两个6表示视野中心 * 坐标不写则取当前点如果勾选“相对窗口坐标”则坐标应填写为0—12或0—14表示视野中的相对坐标如13×13样板填两个6表示视野中心
* 另外即使勾选了“不等待执行完毕”此指令以及V2.8起“等待播放完毕”的音效)也不会被视为通常意义上的异步事件,换言之没有其他异步事件的风险(当然,也就不会被“等待所有异步事件执行完毕”所等待)。
* 如果不勾选“不等待执行完毕”,则等待的实际时长只取决于动画,和音效无关。 * 如果不勾选“不等待执行完毕”,则等待的实际时长只取决于动画,和音效无关。
* 实际调用`core.drawAnimate(name, x, y, alignWindow, callback)`和`core.drawHeroAnimate(name, callback)` * 实际调用`core.drawAnimate(name, x, y, alignWindow, callback)`和`core.drawHeroAnimate(name, callback)`
3. **设置视角:**设置视角支持双击从地图选点,不填坐标则重置视角。动画时间指移动的总时间,支持四种变速移动。 3. **设置视角:**设置视角支持双击从地图选点,不填坐标则重置视角。动画时间指移动的总时间,支持四种变速移动。
@ -554,6 +572,7 @@ core.insertAction({"type": "changeFloor", "floorId": "MT" + core.rand2(20)})
* V2.7.3起,坐标支持写增量,如[4,-2]表示视角直线移动到向右4格、向上2格的位置。 * V2.7.3起,坐标支持写增量,如[4,-2]表示视角直线移动到向右4格、向上2格的位置。
* 请注意,勇士重绘时(`core.drawHero()`函数视角也会随之重置。所以视角变化后勇士的坐标、朝向、显隐、行走图事件和API都提供了不重绘参数和跟随者情况暂时都不要动。 * 请注意,勇士重绘时(`core.drawHero()`函数视角也会随之重置。所以视角变化后勇士的坐标、朝向、显隐、行走图事件和API都提供了不重绘参数和跟随者情况暂时都不要动。
* 实际调用`core.setViewport(x, y)`和`core.moveViewport(x, y, moveMode, time, callback)`其中前者的自变量为【像素坐标】且不必为32的倍数必要时可作为原生js使用来实现特殊的演出。 * 实际调用`core.setViewport(x, y)`和`core.moveViewport(x, y, moveMode, time, callback)`其中前者的自变量为【像素坐标】且不必为32的倍数必要时可作为原生js使用来实现特殊的演出。
* V2.8.1起,支持暂时锁定视角,视角锁定期间,只有上下楼后才会将视角重置到勇士身上(但依然保持锁定)。
4. **显隐状态栏:**如题,如果隐藏状态栏期间勇士需要恢复行动,则建议不隐藏竖屏工具栏以方便手机玩家。 4. **显隐状态栏:**如题,如果隐藏状态栏期间勇士需要恢复行动,则建议不隐藏竖屏工具栏以方便手机玩家。
* 实际调用`core.showStatusBar()`和`core.hideStatusBar(showToolbox)` * 实际调用`core.showStatusBar()`和`core.hideStatusBar(showToolbox)`
5. **显隐勇士:**如题,动画时间为淡入淡出时间,异步勾选框用法如前。 5. **显隐勇士:**如题,动画时间为淡入淡出时间,异步勾选框用法如前。
@ -568,21 +587,22 @@ core.insertAction({"type": "changeFloor", "floorId": "MT" + core.rand2(20)})
* 当在游戏中触发楼层切换时(包括读档),如果`flag:__color__、flag:__weather__、flag:__bgm__`这三个值块没有值,游戏当时的画面色调、天气、背景音乐就会变为楼层属性中的这三个设置项。 * 当在游戏中触发楼层切换时(包括读档),如果`flag:__color__、flag:__weather__、flag:__bgm__`这三个值块没有值,游戏当时的画面色调、天气、背景音乐就会变为楼层属性中的这三个设置项。
* 以上几个指令都提供了“持续到下个本事件”勾选框,勾选后,本次设置的值将会计入这三个值块。它们的拦截行为在“脚本编辑——切换楼层中”。 * 以上几个指令都提供了“持续到下个本事件”勾选框,勾选后,本次设置的值将会计入这三个值块。它们的拦截行为在“脚本编辑——切换楼层中”。
* 若不勾选,或恢复画面色调、设置天气为无(晴),就会清除对应的值块。您也可以随时对这三个值块进行手动干预。 * 若不勾选,或恢复画面色调、设置天气为无(晴),就会清除对应的值块。您也可以随时对这三个值块进行手动干预。
* V2.8.1起支持由作者注册新的自定义天气新天气在下拉框中默认未提供可以手动填写在json区再点击“解析”按钮。
11. **暂停和恢复背景音乐:**如题,暂停时会记录暂停在了第几秒,恢复时可以选择从这个秒数继续或从头重播。 11. **暂停和恢复背景音乐:**如题,暂停时会记录暂停在了第几秒,恢复时可以选择从这个秒数继续或从头重播。
12. **预加载背景音乐和释放其缓存:**在线游戏使用,前者的原理是静音播放。 12. **预加载背景音乐和释放其缓存:**在线游戏使用,前者的原理是静音播放。
* 最多同时缓存8首背景音乐由`libs/core.js`控制),会自动释放最久未使用的,但您也可以手动释放。 * 最多同时缓存8首背景音乐由`libs/core.js`控制),会自动释放最久未使用的,但您也可以手动释放。
13. **播放音效和停止所有音效:**如题开播一个音效的同时可以停止其他的。V2.8播放系统音效可以从下拉框选取,其他音效也支持使用别名。 13. **播放音效和停止所有音效:**如题开播一个音效的同时可以停止其他的。V2.8播放系统音效可以从下拉框选取,其他音效也支持使用别名。
* V2.8起播放音效支持同时“变调且变速”100表示正常速度和音调可以填30到300之间的值。 * V2.8起播放音效支持“等待播放完毕”支持同时“变调且变速”。100表示正常速度和音调可以填30到300之间的值。
* V2.8起音效支持“等待播放完毕”但它仍然不算异步事件所以可以被Ctrl跳过不会被“等待所有异步事件执行完毕”所等待。
14. **设置音量:**只对背景音乐有效音量为小于等于100的自然数玩家设置值其实被开了平方渐变时间如题。 14. **设置音量:**只对背景音乐有效音量为小于等于100的自然数玩家设置值其实被开了平方渐变时间如题。
15. **设置背景音乐播放速度和音调:**V2.8新增需要填30到300之间的值。100表示正常速度和音调可以只改变速度RPG Maker做不到哦也可以同时改变速度和音调。 15. **设置背景音乐播放速度和音调:**V2.8新增需要填30到300之间的值。100表示正常速度和音调可以只改变速度RPG Maker做不到哦也可以同时改变速度和音调。
* 该项的效果不会进存档,必要时您可以配合使用“禁止存档”指令。
16. **呼出怪物手册和SL界面** 16. **呼出怪物手册和SL界面**
* 呼出手册只在勇士持有手册时生效,关闭手册后事件继续。 * 呼出手册只在勇士持有手册时生效,关闭手册后事件继续。
* 呼出存档界面最多只能存一个档然后事件继续(读档后事件现场会恢复)。 * 呼出存档界面最多只能存一个档然后事件继续(读档后事件现场会恢复)。
* 呼出读档界面如果不读档则事件继续,录像回放中这三条指令都被忽略。 * 呼出读档界面如果不读档则事件继续,录像回放中这三条指令都被忽略。
17. **自动存档:**读档后也会恢复事件现场,录像回放中会照常存档。 17. **自动存档:**读档后也会恢复事件现场,录像回放中会照常存档。
* 如不勾选“不提示”则会`core.drawTip(“已自动存档”)`(即使在下面禁止的情况下!),此指令一般用于选择项/确认框之前。 * 如不勾选“不提示”则会`core.drawTip(“已自动存档”)`(即使在下面禁止的情况下!),此指令一般用于选择项/确认框之前。
18. **是否禁止存档:**该项允许暂时禁止玩家存档(包括任何自动存档不包括上面的呼出存档界面从而做出RPG中常见的“迷宫中只有特定位置可以存档或者必须消耗道具进行存档”的效果。 18. **是否禁止存档:**该项允许暂时禁止玩家存档(包括撞怪撞门的自动存档,不包括上面的呼出存档界面和事件中自动存档的指令从而做出RPG中常见的“迷宫中只有特定位置可以存档或者必须消耗道具进行存档”的效果。
## UI绘制类瞬间 ## UI绘制类瞬间

View File

@ -10,30 +10,31 @@
- 其他电脑则需安装[python - 其他电脑则需安装[python
3.9.6](https://www.python.org/downloads/)或更高版本能运行根目录的server.py即可Windows也可以这样做 3.9.6](https://www.python.org/downloads/)或更高版本能运行根目录的server.py即可Windows也可以这样做
- 安卓手机需要安装[HTML5安卓造塔器](http://h5mota.com/games/_client/H5motaMaker.apk)推荐搭配ES文件浏览器。 - 安卓手机需要安装[HTML5安卓造塔器](http://h5mota.com/games/_client/H5motaMaker.apk)推荐搭配ES文件浏览器。
2. [chrome浏览器](http://google.cn/chrome):其他浏览器可能导致本地服务闪退。 2. [谷歌chrome浏览器](http://google.cn/chrome)或win10自带的新版Edge浏览器:其他浏览器可能导致本地服务闪退。
3. (强烈推荐)[VScode](http://code.visualstudio.com/download)最适合HTML5项目的文本编辑器能进行跨文件的正则搜索和替换也能完整发挥根目录的runtime.d.ts文件的作用。 3. (强烈推荐)[VScode](http://code.visualstudio.com/download)最适合HTML5项目的文本编辑器能进行跨文件的正则搜索和替换也能完整发挥根目录的runtime.d.ts文件的作用。
只要满足了上述条件,你就可以开始做自己的塔啦! 只要满足了上述条件,你就可以开始做自己的塔啦!
## 启动HTTP服务 ## 启动HTTP服务
与编辑器闭源的RPG Maker MV不同本样板对文件的绝大部分修改是通过网页编辑器经由本地HTTP服务完成的这样做也有助于编辑器跨平台并最大限度地复用运行时代码还可以让玩家在在线游戏时查看游戏工程。 与编辑器闭源的RPG Maker MV/MZ不同本样板对文件的绝大部分修改是通过网页编辑器经由本地HTTP服务完成的这样做也有助于编辑器跨平台并最大限度地复用运行时代码还可以让玩家在在线游戏时查看游戏工程。
在根目录下有一个“启动服务.exe”运行之。非Windows电脑则需使用命令行运行server.py安卓手机则使用造塔器 在根目录下有一个“启动服务.exe”运行之。非Windows电脑则需使用命令行运行`server.py`,安卓手机则使用造塔器)
!> 使用python启动服务的话整个塔的绝对路径必须是全英文
![image](img/server.jpg) ![image](img/server.jpg)
* 启动游戏:打开[http://127.0.0.1:1055/index.html](http://127.0.0.1:1055/index.html)同时开启多个启动服务则1056、1057顺延下同。你能在里面看到现在游戏的效果。 * 启动游戏:打开[http://127.0.0.1:1055/index.html](http://127.0.0.1:1055/index.html)同时开启多个启动服务则1056、1057顺延下同。你能在里面看到现在游戏的效果。
* 地图编辑器:打开[http://127.0.0.1:1055/editor.html](http://127.0.0.1:1055/editor.html)竖屏则为editor-mobile.html这是您整个制作流程的核心页面 * 启动编辑器:打开[http://127.0.0.1:1055/editor.html](http://127.0.0.1:1055/editor.html)竖屏则为editor-mobile.html这是您整个制作流程的核心页面
以下为Windows专用的一些辅助工具位于“辅助工具”文件夹由C#编写: 以下为Windows专用的一些辅助工具位于“辅助工具”文件夹由C#编写:
* 便捷PS工具能方便地替换和新增32*32、32*48素材。 * 便捷PS工具能方便地替换和新增32×32、32×48素材。
* 地图生成器识别RPG Maker魔塔的地图截图生成HTML5魔塔的地图数据。 * 地图生成器识别RPG Maker魔塔的地图截图生成HTML5魔塔的地图数据。
* 怪物数据导出从RPG Maker XP 1.03游戏导出怪物数据用于HTML5魔塔或使用excel查看。 * 怪物数据导出从RPG Maker XP 1.03游戏导出怪物数据用于HTML5魔塔或使用Excel查看。
* RM动画导出从RPG Maker XP 1.03游戏导出动画用于HTML5魔塔。 * RM动画导出从RPG Maker XP 1.03游戏导出动画用于HTML5魔塔。
* JS代码压缩对js代码和音像素材背景音乐除外进行压缩从而减小文件体积加快在线游戏的加载。 * JS代码压缩对js代码限es5和音像素材背景音乐除外进行压缩从而减小文件体积加快在线游戏的加载。一般无需手动运行发布后我们的服务器会处理的。
* 额外素材合并:将`project\tilesets`文件夹中的图片中用到的图块重新拼成更少的图片,并更新对应的地图矩阵。
* 动画编辑器:编辑`project\animates`文件夹中的动画文件,或利用图片制作全新的动画。 * 动画编辑器:编辑`project\animates`文件夹中的动画文件,或利用图片制作全新的动画。
* 伤害和临界值计算器、帮助文档:如题,后者会打开本文档。 * 伤害和临界值计算器、帮助文档:如题,后者会打开本文档。
@ -59,15 +60,15 @@ V2.8中,“额外素材合并”不再在本地进行而是改在作品发布
5. **ESC、Delete**取消选中并保存、删除选中点的图块和事件。(需要保存时“保存地图”按钮也会变色提示) 5. **ESC、Delete**取消选中并保存、删除选中点的图块和事件。(需要保存时“保存地图”按钮也会变色提示)
6. **地图上单击、双击、右击:**地图选点、选中该点的素材并自动定位到素材区、弹出菜单(您可以进行出生点、机关门、上下楼的快速绑定等操作) 6. **地图上单击、双击、右击:**地图选点、选中该点的素材并自动定位到素材区、弹出菜单(您可以进行出生点、机关门、上下楼的快速绑定等操作)
7. **地图上左键或右键拖动:**交换两个点的图块和事件、框选一些点供Ctrl+X/C/V剪切复制。 7. **地图上左键或右键拖动:**交换两个点的图块和事件、框选一些点供Ctrl+X/C/V剪切复制。
8. **素材区最右侧的tileset区域左键拖动**框选一批素材,供在地图区单击批量绘制或左键拖动平铺。 8. **素材区最右侧的tileset区域左键拖动**框选一批素材,供在地图区单击批量绘制或左键拖动平铺。(右击或触屏点击则是手动输入所需的宽高)
9. **事件编辑器中Ctrl+S/Z/X/C/V/Y、右击、双击等**执行相应操作,如双击可以进入多行编辑或UI绘制预览 9. **事件编辑器中Ctrl+S/Z/X/C/V/Y、右击、双击等**执行相应操作,如双击可以进入多行编辑/绘制预览/弹窗选文件/地图选点,地图选点时右击可以选多个点
## 快速上手 ## 快速上手
针对红海塔作者,这里给出一个极简版的造塔流程,您可以据此造出一座没有任何事件(包括但不限于难度分歧、老人、木牌、商人和商店等)的塔: 针对红海塔作者,这里给出一个极简版的造塔流程,您可以据此造出一座没有任何事件(包括但不限于难度分歧、老人、木牌、商人和商店等)的塔:
1. 编辑勇士的出生点和初始属性: 1. 编辑勇士的出生点和初始属性:
1. 滚轮切换到主塔0层右击地图任意位置绑定出生点为此点会有一个大大的白色S字母显示出来 1. 滚轮切换到主塔0层右击地图任意位置绑定出生点为此点会有一个大大的白色S字母显示出来
2. 按下B键切换到“全塔属性”填写core.firstData.hero中勇士的各项初始属性以及一些全局的数值如四种血瓶和三种宝石的效果、破甲反击净化的比例等注意“唯一英文标识符”name一定要修改 2. 按下B键切换到“全塔属性”填写`core.firstData.hero`中勇士的各项初始属性以及一些全局的数值如四种血瓶和三种宝石的效果、破甲反击净化的比例等注意“唯一英文标识符”name一定要修改
3. 在数据区使用滚轮向下翻(您可以随时折叠全塔属性的几大部分),按需编辑下面的大量勾选框(主要就是状态栏的那些显示项)。 3. 在数据区使用滚轮向下翻(您可以随时折叠全塔属性的几大部分),按需编辑下面的大量勾选框(主要就是状态栏的那些显示项)。
2. 从素材区选择各种各样的非NPC图块绘制在地图上如门、怪物、道具、楼梯、路障、箭头、踩灯、箱子等。每当选中一个素材时数据区就进入了“图块属性”模式您可以去填写道具的一些说明、以及修改其他一些图块的可通行性等。注意滑冰触发器为ski要画在背景层。如果您需要制作机关门请简单地将机关门和守卫不支持阻击怪和炸弹画在地图上再右击机关门快速绑定即可。看到机关门左下角出现橙色小方块、守卫们左下角出现黄色小方块即说明绑定成功 2. 从素材区选择各种各样的非NPC图块绘制在地图上如门、怪物、道具、楼梯、路障、箭头、踩灯、箱子等。每当选中一个素材时数据区就进入了“图块属性”模式您可以去填写道具的一些说明、以及修改其他一些图块的可通行性等。注意滑冰触发器为ski要画在背景层。如果您需要制作机关门请简单地将机关门和守卫不支持阻击怪和炸弹画在地图上再右击机关门快速绑定即可。看到机关门左下角出现橙色小方块、守卫们左下角出现黄色小方块即说明绑定成功
3. 如果您需要制作多个楼层只需按下Z键将数据区切换到“地图编辑”模式然后“新建空白地图”即可不同楼层之间简单地通过楼梯来往返您可以将楼梯画在地图上再右击快速绑定即可。看到楼梯左下角出现绿色小方块即说明绑定成功各个楼层的属性可以通过按下V键将数据区切换到“楼层属性”模式来填写如能否使用楼传、是否为地下层、画面色调、宝石血瓶倍率等。 3. 如果您需要制作多个楼层只需按下Z键将数据区切换到“地图编辑”模式然后“新建空白地图”即可不同楼层之间简单地通过楼梯来往返您可以将楼梯画在地图上再右击快速绑定即可。看到楼梯左下角出现绿色小方块即说明绑定成功各个楼层的属性可以通过按下V键将数据区切换到“楼层属性”模式来填写如能否使用楼传、是否为地下层、画面色调、宝石血瓶倍率等。
@ -92,23 +93,23 @@ HTML5项目都是可以进行控制台调试的下面以edge浏览器为例
- `core.status.floorId` 获得当前层的floorId。 - `core.status.floorId` 获得当前层的floorId。
- `core.status.thisMap` 获得当前地图信息。例如`core.status.thisMap.blocks`可以获得当前层所有图块。 - `core.status.thisMap` 获得当前地图信息。例如`core.status.thisMap.blocks`可以获得当前层所有图块。
- `core.floors` 获得所有剧本的信息。例如`core.floors[core.status.floorId].events`可以获得当前层所有事件。 - `core.floors` 获得所有楼层的初始信息。例如`core.floors[core.status.floorId].events`可以获得当前层所有事件。
- `core.status.hero` 获得当前勇士状态信息。例如`core.status.hero.atk`就是当前勇士的攻击力数值。 - `core.status.hero` 或简写为hero获得当前勇士状态信息。例如`core.status.hero.atk`就是当前勇士的攻击力数值。
- `core.material.enemys` 获得所有怪物信息。例如`core.material.enemys.greenSlime`就是获得绿色史莱姆的属性数据。 - `core.material.enemys` 获得所有怪物信息。例如`core.material.enemys.greenSlime`就是获得绿色史莱姆的属性数据。
- `core.material.items` 获得所有道具的信息。例如`core.material.items.pickaxe`就是获得破墙镐的信息。 - `core.material.items` 获得所有道具的信息。例如`core.material.items.pickaxe`就是获得破墙镐的信息。
- `core.debug()` 开启调试模式此模式下可以按住Ctrl键进行穿墙。 - `core.debug()` 开启调试模式此模式下可以按住Ctrl键进行穿墙。
- `core.updateStatusBar()` 立刻更新状态栏和地图显伤 - `core.updateStatusBar()` 立刻更新状态栏、地图显伤并触发自动事件
- `core.setStatus('atk', 1000)` 直接设置勇士的某项属性。本句等价于 `core.status.hero.atk = 1000` - `core.setStatus('atk', 1000)` 直接设置勇士的某项属性。本句等价于 `core.status.hero.atk = 1000`
- `core.getStatus('atk')` 返回勇士当前某项属性数值。本句等价于 `core.status.hero.atk` - `core.getStatus('atk')` 返回勇士当前某项属性数值。本句等价于 `core.status.hero.atk`
- `core.setItem('pickaxe', 10)` 直接设置勇士某个道具的个数。这里可以需要写道具的ID。 - `core.setItem('pickaxe', 10)` 直接设置勇士某个道具的个数。这里可以需要写道具的ID。
- `core.getItem('pickaxe', 2)` 令勇士获得两个破墙镐。 - `core.getItem('pickaxe', 2)` 令勇士获得两个破墙镐。
- `core.itemCount('pickaxe')` 返回勇士某个道具的个数。 - `core.itemCount('pickaxe')` 返回勇士某个道具的个数。
- `core.hasItem('pickaxe')` 返回勇士是否拥有某个道具。等价于`core.itemCount('pickaxe')!=0`。 - `core.hasItem('pickaxe')` 返回勇士是否拥有某个道具。等价于`core.itemCount('pickaxe')>0`。
- `core.getEquip(0)` 返回0号装备类型武器的当前装备的itemId不存在则返回null - `core.getEquip(0)` 返回0号装备类型武器的当前装备的itemId不存在则返回`null`
- `core.hasEquip('sword1')` 返回某个装备当前是否处于被装备状态 - `core.hasEquip('sword1')` 返回某个装备当前是否处于被装备状态
- `core.setFlag('xxx', 1)` 设置某个flag/自定义变量的值。 - `core.setFlag('xxx', 1)` 设置某个flag/自定义变量的值,可以设为`null`表示删除
- `core.getFlag('xxx', 10)` 获得某个flag/自定义变量的值;如果该项不存在(未被定义),则返回第二个参数的值。 - `core.getFlag('xxx', 10)` 获得某个flag/自定义变量的值;如果该项不存在(未被定义),则返回第二个参数的值。
- `core.hasFlag('xxx')` 返回是否存在某个变量且不为0。等价于`core.getFlag('xxx', 0)!=0`。 - `core.hasFlag('xxx')` 返回是否存在某个变量且不为0。等价于`!!core.getFlag('xxx', 0)`。
- `core.removeFlag('xxx')` 删除某个flag/自定义变量 - `core.removeFlag('xxx')` 删除某个flag/自定义变量
- `core.insertAction(list)` 执行一段自定义事件。比如 `core.insertAction(["剧情文本"])` 将执行一个剧情文本显示事件。 - `core.insertAction(list)` 执行一段自定义事件。比如 `core.insertAction(["剧情文本"])` 将执行一个剧情文本显示事件。
- `core.changeFloor('MT2', 'downFloor')` 立刻执行楼层切换到MT2层的下楼点位置。 - `core.changeFloor('MT2', 'downFloor')` 立刻执行楼层切换到MT2层的下楼点位置。