MiscService
其他服务
枚举列表
MiscService.EQueryableObjectType
- 描述: 可查询对象类型
| 成员名称 | 成员说明 | 
|---|---|
| Character | 角色 | 
| Creature | 生物 | 
| Element | 元件 | 
| LogicElement | 逻辑元件 | 
| Player | 玩家 | 
| TriggerBox | 触发盒 | 
MiscService.EStringConvertibleType
- 描述: 可转义对象类型
| 成员名称 | 成员说明 | 
|---|---|
| Boolean | 布尔 | 
| Number | 数字 | 
| String | 字符串 | 
| Vector | 向量 | 
| Player | 玩家 | 
| Character | 角色 | 
| Creature | 生物 | 
| Element | 元件 | 
| LogicElement | 逻辑元件 | 
| SignalBox | 信号盒 | 
| Item | 道具 | 
| MotionUnit | 运动单元 | 
| Effect | 特效 | 
| Audio | 音效 | 
MiscService.ETimeUnit
- 描述: 时间对象类型
| 成员名称 | 成员说明 | 
|---|---|
| Year | 年 | 
| Month | 月 | 
| Day | 日 | 
| Hour | 时 | 
| Min | 分 | 
| Sec | 秒 | 
MiscService.EQuitGameTextType
- 描述: 中途退出弹窗提示文本类型
| 成员名称 | 成员说明 | 
|---|---|
| Content | 内容文本 | 
| Confirm | 确认键文本 | 
| Cancel | 取消键文本 | 
MiscService.GRAPHICS_QUALITY
- 描述: 游戏画质
| 成员名称 | 成员说明 | 
|---|---|
| Low | 节能,值为:1 | 
| Standard | 标准,值为:2 | 
| High | 高清,值为:3 | 
| Best | 极致,值为:4 | 
MiscService.DEVICE_LEVEL
- 描述: 设备等级
| 成员名称 | 成员说明 | 
|---|---|
| High | 高端机,值为:0 | 
| High_Mid | 中高端机,值为:1 | 
| Middle | 中端机,值为:2 | 
| Middle_Low | 中低端机,值为:3 | 
| Low | 低端机,值为:4 | 
MiscService.ELogParamKey
- 描述: 日志参数
| 成员名称 | 成员说明 | 
|---|---|
| Param1 | 参数1 | 
| Param2 | 参数2 | 
| Param3 | 参数3 | 
| Param4 | 参数4 | 
| Param5 | 参数5 | 
| Param6 | 参数6 | 
| Param7 | 参数7 | 
| Param8 | 参数8 | 
| Param9 | 参数9 | 
| Param10 | 参数10 | 
函数列表
SetMidJoinOpen
- 
描述: 是否允许玩家中途加入地图 
- 
范围: 服务端 
- 
警告: 需要开启【地图设置】-【玩法设置】-【支持中途加入】 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| IsOpen | boolean | 是否允许中途加入 | 
MiscService:SetMidJoinOpen(true)SetPlayerEnterOB
- 
描述: 让玩家进入观战模式 
- 
描述: 仅多人模式生效,游戏人数需大于一人 
- 
范围: 客户端 
MiscService:SetPlayerEnterOB()SetPlayerLeaveOB
- 
描述: 让玩家退出观战模式 
- 
范围: 客户端 
MiscService:SetPlayerLeaveOB()TakePhoto
- 
描述: 让玩家拍照 
- 
范围: 客户端 
MiscService:TakePhoto()IsObjectExist
- 
描述: 判断对象是否存在于游戏内。支持角色|生物|元件|逻辑元件|触发盒 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ObjType | MiscService.EQueryableObjectType | 对象类型 | 
| ObjID | number | 对象ID | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| isExist | boolean | 是否存在 | 
local playerId = MiscService:GetHomeOwner()MiscService:IsObjectExist(MiscService.EQueryableObjectType.Player, playerId)IsObjectEqual
- 
描述: 判断对象是否相等 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| Object1 | any | 对象1 | 
| Object2 | any | 对象2 | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| isEqual | boolean | 是否相等 | 
local playerId = Character:GetPlayerBySideAndIndex(1, 1)local ownerId = MiscService:GetHomeOwner()MiscService:IsObjectEqual(ownerId, playerId)ObjectToString
- 
描述: 对象转字符串 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ObjType | MiscService.EStringConvertibleType | 对象类型 | 
| Obj | any | 即将转换的对象 | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| str | string | 对象的可读信息 | 
local playerId = MiscService:GetHomeOwner()local position = Character:GetPosition(playerId)MiscService:ObjectToString(MiscService.EStringConvertibleType.Vector, position)RandomColor
- 
描述: 获取随机颜色 
- 
范围: 服务端、客户端 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| color | string | 颜色,十六进制代码:#FFFFFFFF | 
MiscService:RandomColor()GetPassedRuntime
- 
描述: 获取当前游戏时间 
- 
范围: 服务端 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| time | number | 游戏启动时间,单位秒 | 
MiscService:GetPassedRuntime()DateYMDHMSToTime
- 
描述: 时间单位(年-月-日 时:分:秒)转换为时间戳 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| Completetime | string | 包含年月日的完整字符串 | 
| Option | MiscService.ETimeUnit | 时间对象类型(可不填) | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| time | number | 时间戳 | 
MiscService:DateYMDHMSToTime("2023-12-15 07:00:00", MiscService.ETimeUnit.Year) --2023MiscService:DateYMDHMSToTime("2023-12-15 07:00:00") --1702594800GetServerTimeToTime
- 
描述: 获取服务器时间,以格式YYYY-MM-DD HH:MM:SS返回 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| Option | MiscService.ETimeUnit | 时间对象类型(可不填) | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| time | string | 服务器时间 | 
--假设当前时间为2023年12月15日早上7点整MiscService:GetServerTimeToTime(MiscService.ETimeUnit.Year) --2023MiscService:GetServerTimeToTime() --2023-12-15 07:00:00TimeStampToTime
- 
描述: 将时间戳转为时间单位(年-月-日 时:分:秒) 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| Timestamp | number | 时间戳 | 
| Option | MiscService.ETimeUnit | 时间对象类型(可不填) | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| time | string | 返回年月日格式字符串 | 
MiscService:TimeStampToTime(1702594800, MiscService.ETimeUnit.Year) --2023MiscService:TimeStampToTime(1702594800) --1702594800TimeStampToDateYMDHMS
- 
描述: 将时间戳转为完整时间单位(年-月-日 时:分:秒) 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| Timestamp | number | 时间戳 | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| time | string | 返回完整的年月日格式字符串 | 
MiscService:TimeStampToDateYMDHMS(1702594800) --2023-12-15 07:00:00GetLocalScreenSize
- 
描述: 获取屏幕分辨率 
- 
范围: 客户端 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| size | {X:number,Y:number} | 包含宽度(X),高度(Y)的表 | 
MiscService:GetLocalScreenSize() --{X=1920, Y=1080}NormalizeLocalScreenPos
- 
描述: 屏幕坐标归一化 
- 
范围: 客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ScreenX | number | 屏幕上X坐标 | 
| ScreenY | number | 屏幕上Y坐标 | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| pos | {X:number,Y:number} | 归一化的屏幕坐标 | 
MiscService:GetLocalScreenSize() --{X=1920, Y=1080}MiscService:NormalizeLocalScreenPos(192,216) --{X=0.1, Y=0.2}ScreenToWorld
- 
描述: 屏幕坐标转世界坐标 
- 
范围: 客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| ScreenX | number | 屏幕上X坐标 | 
| ScreenY | number | 屏幕上Y坐标 | 
| PlaneZ | number | 在摄像机空间的深度 | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| worldPos | {X:number,Y:number,Z:number} | 世界坐标 | 
| worldDir | {X:number,Y:number,Z:number} | 摄像机方向向量 | 
local position = MiscService:ScreenToWorld(100, 200, 100) --将屏幕坐标{X=100, Y=200}转换为世界坐标Particle:PlayAtPosition(75, position, 1, true, 100) --在转换的世界坐标上创建一个特效WorldToScreenPoint
- 
描述: 世界坐标转屏幕坐标 
- 
范围: 客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| Position | Engine.Vector | 世界坐标 | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| screenPos | {X:number,Y:number} | 屏幕坐标 | 
local worldPosition = Element:GetPosition(343) --获取某个元件的世界坐标local screenPosition = MiscService:WorldToScreenPoint(worldPosition) --获取到对应的屏幕坐标GetHomeOwner
- 
描述: 获取房主玩家的ID 
- 
范围: 服务端 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| ownerID | number | 房主ID | 
MiscService:GetHomeOwner()SetQuitGameResult
- 
描述: 设置玩家中途退出结算结果 
- 
范围: 服务端 
- 
警告: 仅积分赛生效 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| Players | number[] | 玩家id数组 | 
| IsVictory | boolean | 胜利:true 失败:false | 
local players = {Character:GetPlayerBySideAndIndex(0,1)}MiscService:SetQuitGameResult(players,false)SetQuitGameText
- 
描述: 设置玩家中途退出弹窗提示 
- 
范围: 服务端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| Players | number[] | 玩家id数组 | 
| TextType | MiscService.EQuitGameTextType | 文本类型 | 
| Text | string | 文本 | 
local players = {Character:GetPlayerBySideAndIndex(0,1)}MiscService:SetQuitGameText(players,MiscService.EQuitGameTextType.Content,"text")SetGraphicsQuality
- 
描述: 设置游戏画质 
- 
范围: 客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| GraphicsQuality | MiscService.GRAPHICS_QUALITY | 画质等级 | 
MiscService:SetGraphicsQuality(MiscService.GRAPHICS_QUALITY.Low)GetGraphicsQuality
- 
描述: 获取当前游戏画质 
- 
范围: 客户端 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| graphicsQuality | MiscService.GRAPHICS_QUALITY | 当前游戏画质 | 
Log:PrintLog("Graphics Quality:", MiscService:GetGraphicsQuality())GetDeviceLevel
- 
描述: 获取当前设备等级 
- 
范围: 客户端 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| DeviceLevel | MiscService.DEVICE_LEVEL | 当前设备等级 | 
Log:PrintLog("Device Level:", MiscService:GetDeviceLevel())Log
- 
描述: 设置日志 
- 
范围: 服务端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| key | MiscService.ELogParamKey | 日志参数 | 
| value | number | 参数值 | 
MiscService:Log(MiscService.ELogParamKey.Param1,222)PushLog
- 
描述: 推送日志 
- 
范围: 服务端 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| res | boolean | 是否推送成功 | 
MiscService:Log(MiscService.ELogParamKey.Param1,222)MiscService:PushLog()Table2JsonStr
- 
描述: 将table解析成json格式的字符串 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| Table | table | 需要解析成json格式字符串的表 | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| jsonStr | string | 解析成json格式的字符串 | 
local _t = {key1 = 1, key2 = "string1", key3 = true, key4 = {key = 1}}local jsonStr = MiscService:Table2JsonStr(_t)Log:PrintLog(jsonStr)JsonStr2Table
- 
描述: 将json格式的字符串还原成table 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| JsonStr | string | json格式的字符串 | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| jsonTable | table | json格式的字符串还原出来的表 | 
local _s = '{"key2":"string1","key4":{"key":1},"key1":1,"key3":true}'local jsonTable = MiscService:JsonStr2Table(_s)Log:PrintTable(jsonTable)RandomPositionWithCapsule
- 
描述: 获取胶囊体内随机点 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| CenterPos | {X:number,Y:number,Z:number} | 胶囊体中心坐标 | 
| CapsuleRadius | number | 胶囊体的半径 | 
| CapsuleHalfHeight | number | 胶囊体的半高 | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| randomPosition | {X:number,Y:number,Z:number} | 随机点坐标 | 
local pos = MiscService:RandomPositionWithCapsule({X=500,Y=100,Z=500}, 2, 3)RandomPositionWithSphere
- 
描述: 获取球体内随机点 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| CenterPos | {X:number,Y:number,Z:number} | 球体中心坐标 | 
| SphereRadius | number | 球体的半径 | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| randomPosition | {X:number,Y:number,Z:number} | 随机点坐标 | 
local pos = MiscService:RandomPositionWithSphere({X=500,Y=100,Z=500}, 5)RandomPositionWithCube
- 
描述: 获取立方体内随机点 
- 
范围: 服务端、客户端 
参数列表:
| 参数 | 类型 | 说明 | 
|---|---|---|
| CenterPos | {X:number,Y:number,Z:number} | 立方体中心坐标 | 
| Length | number | 立方体的长 | 
| Width | number | 立方体的宽 | 
| Height | number | 立方体的高 | 
返回字段:
| 返回字段 | 字段类型 | 说明 | 
|---|---|---|
| randomPosition | {X:number,Y:number,Z:number} | 随机点坐标 | 
local pos = MiscService:RandomPositionWithCube({X=500,Y=100,Z=500}, 3, 4, 5)