Skip to content

世界模块管理接口 World

具体函数名及描述如下:

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

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 lv = World:GetLightByPos(x, y, z)

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

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

  • 参数及类型: 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", {posX = x,  posZ = 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 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