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