主站
道具百科
触发器百科
脚本API百科
创作手册
创作功能
其他
Studio百科
接口使用说明
彼得兔 更新时间: 2024-10-30 09:47:12

在查阅开发者学院中的脚本API时,若有任何问题或建议,欢迎通过问卷进行反馈!【点我填写问卷】

开发者在创作地图时要实现的各种玩法,依赖于迷你世界提供的一系列接口;玩法的运行又依赖于一系列事件。比如一个简单的玩法点石成金:“每当玩家点击石头,就把石头变成金块”,要实现这个玩法需要:

①首先监听事件任意玩家点击方块

②事件触发后判断被点击的方块是否为石头

③如果是,就在被点击的位置创建金块

像这样,监听事件、进行判断、执行操作是进行玩法创作的基本形式。“监听事件”可以在下面事件列表里查询,“进行判断”可以根据需要自行处理,“执行操作”一般就要用到各种接口了。

每个接口相当于一个小功能,调用之后可以进行各种操作,组合起来就可以实现各种玩法。比如上面例子里,“在被点击的位置创建金块”,我们需要“在指定位置创建指定方块”的功能,通过查询方块管理接口,可以找到:

·设置指定坐标处为某方块:

result=Block:setBlockAll(x , y , z , blockid , data)

result:0成功 1001失败

x,y,z:要设置的坐标

blockid:要设置的方块id

data:要设置的方块数据

Block:setBlockAll(0 , 7 , 0 , 1 , 0)

(0,0)高度7的位置生成一个基石数据0

也就是说,只要调用这个接口,传入被点击的坐标金块id方块数据(这里不用考虑,传入0即可),就可以把指定坐标的方块设置为金块

 

那么如何获取“被点击的位置”呢?通过查询方块事件列表:

Player.ClickBlock

玩家点击方块

eventobjid:点击方块的玩家迷你号

blockid:被点击的方块id

x,y,z:被点击的方块坐标

可以看到,“玩家点击方块”这个事件参数共有{eventobjid,blockid,x,y,z}五个值,其中x、y、z就是我们需要的坐标值,另外还需要blockid来判断被点击的方块是否为石头。迷你里注册事件监听的脚本代码为:

ScriptSupportEvent:registerEvent([=[事件名]=],函数名)

比如这里我们需要监听事件“玩家点击方块”,那么就需要(函数名是任意的):

ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=],click)

然后新建click函数:

local function click(e)
    if e.blockid==104 then
        Block:setBlockAll(e.x,e.y,e.z,400,0)
    end
end

这里104是石头的id,400是金矿的id。完整代码如下:

local function click(e)
    if e.blockid==104 then
       Block:setBlockAll(e.x,e.y,e.z,400,0)
    end
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=],click)

这样就实现了一个简单的小功能;各种小功能组合起来就可以实现复杂有趣的玩法。如果需要更详细的讲解可以参考迷你世界脚本教程。或者查看我们准备的Lua编程基础课程,以及Lua实例应用课程

 

游戏内ID查询方法

强烈推荐使用此方法在游戏内查询ID,更新快且查询方便

 

方法一:

第一步:点击编辑框上方“ID库”,选择要查询的ID类型

 

第二步:左侧选择分类,点击对象即可显示对应ID

 

第三步:点击“插入ID”即可直接输入使用

 

方法二:

第一步:使用快捷键“Ctrl+I”,或右键单击输入框任意位置,选择“插入ID”

 

第二步:在弹出的“ID搜索工具”窗口输入要查询的对象名称,即可直接搜索ID

 

第三步:点击搜索列表即可输入使用

 

-- UI动效表数据

-- 显示动效
10001 渐显
10002 放大显示
10003 缩小显示

-- 隐藏动效
20001 渐隐
20002 放大隐藏
20003 缩小隐藏

-- 循环动效
30001 颤抖
30002 跳动
30003 心跳
30004 摇摆
30005 旋转
30006 翻转
30007 顺时针扫描
30008 逆时针扫描
30009 闪烁

-- 文字动效
40001 打字机
站点有内容要更新是否更新。
更新
忽略