} if ($data['uid']) { $suid = explode("_", $data['uid']); $suid = end($suid); list($player, $ret) = Player::instance($suid); if ($player) { $player->to_bonus($bonus); $player->save(); } } } } } else { //此处将是一个多维数组 $bonus = StaticData::read('country_rank_bonus'); $_data = $_country_handle->use_collection(NameMapper::get_country_uid_list_collection_name())->find(array('server_id' => $server_id), array('uid' => true, 'server_id' => true, 'rank' => true)); if ($_data->count()) { foreach ($_data as $data) { if ($data['server_id'] != $server_id) { continue; } if ($data['uid']) { $suid = explode("_", $data['uid']); $suid = end($suid); list($player, $ret) = Player::instance($suid); $temp_player_tmp_backpack_handle = $player->get_player_class_handle('tmpbackpack'); if ($player) { $bonus_list = array(); if (isset($bonus[$data['rank']])) { foreach ($bonus[$data['rank']]['bonus'] as $bval) { $temp_player_tmp_backpack_handle->add_item($bval['id'], $bval['number'], 'country_bonus');
$_data = $_country_handle->use_collection(NameMapper::get_country_uid_list_collection_name())->find(); //如果报名的人数不够则 不再进行国战 if ($_data->count() <= Player_Const::COUNTRY_BATTLE_GROUP_MAX_NUM / 2 || $_data->count() <= Player_Const::COUNTRY_BATTLE_GROUP_MAX_NUM / 2 && $battle_num == Player_Const::COUNTRY_BATTLE_GROUP_MAX_NUM / 2) { echo "plase user num lt COUNTRY_BATTLE_GROUP_MAX_NUM/2"; exit; } foreach ($_data as $r) { print_r($r); } if ($battle_num == Player_Const::COUNTRY_BATTLE_GROUP_MAX_NUM / 2) { $_country_handle->use_collection(NameMapper::get_country_uid_list_collection_name())->createIndex(array('uid' => 1), array('unique' => true)); $_country_handle->use_collection(NameMapper::get_country_samurai_collection_name())->createIndex(array('uid' => 1), array('unique' => true)); $_country_handle->use_collection(NameMapper::get_country_family_collection_name())->createIndex(array('uid' => 1), array('unique' => true)); $_country_handle->use_collection(NameMapper::get_country_vassal_collection_name())->createIndex(array('uid' => 1), array('unique' => true)); $_country_handle->use_collection(NameMapper::get_country_backpack_collection_name())->createIndex(array('uid' => 1), array('unique' => true)); $_country_handle->use_collection(NameMapper::get_country_hp_collection_name())->createIndex(array('uid' => 1), array('unique' => true)); } $_data = $_country_handle->use_collection(NameMapper::get_country_uid_list_collection_name())->find(array('rank' => (int) $battle_num * 2, 'battle_num' => (int) $battle_num * 2)); $count = $_data->count(); $count = ceil($count / 2); if (empty($count)) { echo 'Error count:', $count, PHP_EOL; exit; } $uid = 'de721bcef5cba1fc182d186d98afe072'; list($player, $ret) = Player::instance($uid); $player_country_handle = $player->get_player_class_handle('country'); for ($i = $count; $i > 0; $i--) { $player_country_handle->attack($battle_num); } echo date("Y-m-d H:i:s") . "|cron_start_country end \n";