PublicDB
互动数值操作类
枚举列表
PublicDB.InteractAttrFieldName
- 描述: 互动数值属性名称枚举
| 成员名称 | 成员说明 |
|---|---|
| CurrentNum | 当前数量 |
| MaxNum | 上限数量 |
| MinNum | 下限数量 |
| IncreaseTimes | 增长次数 |
| IncreaseFrequency | 增长频率 |
| IncreaseValue | 增长数量 |
PublicDB.InteractAttrErrorType
- 描述: 互动操作返回值枚举
| 成员名称 | 成员说明 |
|---|---|
| Success | 成功 |
PublicDB.ArchiveType
- 描述: 存档类型
| 成员名称 | 成员说明 |
|---|---|
| Number_Array | 数值存档 |
| String_Array | 字符串存档 |
| Boolean_Array | 布尔值存档 |
函数列表
InitInteractiveAllFieldValue
-
描述: 上传互动数值(必须先要创建一个互动数值然后对他进行操作)
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerUID1 | number | 操作人得PlayerUID |
| PlayerUID2 | number | 被操作人得PlayerUID |
| InteractiveName | string | 互动数值名称(自定义名称) |
| DicInteractiveFieldValue | {[PublicDB.InteractAttrFieldName]:number} | 互动数值所有属性值 |
| Verify | boolean | 是否开启验证(限定老的值,一般是用于要求老值不被修改的情况下,才做修改) |
local PlayerUID1 = 610140737498231334local PlayerUID2 = 610140737498231334local InteractiveName = "测试"local DicInteractiveFieldValue = { [PublicDB.InteractAttrFieldName.CurrentNum] = 50, [PublicDB.InteractAttrFieldName.MaxNum] = 100, [PublicDB.InteractAttrFieldName.MinNum] = 0, [PublicDB.InteractAttrFieldName.IncreaseTimes] = 0, [PublicDB.InteractAttrFieldName.IncreaseFrequency] = 10, --这个最小为10 [PublicDB.InteractAttrFieldName.IncreaseValue] = 0,}PublicDB:InitInteractiveAllFieldValue(PlayerUID1, PlayerUID2, InteractiveName, DicInteractiveFieldValue, false, nil)SetInteractiveSingleFieldValue
-
描述: 上传互动数值属性(需要先上传互动值才可以使用否则无效)
-
范围: 服务端
-
警告: 仅地图发布后生效
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerUID1 | number | 操作人得PlayerUID(一般为自己) |
| PlayerUID2 | number | 被操作人得PlayerUID |
| InteractiveName | string | 互动数值名称 |
| InteractAttrFieldName | PublicDB.InteractAttrFieldName | 互动数值属性值名称 |
| InteractAttrFieldValue | number | 互动数值属性值 |
| Verify | boolean | 是否开启验证(限定老的值,一般是用于要求老值不被修改的情况下,才做修改) |
| DicInteractiveVerifyValue | {[PublicDB.InteractAttrFieldName]:number} | 数值校验(把当前所有属性值发给服务器如果不等于服务器缓存的值而且Verify为true修改属性值失败) |
local PlayerUID1 = 610140737498231334local PlayerUID2 = 610140737498231334local InteractiveName = "测试"local InteractAttrFieldName = PublicDB.InteractAttrFieldName.CurrentNumlocal InteractAttrFieldValue = 5local Verify = falselocal DicInteractiveVerifyValue = nilPublicDB:SetInteractiveSingleFieldValue(PlayerUID1,PlayerUID2,InteractiveName,InteractAttrFieldName,InteractAttrFieldValue,Verify,DicInteractiveVerifyValue)ReduceInteractiveCurrentNumValue
-
描述: 减少互动数值的当前数量值
-
范围: 服务端
-
警告: 仅地图发布后生效
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerUID1 | number | 操作人得PlayerUID |
| PlayerUID2 | number | 被操作人得PlayerUID |
| InteractiveName | string | 互动数值名称 |
| ReduceNumber | number | 减小的值 |
local PlayerUID1 = 610140737498231334local PlayerUID2 = 610140737498231334local InteractiveName = "测试"local ReduceNumber = 5PublicDB:ReduceInteractiveCurrentNumValue(PlayerUID1, PlayerUID2, InteractiveName, ReduceNumber)AddInteractiveCurrentNumValue
-
描述: 增加互动数值的当前数量值
-
范围: 服务端
-
警告: 仅地图发布后生效
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerUID1 | number | 操作人得PlayerUID |
| PlayerUID2 | number | 被操作人得PlayerUID |
| InteractiveName | string | 互动数值名称 |
| AddNumber | number | 增加的值 |
local PlayerUID1 = 610140737498231334local PlayerUID2 = 610140737498231334local InteractiveName = "测试"local AddNumber = 5PublicDB:AddInteractiveCurrentNumValue(PlayerUID1, PlayerUID2, InteractiveName, AddNumber)PushAllInteractiveNumberChange
-
描述: PlayerUID1玩家推送对PlayerUID2玩家的互动数值修改
-
范围: 服务端
-
警告: 仅地图发布后生效
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerUID1 | number | 操作人得PlayerUID |
| PlayerUID2 | number | 被操作人得PlayerUID |
| Callback | function(results:number) | 推送结束回调 |
local PlayerUID1 = 610140737498231334local PlayerUID2 = 610140737498231334PublicDB:PushAllInteractiveNumberChange(PlayerUID1,PlayerUID2,function (results, values) for i, value in ipairs(results) do if value ~= 0 then Log:PrintLog("中间某一个操作推送失败") return end end Log:PrintLog("推送成功")end)GetInteractiveData
-
描述: PlayerUID1玩家请求查询PlayerUID2玩家互动数值
-
范围: 服务端
-
警告: 仅地图发布后生效
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerUID1 | number | 操作人得PlayerUID |
| PlayerUID2 | number | 被操作人得PlayerUID |
| InteractiveName | string | 互动数值名称 |
| Callback | function(result:number,InteractiveData:table) | 查询玩家互动数值回调 |
调用这个方法要保证互动数值已经调用PublicDB:InitInteractiveAllFieldValue()完成初始化local PlayerUID1 = 610140737498231334local PlayerUID2 = 610140737498231334local InteractiveName = "测试2"local Callback = function (result,InteractiveData) if result == PublicDB.InteractAttrErrorType.Success and InteractiveData and next(InteractiveData)~=nil then Log:PrintLog("Execute Success") for key, value in pairs(InteractiveData) do Log:PrintLog("key value :",key,"value :",value) end endendLog:PrintLog("GetInteractiveData")PublicDB:GetInteractiveData(PlayerUID1,PlayerUID2,InteractiveName,Callback)GetFieldValueByInteractiveData
-
描述: 根据互动数值数据获取对应的属性属性值
-
范围: 服务端
-
警告: 仅地图发布后生效
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| FieldName | PublicDB.InteractAttrFieldName | 互动数值数据包 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| iValue | number | 返回互动数据对应的属性值 |
local PlayerUID1 = 610140737498231334local PlayerUID2 = 610140737498231334local InteractiveName = "测试"local Callback = function (result,InteractiveData) if result == PublicDB.InteractAttrErrorType.Success and InteractiveData and next(InteractiveData)~=nil then local MaxNum = PublicDB:GetFieldValueByInteractiveData(InteractiveData,PublicDB.InteractAttrFieldName.MaxNum) Log:PrintLog("MaxNum:",MaxNum) endendPublicDB:GetInteractiveData(PlayerUID1,PlayerUID2,InteractiveName,Callback)UploadInteractiveListData
-
描述: 上传数值到互动列表(相当于初始化)
-
范围: 服务端
-
警告: 仅地图发布后生效
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerUID1 | number | 操作人得PlayerUID |
| PlayerUID2 | number | 被操作人得PlayerUID |
| InteractiveListName | string | 互动列表名称 |
| ListData | number[] | 列表数据 最大长度为6,超过6只取前6个 |
| ListTotalNum | number | 列表总数 |
| Callback | function(result:PublicDB.InteractAttrErrorType) | 上传回调 |
local PlayerUID1 = 610140737498231334local PlayerUID2 = 610140737498231334local InteractiveListName = "互动列表1"local ListData = {1,2,3,4,5,6}local ListTotalNum = 6local Callback = function (result) if result == PublicDB.InteractAttrErrorType.Success then Log:PrintLog("上传互动列表成功") else Log:PrintLog("上传互动列表失败错误码类型PublicDB.InteractAttrErrorType,值为",result) endendPublicDB:UploadInteractiveListData(PlayerUID1, PlayerUID2, InteractiveListName, ListData, ListTotalNum, Callback)UpdateInteractiveListData
-
描述: 查询玩家互动列表(仅查询)
-
范围: 服务端
-
警告: 仅地图发布后生效
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerUID1 | number | 操作人得PlayerUID |
| PlayerUID2 | number | 被操作人得PlayerUID |
| InteractiveListName | string | 互动列表名称 |
| Callback | function(result:PublicDB.InteractAttrErrorType) | 更新回调 |
local PlayerUID1 = 610140737498231334local PlayerUID2 = 610140737498231334local InteractiveListName = "互动列表1"local Callback = function (result) if result == PublicDB.InteractAttrErrorType.Success then Log:PrintLog("更新互动数值列表成功") else Log:PrintLog("更新互动数值列表失败错误码类型PublicDB.InteractAttrErrorType,值为",result) endendPublicDB:UpdateInteractiveListData(PlayerUID1, PlayerUID2, InteractiveListName, Callback)GetInteractiveListDataByIndex
-
描述: 根据索引获取玩家互动列表数据
-
范围: 服务端
-
警告: 仅地图发布后生效
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerUID | number | 目标玩家的PlayerUID |
| InteractiveListName | string | 互动列表名称 |
| IndexNumber | number | 目标索引 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| valueTable | any[] | 获取到的值 |
local PlayerUID = 610140737498231334local InteractiveListName = "互动列表1"local IndexNumber = 1local valueTable = PublicDB:GetInteractiveListDataByIndex(PlayerUID, InteractiveListName, IndexNumber)if valueTable and next(valueTable)~=nil then for index, value in ipairs(valueTable) do Log:PrintLog(index,value) endelse Log:PrintLog("valueTable 无效,请检查索引或者互动列表是否已更新")endGetPlayersCurrentNumber
-
描述: PlayerUID操作人批量拉取不同玩家不同互动数值的当前数量
-
范围: 服务端
-
警告: 仅地图发布后生效
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerUID | number | 操作人得PlayerUID |
| ListPlayerUID | number[] | 被操作人得ListPlayerUID |
| ListInteractiveName | string[] | 互动列表名称 |
| Callback | function(result:PublicDB.InteractAttrErrorType,CurNumberValueTables:table) | 获取玩家互动数值当前数量回调 |
local PlayerUID = 610140737498231334local ListPlayerUID = {610140737498231334}local ListInteractiveName = {"测试2"}local Callback = function (result,CurNumberValueTables) if result == PublicDB.InteractAttrErrorType.Success and CurNumberValueTables and next(CurNumberValueTables)~=nil then for index, value in ipairs(CurNumberValueTables) do Log:PrintLog(index,value) end endendPublicDB:GetPlayersCurrentNumber(PlayerUID, ListPlayerUID, ListInteractiveName, Callback)GetPlayerConsumptionCrossMap
-
描述: 跨地图查询玩家消费
-
范围: 服务端
-
警告: 仅地图发布后生效
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| MapId | number | 被查询人的地图Id |
| PlayerUID | number | 被查询人的uid |
| Callback | function(result:PublicDB.InteractAttrErrorType,diamondCost:number) | 查询存档回调 |
local Callback = function (result,diamondCost) if result == PublicDB.InteractAttrErrorType.Success then Log:PrintLog("diamondCost is :",diamondCost) endendPublicDB:GetPlayerConsumptionCrossMap(MapId, PlayerUID, Callback)GetPlayerStorageDataCrossMap
-
描述: 跨地图查询玩家存档
-
范围: 服务端
-
警告: 仅地图发布后生效
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| MapId | number | 被查询人的地图Id |
| PlayerUID | number | 被查询人的uid |
| ArchiveType | PublicDB.ArchiveType | 存档数组类型 |
| ArchiveArray | string[] | 存档数组 |
| Callback | function(result:PublicDB.InteractAttrErrorType,valueList:any) | 查询存档回调 |
Archive:SetPlayerData(PlayerID, Type, Key, Data)--假设在某个地图已经执行了存档操作(Boolean类型的存档会存储0或1)local Callback = function (result,valueList) if result == PublicDB.InteractAttrErrorType.Success then if valueList and next(valueList)~=nil then for index, value in ipairs(valueList) do Log:PrintLog("value is :",value) end end endendPublicDB:GetPlayerStorageDataCrossMap(MapId, PlayerUID, PublicDB.ArchiveType.Number_Array, {"存档1"}, Callback)