1
This commit is contained in:
parent
f38dbc32f9
commit
2fda8442f2
8
sql/gamedb2004_n_migrate_200716_01.sql
Normal file
8
sql/gamedb2004_n_migrate_200716_01.sql
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
begin;
|
||||||
|
|
||||||
|
update equip set id=12137, lv=10 where accountid='6003_2004_oTR6b5T-P8edzzRo0aofeluxDb7Y';
|
||||||
|
update equip set id=12137, lv=10 where accountid='6001_2004_oTR6b5Sav4dvPct0YMuFd8ZJdY2I';
|
||||||
|
|
||||||
|
insert into version (version) values(20200716);
|
||||||
|
|
||||||
|
commit;
|
@ -400,6 +400,174 @@ class RoleController{
|
|||||||
return $daily_first_login;
|
return $daily_first_login;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function clientBattleReport()
|
||||||
|
{
|
||||||
|
$account_id = $_REQUEST['account_id']; //账号
|
||||||
|
$conn = $this->getMysql($account_id);
|
||||||
|
if (!$conn) {
|
||||||
|
phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$rank = $_REQUEST['rank']; //排名
|
||||||
|
$kills = $_REQUEST['kills']; //击杀数
|
||||||
|
$harm = $_REQUEST['harm']; //伤害
|
||||||
|
$alive_time = $_REQUEST['alive_time']; //存活时间
|
||||||
|
$team_status = $_REQUEST['team_status']; //是否是组队状态
|
||||||
|
$kill_his = $kills;
|
||||||
|
$harm_his = $harm;
|
||||||
|
$alive_time_his = $alive_time;
|
||||||
|
$coin_num = $_REQUEST['coin_num']; //金币
|
||||||
|
$integral = $_REQUEST['rank_score']; //排位积分
|
||||||
|
$team_status = $_REQUEST['team_status'];
|
||||||
|
$row = $conn->execQueryOne('SELECT * FROM user WHERE accountid=:accountid;',
|
||||||
|
array(
|
||||||
|
':accountid' => $account_id
|
||||||
|
));
|
||||||
|
if (!$row) {
|
||||||
|
phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家1');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//更新排位积分信息时间
|
||||||
|
if ($integral != 0) {
|
||||||
|
$min_score = 0;
|
||||||
|
$update_score = $integral + $row['integral'];
|
||||||
|
$is_pro = 0;
|
||||||
|
$seaPoint_meta_table = require('../res/seasomPoint@seasomPoint.php');
|
||||||
|
for ($ii = 1; $ii <= count($seaPoint_meta_table); $ii++) {
|
||||||
|
$seaPoint = $this->getSeasonPoint($ii);
|
||||||
|
if ($row['integral'] >= $seaPoint['min'] && $row['integral'] <= $seaPoint['max']
|
||||||
|
|| $row['integral'] >= $seaPoint['min'] && $seaPoint['max'] == -1) {
|
||||||
|
$is_pro = $seaPoint['is_protect'];
|
||||||
|
$min_score = $seaPoint['min'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($is_pro == 1 && $min_score > $update_score) {
|
||||||
|
$update_score = $min_score;
|
||||||
|
}
|
||||||
|
$inret = $conn->execScript('UPDATE user SET integral=:integral, rank_modifytime=:rank_modifytime ' .
|
||||||
|
' WHERE accountid=:accountid;',
|
||||||
|
array(
|
||||||
|
':accountid' => $account_id,
|
||||||
|
':integral' => $update_score,
|
||||||
|
':rank_modifytime' => time(),
|
||||||
|
));
|
||||||
|
if (!$inret) {
|
||||||
|
die();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//更新击杀信息时间
|
||||||
|
$k = 0;
|
||||||
|
if ($row['game_times'] != 0) {
|
||||||
|
$k = $row['kill_his'] / $row['game_times'];
|
||||||
|
}
|
||||||
|
if (($row['kill_his'] + $kills) / ($row['game_times'] + 1) != $k) {
|
||||||
|
$killret = $conn->execScript('UPDATE user SET kill_modifytime=:kill_modifytime ' .
|
||||||
|
' WHERE accountid=:accountid;',
|
||||||
|
array(
|
||||||
|
':accountid' => $account_id,
|
||||||
|
':kill_modifytime' => time(),
|
||||||
|
));
|
||||||
|
if (!$killret) {
|
||||||
|
die();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//更新胜场信息时间
|
||||||
|
if ($rank == 1) {
|
||||||
|
$winret = $conn->execScript('UPDATE user SET win_times=:win_times, season_win=:season_win, win_modifytime=:win_modifytime ' .
|
||||||
|
' WHERE accountid=:accountid;',
|
||||||
|
array(
|
||||||
|
':accountid' => $account_id,
|
||||||
|
':win_times' => $row['win_times'] + 1,
|
||||||
|
':season_win' => $row['season_win'] + 1,
|
||||||
|
':win_modifytime' => time(),
|
||||||
|
));
|
||||||
|
if (!$winret) {
|
||||||
|
die();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//更新历史最高信息
|
||||||
|
if ($kill_his < $row['kill_his']) {
|
||||||
|
$kill_his = $row['kill_his'];
|
||||||
|
}
|
||||||
|
if ($harm_his < $row['harm_his']) {
|
||||||
|
$harm_his = $row['harm_his'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$sea_max_hart = $harm;
|
||||||
|
if ($sea_max_hart < $row['sea_max_hart']) {
|
||||||
|
$sea_max_hart = $row['sea_max_hart'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$sea_max_kill = $kills;
|
||||||
|
if ($sea_max_kill < $row['sea_max_kill']) {
|
||||||
|
$sea_max_kill = $row['sea_max_kill'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($alive_time_his < $row['alive_time_his']) {
|
||||||
|
$alive_time_his = $row['alive_time_his'];
|
||||||
|
}
|
||||||
|
$nowTime = phpcommon\getdayseconds(time());
|
||||||
|
$daily_time = $row['daily_time'];
|
||||||
|
if ($daily_time == 0 || ($nowTime - phpcommon\getdayseconds($daily_time) > 0)) {
|
||||||
|
$daily_time = time();
|
||||||
|
}
|
||||||
|
$daily_first_login = $row['daily_first_login'];
|
||||||
|
$newhand = $row['newhand'];
|
||||||
|
$p1 = $this->getParameter(NEWHAND_NUM1);
|
||||||
|
$fight_times = $p1['param_value'];
|
||||||
|
$p2 = $this->getParameter(NEWHAND_NUM2);
|
||||||
|
$view_times = $p2['param_value'];
|
||||||
|
if ($row['game_times'] + 1 == $fight_times && $row['vip_score'] >= $view_times) {
|
||||||
|
$newhand = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$ret = $conn->execScript('UPDATE user SET game_times=:game_times, kills=:kills, harm=:harm, alive_time=:alive_time, kill_his=:kill_his, alive_time_his=:alive_time_his, harm_his=:harm_his, coin_num=:coin_num, modify_time=:modify_time, first_fight=1, daily_time=:daily_time, season_games=:season_games, sea_max_kill=:sea_max_kill, sea_max_hart=:sea_max_hart, sea_avg_kill=:sea_avg_kill, newhand=:newhand ' .
|
||||||
|
'WHERE accountid=:accountid;',
|
||||||
|
array(
|
||||||
|
':game_times' => $row['game_times'] + 1,
|
||||||
|
':kill_his' => $kill_his,
|
||||||
|
':kills' => $row['kills'] + $kills,
|
||||||
|
':harm_his' => $harm_his,
|
||||||
|
':harm' => $row['harm'] + $harm,
|
||||||
|
':alive_time' => $row['alive_time'] + $alive_time,
|
||||||
|
':alive_time_his' => $alive_time_his,
|
||||||
|
':accountid' => $account_id,
|
||||||
|
':coin_num' => $row['coin_num'] + $coin_num,
|
||||||
|
':modify_time' => time(),
|
||||||
|
':daily_time' => $daily_time,
|
||||||
|
':season_games' => $row['season_games'] + 1,
|
||||||
|
':sea_max_kill' => $sea_max_kill,
|
||||||
|
':sea_max_hart' => $sea_max_hart,
|
||||||
|
':sea_avg_kill' => $row['sea_avg_kill'] + $kills,
|
||||||
|
':newhand' => $newhand,
|
||||||
|
));
|
||||||
|
if (!$ret) {
|
||||||
|
die();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//刷新任务
|
||||||
|
$quest = new classes\Quest();
|
||||||
|
$quest->triggerQuest(QUEST_DAY_FIGHT, 1, 1, $account_id);
|
||||||
|
$quest->triggerQuest(QUEST_DAY_ALIVE, 1, (int)($alive_time / 1000 / 60), $account_id);
|
||||||
|
$quest->triggerQuest(QUEST_DAY_HARM, 1, $harm, $account_id);
|
||||||
|
$quest->triggerQuest(QUEST_DAY_KILL, 1, $kills, $account_id);
|
||||||
|
if ($team_status == 1 && $rank <= 5) {
|
||||||
|
$quest->triggerQuest(QUEST_DAY_RANK, 1, 1, $account_id);
|
||||||
|
}
|
||||||
|
if ($team_status == 1) {
|
||||||
|
$quest->triggerQuest(QUEST_DAY_TEAM, 1, 1, $account_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo json_encode(array(
|
||||||
|
'errcode' => 0,
|
||||||
|
'errmsg' => '',
|
||||||
|
));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function battleReport()
|
public function battleReport()
|
||||||
{
|
{
|
||||||
$account_id = $_REQUEST['account_id']; //账号
|
$account_id = $_REQUEST['account_id']; //账号
|
||||||
|
Loading…
x
Reference in New Issue
Block a user