Appearance
玩家模块管理接口 Player
具体函数名及描述如下:
GetHostUin
- 参数及类型: 无
- 返回值及类型:
- ret:
number/ nil 玩家Uin
- ret:
- 该方法的其他说明: 获取房主Uin(云服/房间服环境优先走房主Uin)
- 具体使用案例如下:
lua
local uin = Player:GetHostUin()SetGameResults
- 参数及类型:
- objid:
number玩家Uin - result:
number游戏结果(TeamResults)TeamResults
- objid:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 设置玩家的对局结果
- 具体使用案例如下:
lua
local result = Player:SetGameResults(Player:GetHostUin(), TeamResults.Win)SetGameWin
lua
local result = Player:SetGameWin(Player:GetHostUin())GetCurToolID
lua
local toolID = Player:GetCurToolID(Player:GetHostUin())GetShotcutIndex
lua
local index = Player:GetShotcutIndex(Player:GetHostUin())SetShotcutIndex
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 设置玩家当前选中快捷栏索引(1~8)
- 具体使用案例如下:
lua
local result = Player:SetShotcutIndex(Player:GetHostUin(), 2)SetSkillCD
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 设置道具技能冷却时间
- 具体使用案例如下:
lua
local result = Player:SetSkillCD(Player:GetHostUin(), 12005, 10)ReviveToPos
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 使玩家在指定方块坐标位置复活(支持传入坐标表)
- 具体使用案例如下:
lua
local result = Player:ReviveToPos(Player:GetHostUin(), x, y, z)SetRevivePoint
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 设置玩家复活点(方块坐标)
- 具体使用案例如下:
lua
local result = Player:SetRevivePoint(Player:GetHostUin(), x, y, z)NotifyGameInfo2Self
lua
local result = Player:NotifyGameInfo2Self(Player:GetHostUin(), "飘窗提示")RotateCamera
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 旋转玩家摄像机角度(支持平滑/修正Yaw)
- 具体使用案例如下:
lua
local result = Player:RotateCamera(Player:GetHostUin(), 45, 0)ShakeCamera
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 抖动玩家镜头
- 具体使用案例如下:
lua
local result = Player:ShakeCamera(Player:GetHostUin(), 1, 20)StopShakeCamera
lua
local result = Player:StopShakeCamera(Player:GetHostUin())RotateCameraToActor
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 将玩家摄像机朝向指定目标对象
- 具体使用案例如下:
lua
local result = Player:RotateCameraToActor(Player:GetHostUin(), objId)ChangeViewMode
- 参数及类型:
- objid:
number玩家Uin - viewmode:
number视角枚举(ViewPortType)ViewPortType - islock:bool是否锁定
- objid:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 切换玩家视角模式
- 具体使用案例如下:
lua
local result = Player:ChangeViewMode(Player:GetHostUin(), ViewPortType.Main, false)IsEquipByResID
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否已装备
- ret:
- 该方法的其他说明: 判断玩家是否装备了指定装备(支持资源id或道具类型)
- 具体使用案例如下:
lua
local result = Player:IsEquipByResID(Player:GetHostUin(), 12202)GetAimPos
- 参数及类型:
- objid:
number玩家Uin
- objid:
- 返回值及类型:
- 该方法的其他说明: 获取玩家准心射线命中点位置
- 具体使用案例如下:
lua
local x, y, z = Player:GetAimPos(Player:GetHostUin())GetAimDir
- 参数及类型:
- objid:
number玩家Uin
- objid:
- 返回值及类型:
- dir:
table/ nil 单位方向向量{x=单位方向x,y=单位方向y,z=单位方向z}
- dir:
- 该方法的其他说明: 获取玩家准心方向单位向量
- 具体使用案例如下:
lua
local dir = Player:GetAimDir(objid)GetRayOriginPos
- 参数及类型:
- objid:
number玩家Uin
- objid:
- 返回值及类型:
- 该方法的其他说明: 获取玩家射线检测起点位置
- 具体使用案例如下:
lua
local x,y,z = Player:GetRayOriginPos(objid)PlayMusic
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 对玩家播放2D背景音乐
- 具体使用案例如下:
lua
local result = Player:PlayMusic(Player:GetHostUin(), 10002, 100, 1, false)StopMusic
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 停止玩家播放的2D背景音乐
- 具体使用案例如下:
lua
local result = Player:StopMusic(Player:GetHostUin(), 10002)PauseMusic
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 暂停或恢复玩家播放的背景音乐
- 具体使用案例如下:
lua
local result = Player:PauseMusic(Player:GetHostUin(), 10002, true)OpenUIView
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 打开一个自定义UI界面(可选播放动作与动画时间)
- 具体使用案例如下:
lua
local result = Player:OpenUIView(Player:GetHostUin(), "7482986899365911542-22886")HideUIView
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 隐藏一个自定义UI界面(可选播放动作与动画时间)
- 具体使用案例如下:
lua
local result = Player:HideUIView(Player:GetHostUin(), "7482986899365911542-22886")GetClientInfo
- 参数及类型:
- uin:
number/ nil 玩家Uin(兼容参数,当前未使用)
- uin:
- 返回值及类型:
- ret:
number设备类型(DeviceType:1 PC 2 Android 3 iOS)
- ret:
- 该方法的其他说明: 获取当前客户端设备类型
- 具体使用案例如下:
lua
local ret = Player:GetClientInfo(uin)GetNickname
lua
local name = Player:GetNickname(objid)OpenDevGoodsBuyDialog
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 打开开发者商店商品购买弹框(开发者账号和自定义按钮点击事件可用)
- 具体使用案例如下:
lua
local ret = Player:OpenDevGoodsBuyDialog(objid, devGoodsId, customDesc)OpenDevGoodsBuyDetailedDialog
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 打开开发者商店商品详情页(仅开发者可用)
- 具体使用案例如下:
lua
local ret = Player:OpenDevGoodsBuyDetailedDialog(objid, devGoodsId)OpenDevStore
lua
local ret = Player:OpenDevStore(objid)OpenDevStoreTab
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 打开开发者商品二级分类页(仅开发者可用)
- 具体使用案例如下:
lua
local ret = Player:OpenDevStoreTab(objid, page, name)OpenDevGoodsPage
- 参数及类型:
- playerid:
number玩家Uin - pagetype:
number页面枚举值(MiniShopPage)MiniShopPage - pagetitle:
string页面标题
- playerid:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 打开开发者商店页一级页面(仅开发者可用)
- 具体使用案例如下:
lua
local ret = Player:OpenDevGoodsPage(playerid, pagetype, pagetitle)GetMiniCurrency
- 参数及类型:
- objid:
number玩家Uin - itype:
number币种类型(MiniCurrency)MiniCurrency
- objid:
- 返回值及类型:
- num:
number数量
- num:
- 该方法的其他说明: 获取本地玩家迷你币数量(阻塞等待函数)
- 具体使用案例如下:
lua
-- 获取玩家迷你币数量
local result = Player:GetMiniCurrency(playerUin, MiniCurrency.MiniCoin)
print("迷你币数量",result)GetPlayerCostStatic
- 参数及类型:
- call_back:function内部回调(缺省参数)
- playerid:
number玩家Uin - tbegin:
number开始时间 - tend:
number结束时间 - costtype:
number查询类型(MiniCurrency)MiniCurrency
- 返回值及类型:
- icount:
number消费数量(-1表示失败)
- icount:
- 该方法的其他说明: 获取玩家消费统计(有5s冷却限制,频繁调用可能失败)
- 具体使用案例如下:
lua
-- 获取玩家24小时内消耗的迷你币
local result = Player:GetPlayerCostStatic(Player:GetHostUin(), os.time() - 24 * 60 * 60, os.time(), MiniCurrency.MiniCoin)StandReportEvent
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 上报玩家自定义埋点事件
- 具体使用案例如下:
lua
local result = Player:StandReportEvent(Player:GetHostUin(), "自动测试上报")ClearMotion
lua
local result = Player:ClearMotion(Player:GetHostUin())SetMobileVibrate
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 触发玩家手机震动
- 具体使用案例如下:
lua
local result = Player:SetMobileVibrate(Player:GetHostUin(), 1, 20)GetScreenSpacePos
- 参数及类型:
- 返回值及类型: retX:number:x坐标 retY:number:y坐标
- 该方法的其他说明: 根据玩家Uin与3D坐标计算屏幕2D坐标(需要注意这里的X、Y、Z需要将方块坐标*100后来使用,例如原方块坐标为(1 ,7 ,1),则需要传入(100,700,100),之后版本会新增接口替代该接口。)
- 具体使用案例如下:
lua
local screenX, screenY = Player:GetScreenSpacePos(Player:GetHostUin(), x, y, z)GetScreenSpacePosV2
- 参数及类型:
- 返回值及类型: retX:number:x坐标 retY:number:y坐标
- 该方法的其他说明: 根据玩家Uin与方块坐标计算屏幕2D坐标(不能高频调用)
- 具体使用案例如下:
lua
local retX = Player:GetScreenSpacePosV2(playerid, x, y, z)SendFriendApply
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 向指定玩家发送好友申请
- 具体使用案例如下:
lua
local result = Player:SendFriendApply(Player:GetHostUin(), friendUin)SetCameraPosTransformTo
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 让玩家摄像机插值移动到指定位置
- 具体使用案例如下:
lua
local result = Player:SetCameraPosTransformTo(Player:GetHostUin(), {x = 0, y = 100, z = 0}, Easing.ExpoIn, 0.2)SetCameraRotTransformTo
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 让玩家摄像机插值旋转到指定角度
- 具体使用案例如下:
lua
local result = Player:SetCameraRotTransformTo(Player:GetHostUin(), {x = 0, y = 45, z = 0}, Easing.Linear, 1)SetCameraFovTransformTo
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 让玩家摄像机插值调整到指定FOV
- 具体使用案例如下:
lua
local result = Player:SetCameraFovTransformTo(Player:GetHostUin(), 60, Easing.Linear, 1)SetCameraPosTransformBy
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 在当前相机位置基础上再移动一段距离,镜头会平滑跟过去;传入的是相对偏移,不是地图上的目标点坐标。
- 具体使用案例如下:
lua
local result = Player:SetCameraPosTransformBy(Player:GetHostUin(), {x = 0, y = 0, z = 100}, Easing.Linear, 1)SetCameraRotTransformBy
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 让玩家摄像机按相对角度进行插值旋转
- 具体使用案例如下:
lua
-- 摄像机线性旋转,时间1秒
local result = Player:SetCameraRotTransformBy(Player:GetHostUin(), {x = 0, y = 100, z = 0}, Easing.Linear, 1)SetCameraFovTransformBy
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 在当前视野(FOV)基础上再增减一段,平滑过渡;传入的是相对变化量,不是要设成的最终FOV。
- 具体使用案例如下:
lua
local result = Player:SetCameraFovTransformBy(Player:GetHostUin(), 45, Easing.Linear, 1)SetCameraAttrState
- 参数及类型:
- playerid:
number玩家Uin - attr:
number摄像机属性(CameraModel)CameraModel - enable:bool是否启用
- playerid:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 设置玩家摄像机属性开关
- 具体使用案例如下:
lua
local result = Player:SetCameraAttrState(Player:GetHostUin(), CameraModel.MoveFollow, true)SetCameraRotMode
- 参数及类型:
- playerid:
number玩家Uin - attr:
number摄像机旋转模式(CameraRotate)CameraRotate
- playerid:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 设置玩家摄像机旋转模式
- 具体使用案例如下:
lua
local result = Player:SetCameraRotMode(Player:GetHostUin(), CameraRotate.AllDir)SetCameraMountObj
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 将玩家摄像机挂载到指定对象
- 具体使用案例如下:
lua
local result = Player:SetCameraMountObj(Player:GetHostUin(), playerUin)SetCameraMountPos
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 将玩家摄像机挂载到指定位置
- 具体使用案例如下:
lua
local result = Player:SetCameraMountPos(Player:GetHostUin(), {x = x, y = y, z = z})ResetCameraAttr
lua
local result = Player:ResetCameraAttr(Player:GetHostUin())OpenBoxByPos
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 打开指定坐标处的箱子
- 具体使用案例如下:
lua
local result = Player:OpenBoxByPos(Player:GetHostUin(), x, y, z)GetFirstInviter
- 参数及类型:
- call_back:function内部回调(缺省参数)
- objid:
number被邀请玩家Uin
- 返回值及类型:
- uin:
number/ nil 邀请人玩家Uin(失败时回调错误码number)
- uin:
- 该方法的其他说明: 获取玩家首次邀请人(阻塞接口,触发请求间隔10s)
- 具体使用案例如下:
lua
local inviterUin = Player:GetFirstInviter(Player:GetHostUin())HasFriend
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功上报
- ret:
- 该方法的其他说明: 判断目标玩家是否为好友(阻塞接口)
- 具体使用案例如下:
lua
local result = Player:HasFriend(Player:GetHostUin(), "123456")GetMiniVipLevel
lua
local level = Player:GetMiniVipLevel(Player:GetHostUin())ChangPlayerMoveType
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 改变玩家移动方式
- 具体使用案例如下:
lua
local result = Player:ChangPlayerMoveType(Player:GetHostUin(), MoveType.Flying)PlayAdvertising
- 参数及类型:
- 返回值及类型:
- 该方法的其他说明: 触发器播放广告接口
- 具体使用案例如下:
lua
local code,uin,adname = Player:PlayAdvertising(Player:GetHostUin(),'测试广告')
if code == ErrorCode.OK then
print("广告播放成功")
else
print("广告播放失败")
endOpenInnerView
- 参数及类型:
- uin:
number玩家Uin - iview:
number弹窗类型枚举(InnerPopUpview)InnerPopUpview - bopen:bool是否打开
- data:any / nil 弹窗附加数据(如储物箱需传入位置)
- uin:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 控制玩家侧游戏内弹窗显示与隐藏
- 具体使用案例如下:
lua
local result = Player:OpenInnerView(Player:GetHostUin(), InnerPopUpview.InviteFriend, true)
local result2 = Player:OpenInnerView(Player:GetHostUin(),InnerPopUpview.StorageBox, true,{x=0,y = 7,z = 0}) -- 打开坐标(0 7 0)位置的储物箱SetItemAttAction
- 参数及类型:
- objid:
number玩家Uin - itemid:
number/string道具ID或资源ID - atttype:
number能力枚举(ItemAbility)ItemAbility - switch:bool是否开启
- objid:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 设置玩家道具能力开关(如是否可掉落,是否可丢弃)
- 具体使用案例如下:
lua
local result = Player:SetItemAttAction(Player:GetHostUin(), 10025, ItemAbility.Drop, true)ForceOpenBoxUI
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 强制打开指定箱子/工作台UI
- 具体使用案例如下:
lua
local result = Player:ForceOpenBoxUI(Player:GetHostUin(), WorkStage.Repair)ItemSkillCDEnter
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 让指定道具技能进入冷却(可指定CD时长)
- 具体使用案例如下:
lua
local result = Player:ItemSkillCDEnter(Player:GetHostUin(), 12005)ItemSkillCDDone
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 结束指定道具技能冷却
- 具体使用案例如下:
lua
local result = Player:ItemSkillCDDone(Player:GetHostUin(), 12005)SetGunActionState
- 参数及类型:
- objid:
number玩家Uin - action:
number枪械动作枚举(GunActionBan)GunActionBan - switch:bool是否开启
- objid:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 开关玩家枪械相关能力(开火、开镜等,具体项见枚举 GunActionBan)
- 具体使用案例如下:
lua
local result = Player:SetGunActionState(Player:GetHostUin(), GunActionBan.AimFire, true)GetViewMode
lua
local ret = Player:GetViewMode(uin)GetRevivePoint
- 参数及类型:
- uin:
number玩家Uin
- uin:
- 返回值及类型:
- 该方法的其他说明: 获取玩家复活点的方块坐标
- 具体使用案例如下:
lua
local x,y,z = Player:GetRevivePoint(uin)GetRentCloudServerOwner
- 参数及类型: 无
- 返回值及类型:
- uin:
number/ nil 房主玩家Uin
- uin:
- 该方法的其他说明: 在租赁云房间中取当前房间房主是谁(仅租赁云服生效)
- 具体使用案例如下:
lua
local uin = Player:GetRentCloudServerOwner()RemovePlayer
lua
local ret = Player:RemovePlayer(objid)GetFriendList
- 参数及类型:
- 返回值及类型:
- 该方法的其他说明: 分页取好友,把总人数和这一页好友信息回给主机。
- 具体使用案例如下:
lua
-- 获取玩家好友列表,从第1个好友开始,总共20个好友信息
local maxnum,infos = Player:GetFriendList(playerUin,1,20)
print("好友最大好友数量",maxnum)
print("好友信息列表",infos)
if infos then
for i = 1, #infos, 1 do
print("好友昵称",infos[i].name)
print("好友UIn",infos[i].uin)
print("好友头像",infos[i].headframe)
print("是否在线",infos[i].live)
endSetSettingEnable
- 参数及类型:
- playerid:
number玩家Uin - itype:
number设置项(GameSetting)GameSetting - enable:bool是否开启
- playerid:
- 返回值及类型:
- ret:
boolean是否生效
- ret:
- 该方法的其他说明: 改游戏里某项开关(如开镜、镜头抖、自动跳等),并立刻生效到当前局。
- 具体使用案例如下:
lua
-- 设置玩家相机抖动关闭
local result = Player:SetSettingEnable(playerUin, GameSetting.CameraShake,false)SetSettingAbility
- 参数及类型:
- playerid:
number玩家Uin - itype:
number设置项(GameSetting)GameSetting - enable:bool是否允许修改
- playerid:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 允许或禁止玩家在设置界面里改某一项。
- 具体使用案例如下:
lua
-- 设置玩家相机抖动按钮不可点击
local result = Player:SetSettingAbility(playerUin, GameSetting.CameraShake,false)RotateMainModel
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否成功
- ret:
- 该方法的其他说明: 转动本机玩家模型的朝向,角度会自动限制在合法范围。
- 具体使用案例如下:
lua
-- 旋转玩家主模型,此接口摄像机也会旋转
local yaw = 90 -- 限制范围0~360
local pitch = 15 -- 限制范围-88 ~ 88
local result = Player:RotateMainModel(playerUin, yaw,pitch)
print("旋转玩家主模型",result)