迷你世界UGC3.0脚本Wiki


Menu
On this page
Sidebar Navigation
快速入门
欢迎
MOD、组件介绍
什么是Lua编程
组件介绍
组件说明
组件互相操作
组件函数
组件属性
事件
触发器事件管理
组件事件管理
函数库
服务模块
世界模块管理接口 World
对象模块管理接口 GameObject
角色模块管理接口 Actor
玩家模块管理接口 Player
生物模块管理接口 Monster
方块模块管理接口 Block
道具模块管理接口 Item
背包模块管理接口 Backpack
界面模块管理接口 CustomUI
图文信息模块管理接口 Graphics
区域模块管理接口 Area
容器模块管理接口 WorldContainer
资源模块管理接口 Mod
计时器模块管理接口 Timer
状态模块管理接口 Buff
消息模块管理接口 Chat
普通变量数据管理接口 Data
数组变量数据管理接口 Array
二维表变量数据管理接口 Table
KV表变量数据管理接口 Map
全局函数
全局函数
枚举
枚举库
脚本常见问题
开发者常见问题
进阶指南
全局函数
触发器脚本交互
对象介绍
KV&排行榜介绍
二维表介绍
道具实例
更新日志
更新日志
世界模块管理接口 World
具体函数名及描述如下:
序号 函数名 函数描述
1 StopParticleOnPos(...) 停止指定位置的特效
2 SetParticleTransform(...) 设置指定位置的特效偏移 旋转 缩放
3 PlayParticle(...) 在指定位置播放特效
4 GetLightByPos(...) 获取光照强度
5 SpawnCreature(...) 生成生物(包括怪物、NPC、动物等)
6 DespawnActor(...) 移除生物
7 GetPlayerTotal(...) 获取全部玩家数量
8 GetAllPlayers(...) 获取全部玩家
9 GetSpawnPoint(...) 获取默认出生点
10 FindCanSpawnMobPosList(...) 获取附近合适的生物出生点位置(方块坐标单位)
11 FindNearestPlayerByPos(...) 获取距离某点最近的玩家(方块坐标单位)
12 PlaySoundEffectOnPos(...) 在指定位置上播放指定音效
13 StopSoundEffectOnPos(...) 停止指定位置上的指定音效
14 PauseSoundEffectOnPos(...) 暂停/恢复指定位置上的指定音效
15 IsDaytime(...) 是否是白天
16 SetHours(...) 设置游戏当前时间(小时)
17 GetHours(...) 获取游戏当前时间(小时)
18 GetDay(...) 获取游戏当前天数
19 SetGravity(...) 设置重力
20 AddGravity(...) 增加重力
21 GetGravity(...) 获取重力
22 CanMobSpawnOnPosXZ(...) 获取XZ位置上是否可创建生物 并返回对应的Y轴位置
23 GetHostWorldId(...) 获取主机的星球id
24 SpawnProjectile(...) 生成投掷物
25 SpawnProjectileByDir(...) 生成投掷物
26 GetBiomeType(...) 获取某个位置的地形类型
27 GetBiomeGroup(...) 获取地形类型所属的地形组类型
28 FindEcosystem(...) 查找地形位置
29 PixelMapAddMarker(...) 地图增加标记
30 PixelMapRefreshMarker(...) 地图刷新标记
31 PixelMapDelMarker(...) 地图删除标记
32 PixelMapAddTexture(...) 地图增加纹理标签
33 PixelMapRefreshTexture(...) 地图刷新纹理标签
34 PixelMapDelTexture(...) 开发者删除1个纹理
35 SetSkyBoxColorAnim(...) 设置某玩家天空盒全部时间点的颜色参数(带动效)
36 SetTimeVanishingSpeed(...) 设置天空盒时间流逝速度
37 SetSkyBoxTemplate(...) 设置天空盒模板
38 SetSkyBoxMaps(...) 设置天空盒贴图
39 SetSkyBoxColor(...) 设置天空盒颜色参数
40 SetSkyBoxAttr(...) 设置天空盒属性参数
41 SetSkyBoxAttrWithNoTime(...) 设置天空盒属性参数(不带时间)
42 SetSkyBoxFilter(...) 设置天空盒滤镜参数
43 SetSkyBoxSwitch(...) 天空盒属性开关
44 SetSkyBoxMapsAnim(...) 设置天空盒贴图(带动效)
45 SetSkyBoxFilterAnim(...) 设置天空盒滤镜参数(带动效)
46 GetLocalDate(...) 获取主机时间
47 GetLocalDateString(...) 获取完整设备时间
48 GetServerDate(...) 获取服务器时间
49 GetDateFromTime(...) 转换时间戳为时间单位
50 GetDirRayDetection(...) 获取对象到某个方向上的射线检测目标
51 GetRayLength(...) 计算指定方向射线长度(遇到方块结束)
52 GetRayBlock(...) 射线打到的方块类型(遇到方块结束)
53 CalcDirectionByYawDirection(...) 通过局部坐标方向计算绝对正方向(忽略视角仰角)
54 CalcDirectionByYawAngle(...) 通过局部球坐标方向计算绝对正方向(忽略视角仰角)
55 CalcDirectionByCoord(...) 绝对坐标方向
56 CalcDirectionByAngle(...) 角度坐标方向
57 RandomParticleEffectID(...) 随机特效类型,随机返回一种特效ID
58 RandomSoundID(...) 随机音效ID,随机返回一种音效ID
59 CalcDistance(...) 计算两个三维坐标之间的距离
60 SetGroupWeather(...) 设置天气组的天气状态
61 RandomWeatherID(...) 随机天气
62 GetGroupWeather(...) 获取天气组天气
63 SetSpawnPoint(...) 设置出生点
64 CalcDirectionByPos2Pos(...) 位置到位置的单位方向
65 SetWorldCreateMobRule(...) 设置世界创建生物规则(设置不保存,退出游戏后失效)
66 SetMobSpawnDensity(...) 设置生物生成密度(设置不保存,退出游戏后失效)
67 SetPlantGrowRate(...) 设置农作物生长时间要求修正,在原来的时间上乘以系数设置不保存,退出游戏后失效)
68 SetInnerViewEnable(...) 设置游戏内的界面是否禁用
69 SetMidJoin(...) 设置是否可中途加入
70 GetGameMode(...) 获取游戏模式
71 SetLightByPos(...) 设置光照强度
StopParticleOnPos
参数及类型:
x,y,z:number位置
particleId:number特效id
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
code:bool成功(true)
该方法的主要作用: 停止指定位置的特效
具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local result = World:StopParticleOnPos(x, y, z, 1001, WorldId)
SetParticleTransform
参数及类型:
pos:table位置(米)
particleIdArg:number或者number数组特效id
offset:table偏移(米)
rot:table旋转
scale:table特效缩放大小
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
code:bool成功(true)
该方法的主要作用: 设置指定位置的特效偏移 旋转 缩放
具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
-- 设置效果缩放2倍
local result = World:SetParticleTransform({x = x, y = y, z = z}, 1001, nil, nil, {x = 2, y = 2, z = 2}, WorldId)
PlayParticle
参数及类型:
pos:table位置(米)
particleIdArg:number或者number数组特效id
ptimeArg:number播放时长(单位:秒,非循环特效如果时长大于一次播放时长,将会重复播放)
offset:table偏移(米)
rot:table旋转
scale:table特效缩放大小
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
code:bool成功(true)
该方法的主要作用: 在指定位置播放特效
具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local result = World:PlayParticle({x = x, y = y, z = z}, 1001, 2, WorldId)
GetLightByPos
参数及类型: x|y|z:number:位置,worldId:number:星球id(默认当前主机所在星球)
返回值及类型:
lv:number光照强度(0~16)
该方法的主要作用: 获取光照强度
具体使用案例如下:
lua
local light = World:GetLightByPos(x, y, z, WorldId)
print("获取光照强度 ", light)
SpawnCreature
参数及类型:
x,y,z:number方块坐标
actorid:number,string生物类型
num:number生成数量
trigger:boolean是否触发事件
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
objs:table生物ID组
该方法的主要作用: 生成生物(包括怪物、NPC、动物等)
具体使用案例如下:
lua
local x1, y1, z1 = Actor:GetPosition(Player:GetHostUin())
local creatures = World:SpawnCreature(x1 + 5, y1 + 1, z1, 3400, 1, true, WorldId)
DespawnActor
参数及类型:
objid:number对象objID
返回值及类型:
code:bool成功(true)
该方法的主要作用: 移除生物
具体使用案例如下:
lua
local result = World:DespawnActor(creatureId)
GetPlayerTotal
参数及类型:
alive:number玩家状态(0表示阵亡,1表示存活,默认-1表示全体玩家)
返回值及类型:
num:number获取数量
该方法的主要作用: 获取全部玩家数量
具体使用案例如下:
lua
local total = World:GetPlayerTotal()
GetAllPlayers
参数及类型:
alive:number玩家状态(0表示阵亡,1表示存活,默认-1表示全体玩家)
返回值及类型:
list:table对象objid组
该方法的主要作用: 获取全部玩家
具体使用案例如下:
lua
local players = World:GetAllPlayers()
GetSpawnPoint
参数及类型: 无
返回值及类型:
x,y,z:number方块坐标
该方法的主要作用: 获取默认出生点
具体使用案例如下:
lua
local x, y, z = World:GetSpawnPoint()
FindCanSpawnMobPosList
参数及类型:
centerX,centerY,centerZ:number中心位置
radius:number半径
includeCenterPos:boolean是否包含中心位置(默认true)
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
posList:table位置列表
该方法的主要作用: 获取附近合适的生物出生点位置(方块坐标单位)
具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local posList = World:FindCanSpawnMobPosList(x, y, z, 10, true, WorldId)
if posList then
for i, v in ipairs(posList) do
print("可以创建生物位置", v.x, v.y, v.z)
end
end
FindNearestPlayerByPos
参数及类型:
posX,posY,posZ:number位置
radius:number半径
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
objid:number玩家uin
该方法的主要作用: 获取距离某点最近的玩家(方块坐标单位)
具体使用案例如下:
lua
local playerId = World:FindNearestPlayerByPos(x, y, z, WorldId)
PlaySoundEffectOnPos
参数及类型:
pos:table位置
soundId:number音效ID
volume:number音量调节
pitch:number音调调节
isLoop:bool是否循环播放
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
ret:bool成功(true)
该方法的主要作用: 在指定位置上播放指定音效
具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local result = World:PlaySoundEffectOnPos({x = x, y = y, z = z}, 10946, 100, 1, false, WorldId)
StopSoundEffectOnPos
参数及类型:
pos:table位置
soundId:number音效ID
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
code:bool成功(true)
该方法的主要作用: 停止指定位置上的指定音效
具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local result = World:StopSoundEffectOnPos({x = x, y = y, z = z}, 10946, WorldId)
PauseSoundEffectOnPos
参数及类型:
pos:table位置
soundId:number音效ID
pause:booltrue暂停/false恢复
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
code:bool成功(true)
该方法的主要作用: 暂停/恢复指定位置上的指定音效
具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local result = World:PauseSoundEffectOnPos({x = x, y = y, z = z}, 10946, true, WorldId)
IsDaytime
参数及类型: 无
返回值及类型:
isDaytime:bool是否白天
该方法的主要作用: 是否是白天
具体使用案例如下:
lua
local isDaytime = World:IsDaytime()
SetHours
参数及类型:
time:number时间(小时)
返回值及类型:
code:bool成功(true)
该方法的主要作用: 设置游戏当前时间(小时)
具体使用案例如下:
lua
local result = World:SetHours(2)
GetHours
参数及类型: 无
返回值及类型:
curHour:number时间(小时)
该方法的主要作用: 获取游戏当前时间(小时)
具体使用案例如下:
lua
local hours = World:GetHours()
GetDay
参数及类型: 无
返回值及类型:
code:number天数
该方法的主要作用: 获取游戏当前天数
具体使用案例如下:
lua
local day = World:GetDay()
SetGravity
参数及类型:
value:number重力值
返回值及类型:
code:bool成功(true)
该方法的主要作用: 设置重力
具体使用案例如下:
lua
local result = World:SetGravity(12)
AddGravity
参数及类型:
value:number重力值
返回值及类型:
code:bool成功(true)
该方法的主要作用: 增加重力
具体使用案例如下:
lua
local code = World:AddGravity(value)
GetGravity
参数及类型:
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
value:number重力值
该方法的主要作用: 获取重力
具体使用案例如下:
lua
local gravity = World:GetGravity()
CanMobSpawnOnPosXZ
参数及类型:
x,y,z:number位置坐标
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
posy:numberY轴坐标
该方法的主要作用: 获取XZ位置上是否可创建生物 并返回对应的Y轴位置
具体使用案例如下:
lua
local canSpawnY = World:CanMobSpawnOnPosXZ(x,y, z, WorldId)
if canSpawnY and canSpawnY > 0 then
print("可以创建生物位置", x, canSpawnY, z)
end
GetHostWorldId
参数及类型: 无
返回值及类型:
mapid:number星球id
该方法的主要作用: 获取主机的星球id
具体使用案例如下:
lua
local worldId = World:GetHostWorldId()
print("获取主机世界id ", worldId)
SpawnProjectile
参数及类型:
objid:number角色objid(可不填)
itemid:number,string道具类型
x,y,z:number位置坐标
dstx,dsty,dstz:number目标坐标
speed:number速度
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
objid:number投掷物objid
该方法的主要作用: 生成投掷物
具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
-- 生成石箭往x+20,y+5,z方向射出, 速度10
local projectile = World:SpawnProjectile(Player:GetHostUin(), 12051, x, y, z, x + 20, y + 5, z, 10, WorldId)
SpawnProjectileByDir
参数及类型:
objid:number玩家objid
itemid:number,string道具类型
x,y,z:number位置坐标
dstx,dsty,dstz:number目标方向
speed:number速度
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
objid:number投掷物objid
该方法的主要作用: 生成投掷物
具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local projectile = World:SpawnProjectileByDir(Player:GetHostUin(), 12051, x, y, z, 20, 5, 20, 10, WorldId)
GetBiomeType
参数及类型:
posX,posZ:number位置坐标
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
ret:number地形类型 BiomeType
该方法的主要作用: 获取某个位置的地形类型
具体使用案例如下:
lua
local biomeType = World:GetBiomeType(x, y, WorldId)
if biomeType == BiomeType.GrassLand then
print("草原")
elseif biomeType == BiomeType.Forest then
print("森林")
end
GetBiomeGroup
参数及类型:
posX,posZ:number位置坐标
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
biometype:number地形组类型(WeatherGroup)
该方法的主要作用: 获取地形类型所属的地形组类型
具体使用案例如下:
lua
local group = World:GetBiomeGroup(x, z, WorldId)
FindEcosystem
参数及类型:
x,y,z:number查找起点位置坐标
biomeid:number地形类型 BiomeTypeBiomeType
radius:number查找范围半径(单位chunk)
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
x,y,z:number找到的地形位置坐标
该方法的主要作用: 查找地形位置
具体使用案例如下:
lua
local x,y,z = World:FindEcosystem(centerX, centerY, centerZ, BiomeType.GrassLand, 50)
if x and y and z then
print("找到草原", x, y, z)
end
PixelMapAddMarker
参数及类型:
uin:玩家ID
id:标记id
params:标记的超参数
返回值及类型:
ret:boolean添加成功(true)
该方法的主要作用: 地图增加标记
具体使用案例如下:
lua
-- 参数说明
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local params = {
posX = x,--(必填)
posZ = z,--(必填)
-- name ="测试名", --名字
iconName = "0_10074", --图片路径(必填)
-- zoomMin = 0, --最小scale倍率
-- zoomMax = 100, --最大scale倍率
-- isTrace = false, --是否追踪
-- isRadarTrace = false, --雷达上是否追踪
-- appearInBlockFog = true, --
-- isCanUI = false, --是否能点击
-- desc = "", --描述
-- level = 4, --UI层级
}
local result = World:PixelMapAddMarker(Player:GetHostUin(), "markId_123", params)
PixelMapRefreshMarker
参数及类型:
uin:玩家ID
id:标记id
params:标记的超参数(提供改变的参数即可)
返回值及类型:
ret:boolean刷新成功(true)
该方法的主要作用: 地图刷新标记
具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local params = {
posX = x,
posZ = z,
-- name = defaultCustomMarkerConfig[1].name, 名字
iconName = "0_10103", --图片ID
-- zoomMin = 0, 最小scale倍率
-- zoomMax = 100, 最大scale倍率
-- isTrace = false, 是否追踪
-- isRadarTrace = false, 雷达上是否追踪
-- appearInBlockFog = true,
-- isCanUI = false, 是否能点击
-- desc = "", 描述
-- level = 4, UI层级
}
local result = World:PixelMapRefreshMarker(Player:GetHostUin(), "markId_123", params)
PixelMapDelMarker
参数及类型:
uin:玩家ID
id:标记id
返回值及类型:
ret:boolean删除成功(true)
该方法的主要作用: 地图删除标记
具体使用案例如下:
lua
local result = World:PixelMapDelMarker(Player:GetHostUin(), "markId_123")
PixelMapAddTexture
参数及类型:
uin:玩家ID
id:纹理id
params:纹理的超参数
返回值及类型:
ret:boolean添加成功(true)
该方法的主要作用: 地图增加纹理标签
具体使用案例如下:
lua
--开发者添加纹理到地图纹理节点,可以修饰原本的地图纹理(比如加背景,遮罩,自定义地图纹理)
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local params = {
filePath = "0_10103", --图片id
width = 100, --宽度
height = 100, --高度
posX = x, --在地图上的方块位置
posZ = z, --在地图上的方块位置
level = 11, --层级 官方地图纹理层级为10
pivotX = 0, --x轴锚点
pivotY = 0, --z轴锚点
alpha = 1, --透明度
scale = 1, --缩放
rotation = 0, --旋转
colorR = 255, --颜色
colorG = 255, --颜色
colorB = 255, --颜色
}
local result = World:PixelMapAddTexture(Player:GetHostUin(), "textureId_1", params)
PixelMapRefreshTexture
参数及类型:
uin:玩家ID
id:纹理id
params:纹理的超参数(提供改变的参数即可)
返回值及类型:
ret:boolean刷新成功(true)
该方法的主要作用: 地图刷新纹理标签
具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local params = {
filePath = "0_10104", --图片id
width = 100, --宽度
height = 100, --高度
posX = x, --在地图上的方块位置
posZ = z, --在地图上的方块位置
level = 11, --层级 官方地图纹理层级为10
pivotX = 0, --x轴锚点
pivotY = 0, --z轴锚点
alpha = 1, --透明度
scale = 1, --缩放
rotation = 0, --旋转
colorR = 255, --颜色
colorG = 255, --颜色
colorB = 255, --颜色
}
local result = World:PixelMapRefreshTexture(Player:GetHostUin(), "textureId_1", params)
PixelMapDelTexture
参数及类型: uin:玩家ID
返回值及类型: id:纹理id,方便开发者精准控制
该方法的主要作用: 开发者删除1个纹理
具体使用案例如下:
lua
local result = World:PixelMapDelTexture(Player:GetHostUin(), "textureId_1")
SetSkyBoxColorAnim
参数及类型:
time:number游戏时间
itype:number颜色属性枚举(SkyboxColor)SkyboxColor
color:string16进制颜色值(0xffffff)
animId:number动画枚举(Easing)Easing
animTime:number动画时间
返回值及类型:
code:bool成功(true)
该方法的主要作用: 设置某玩家天空盒全部时间点的颜色参数(带动效)
具体使用案例如下:
lua
local result = World:SetSkyBoxColorAnim(Player:GetHostUin(), SkyboxColor.Moon, [=[0xffe082]=], Easing.Linear, 1)
SetTimeVanishingSpeed
参数及类型:
speed:number时间流逝速度
返回值及类型:
code:bool成功(true)
该方法的主要作用: 设置天空盒时间流逝速度
具体使用案例如下:
lua
local result = World:SetTimeVanishingSpeed(20)
SetSkyBoxTemplate
参数及类型:
value:number,string模板值(官方模板填数值,自定义模板填ID)
返回值及类型:
code:bool成功(true)
该方法的主要作用: 设置天空盒模板
具体使用案例如下:
lua
local result = World:SetSkyBoxTemplate(7)
SetSkyBoxMaps
参数及类型:
time:number游戏时间
itype:number贴图类型(SkyboxMap)SkyboxMap
url:string图片链接
返回值及类型:
code:bool成功(true)
该方法的主要作用: 设置天空盒贴图
具体使用案例如下:
lua
local result = World:SetSkyBoxMaps(SkyboxMap.Sky, [=[0_30011]=])
SetSkyBoxColor
参数及类型:
time:number游戏时间
itype:number颜色属性枚举(SkyboxColor)SkyboxColor
color:string16进制颜色值(0xffffff)
返回值及类型:
code:bool成功(true)
该方法的主要作用: 设置天空盒颜色参数
具体使用案例如下:
lua
local result = World:SetSkyBoxColor(SkyboxTime.Current, SkyboxColor.Top, [=[0x1e88e5]=])
SetSkyBoxAttr
参数及类型:
time:number游戏时间
itype:number参数类型(SkyboxAttr)SkyboxAttr
value:number参数值(0~100)
返回值及类型:
code:bool成功(true)
该方法的主要作用: 设置天空盒属性参数
具体使用案例如下:
lua
local result = World:SetSkyBoxAttr(SkyboxTime.Current, SkyboxAttr.SunScale, 20)
SetSkyBoxAttrWithNoTime
参数及类型:
itype:number参数类型(SkyboxAttr)SkyboxAttr
value:number参数值(0~100)
返回值及类型:
code:bool成功(true)
该方法的主要作用: 设置天空盒属性参数(不带时间)
具体使用案例如下:
lua
local code = World:SetSkyBoxAttrWithNoTime(itype, value)
SetSkyBoxFilter
参数及类型:
itype:number参数类型(SkyboxFilter)SkyboxFilter
value:number:参数值(0~100) 或者 string:16进制颜色值(0xffffff)
返回值及类型:
code:bool成功(true)
该方法的主要作用: 设置天空盒滤镜参数
具体使用案例如下:
lua
local result = World:SetSkyBoxFilter(Player:GetHostUin(), SkyboxFilter.Contrast, 50)
SetSkyBoxSwitch
参数及类型:
time:number游戏时间
itype:number参数类型(SkyboxSwitch)SkyboxSwitch
value:number参数值(0~1)
返回值及类型:
code:bool成功(true)
该方法的主要作用: 天空盒属性开关
具体使用案例如下:
lua
local result = World:SetSkyBoxSwitch(SkyboxTime.Current, SkyboxSwitch.Fogenable, true)
SetSkyBoxMapsAnim
参数及类型:
time:number游戏时间
itype:number贴图类型(SkyboxMap)SkyboxMap
url:string图片链接
返回值及类型:
code:bool成功(true)
该方法的主要作用: 设置天空盒贴图(带动效)
具体使用案例如下:
lua
local result = World:SetSkyBoxMapsAnim(Player:GetHostUin(), SkyboxMap.Sky, [=[0_30005]=], Easing.BackOut, 1)
SetSkyBoxFilterAnim
参数及类型:
itype:number参数类型(SkyboxFilter)SkyboxFilter
value:number:参数值(0~100) 或者 string:16进制颜色值(0xffffff)
animId:number动画ID(Easing)Easing
animTime:number动画时间
返回值及类型:
code:bool成功(true)
该方法的主要作用: 设置天空盒滤镜参数(带动效)
具体使用案例如下:
lua
local result = World:SetSkyBoxFilterAnim(Player:GetHostUin(), SkyboxFilter.Color, [=[0xffee58]=], Easing.Linear, 1)
GetLocalDate
参数及类型:
enum:number枚举值(EventDate)
返回值及类型:
time:number获取到的值
该方法的主要作用: 获取主机时间
具体使用案例如下:
lua
local date = World:GetLocalDate(EventDate.Day)
GetLocalDateString
参数及类型: 无
返回值及类型:
timestr:string时间描述
该方法的主要作用: 获取完整设备时间
具体使用案例如下:
lua
local dateString = World:GetLocalDateString()
GetServerDate
参数及类型:
enum:number枚举值(EventDate)
返回值及类型:
time:number获取到的值
该方法的主要作用: 获取服务器时间
具体使用案例如下:
lua
local date = World:GetServerDate()
GetDateFromTime
参数及类型:
time:number时间戳
enum:number枚举值(EventDate)EventDate
返回值及类型:
ret:number时间值
该方法的主要作用: 转换时间戳为时间单位
具体使用案例如下:
lua
local date = World:GetDateFromTime(os.time(), EventDate.Day)
GetDirRayDetection
参数及类型:
posbegin:table起点位置{x=0
y=0
z=0}
dir:table方向向量{x=floatx
y=floaty
z=floatz}
maxlen:number最大检测方块距离
picktype:number检测类型 RayDetectTypeRayDetectType
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
ret:number对象ID
vec:table对象位置{x=0
y=0
z=0}
该方法的主要作用: 获取对象到某个方向上的射线检测目标
具体使用案例如下:
lua
local ray = Player:GetAimDir(uin)
local x,y,z = Player:GetRayOriginPos(uin)
local id = World:GetDirRayDetection({x=x, y=y, z=z}, {x= ray.x, y= ray.y, z= ray.z}, 10, RayDetectType.Block, WorldId)
GetRayLength
参数及类型:
srcx
srcy
srcz:number起点坐标
dstx
dsty
dstz:number终点坐标
distance:number最大检测距离
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
ret:number距离
该方法的主要作用: 计算指定方向射线长度(遇到方块结束)
具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local length = World:GetRayLength(x, y, z, x, y + 20, z, 100, WorldId)
GetRayBlock
参数及类型:
srcx
srcy
srcz:number起点坐标
dstx
dsty
dstz:number终点坐标
distance:number最大检测距离
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
ret:number方块ID
该方法的主要作用: 射线打到的方块类型(遇到方块结束)
具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local block = World:GetRayBlock(x, y, z, FaceDir.NegY, 100, WorldId)
CalcDirectionByYawDirection
参数及类型:
objid:number唯一ID
vx:number局部坐标x方向
vy:number局部坐标y方向
vz:number局部坐标z方向
返回值及类型:
ret:table:绝对方向向量{x: number
y: number
z: number}
该方法的主要作用: 通过局部坐标方向计算绝对正方向(忽略视角仰角)
具体使用案例如下:
lua
local direction = World:CalcDirectionByYawDirection(Player:GetHostUin(), 100, 100, 100)
CalcDirectionByYawAngle
参数及类型:
objid:number对象ID
yaw:number水平偏移夹角角度制
pitch:number垂直偏移夹角
返回值及类型:
ret:table:绝对方向向量{x: number
y: number
z: number}
该方法的主要作用: 通过局部球坐标方向计算绝对正方向(忽略视角仰角)
具体使用案例如下:
lua
local direction = World:CalcDirectionByYawAngle(Player:GetHostUin(), 30, 45)
CalcDirectionByCoord
参数及类型:
x:number坐标x
y:number坐标y
z:number坐标z
返回值及类型:
ret:table:绝对方向向量{x: number
y: number
z: number}
该方法的主要作用: 绝对坐标方向
具体使用案例如下:
lua
local direction = World:CalcDirectionByCoord(10 ,20, 30)
CalcDirectionByAngle
参数及类型:
yaw:number水平偏移夹角
pitch:number垂直偏移夹角
返回值及类型:
ret:table:绝对方向向量{x: number
y: number
z: number}
该方法的主要作用: 角度坐标方向
具体使用案例如下:
lua
local direction = World:CalcDirectionByAngle(45, 45)
RandomParticleEffectID
参数及类型: 无
返回值及类型:
ret:number特效ID
该方法的主要作用: 随机特效类型,随机返回一种特效ID
具体使用案例如下:
lua
local id = World:RandomParticleEffectID()
RandomSoundID
参数及类型: 无
返回值及类型:
ret:number音效ID
该方法的主要作用: 随机音效ID,随机返回一种音效ID
具体使用案例如下:
lua
local id = World:RandomSoundID()
CalcDistance
参数及类型:
posSrc:table:源坐标{x:number
y:number
z:number}
posDst:table:目标坐标{x:number
y:number
z:number}
返回值及类型:
ret:number两点之间的距离
该方法的主要作用: 计算两个三维坐标之间的距离
具体使用案例如下:
lua
local distance = World:CalcDistance({x = 0, y = 0, z = 0}, {x = 10, y = 0, z = 0})
SetGroupWeather
参数及类型:
groupid:number天气组ID(WeatherGroup)WeatherGroup
weatherid:number天气ID(GroupWeatherType)GroupWeatherType
返回值及类型:
ret:boolean设置成功(true)或失败(false)
该方法的主要作用: 设置天气组的天气状态
具体使用案例如下:
lua
local result = World:SetGroupWeather(WeatherGroup.Common, GroupWeatherType.Shine)
RandomWeatherID
参数及类型: 无
返回值及类型:
ret:number 随机出来的天气ID
该方法的主要作用: 随机天气
具体使用案例如下:
lua
local id = World:RandomWeatherID()
GetGroupWeather
参数及类型:
groupid:number地形组ID(WeatherGroup)
返回值及类型:
ret:number天气值
该方法的主要作用: 获取天气组天气
具体使用案例如下:
lua
local weather = World:GetGroupWeather(WeatherGroup.Common)
SetSpawnPoint
参数及类型:
x,y,z:number方块坐标
返回值及类型:
ret:bool结果
该方法的主要作用: 设置出生点
具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local result = World:SetSpawnPoint(x, y, z)
CalcDirectionByPos2Pos
参数及类型:
pos1:table位置1
pos2:table位置2
返回值及类型:
ret:table单位方向
该方法的主要作用: 位置到位置的单位方向
具体使用案例如下:
lua
local ret = World:CalcDirectionByPos2Pos(pos1, pos2)
SetWorldCreateMobRule
参数及类型:
cfgs:table生物规则配置
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
ret:boolean成功true
该方法的主要作用: 设置世界创建生物规则(设置不保存,退出游戏后失效)
具体使用案例如下:
lua
local cfgs = {
-- 草原
BiomeType.GrassLand\] = { { id = 3400, -- 生物id,嘟嘟鸟 weight = 100 -- 权重 }, { id = 3401, -- 生物id weight = 100 -- 权重 }, }, \[BiomeType.Forest\] = {--迷拉星森林 { id = 3400, weight = 50 } } } local result = World:SetWorldCreateMobRule(cfgs) SetMobSpawnDensity 参数及类型: mobType:number生物类型 MobTypeMobType density:number密度(0-2000) worldId:number星球id(默认当前主机所在星球) 返回值及类型: ret:boolean成功true 该方法的主要作用: 设置生物生成密度(设置不保存,退出游戏后失效) 具体使用案例如下: lua local result = World:SetMobSpawnDensity(MobType.Passive, 100) -- 设置动物密度 SetPlantGrowRate 参数及类型: rate:number时间修正(大于0) worldId:number星球id(默认当前主机所在星球) 返回值及类型: ret:boolean成功true 该方法的主要作用: 设置农作物生长时间要求修正,在原来的时间上乘以系数设置不保存,退出游戏后失效) 具体使用案例如下: lua local result = World:SetPlantGrowRate(0.5) -- 设置生长速度为原来的0.5倍 SetInnerViewEnable 参数及类型: iview:number弹窗类型枚举(InnerPopUpview)InnerPopUpview bopen:bool启用或者禁用 返回值及类型: ret:bool是否成功 该方法的主要作用: 设置游戏内的界面是否禁用 具体使用案例如下: lua -- 一般和Player:OpenInnerView 接口配合使用 local ret = World:SetInnerViewEnable(InnerPopUpview.CollectMaps,false) if ret then print("设置成功") end SetMidJoin 参数及类型: enable:bool是否开启中途加入属性 返回值及类型: ret:bool是否成功 该方法的主要作用: 设置是否可中途加入 具体使用案例如下: lua local ret = World:SetMidJoin(true) if ret then print("设置成功") end GetGameMode 参数及类型: 无 返回值及类型: mode:number游戏模式 WorldType 该方法的主要作用: 获取游戏模式 具体使用案例如下: lua local curmode = World:GetGameMode() if curmode and curmode == WorldType.GamemakerRun then print("当前地图是玩法模式") elseif curmode and curmode == WorldType.Single then print("当前地图是冒险模式") end SetLightByPos 参数及类型: x,y,z:number位置 lv:number光照强度(0\~15) 返回值及类型: ret:boolean操作是否成功 该方法的主要作用: 设置光照强度 具体使用案例如下: lua local result = World:SetLightByPos(x, y, z, 10, WorldId) print("设置光照强度 10 ", result) Last updated: 2025/12/5 14:23 Pager Previous page 组件事件管理 Next page 对象模块管理接口 GameObject