Commit c7d55940 authored by hisuinohoshi's avatar hisuinohoshi

fix2

修正:
- 成就205没能正常保存进度值的问题;
- 成就保留的进度值可能溢出的问题,现在成就保留的数值上限变更为 9,999,999 → 99,999,999;
parent 3d94e04e
......@@ -848,7 +848,7 @@ $ach_list = Array
'lvl' => 3,
'name' => Array('新绿的故事','百变魔法使','换装迷宫'),
'title' => Array('','百变魔法使','换装迷宫'),
'c1' => Array(0),
'c1' => Array(0,0,0),
'c2' => Array(233,234,235),
'desc' => Array(
'触发过任1种<span class="sienna">套装</span>的完整效果',
......
......@@ -622,9 +622,6 @@ function fetch_playerdata_by_name($n)
//套装效果刷新
include_once GAME_ROOT.'./include/game/itemmain.func.php';
reload_set_items($pdata);
//检查杂项成就
include_once GAME_ROOT.'./include/game/achievement.func.php';
check_misc_achievement_rev($pdata);
return $pdata;
}
......@@ -666,6 +663,9 @@ function player_save($data){
$ndata = Array();
if(isset($data['pid'])){
$pid = $data['pid'];
//检查杂项成就
include_once GAME_ROOT.'./include/game/achievement.func.php';
check_misc_achievement_rev($data);
$ndata = player_format_with_db_structure($data);
unset($data);
$db->array_update("{$tablepre}players",$ndata,"pid='$pid'");
......
......@@ -59,7 +59,7 @@ function fetch_achievement_rev($which,$who)
{
$ach = print_achievement_rev($ach);
// 保存的成就进度 >= 9999999时 返回9999999 这是为了兼容旧版成就
if(isset($ach[$which]['v']) && !is_array($ach[$which]['v'])) $value = $ach[$which]['v'] >= 9999999 ? 9999999 : $ach[$which]['v'];
if(isset($ach[$which]['v']) && !is_array($ach[$which]['v'])) $value = $ach[$which]['v'] >= 99999999 ? 99999999 : $ach[$which]['v'];
if(is_array($ach[$which]['v'])) $value = $ach[$which]['v'];
}
//echo "成就值检索阶段: 成就{$which} 的值 = {$value}<br>";
......@@ -1833,12 +1833,13 @@ function check_misc_achievement_rev(&$pa)
// 205.一击承受百万伤害成就
if(!empty($pa['clbpara']['achvars']['takedmg']) && $pa['clbpara']['achvars']['takedmg'] >= 1000000)
{
unset($pa['clbpara']['achvars']['takedmg']);
$aid = 205;
$alvl = check_achievement_rev($aid,$nn);
$achlist = get_achlist($aid);
// 检查历史最高伤害
$nowvars = $pa['clbpara']['achvars']['takedmg']; $avars = fetch_achievement_rev($aid,$nn);
$nowvars = min($pa['clbpara']['achvars']['takedmg'],999999999); $avars = fetch_achievement_rev($aid,$nn);
unset($pa['clbpara']['achvars']['takedmg']);
//echo "nowvars = {$nowvars} | avars = {$avars}";
if($nowvars > $avars) update_achievement_rev($aid,$nn,$nowvars);
// 检查是否完成成就
while(!$alvl)
......
......@@ -29,7 +29,7 @@
</div>
<div style="margin-left: 6px;" align="left">
<!--{if ($tid == 'daily' && $curuser) }-->
<!--{if $reset_daily_flag}-->
<!--{if !empty($reset_daily_flag)}-->
{$reset_daily_flag}
<!--{elseif !isset($_REQUEST["action"])}-->
<button type="button" onclick="window.location.href='user_profile.php?action=refdaily';this.disabled=true">点击获得新的每日挑战</button>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment