fix(logic): 修复任务接受和完成逻辑

- 将任务 ID 索引从 1 开始改为从 0 开始,以匹配数组索引
- 在玩家下线时自动结束战斗
- 保存玩家数据时,如果玩家正处于战斗状态,自动使其逃跑
This commit is contained in:
2025-09-12 22:28:55 +08:00
parent 70386fbbe8
commit c70e9621e0
3 changed files with 22 additions and 4 deletions

View File

@@ -18,8 +18,8 @@ func (h Controller) AcceptTask(data *task.AcceptTaskInboundInfo, c *service.Play
// //isdaliy = true
// }
if c.Info.TaskList[data.TaskId] == 0 {
c.Info.TaskList[data.TaskId] = 1
if c.Info.TaskList[data.TaskId-1] == 0 {
c.Info.TaskList[data.TaskId-1] = 1
}
result = &task.AcceptTaskOutboundInfo{}
@@ -66,12 +66,12 @@ func randInt0To24() int {
*/
func (h Controller) Complete_Task(data *task.CompleteTaskInboundInfo, c *service.Player) (result *task.CompleteTaskOutboundInfo, err errorcode.ErrorCode) {
if c.Info.TaskList[data.TaskId] != 1 { //如果任务没有接受或者已经完成Complete_Task
if c.Info.TaskList[data.TaskId-1] != 1 { //如果任务没有接受或者已经完成Complete_Task
return result, 0
}
c.Info.TaskList[data.TaskId] = 3
c.Info.TaskList[data.TaskId-1] = 3
result = &task.CompleteTaskOutboundInfo{}
result.ItemList = make([]task.ItemInfo, 0)
result.TaskId = data.TaskId