diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index e0c82db2..607eb9a1 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -2555,7 +2555,7 @@ idString_e /* idString_e colour : this.idstring_eColor -default : ["status:hp"] +default : ["变量:生命"] var code = IdString_0; return [code, Blockly.JavaScript.ORDER_ATOMIC]; */; diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index 3b5c3cb0..ef318e6a 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -216,11 +216,11 @@ editor_blockly = function () { MotaActionBlocks['unknown_s'].xmlText(), ], '值块':[ - MotaActionBlocks['setValue_s'].xmlText([ - MotaActionBlocks['idString_1_e'].xmlText(['status','hp']) - ]), MotaActionBlocks['addValue_s'].xmlText([ - MotaActionBlocks['idString_1_e'].xmlText(['status','hp']) + MotaActionBlocks['idString_1_e'].xmlText(['status','生命']) + ]), + MotaActionBlocks['setValue_s'].xmlText([ + MotaActionBlocks['idString_1_e'].xmlText(['status','生命']) ]), MotaActionBlocks['expression_arithmetic_0'].xmlText(), MotaActionBlocks['evFlag_e'].xmlText(), diff --git a/_server/table/comment.js b/_server/table/comment.js index 7f95d918..d57370f7 100644 --- a/_server/table/comment.js +++ b/_server/table/comment.js @@ -286,6 +286,13 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_data": "行走图朝向,仅对NPC有效。可以在这里定义同一个NPC的多个朝向行走图。\n比如 {\"up\":\"N333\",\"down\":\"N334\",\"left\":\"N335\",\"right\":\"N336\"} 就将该素材的上下左右朝向分别绑定到N333,N334,N335和N336四个图块。\n在勇士撞上NPC时,或NPC在移动时,会自动选择最合适的朝向图块(如果存在定义)来进行绘制。" + }, + "script": { + "_leaf": true, + "_type": "textarea", + "_string": true, + "_lint": true, + "_data": "触碰到该图块时自动执行的脚本内容;此脚本会在该点的触发器执行前执行" } } }, diff --git a/libs/events.js b/libs/events.js index ae0c3467..4b258de4 100644 --- a/libs/events.js +++ b/libs/events.js @@ -297,6 +297,12 @@ events.prototype._trigger = function (x, y) { var block = core.getBlock(x, y); if (block == null) return; block = block.block; + + // 执行该点的脚本 + try { + eval(block.event.script); + } catch (e) { main.log(e); } + if (block.event.trigger) { var noPass = block.event.noPass, trigger = block.event.trigger; if (noPass) core.clearAutomaticRouteNode(x, y);