This commit is contained in:
hujiabin 2024-08-21 14:17:21 +08:00
parent df0d8b2579
commit c10ca799cc
6 changed files with 57 additions and 95 deletions

View File

@ -37,7 +37,8 @@ define('TN_RANK_STATUS', 8011);
define('TN_FIRST_TUPOP_STATUS', 8012);
define('TN_TOTAL_DIAMOND_CONSUME', 8016);//钻石消耗
define('TN_TOTAL_CEG_CONSUME', 8017);//ceg消耗
define('TN_END', 8018);
define('TN_TOTAL_LOOT_TIMES', 8018);//寶箱掉落計數
define('TN_END', 8019);
define('TN_DAILY_BEGIN', 9001);

View File

@ -8,7 +8,7 @@ require_once('models/GlobalData.php');
use models\GlobalData;
class ActivityController extends BaseAuthedController {
/*
//服务器大事件
public function serverTask(){
$currentMeta = \mt\ServerTaskTime::getCurrentTime();
@ -52,5 +52,5 @@ class ActivityController extends BaseAuthedController {
'taskDtoList' => $taskDtoList,
));
}
*/
}

View File

@ -329,18 +329,18 @@ class OtherController extends BaseAuthedController {
public function getMapModeList()
{
$modeList = array();
$taskStatus = GlobalData::getServerTaskStatus();
$taskMeta = mt\ServerTaskTime::getCurrentTime();
// $taskStatus = GlobalData::getServerTaskStatus();
// $taskMeta = mt\ServerTaskTime::getCurrentTime();
$rankSeasonMeta = mt\RankSeason::getCurrentSeason();
mt\MapMode::traverseMeta(function($modeMeta) use(&$modeList, &$taskMeta, $taskStatus,$rankSeasonMeta){
mt\MapMode::traverseMeta(function($modeMeta) use(&$modeList, $rankSeasonMeta){
if ($modeMeta['is_open']) {
if ($modeMeta['limit_time'] == 1 && !$rankSeasonMeta) {
return true;
}
if ($modeMeta['limit_time'] == 2 && (empty($taskStatus) || !$taskMeta || myself()->_getNowTime() <= strtotime($taskMeta['income_start_time']))){
return true;
}
// if ($modeMeta['limit_time'] == 2 ){
// return true;
// }
$temp = array(
'id' => $modeMeta['id']
);
@ -352,6 +352,15 @@ class OtherController extends BaseAuthedController {
$temp['daily_end_time'] = strtotime($modeMeta['daily_end_time']);
$temp['state'] = $nowTimeOffset >= $dailyOpenTimeOffset && $nowTimeOffset <= $dailyEndTimeOffset ? 1 : 0;
}
if ($modeMeta['daily_open_time_2']){
$dailyOpenTimeOffset = myself()->_getDaySecondsOffset(strtotime("2024-6-22 ".$modeMeta['daily_open_time_2']));
$dailyEndTimeOffset = myself()->_getDaySecondsOffset(strtotime("2024-6-22 ".$modeMeta['daily_end_time_2']));
$nowTimeOffset = myself()->_getDaySecondsOffset(myself()->_getNowTime());
$temp['daily_open_time_2'] = strtotime($modeMeta['daily_open_time_2']) ;
$temp['daily_end_time_2'] = strtotime($modeMeta['daily_end_time_2']);
$temp['state2'] = $nowTimeOffset >= $dailyOpenTimeOffset && $nowTimeOffset <= $dailyEndTimeOffset ? 1 : 0;
}
array_push(
$modeList,

View File

@ -82,7 +82,7 @@ class HashRateService extends BaseService
}
//------------------------服务器大事件------------------------
$serverDataDb = GlobalData::getServerTaskData();
/*$serverDataDb = GlobalData::getServerTaskData();
$this->serverTaskData = getXVal($serverDataDb, 'data', array());
if (!$this->serverTaskData){
$this->serverTaskData = array(
@ -98,7 +98,7 @@ class HashRateService extends BaseService
);
GlobalData::addServerTaskStatus(\mt\ServerTask::NOT_ACCOMPLISH_STATE);
}
$this->battleDataServerTask = $this->serverTaskData;
$this->battleDataServerTask = $this->serverTaskData;*/
}
@ -432,7 +432,7 @@ class HashRateService extends BaseService
}
/*
public function serverTaskDto($taskMate){
$taskDto = array(
'task_id' => $taskMate['id'],
@ -477,56 +477,8 @@ class HashRateService extends BaseService
$battleData = $this->battleDataServerTask;
return $battleData ? $battleData : array();
}
*/
public function getServerASKBoxMode(){
$currentServerTask = \mt\ServerTaskTime::getCurrentTime();
if (myself()->_getNowTime() < strtotime($currentServerTask['income_start_time'])){
return \mt\ServerTask::NOT_DROP_STATE;
}
$taskList1 = array();
$taskList2 = array();
$taskListMeta = \mt\ServerTask::getMetaList();
foreach ($taskListMeta as $taskMeta){
if ($taskMeta['type'] == \mt\ServerTask::MOBA_TYPE){
$taskDto = $this->serverTaskDto($taskMeta);
array_push($taskList1,$taskDto);
}
if ($taskMeta['type'] == \mt\ServerTask::PVP_TYPE){
$taskDto = $this->serverTaskDto($taskMeta);
array_push($taskList2,$taskDto);
}
}
$mobaCount = 0;
$pvpCount = 0;
foreach ($taskList1 as $taskDto){
if ($taskDto['state'] == self::FINISHED_STATE){
$mobaCount += 1;
}
}
foreach ($taskList2 as $taskDto){
if ($taskDto['state'] == self::FINISHED_STATE){
$pvpCount += 1;
}
}
if ($mobaCount == count($taskList1)){
return \mt\ServerTask::MOBA_DROP_STATE;
}elseif ($pvpCount == count($taskList2)){
return \mt\ServerTask::PVP_DROP_STATE;
}else{
if ($mobaCount > $pvpCount){
return \mt\ServerTask::MOBA_DROP_STATE;
}elseif ($mobaCount < $pvpCount){
return \mt\ServerTask::PVP_DROP_STATE;
}else{
if (getXVal($this->mobaBattleDataServerTask,"modifytime", 0) < getXVal($this->pvpBattleDataServerTask,"modifytime", 0)){
return \mt\ServerTask::MOBA_DROP_STATE;
}else{
return \mt\ServerTask::PVP_DROP_STATE;
}
}
}
}
public static function onBattleSettele($battleData)
{

View File

@ -97,13 +97,13 @@ class LootService
}
private static function disposeDropContent4($lootMeta,&$depth,&$items) {
$serverTaskMeta = mt\ServerTaskTime::getCurrentTime();
$period = $serverTaskMeta?$serverTaskMeta['id']:0;
// $serverTaskMeta = mt\ServerTaskTime::getCurrentTime();
// $period = $serverTaskMeta?$serverTaskMeta['id']:0;
// $totalTimes = myself()->_getV(TN_TOTAL_LOOT_TIMES,0);
$totalTimes = ServerTaskBattleCount::getV($period,$lootMeta['id'],ServerTaskBattleCount::TOTAL_COUNT);
// $recycleTimes = myself()->_getV(TN_TOTAL_LOOT_TIMES,1);
$recycleTimes = ServerTaskBattleCount::getV(0,$lootMeta['id'],ServerTaskBattleCount::LOOP_COUNT);
$totalTimes = myself()->_getV(TN_TOTAL_LOOT_TIMES,0);
// $totalTimes = ServerTaskBattleCount::getV($period,$lootMeta['id'],ServerTaskBattleCount::TOTAL_COUNT);
$recycleTimes = myself()->_getV(TN_TOTAL_LOOT_TIMES,1);
// $recycleTimes = ServerTaskBattleCount::getV(0,$lootMeta['id'],ServerTaskBattleCount::LOOP_COUNT);
$contentArr = explode("|",$lootMeta['content']);
$initTimes = $contentArr[0];
$po = $contentArr[1];
@ -116,15 +116,15 @@ class LootService
}
$p = min($po + ($recycleTimes-1) * $pd,$pm) * 100 ;
$rnd = rand(1,100);
// myself()->_incV(TN_TOTAL_LOOT_TIMES,0,1);
ServerTaskBattleCount::incV($period,$lootMeta['id'],ServerTaskBattleCount::TOTAL_COUNT,1);
myself()->_incV(TN_TOTAL_LOOT_TIMES,0,1);
// ServerTaskBattleCount::incV($period,$lootMeta['id'],ServerTaskBattleCount::TOTAL_COUNT,1);
if ($rnd <= $p){
// myself()->_setV(TN_TOTAL_LOOT_TIMES,1,1);
ServerTaskBattleCount::setV(0,$lootMeta['id'],ServerTaskBattleCount::LOOP_COUNT,1);
myself()->_setV(TN_TOTAL_LOOT_TIMES,1,1);
// ServerTaskBattleCount::setV(0,$lootMeta['id'],ServerTaskBattleCount::LOOP_COUNT,1);
self::disposeLootIndex($index1,$depth,$items);
}else{
// myself()->_incV(TN_TOTAL_LOOT_TIMES,1,1);
ServerTaskBattleCount::incV(0,$lootMeta['id'],ServerTaskBattleCount::LOOP_COUNT,1);
myself()->_incV(TN_TOTAL_LOOT_TIMES,1,1);
// ServerTaskBattleCount::incV(0,$lootMeta['id'],ServerTaskBattleCount::LOOP_COUNT,1);
self::disposeLootIndex($index2,$depth,$items);
}
}

View File

@ -1156,7 +1156,7 @@ class TameBattleDataService extends BaseService {
private function _updateBattleData(){
error_log("_updateBattleData");
$hisBattleData = HashRateBattleData::getMyBattleData();
$serverTaskData = GlobalData::getServerTaskData();
// $serverTaskData = GlobalData::getServerTaskData();
//算力系统任务统计
$currentHashRate= \mt\AchievementsCycle::getCurrentPeriod();
@ -1180,20 +1180,20 @@ class TameBattleDataService extends BaseService {
//服务器大事件任务统计
// $server_task_state = GlobalData::getServerTaskStatus();
$currentServerTask = mt\ServerTaskTime::getCurrentTime();
if (!isset($serverTaskData['data'])) {
$serverTaskData['data'] = array(
'createtime' => myself()->_getNowTime(),
'modifytime' => myself()->_getNowTime()
);
}
if ($currentServerTask && myself()->_getDaySeconds($serverTaskData['data']['modifytime']) <
myself()->_getDaySeconds(strtotime($currentServerTask['obtain_start_time']))) {
$serverTaskData['data'] = array(
'createtime' => $serverTaskData['data']['createtime'],
'modifytime' => myself()->_getNowTime()
);
}
// $currentServerTask = mt\ServerTaskTime::getCurrentTime();
// if (!isset($serverTaskData['data'])) {
// $serverTaskData['data'] = array(
// 'createtime' => myself()->_getNowTime(),
// 'modifytime' => myself()->_getNowTime()
// );
// }
// if ($currentServerTask && myself()->_getDaySeconds($serverTaskData['data']['modifytime']) <
// myself()->_getDaySeconds(strtotime($currentServerTask['obtain_start_time']))) {
// $serverTaskData['data'] = array(
// 'createtime' => $serverTaskData['data']['createtime'],
// 'modifytime' => myself()->_getNowTime()
// );
// }
@ -1242,14 +1242,14 @@ class TameBattleDataService extends BaseService {
default:{}
}
// if (! $server_task_state && $currentServerTask &&
if ( $currentServerTask &&
myself()->_getNowTime() > strtotime($currentServerTask['obtain_start_time']) &&
myself()->_getNowTime() < strtotime($currentServerTask['obtain_end_time'])) {
$this->applyEx($serverTaskData['data']);
$serverTaskData['data']['modifytime'] = myself()->_getNowTime();
}
// if ( $currentServerTask &&
// myself()->_getNowTime() > strtotime($currentServerTask['obtain_start_time']) &&
// myself()->_getNowTime() < strtotime($currentServerTask['obtain_end_time'])) {
// $this->applyEx($serverTaskData['data']);
// $serverTaskData['data']['modifytime'] = myself()->_getNowTime();
// }
HashRateBattleData::add(json_encode($hisBattleData));
GlobalData::addServerTaskData($serverTaskData);
// GlobalData::addServerTaskData($serverTaskData);
}
private function applyEx(&$battleData)