Exemplo n.º 1
0
 public function actionLunjian()
 {
     $section = $_REQUEST['sec'];
     if (empty($section)) {
         die("需要分区参数sec");
     }
     return model_PVPUtil::createLunjian($section);
 }
Exemplo n.º 2
0
 public function action_replace_lunjian()
 {
     $section = $this->get_param('sec');
     $rank = $this->get_param('rank');
     if (!$section || !$rank) {
         throw new Exception("section = {$section} ; rank = {$rank} error");
         return;
     }
     $redis = DbConfig::getRedis('lunjian');
     $now = time();
     echo "******* section = {$section} *******\n";
     $rank_key = model_PVPUtil::getLunjianListID($section);
     $rank_max_key = model_PVPUtil::getLunjianMaxUserID($section);
     $uid = $redis->hget($rank_key, $rank);
     // rank->uid
     $user_info_key = model_PVPUtil::getLunjianUserID($section, $uid);
     $udata = $redis->hgetall($user_info_key);
     $rank_max_key = model_PVPUtil::getLunjianMaxUserID($section);
     $total = $redis->hget($rank_max_key, 'max');
     $fill_id = $redis->hget($rank_max_key, 'npc_max');
     if (!$fill_id) {
         $fill_id = 0;
     }
     echo "fill id = {$fill_id} ,total = {$total}\n";
     if ($udata['rank'] !== $rank) {
         echo "uid : {$uid} => rank = {$rank}, rank[in user info] = {$udata['rank']}\n";
         var_dump($udata['rank']);
         var_dump($rank);
         var_dump($udata['rank'] !== $rank);
         return;
     }
     $redis->del($user_info_key);
     $uid_new = "npc." . $fill_id++;
     echo "uid new = {$uid_new}\n";
     $redis->hset($rank_key, $rank, $uid_new);
     $uid_new_renwuname = model_Util::randomName();
     $renwutag_conf = PL_Config_Numeric::get('lunjian-npc-rule');
     $renwu_ranks = array_keys($renwutag_conf);
     array_push($renwu_ranks, $rank);
     sort($renwu_ranks);
     $index = min(array_search($rank, $renwu_ranks), count($renwu_ranks));
     $index = max(0, $index - 1);
     $renwutag = $renwutag_conf[$renwu_ranks[$index]]['renwutag'];
     $uid_new_info = array('rank' => $rank, 'rank_t' => $now, 'name' => $uid_new_renwuname, 'renwutag' => $renwutag);
     echo "info new = \n";
     print_r($uid_new_info);
     $new_user_info_key = model_PVPUtil::getLunjianUserID($section, $uid_new);
     echo "new user info key = {$new_user_info_key}\n";
     $redis->hmset($new_user_info_key, $uid_new_info);
     $redis->hset($rank_max_key, 'npc_max', $fill_id);
 }