|
@@ -404,6 +404,8 @@ class TaskProc {
|
|
ctx()->college = $college;
|
|
ctx()->college = $college;
|
|
|
|
|
|
$store->taskcards->$taskCardUID = $taskCard; # 回写任务数据
|
|
$store->taskcards->$taskCardUID = $taskCard; # 回写任务数据
|
|
|
|
+
|
|
|
|
+ self::checkHandOverDailyTask($taskCardUID); #检测每次任务中的交付任务是否需要挂载了
|
|
NormalEventProc::OnTaskCard_Reward($taskCard->mo()->reward, null); # 带入事件
|
|
NormalEventProc::OnTaskCard_Reward($taskCard->mo()->reward, null); # 带入事件
|
|
self::OnFinishTaskCard($taskCard); # 触发检查任务卡的任务卡[・_・?]
|
|
self::OnFinishTaskCard($taskCard); # 触发检查任务卡的任务卡[・_・?]
|
|
if (!empty($taskCard->mo()->newTaskCard)) { # 下一个任务卡存在
|
|
if (!empty($taskCard->mo()->newTaskCard)) { # 下一个任务卡存在
|
|
@@ -446,6 +448,39 @@ class TaskProc {
|
|
'priv' => ctx()->privateState,
|
|
'priv' => ctx()->privateState,
|
|
'college' => ctx()->college,)); # 返回值更新背包
|
|
'college' => ctx()->college,)); # 返回值更新背包
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ static function checkHandOverDailyTask($taskCardUID) {
|
|
|
|
+ if(ctx()->store->dailyTask_HandOver > 0){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ $taskcards = ctx()->store->taskcards;
|
|
|
|
+ $list = explode(',',glc()->dailyTask_HandOver);
|
|
|
|
+ if(in_array($taskcards->$taskCardUID->typeId, $list)){
|
|
|
|
+ ctx()->store->dailyTask_HandOver = 1;
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $num = 0;
|
|
|
|
+
|
|
|
|
+ $handOverTask = 0;
|
|
|
|
+ foreach ($taskcards as $uid => $task) {
|
|
|
|
+ $mo = GameConfig::item_taskcard_getItem($task->typeId);
|
|
|
|
+ if($mo->type == 2){
|
|
|
|
+ if(in_array($task->typeId, $list)){
|
|
|
|
+ $handOverTask = 1;
|
|
|
|
+ } else {
|
|
|
|
+ $num += 1;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if($num==0 && $handOverTask == 0){//每日任务全部完成,挂载每日任务--交付任务
|
|
|
|
+ $count = count($list);
|
|
|
|
+ $rand = rand(0,$count-1);
|
|
|
|
+
|
|
|
|
+ StoreProc::PutTaskCardInStore($list[$rand]);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
/**
|
|
* [6217] 任务卡 - 更新信息
|
|
* [6217] 任务卡 - 更新信息
|
|
@@ -637,8 +672,11 @@ class TaskProc {
|
|
*/
|
|
*/
|
|
static function ResetDailyTaskCards() {
|
|
static function ResetDailyTaskCards() {
|
|
// var_dump("重置日常任务卡");
|
|
// var_dump("重置日常任务卡");
|
|
- $store = ctx()->store();
|
|
|
|
|
|
+ $store = ctx()->store(true);
|
|
my_default_Obj($store->taskcards);
|
|
my_default_Obj($store->taskcards);
|
|
|
|
+
|
|
|
|
+ $store->dailyTask_HandOver = 0;
|
|
|
|
+
|
|
$dailyCards = new \stdClass();
|
|
$dailyCards = new \stdClass();
|
|
foreach (GameConfig::item_taskcard() as $id => $cardMo) {
|
|
foreach (GameConfig::item_taskcard() as $id => $cardMo) {
|
|
isEditor() and $cardMo = new \sm_item_taskcard();
|
|
isEditor() and $cardMo = new \sm_item_taskcard();
|
|
@@ -657,30 +695,36 @@ class TaskProc {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
ctx()->store = $store;
|
|
ctx()->store = $store;
|
|
|
|
+
|
|
|
|
+ $pri = ctx()->privateData(); # 私有数据
|
|
|
|
+ $cardType = 2; # 日常任务,设置追踪
|
|
|
|
+ my_default_Obj($pri->taskCardTracing); # 确保 tracing数据结构是否完整.
|
|
|
|
|
|
- if (count($dailyCards) < 4) {
|
|
|
|
|
|
+ $commonTaskList = explode(',', glc()->dailyTask_Common);
|
|
|
|
+ if (count($commonTaskList) < 4) {
|
|
// 再遍历一遍, 添加今日日常任务.
|
|
// 再遍历一遍, 添加今日日常任务.
|
|
$cid = 0;
|
|
$cid = 0;
|
|
- foreach ($dailyCards as $id => $cardMo) {
|
|
|
|
|
|
+ foreach ($commonTaskList as $id) {
|
|
$cid = StoreProc::PutTaskCardInStore($id); # 添加任务卡到背包
|
|
$cid = StoreProc::PutTaskCardInStore($id); # 添加任务卡到背包
|
|
}
|
|
}
|
|
- $pri = ctx()->privateData(); # 私有数据
|
|
|
|
-
|
|
|
|
- $cardType = 2; # 日常任务,设置追踪
|
|
|
|
- my_default_Obj($pri->taskCardTracing); # 确保 tracing数据结构是否完整.
|
|
|
|
- $pri->taskCardTracing->$cardType = $cid; # 更新tracing数据
|
|
|
|
|
|
+
|
|
|
|
+ $pri->taskCardTracing->$cardType = $cid; # 更新tracing数据
|
|
} else {
|
|
} else {
|
|
- $count = count($dailyCards);
|
|
|
|
|
|
+ $tempCid = 0;
|
|
|
|
+ $count = count($commonTaskList);
|
|
$temp = array();
|
|
$temp = array();
|
|
while (true) {
|
|
while (true) {
|
|
- $num = rand(0,$count);
|
|
|
|
|
|
+ $num = rand(0,$count-1);
|
|
if(in_array($num, $temp)){
|
|
if(in_array($num, $temp)){
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
$index = 0;
|
|
$index = 0;
|
|
- foreach ($dailyCards as $id => $cardMo) {
|
|
|
|
|
|
+ foreach ($commonTaskList as $id) {
|
|
if($index >= $num){
|
|
if($index >= $num){
|
|
- $cid = StoreProc::PutTaskCardInStore($id);# 添加任务卡到背包
|
|
|
|
|
|
+ $cid = StoreProc::PutTaskCardInStore($id); # 添加任务卡到背包
|
|
|
|
+ if($tempCid == 0){
|
|
|
|
+ $tempCid = $cid;
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
$index+=1;
|
|
$index+=1;
|
|
@@ -691,6 +735,7 @@ class TaskProc {
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ $pri->taskCardTracing->$cardType = $tempCid; # 更新tracing数据
|
|
|
|
|
|
}
|
|
}
|
|
UserProc::updateUserInfo(); # 回存数据.(不管从哪里调用的, 更新肯定没错.)
|
|
UserProc::updateUserInfo(); # 回存数据.(不管从哪里调用的, 更新肯定没错.)
|