跳转到内容

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

  • 描述: 是否允许玩家中途加入地图

  • 范围: 服务端

  • 警告: 需要开启【地图设置】-【玩法设置】-【支持中途加入】

参数列表:

参数类型说明
IsOpenboolean是否允许中途加入
MiscService:SetMidJoinOpen(true)

SetPlayerEnterOB

  • 描述: 让玩家进入观战模式

  • 描述: 仅多人模式生效,游戏人数需大于一人

  • 范围: 客户端

MiscService:SetPlayerEnterOB()

SetPlayerLeaveOB

  • 描述: 让玩家退出观战模式

  • 范围: 客户端

MiscService:SetPlayerLeaveOB()

TakePhoto

  • 描述: 让玩家拍照

  • 范围: 客户端

MiscService:TakePhoto()

IsObjectExist

  • 描述: 判断对象是否存在于游戏内。支持角色|生物|元件|逻辑元件|触发盒

  • 范围: 服务端、客户端

参数列表:

参数类型说明
ObjTypeMiscService.EQueryableObjectType对象类型
ObjIDnumber对象ID

返回字段:

返回字段字段类型说明
isExistboolean是否存在
local playerId = MiscService:GetHomeOwner()
MiscService:IsObjectExist(MiscService.EQueryableObjectType.Player, playerId)

IsObjectEqual

  • 描述: 判断对象是否相等

  • 范围: 服务端、客户端

参数列表:

参数类型说明
Object1any对象1
Object2any对象2

返回字段:

返回字段字段类型说明
isEqualboolean是否相等
local playerId = Character:GetPlayerBySideAndIndex(1, 1)
local ownerId = MiscService:GetHomeOwner()
MiscService:IsObjectEqual(ownerId, playerId)

ObjectToString

  • 描述: 对象转字符串

  • 范围: 服务端、客户端

参数列表:

参数类型说明
ObjTypeMiscService.EStringConvertibleType对象类型
Objany即将转换的对象

返回字段:

返回字段字段类型说明
strstring对象的可读信息
local playerId = MiscService:GetHomeOwner()
local position = Character:GetPosition(playerId)
MiscService:ObjectToString(MiscService.EStringConvertibleType.Vector, position)

RandomColor

  • 描述: 获取随机颜色

  • 范围: 服务端、客户端

返回字段:

返回字段字段类型说明
colorstring颜色,十六进制代码:#FFFFFFFF
MiscService:RandomColor()

GetPassedRuntime

  • 描述: 获取当前游戏时间

  • 范围: 服务端

返回字段:

返回字段字段类型说明
timenumber游戏启动时间,单位秒
MiscService:GetPassedRuntime()

DateYMDHMSToTime

  • 描述: 时间单位(年-月-日 时:分:秒)转换为时间戳

  • 范围: 服务端、客户端

参数列表:

参数类型说明
Completetimestring包含年月日的完整字符串
OptionMiscService.ETimeUnit时间对象类型(可不填)

返回字段:

返回字段字段类型说明
timenumber时间戳
MiscService:DateYMDHMSToTime("2023-12-15 07:00:00", MiscService.ETimeUnit.Year) --2023
MiscService:DateYMDHMSToTime("2023-12-15 07:00:00") --1702594800

GetServerTimeToTime

  • 描述: 获取服务器时间,以格式YYYY-MM-DD HH:MM:SS返回

  • 范围: 服务端、客户端

参数列表:

参数类型说明
OptionMiscService.ETimeUnit时间对象类型(可不填)

返回字段:

返回字段字段类型说明
timestring服务器时间
--假设当前时间为2023年12月15日早上7点整
MiscService:GetServerTimeToTime(MiscService.ETimeUnit.Year) --2023
MiscService:GetServerTimeToTime() --2023-12-15 07:00:00

TimeStampToTime

  • 描述: 将时间戳转为时间单位(年-月-日 时:分:秒)

  • 范围: 服务端、客户端

参数列表:

参数类型说明
Timestampnumber时间戳
OptionMiscService.ETimeUnit时间对象类型(可不填)

返回字段:

返回字段字段类型说明
timestring返回年月日格式字符串
MiscService:TimeStampToTime(1702594800, MiscService.ETimeUnit.Year) --2023
MiscService:TimeStampToTime(1702594800) --1702594800

TimeStampToDateYMDHMS

  • 描述: 将时间戳转为完整时间单位(年-月-日 时:分:秒)

  • 范围: 服务端、客户端

参数列表:

参数类型说明
Timestampnumber时间戳

返回字段:

返回字段字段类型说明
timestring返回完整的年月日格式字符串
MiscService:TimeStampToDateYMDHMS(1702594800) --2023-12-15 07:00:00

GetLocalScreenSize

  • 描述: 获取屏幕分辨率

  • 范围: 客户端

返回字段:

返回字段字段类型说明
size{X:number,Y:number}包含宽度(X),高度(Y)的表
MiscService:GetLocalScreenSize() --{X=1920, Y=1080}

NormalizeLocalScreenPos

  • 描述: 屏幕坐标归一化

  • 范围: 客户端

参数列表:

参数类型说明
ScreenXnumber屏幕上X坐标
ScreenYnumber屏幕上Y坐标

返回字段:

返回字段字段类型说明
pos{X:number,Y:number}归一化的屏幕坐标
MiscService:GetLocalScreenSize() --{X=1920, Y=1080}
MiscService:NormalizeLocalScreenPos(192,216) --{X=0.1, Y=0.2}

ScreenToWorld

  • 描述: 屏幕坐标转世界坐标

  • 范围: 客户端

参数列表:

参数类型说明
ScreenXnumber屏幕上X坐标
ScreenYnumber屏幕上Y坐标
PlaneZnumber在摄像机空间的深度

返回字段:

返回字段字段类型说明
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

  • 描述: 世界坐标转屏幕坐标

  • 范围: 客户端

参数列表:

参数类型说明
PositionEngine.Vector世界坐标

返回字段:

返回字段字段类型说明
screenPos{X:number,Y:number}屏幕坐标
local worldPosition = Element:GetPosition(343) --获取某个元件的世界坐标
local screenPosition = MiscService:WorldToScreenPoint(worldPosition) --获取到对应的屏幕坐标

GetHomeOwner

  • 描述: 获取房主玩家的ID

  • 范围: 服务端

返回字段:

返回字段字段类型说明
ownerIDnumber房主ID
MiscService:GetHomeOwner()

SetQuitGameResult

  • 描述: 设置玩家中途退出结算结果

  • 范围: 服务端

  • 警告: 仅积分赛生效

参数列表:

参数类型说明
Playersnumber[]玩家id数组
IsVictoryboolean胜利:true 失败:false
local players = {Character:GetPlayerBySideAndIndex(0,1)}
MiscService:SetQuitGameResult(players,false)

SetQuitGameText

  • 描述: 设置玩家中途退出弹窗提示

  • 范围: 服务端

参数列表:

参数类型说明
Playersnumber[]玩家id数组
TextTypeMiscService.EQuitGameTextType文本类型
Textstring文本
local players = {Character:GetPlayerBySideAndIndex(0,1)}
MiscService:SetQuitGameText(players,MiscService.EQuitGameTextType.Content,"text")

SetGraphicsQuality

  • 描述: 设置游戏画质

  • 范围: 客户端

参数列表:

参数类型说明
GraphicsQualityMiscService.GRAPHICS_QUALITY画质等级
MiscService:SetGraphicsQuality(MiscService.GRAPHICS_QUALITY.Low)

GetGraphicsQuality

  • 描述: 获取当前游戏画质

  • 范围: 客户端

返回字段:

返回字段字段类型说明
graphicsQualityMiscService.GRAPHICS_QUALITY当前游戏画质
Log:PrintLog("Graphics Quality:", MiscService:GetGraphicsQuality())

GetDeviceLevel

  • 描述: 获取当前设备等级

  • 范围: 客户端

返回字段:

返回字段字段类型说明
DeviceLevelMiscService.DEVICE_LEVEL当前设备等级
Log:PrintLog("Device Level:", MiscService:GetDeviceLevel())

Log

  • 描述: 设置日志

  • 范围: 服务端

参数列表:

参数类型说明
keyMiscService.ELogParamKey日志参数
valuenumber参数值
MiscService:Log(MiscService.ELogParamKey.Param1,222)

PushLog

  • 描述: 推送日志

  • 范围: 服务端

返回字段:

返回字段字段类型说明
resboolean是否推送成功
MiscService:Log(MiscService.ELogParamKey.Param1,222)
MiscService:PushLog()

Table2JsonStr

  • 描述: 将table解析成json格式的字符串

  • 范围: 服务端、客户端

参数列表:

参数类型说明
Tabletable需要解析成json格式字符串的表

返回字段:

返回字段字段类型说明
jsonStrstring解析成json格式的字符串
local _t = {key1 = 1, key2 = "string1", key3 = true, key4 = {key = 1}}
local jsonStr = MiscService:Table2JsonStr(_t)
Log:PrintLog(jsonStr)

JsonStr2Table

  • 描述: 将json格式的字符串还原成table

  • 范围: 服务端、客户端

参数列表:

参数类型说明
JsonStrstringjson格式的字符串

返回字段:

返回字段字段类型说明
jsonTabletablejson格式的字符串还原出来的表
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}胶囊体中心坐标
CapsuleRadiusnumber胶囊体的半径
CapsuleHalfHeightnumber胶囊体的半高

返回字段:

返回字段字段类型说明
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}球体中心坐标
SphereRadiusnumber球体的半径

返回字段:

返回字段字段类型说明
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}立方体中心坐标
Lengthnumber立方体的长
Widthnumber立方体的宽
Heightnumber立方体的高

返回字段:

返回字段字段类型说明
randomPosition{X:number,Y:number,Z:number}随机点坐标
local pos = MiscService:RandomPositionWithCube({X=500,Y=100,Z=500}, 3, 4, 5)