瀏覽代碼

fixed: 领取任务卡奖励时增加防御代码.

王刚 3 年之前
父節點
當前提交
8f7680e77e
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      Gameserver/Amfphp/process/TaskProc.php

+ 3 - 0
Gameserver/Amfphp/process/TaskProc.php

@@ -371,6 +371,9 @@ class TaskProc {
         my_Assert(StlUtil::dictHasProperty($store->taskcards, $taskCardUID), ErrCode::taskCard_no); # 防御找不到实例
         $taskCard = new Ins_TaskCard($store->taskcards->$taskCardUID);          # 任务卡对象
 
+        my_Assert($taskCard->IsFinish(), ErrCode::task_progress_not_complete);  # 任务卡尚未完成
+        my_Assert($taskCard->state < 4, ErrCode::task_reward_geted);            # 奖励已经领取过了
+
         foreach ($taskCard->curSteps as &$tsp) {                                # 初期里面只有一个任务
             $tsp = new Ins_TaskStep($tsp);
             if ($tsp->mo()->cmd == Enum_TaskCmdType::GainItem) {                # 如果是道具收集类的, 扣除所收集道具