Skip to content

世界模块管理接口 World

具体函数名及描述如下:

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

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)

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)

GetGravity

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

CanMobSpawnOnPosXZ

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 获取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

  • 参数及类型:
    • uin:number玩家uin
    • 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

  • 参数及类型:
    • uin:number玩家uin
    • 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

  • 参数及类型: 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)
  • 该方法的主要作用: 设置某玩家天空盒全部时间点的颜色参数(带动效)
  • 具体使用案例如下:
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

  • 参数及类型:
  • 返回值及类型:
    • 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 x, y, z = Actor:GetPosition(Player:GetHostUin())

    local id = World:GetDirRayDetection({x, y, z}, {x + 10, y, z}, 100, RayDetectType.ActorType)

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