Appearance
世界模块管理接口 World
具体函数名及描述如下:
StopParticleOnPos
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local result = World:StopParticleOnPos(x, y, z, 1001)
SetParticleTransform
- 参数及类型:
- 返回值及类型:
- code:
bool
成功(true)
- code:
- 该方法的主要作用: 设置指定位置的特效偏移 旋转 缩放
- 具体使用案例如下:
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})
PlayParticle
- 参数及类型:
- 返回值及类型:
- code:
bool
成功(true)
- code:
- 该方法的主要作用: 在指定位置播放特效
- 具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local result = World:PlayParticle({x = x, y = y, z = z}, 1001, 2)
SpawnCreature
- 参数及类型:
- 返回值及类型:
- objs:
table
生物ID组
- objs:
- 该方法的主要作用: 生成生物(包括怪物、NPC、动物等)
- 具体使用案例如下:
lua
local x1, y1, z1 = Actor:GetPosition(Player:GetHostUin())
local creatures = World:SpawnCreature(x1 + 5, y1 + 1, z1, 3400)
DespawnActor
lua
local result = World:DespawnActor(creatureId)
GetPlayerTotal
lua
local total = World:GetPlayerTotal()
GetAllPlayers
lua
local players = World:GetAllPlayers()
GetSpawnPoint
- 参数及类型: 无
- 返回值及类型:
- x,y,z:
number
方块坐标
- x,y,z:
- 该方法的主要作用: 获取默认出生点
- 具体使用案例如下:
lua
local x, y, z = World:GetSpawnPoint()
PlaySoundEffectOnPos
- 参数及类型:
- 返回值及类型:
- ret:
bool
成功(true)
- ret:
- 该方法的主要作用: 在指定位置上播放指定音效
- 具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local result = World:PlaySoundEffectOnPos({x = x, y = y, z = z}, 10946, 100, 1, false)
StopSoundEffectOnPos
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local result = World:StopSoundEffectOnPos({x = x, y = y, z = z}, 10946)
PauseSoundEffectOnPos
- 参数及类型:
- 返回值及类型:
- code:
bool
成功(true)
- code:
- 该方法的主要作用: 暂停/恢复指定位置上的指定音效
- 具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local result = World:PauseSoundEffectOnPos({x = x, y = y, z = z}, 10946, true)
SetHours
lua
local result = World:SetHours(2)
GetHours
- 参数及类型: 无
- 返回值及类型:
- curHour:
number
时间(小时)
- curHour:
- 该方法的主要作用: 获取游戏当前时间(小时)
- 具体使用案例如下:
lua
local hours = World:GetHours()
GetDay
- 参数及类型: 无
- 返回值及类型:
- code:
number
天数
- code:
- 该方法的主要作用: 获取游戏当前天数
- 具体使用案例如下:
lua
local day = World:GetDay()
SetGravity
lua
local result = World:SetGravity(12)
GetGravity
- 参数及类型: 无
- 返回值及类型:
- value:
number
重力值
- value:
- 该方法的主要作用: 获取重力
- 具体使用案例如下:
lua
local gravity = World:GetGravity()
CanMobSpawnOnPosXZ
lua
local canSpawnY = World:CanMobSpawnOnPosXZ(x,y, z)
if canSpawnY and canSpawnY > 0 then
print("可以创建生物位置", x, canSpawnY, z)
end
GetCurMapId
- 参数及类型: 无
- 返回值及类型:
- mapid:
number
地图ID
- mapid:
- 该方法的主要作用: 获取当前地图的mapid
- 具体使用案例如下:
lua
local mapId = World:GetCurMapId()
SpawnProjectile
- 参数及类型:
- 返回值及类型:
- objid:
number
投掷物objid
- 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)
SpawnProjectileByDir
- 参数及类型:
- 返回值及类型:
- objid:
number
投掷物objid
- objid:
- 该方法的主要作用: 生成投掷物
- 具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local projectile = World:SpawnProjectileByDir(Player:GetHostUin(), 12051, x, y, z, 20, 5, 20, 10)
GetBiomeGroup
- 参数及类型:
- posX,posZ:
number
位置坐标
- posX,posZ:
- 返回值及类型:
- biometype:
number
地形组类型(WeatherGroup)
- biometype:
- 该方法的主要作用: 获取地形类型所属的地形组类型
- 具体使用案例如下:
lua
local group = World:GetBiomeGroup(x, z)
PixelMapAddMarker
- 参数及类型: id:标记id,方便开发者精准控制
- 返回值及类型: params:标记的超参数
- 该方法的主要作用: uin:玩家ID
- 具体使用案例如下:
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
- 参数及类型: id:标记id,方便开发者精准控制
- 返回值及类型: params:标记的超参数(提供改变的参数即可)
- 该方法的主要作用: uin:玩家ID
- 具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local result = World:PixelMapRefreshMarker(Player:GetHostUin(), "markId_123", {x = x, z = z, iconName = "0_10103"})
PixelMapDelMarker
- 参数及类型: uin:玩家ID
- 返回值及类型: id:标记id,方便开发者精准控制
- 该方法的主要作用: 开发者删除1个标记
- 具体使用案例如下:
lua
local result = World:PixelMapDelMarker(Player:GetHostUin(), "markId_123")
PixelMapAddTexture
- 参数及类型: id:纹理id,方便开发者精准控制
- 返回值及类型: params:标记的超参数
- 该方法的主要作用: uin:玩家ID
- 具体使用案例如下:
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
- 参数及类型: id:纹理id,方便开发者精准控制
- 返回值及类型: params:纹理的超参数(提供改变的参数即可)
- 该方法的主要作用: uin:玩家ID
- 具体使用案例如下:
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
- 参数及类型:
- 返回值及类型:
- code:
bool
成功(true)
- code:
- 该方法的主要作用: 设置某玩家天空盒全部时间点的颜色参数(带动效)
- 具体使用案例如下:
lua
local result = World:SetSkyBoxColorAnim(Player:GetHostUin(), SkyboxColor.Moon, [=[0xffe082]=], Easing.Linear, 1)
SetTimeVanishingSpeed
lua
local result = World:SetTimeVanishingSpeed(20)
SetSkyBoxTemplate
lua
local result = World:SetSkyBoxTemplate(7)
SetSkyBoxMaps
- 参数及类型:
- 返回值及类型:
- code:
bool
成功(true)
- code:
- 该方法的主要作用: 设置天空盒贴图
- 具体使用案例如下:
lua
local result = World:SetSkyBoxMaps(SkyboxMap.Sky, [=[0_30011]=])
SetSkyBoxColor
- 参数及类型:
- time:
number
游戏时间 - itype:
number
颜色属性枚举(SkyboxColor)SkyboxColor - color:
string
16进制颜色值(0xffffff)
- time:
- 返回值及类型:
- code:
bool
成功(true)
- code:
- 该方法的主要作用: 设置天空盒颜色参数
- 具体使用案例如下:
lua
local result = World:SetSkyBoxColor(SkyboxTime.Current, SkyboxColor.Top, [=[0x1e88e5]=])
SetSkyBoxAttr
- 参数及类型:
- time:
number
游戏时间 - itype:
number
参数类型(SkyboxAttr)SkyboxAttr - value:
number
参数值(0~100)
- time:
- 返回值及类型:
- code:
bool
成功(true)
- code:
- 该方法的主要作用: 设置天空盒属性参数
- 具体使用案例如下:
lua
local result = World:SetSkyBoxAttr(SkyboxTime.Current, SkyboxAttr.SunScale, 20)
SetSkyBoxFilter
- 参数及类型:
- itype:
number
参数类型(SkyboxFilter)SkyboxFilter - value:number:参数值(0~100) 或者 string:16进制颜色值(0xffffff)
- itype:
- 返回值及类型:
- code:
bool
成功(true)
- code:
- 该方法的主要作用: 设置天空盒滤镜参数
- 具体使用案例如下:
lua
local result = World:SetSkyBoxFilter(Player:GetHostUin(), SkyboxFilter.Contrast, 50)
SetSkyBoxSwitch
- 参数及类型:
- time:
number
游戏时间 - itype:
number
参数类型(SkyboxSwitch)SkyboxSwitch - value:
number
参数值(0~1)
- time:
- 返回值及类型:
- code:
bool
成功(true)
- code:
- 该方法的主要作用: 天空盒属性开关
- 具体使用案例如下:
lua
local result = World:SetSkyBoxSwitch(SkyboxTime.Current, SkyboxSwitch.Fogenable, true)
SetSkyBoxMapsAnim
- 参数及类型:
- 返回值及类型:
- code:
bool
成功(true)
- code:
- 该方法的主要作用: 设置天空盒贴图(带动效)
- 具体使用案例如下:
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
动画时间
- itype:
- 返回值及类型:
- code:
bool
成功(true)
- code:
- 该方法的主要作用: 设置天空盒滤镜参数(带动效)
- 具体使用案例如下:
lua
local result = World:SetSkyBoxFilterAnim(Player:GetHostUin(), SkyboxFilter.Color, [=[0xffee58]=], Easing.Linear, 1)
GetDirRayDetection
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取对象到某个方向上的射线检测目标
- 具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local id = World:GetDirRayDetection({x, y, z}, {x + 10, y, z}, 100, RayDetectType.ActorType)
GetRayLength
- 参数及类型:
- 返回值及类型:
- ret:
number
距离
- ret:
- 该方法的主要作用: 计算指定方向射线长度(遇到方块结束)
- 具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local length = World:GetRayLength(x, y, z, x, y + 20, z, 100)
GetRayBlock
- 参数及类型:
- 返回值及类型:
- ret:
number
方块ID
- ret:
- 该方法的主要作用: 射线打到的方块类型(遇到方块结束)
- 具体使用案例如下:
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local block = World:GetRayBlock(x, y, z, FaceDir.NegY, 100)
CalcDirectionByYawDirection
- 参数及类型:
- 返回值及类型:
- ret:table:绝对方向向量{x: number
- y: number
- z: number}
- 该方法的主要作用: 通过局部坐标方向计算绝对正方向(忽略视角仰角)
- 具体使用案例如下:
lua
local direction = World:CalcDirectionByYawDirection(Player:GetHostUin(), 100, 100, 100)
CalcDirectionByYawAngle
- 参数及类型:
- 返回值及类型:
- ret:table:绝对方向向量{x: number
- y: number
- z: number}
- 该方法的主要作用: 通过局部球坐标方向计算绝对正方向(忽略视角仰角)
- 具体使用案例如下:
lua
local direction = World:CalcDirectionByYawAngle(Player:GetHostUin(), 30, 45)
CalcDirectionByCoord
- 参数及类型:
- 返回值及类型:
- ret:table:绝对方向向量{x: number
- y: number
- z: number}
- 该方法的主要作用: 绝对坐标方向
- 具体使用案例如下:
lua
local direction = World:CalcDirectionByCoord(10 ,20, 30)
CalcDirectionByAngle
- 参数及类型:
- 返回值及类型:
- ret:table:绝对方向向量{x: number
- y: number
- z: number}
- 该方法的主要作用: 角度坐标方向
- 具体使用案例如下:
lua
local direction = World:CalcDirectionByAngle(45, 45)
RandomParticleEffectID
- 参数及类型: 无
- 返回值及类型:
- ret:
number
特效ID
- ret:
- 该方法的主要作用: 随机特效类型,随机返回一种特效ID
- 具体使用案例如下:
lua
local id = World:RandomParticleEffectID()
RandomSoundID
- 参数及类型: 无
- 返回值及类型:
- ret:
number
音效ID
- ret:
- 该方法的主要作用: 随机音效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
两点之间的距离
- ret:
- 该方法的主要作用: 计算两个三维坐标之间的距离
- 具体使用案例如下:
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
- groupid:
- 返回值及类型:
- ret:
boolean
设置成功(true)或失败(false)
- ret:
- 该方法的主要作用: 设置天气组的天气状态
- 具体使用案例如下:
lua
local result = World:SetGroupWeather(WeatherGroup.Common, GroupWeatherType.Shine)
RandomWeatherID
- 参数及类型: 无
- 返回值及类型:
- ret:
number
随机出来的天气ID
- ret:
- 该方法的主要作用: 随机天气
- 具体使用案例如下:
lua
local id = World:RandomWeatherID()
GetGroupWeather
lua
local weather = World:GetGroupWeather(WeatherGroup.Common)
SetSpawnPoint
lua
local x, y, z = Actor:GetPosition(Player:GetHostUin())
local result = World:SetSpawnPoint(x, y, z)
CalcDirectionByPos2Pos
lua
local ret = World:CalcDirectionByPos2Pos(pos1, pos2)