Skip to content

世界模块管理接口 World

具体函数名及描述如下:

序号函数名函数描述
1StopParticleOnPos(...)停止指定位置的特效
2SetParticleTransform(...)设置指定位置的特效偏移 旋转 缩放
3PlayParticle(...)在指定位置播放特效
4GetLightByPos(...)获取光照强度
5SpawnCreature(...)生成生物(包括怪物、NPC、动物等)
6DespawnActor(...)移除生物
7GetPlayerTotal(...)获取全部玩家数量
8GetAllPlayers(...)获取全部玩家
9GetSpawnPoint(...)获取默认出生点
10FindCanSpawnMobPosList(...)获取附近合适的生物出生点位置(方块坐标单位)
11FindNearestPlayerByPos(...)获取距离某点最近的玩家(方块坐标单位)
12PlaySoundEffectOnPos(...)在指定位置上播放指定音效
13StopSoundEffectOnPos(...)停止指定位置上的指定音效
14PauseSoundEffectOnPos(...)暂停/恢复指定位置上的指定音效
15IsDaytime(...)是否是白天
16SetHours(...)设置游戏当前时间(小时)
17GetHours(...)获取游戏当前时间(小时)
18GetDay(...)获取游戏当前天数
19SetGravity(...)设置重力
20AddGravity(...)增加重力
21GetGravity(...)获取重力
22CanMobSpawnOnPosXZ(...)获取XZ位置上是否可创建生物 并返回对应的Y轴位置
23GetCurMapId(...)获取当前地图的mapid
24SpawnProjectile(...)生成投掷物
25SpawnProjectileByDir(...)生成投掷物
26GetBiomeType(...)获取某个位置的地形类型
27GetBiomeGroup(...)获取地形类型所属的地形组类型
28FindEcosystem(...)查找地形位置
29PixelMapAddMarker(...)地图增加标记
30PixelMapRefreshMarker(...)地图刷新标记
31PixelMapDelMarker(...)地图删除标记
32PixelMapAddTexture(...)地图增加纹理标签
33PixelMapRefreshTexture(...)地图刷新纹理标签
34PixelMapDelTexture(...)开发者删除1个纹理
35SetSkyBoxColorAnim(...)设置某玩家天空盒全部时间点的颜色参数(带动效)
36SetTimeVanishingSpeed(...)设置天空盒时间流逝速度
37SetSkyBoxTemplate(...)设置天空盒模板
38SetSkyBoxMaps(...)设置天空盒贴图
39SetSkyBoxColor(...)设置天空盒颜色参数
40SetSkyBoxAttr(...)设置天空盒属性参数
41SetSkyBoxFilter(...)设置天空盒滤镜参数
42SetSkyBoxSwitch(...)天空盒属性开关
43SetSkyBoxMapsAnim(...)设置天空盒贴图(带动效)
44SetSkyBoxFilterAnim(...)设置天空盒滤镜参数(带动效)
45GetDirRayDetection(...)获取对象到某个方向上的射线检测目标
46GetRayLength(...)计算指定方向射线长度(遇到方块结束)
47GetRayBlock(...)射线打到的方块类型(遇到方块结束)
48CalcDirectionByYawDirection(...)通过局部坐标方向计算绝对正方向(忽略视角仰角)
49CalcDirectionByYawAngle(...)通过局部球坐标方向计算绝对正方向(忽略视角仰角)
50CalcDirectionByCoord(...)绝对坐标方向
51CalcDirectionByAngle(...)角度坐标方向
52RandomParticleEffectID(...)随机特效类型,随机返回一种特效ID
53RandomSoundID(...)随机音效ID,随机返回一种音效ID
54CalcDistance(...)计算两个三维坐标之间的距离
55SetGroupWeather(...)设置天气组的天气状态
56RandomWeatherID(...)随机天气
57GetGroupWeather(...)获取天气组天气
58SetSpawnPoint(...)设置出生点
59CalcDirectionByPos2Pos(...)位置到位置的单位方向
60SetWorldCreateMobRule(...)设置世界创建生物规则(设置不保存,退出游戏后失效, 只适用迷拉星)
61SetMobSpawnDensity(...)设置生物生成密度(设置不保存,退出游戏后失效, 只适用迷拉星)
62SetPlantGrowRate(...)设置农作物生长时间要求修正,在原来的时间上乘以系数设置不保存,退出游戏后失效, 只适用迷拉星)
63SetInnerViewEnable(...)设置游戏内的界面是否禁用
64SetMidJoin(...)设置是否可中途加入
65GetGameMode(...)获取游戏模式
66SetLightByPos(...)设置光照强度

StopParticleOnPos

  • 参数及类型:
  • 返回值及类型:
    • code:bool成功(true)
  • 该方法的主要作用: 停止指定位置的特效
  • 具体使用案例如下:
lua
    local x, y, z = Actor:GetPosition(Player:GetHostUin())

    local result = World:StopParticleOnPos(x, y, z, 1001)

SetParticleTransform

  • 参数及类型:
    • pos:table位置(米)
    • particleIdArg:number或者number数组特效id
    • offset:table偏移(米)
    • rot:table旋转
    • scale:table特效缩放大小
  • 返回值及类型:
    • 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})

PlayParticle

  • 参数及类型:
    • pos:table位置(米)
    • particleIdArg:number或者number数组特效id
    • ptimeArg:number播放时长(单位:秒,非循环特效如果时长大于一次播放时长,将会重复播放)
    • offset:table偏移(米)
    • rot:table旋转
    • scale:table特效缩放大小
  • 返回值及类型:
    • code:bool成功(true)
  • 该方法的主要作用: 在指定位置播放特效
  • 具体使用案例如下:
lua
    local x, y, z = Actor:GetPosition(Player:GetHostUin())

    local result = World:PlayParticle({x = x, y = y, z = z}, 1001, 2)

GetLightByPos

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 获取光照强度
  • 具体使用案例如下:
lua
    local light = World:GetLightByPos(x, y, z)

    print("获取光照强度 ", light)

SpawnCreature

  • 参数及类型:
    • x,y,z:number方块坐标
    • actorid:number,string生物类型
    • num:number生成数量
    • trigger:boolean是否触发事件
  • 返回值及类型:
  • 该方法的主要作用: 生成生物(包括怪物、NPC、动物等)
  • 具体使用案例如下:
lua
    local x1, y1, z1 = Actor:GetPosition(Player:GetHostUin())

    local creatures = World:SpawnCreature(x1 + 5, y1 + 1, z1, 3400)

DespawnActor

  • 参数及类型:
  • 返回值及类型:
    • code:bool成功(true)
  • 该方法的主要作用: 移除生物
  • 具体使用案例如下:
lua
    local result = World:DespawnActor(creatureId)

GetPlayerTotal

  • 参数及类型:
    • alive:number玩家状态(0表示阵亡,1表示存活,默认-1表示全体玩家)
  • 返回值及类型:
  • 该方法的主要作用: 获取全部玩家数量
  • 具体使用案例如下:
lua
    local total = World:GetPlayerTotal()

GetAllPlayers

  • 参数及类型:
    • alive:number玩家状态(0表示阵亡,1表示存活,默认-1表示全体玩家)
  • 返回值及类型:
  • 该方法的主要作用: 获取全部玩家
  • 具体使用案例如下:
lua
    local players = World:GetAllPlayers()

GetSpawnPoint

  • 参数及类型: 无
  • 返回值及类型:
  • 该方法的主要作用: 获取默认出生点
  • 具体使用案例如下:
lua
    local x, y, z = World:GetSpawnPoint()

FindCanSpawnMobPosList

  • 参数及类型:
    • centerX,centerY,centerZ:number中心位置
    • radius:number半径
    • includeCenterPos:boolean是否包含中心位置(默认true)
  • 返回值及类型:
    • posList:table位置列表
  • 该方法的主要作用: 获取附近合适的生物出生点位置(方块坐标单位)
  • 具体使用案例如下:
lua
    local x, y, z = Actor:GetPosition(Player:GetHostUin())

    local posList = World:FindCanSpawnMobPosList(x, y, z, 10)

    if posList then

        for i, v in ipairs(posList) do

            print("可以创建生物位置", v.x, v.y, v.z)

        end

    end

FindNearestPlayerByPos

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 获取距离某点最近的玩家(方块坐标单位)
  • 具体使用案例如下:
lua
    local playerId = World:FindNearestPlayerByPos(x, y, z)

PlaySoundEffectOnPos

  • 参数及类型:
  • 返回值及类型:
    • 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)

StopSoundEffectOnPos

  • 参数及类型:
  • 返回值及类型:
    • code:bool成功(true)
  • 该方法的主要作用: 停止指定位置上的指定音效
  • 具体使用案例如下:
lua
    local x, y, z = Actor:GetPosition(Player:GetHostUin())

    local result = World:StopSoundEffectOnPos({x = x, y = y, z = z}, 10946)

PauseSoundEffectOnPos

  • 参数及类型:
  • 返回值及类型:
    • code:bool成功(true)
  • 该方法的主要作用: 暂停/恢复指定位置上的指定音效
  • 具体使用案例如下:
lua
    local x, y, z = Actor:GetPosition(Player:GetHostUin())

    local result = World:PauseSoundEffectOnPos({x = x, y = y, z = z}, 10946, true)

IsDaytime

  • 参数及类型: 无
  • 返回值及类型:
    • isDaytime:bool是否白天
  • 该方法的主要作用: 是否是白天
  • 具体使用案例如下:
lua
    local isDaytime = World:IsDaytime()

SetHours

  • 参数及类型:
  • 返回值及类型:
    • code:bool成功(true)
  • 该方法的主要作用: 设置游戏当前时间(小时)
  • 具体使用案例如下:
lua
    local result = World:SetHours(2)

GetHours

  • 参数及类型: 无
  • 返回值及类型:
  • 该方法的主要作用: 获取游戏当前时间(小时)
  • 具体使用案例如下:
lua
    local hours = World:GetHours()

GetDay

  • 参数及类型: 无
  • 返回值及类型:
  • 该方法的主要作用: 获取游戏当前天数
  • 具体使用案例如下:
lua
    local day = World:GetDay()

SetGravity

  • 参数及类型:
  • 返回值及类型:
    • code:bool成功(true)
  • 该方法的主要作用: 设置重力
  • 具体使用案例如下:
lua
    local result = World:SetGravity(12)

AddGravity

  • 参数及类型:
  • 返回值及类型:
    • code:bool成功(true)
  • 该方法的主要作用: 增加重力
  • 具体使用案例如下:
lua
local code = World:AddGravity(value)

GetGravity

  • 参数及类型: 无
  • 返回值及类型:
  • 该方法的主要作用: 获取重力
  • 具体使用案例如下:
lua
    local gravity = World:GetGravity()

CanMobSpawnOnPosXZ

  • 参数及类型:
  • 返回值及类型:
    • posy:numberY轴坐标(-1表示不可创建生物)
  • 该方法的主要作用: 获取XZ位置上是否可创建生物 并返回对应的Y轴位置
  • 具体使用案例如下:
lua
    local canSpawnY = World:CanMobSpawnOnPosXZ(x,y, z)

    if canSpawnY and canSpawnY > 0 then

        print("可以创建生物位置", x, canSpawnY, z)

    end

GetCurMapId

  • 参数及类型: 无
  • 返回值及类型:
  • 该方法的主要作用: 获取当前地图的mapid
  • 具体使用案例如下:
lua
    local mapId = World:GetCurMapId()

SpawnProjectile

  • 参数及类型:
    • objid:number角色objid
    • itemid:number,string道具类型
    • x,y,z:number位置坐标
    • dstx,dsty,dstz:number目标坐标
    • speed:number速度
  • 返回值及类型:
  • 该方法的主要作用: 生成投掷物
  • 具体使用案例如下:
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
    • itemid:number,string道具类型
    • x,y,z:number位置坐标
    • dstx,dsty,dstz:number目标方向
    • speed:number速度
  • 返回值及类型:
  • 该方法的主要作用: 生成投掷物
  • 具体使用案例如下:
lua
    local x, y, z = Actor:GetPosition(Player:GetHostUin())

    local projectile = World:SpawnProjectileByDir(Player:GetHostUin(), 12051, x, y, z, 20, 5, 20, 10)

GetBiomeType

  • 参数及类型:
  • 返回值及类型:
    • ret:number地形类型 BiomeType
  • 该方法的主要作用: 获取某个位置的地形类型
  • 具体使用案例如下:
lua
    local biomeType = World:GetBiomeType(x, y)

    if biomeType == BiomeType.GrassLand then

        print("草原")

    elseif biomeType == BiomeType.Forest then

        print("森林")

    end

GetBiomeGroup

  • 参数及类型:
  • 返回值及类型:
    • biometype:number地形组类型(WeatherGroup)
  • 该方法的主要作用: 获取地形类型所属的地形组类型
  • 具体使用案例如下:
lua
    local group = World:GetBiomeGroup(x, z)

FindEcosystem

  • 参数及类型:
  • 返回值及类型:
    • 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:标记的超参数
  • 返回值及类型:
  • 该方法的主要作用: 地图增加标记
  • 具体使用案例如下:
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:标记的超参数(提供改变的参数即可)
  • 返回值及类型:
  • 该方法的主要作用: 地图刷新标记
  • 具体使用案例如下:
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
  • 返回值及类型:
  • 该方法的主要作用: 地图删除标记
  • 具体使用案例如下:
lua
    local result = World:PixelMapDelMarker(Player:GetHostUin(), "markId_123")

PixelMapAddTexture

  • 参数及类型:
    • uin:玩家ID
    • id:纹理id
    • params:纹理的超参数
  • 返回值及类型:
  • 该方法的主要作用: 地图增加纹理标签
  • 具体使用案例如下:
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:纹理的超参数(提供改变的参数即可)
  • 返回值及类型:
  • 该方法的主要作用: 地图刷新纹理标签
  • 具体使用案例如下:
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)
  • 该方法的主要作用: 设置某玩家天空盒全部时间点的颜色参数(带动效)
  • 具体使用案例如下:
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

  • 参数及类型:
  • 返回值及类型:
    • code:bool成功(true)
  • 该方法的主要作用: 设置天空盒贴图
  • 具体使用案例如下:
lua
    local result = World:SetSkyBoxMaps(SkyboxMap.Sky, [=[0_30011]=])

SetSkyBoxColor

  • 参数及类型:
  • 返回值及类型:
    • code:bool成功(true)
  • 该方法的主要作用: 设置天空盒颜色参数
  • 具体使用案例如下:
lua
    local result = World:SetSkyBoxColor(SkyboxTime.Current, SkyboxColor.Top, [=[0x1e88e5]=])

SetSkyBoxAttr

  • 参数及类型:
  • 返回值及类型:
    • code:bool成功(true)
  • 该方法的主要作用: 设置天空盒属性参数
  • 具体使用案例如下:
lua
    local result = World:SetSkyBoxAttr(SkyboxTime.Current, SkyboxAttr.SunScale, 20)

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

  • 参数及类型:
  • 返回值及类型:
    • code:bool成功(true)
  • 该方法的主要作用: 天空盒属性开关
  • 具体使用案例如下:
lua
    local result = World:SetSkyBoxSwitch(SkyboxTime.Current, SkyboxSwitch.Fogenable, true)

SetSkyBoxMapsAnim

  • 参数及类型:
  • 返回值及类型:
    • 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)

GetDirRayDetection

  • 参数及类型:
    • posbegin:table起点位置{x=0
    • y=0
    • z=0}
    • dir:table方向向量{x=floatx
    • y=floaty
    • z=floatz}
    • maxlen:number最大检测方块距离
    • picktype:number检测类型 RayDetectTypeRayDetectType
  • 返回值及类型:
  • 该方法的主要作用: 获取对象到某个方向上的射线检测目标
  • 具体使用案例如下:
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)

GetRayLength

  • 参数及类型:
    • srcx
    • srcy
    • srcz:number起点坐标
    • dstx
    • dsty
    • dstz:number终点坐标
    • distance:number最大检测距离
  • 返回值及类型:
  • 该方法的主要作用: 计算指定方向射线长度(遇到方块结束)
  • 具体使用案例如下:
lua
    local x, y, z = Actor:GetPosition(Player:GetHostUin())

    local length = World:GetRayLength(x, y, z, x, y + 20, z, 100)

GetRayBlock

  • 参数及类型:
    • srcx
    • srcy
    • srcz:number起点坐标
    • dstx
    • dsty
    • dstz:number终点坐标
    • distance:number最大检测距离
  • 返回值及类型:
  • 该方法的主要作用: 射线打到的方块类型(遇到方块结束)
  • 具体使用案例如下:
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

  • 参数及类型: 无
  • 返回值及类型:
  • 该方法的主要作用: 随机特效类型,随机返回一种特效ID
  • 具体使用案例如下:
lua
    local id = World:RandomParticleEffectID()

RandomSoundID

  • 参数及类型: 无
  • 返回值及类型:
  • 该方法的主要作用: 随机音效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

  • 参数及类型:
  • 返回值及类型:
    • 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)
  • 返回值及类型:
  • 该方法的主要作用: 获取天气组天气
  • 具体使用案例如下:
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)

SetWorldCreateMobRule

  • 参数及类型:
    • cfgs:table生物规则配置
  • 返回值及类型:
  • 该方法的主要作用: 设置世界创建生物规则(设置不保存,退出游戏后失效, 只适用迷拉星)
  • 具体使用案例如下:
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

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 设置生物生成密度(设置不保存,退出游戏后失效, 只适用迷拉星)
  • 具体使用案例如下:
lua
    local result = World:SetMobSpawnDensity(MobType.Passive, 100) -- 设置动物密度

SetPlantGrowRate

  • 参数及类型:
    • rate:number时间修正(大于0)
  • 返回值及类型:
  • 该方法的主要作用: 设置农作物生长时间要求修正,在原来的时间上乘以系数设置不保存,退出游戏后失效, 只适用迷拉星)
  • 具体使用案例如下:
lua
    local result = World:SetPlantGrowRate(0.5) -- 设置生长速度为原来的0.5倍

SetInnerViewEnable

  • 参数及类型:
  • 返回值及类型:
    • 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

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 设置光照强度
  • 具体使用案例如下:
lua
    local result = World:SetLightByPos(x, y, z, 10)

    print("设置光照强度 10 ", result)