first commit
This commit is contained in:
177
docs/mcdocs/1-ModAPI/接口/自定义UI/自定义成就系统.md
Normal file
177
docs/mcdocs/1-ModAPI/接口/自定义UI/自定义成就系统.md
Normal file
@@ -0,0 +1,177 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 自定义成就系统
|
||||
|
||||
## AddNodeProgress
|
||||
|
||||
<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in mod.server.component.achievementCompServer.AchievementCompServer
|
||||
|
||||
- 描述
|
||||
|
||||
增加对应玩家的对应成就节点的成就进度
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| playerId | str | 玩家ID |
|
||||
| nodeId | str | 节点ID |
|
||||
| delta | int | 增加该节点进度的值,只能填写大于0的正整数 |
|
||||
| callback | function | 请求回调函数,如果节点的json配置了为云节点,则调用此接口必须填写此参数,否则无法传到云端 |
|
||||
| getExtra | function | 用于返回存储更新后的数据的函数,用于云成就节点,返回值必须为str类型,可选 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 是否设置成功,当为云成就上报的时候,True表示上报了,具体情况请查阅callback函数的参数信息,False表示未上报 |
|
||||
|
||||
- 备注
|
||||
- callback需要接受一个参数
|
||||
当请求**失败**时,参数返回None。
|
||||
当请求**成功**时,参数为一个dict,包含返回码,最新数据等信息。
|
||||
- 当code为0时,表示设置成功。
|
||||
- 当code为5时,表示数据冲突,此时系统不会存储此次上传的数据,当开发者通过callback处理完冲突后,必须返回一个Bool值。当callback的返回值为True,系统会自动再自动调用一次getExtra来获取最新的extra数据,并自动存储进度与extra。如果不想系统再自动调用,将callback返回值设置为False,系统将不会再进行一次进度存储,可选
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.server.extraServerApi as serverApi
|
||||
def cb(data):
|
||||
if data:
|
||||
print { {}.format(data["entity"]) }
|
||||
else:
|
||||
print "获取数据失败"
|
||||
def get():
|
||||
return extraData
|
||||
comp = serverApi.GetEngineCompFactory().CreateAchievement(levelId)
|
||||
#增加该玩家成就进度:
|
||||
comp.AddNodeProgress(playerId, nodeId, delta, callback = cb, getExtra = get)
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetChildrenNode
|
||||
|
||||
<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in mod.server.component.achievementCompServer.AchievementCompServer
|
||||
|
||||
- 描述
|
||||
|
||||
获得该成就节点的下一级所有孩子节点的list
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| nodeId | str | 节点ID |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| list(str) | 返回值为是否设置成功,成功为该节点的下一级所有孩子节点的list,失败为None |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.server.extraServerApi as serverApi
|
||||
comp = serverApi.GetEngineCompFactory().CreateAchievement(levelId)
|
||||
#获得该成就节点的下一级所有孩子节点的list:
|
||||
NodeChildren = comp.GetChildrenNode(nodeId)
|
||||
```
|
||||
|
||||
|
||||
|
||||
## GetNodeDetailInfo
|
||||
|
||||
<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in mod.server.component.achievementCompServer.AchievementCompServer
|
||||
|
||||
- 描述
|
||||
|
||||
获取对应玩家的对应节点信息
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| playerId | str | 玩家ID |
|
||||
| nodeId | str | 节点ID |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| dict | 获取成功为对应玩家的对应节点的所有信息,包括json内的所有信息,外加一个“progress”属性用来存储该玩家该节点的进度,失败为None |
|
||||
|
||||
- 备注
|
||||
- 该接口获取到的信息只有json里面配置的信息,如果可选内容不配,该接口获取不到不配的可选内容信息
|
||||
- 不可在“AddServerPlayerEvent”和"ClientLoadAddonsFinishServerEvent"事件中调用该接口
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.server.extraServerApi as serverApi
|
||||
comp = serverApi.GetEngineCompFactory().CreateAchievement(levelId)
|
||||
#获取信息:
|
||||
NodeDetail = comp.GetNodeDetailInfo(playerId, nodeId)
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SetNodeFinish
|
||||
|
||||
<span style="display:inline;color:#ff5555">服务端</span>
|
||||
|
||||
method in mod.server.component.achievementCompServer.AchievementCompServer
|
||||
|
||||
- 描述
|
||||
|
||||
设置对应玩家的对应成就节点完成
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| playerId | str | 玩家ID |
|
||||
| nodeId | str | 节点ID |
|
||||
| callback | function | 请求回调函数,如果节点的json配置了为云节点,则调用此接口必须填写此参数,否则无法传到云端 |
|
||||
| getExtra | function | 用于返回存储更新后的数据的函数,用于云成就节点,返回值必须为str类型,可选 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 是否设置成功,当为云成就上报的时候,True表示上报了,具体情况请查阅callback函数的参数信息,False表示未上报 |
|
||||
|
||||
- 备注
|
||||
- callback需要接受一个参数
|
||||
当请求**失败**时,参数返回None。
|
||||
当请求**成功**时,参数为一个dict,包含返回码,最新数据等信息。
|
||||
- 当code为0时,表示设置成功。
|
||||
- 当code为5时,表示数据冲突,此时系统不会存储此次上传的数据,当开发者通过callback处理完冲突后,必须返回一个Bool值。当callback的返回值为True,系统会自动再自动调用一次getExtra来获取最新的extra数据,并自动存储进度与extra。如果不想系统再自动调用,将callback放回值设置为False,系统将不会再进行一次进度存储,可选
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.server.extraServerApi as serverApi
|
||||
def cb(data):
|
||||
if data:
|
||||
print { {}.format(data["entity"]) }
|
||||
else:
|
||||
print "获取数据失败"
|
||||
def get():
|
||||
return extraData
|
||||
comp = serverApi.GetEngineCompFactory().CreateAchievement(levelId)
|
||||
#设置该成就完成:
|
||||
comp.SetNodeFinish(playerId, nodeId, callback = cb, getExtra = get)
|
||||
```
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user