Explorar el Código

商城宝石宝箱加必出代码

cyzhao hace 1 año
padre
commit
3c59b26bc9
Se han modificado 1 ficheros con 36 adiciones y 16 borrados
  1. 36 16
      Gameserver/App/process/ShopProc.php

+ 36 - 16
Gameserver/App/process/ShopProc.php

@@ -113,19 +113,17 @@ class ShopProc {
                     my_Assert( $user->baseInfo->cash >= $cost, ErrCode::notenough_cash_msg);    
                     $user->baseInfo->Consume_Cash($cost);        
                 }
-                
+                               
                 if($mo->type == 1){
                     if($buyNum == 0){
                         $buyNum = 1;
                         my_Assert(now()-$user->privateState->lastFreeGetTs_ShopBoxCommon >= $mo->freeDownTs*24*60*60, ErrCode::user_shop_FreeNumLimit);
-                    }
-                    $user->privateState->buyNum_ShopBoxCommon += $buyNum;        
+                    }                    
                 } else if($mo->type == 2){
                     if($buyNum == 0){
                         $buyNum = 1;
                         my_Assert(now()-$user->privateState->lastFreeGetTs_ShopBoxBright >= $mo->freeDownTs*24*60*60, ErrCode::user_shop_FreeNumLimit);
                     }
-                    $user->privateState->buyNum_ShopBoxBright += $buyNum;        
                 }
                 
                 $arr = array();
@@ -143,21 +141,43 @@ class ShopProc {
                 }
                 
                 $allNum *= 1000;                    
-                for ($i = 0; $i < $buyNum; $i++) {
-                    $start = 0;
-                    $end = 0;
+                for ($i = 0; $i < $buyNum; $i++) {                   
+                    $buyCount = 0;
+                    if($mo->type == 1){
+                        $user->privateState->buyNum_ShopBoxCommon += 1;       
+                        $buyCount = $user->privateState->buyNum_ShopBoxCommon;
+                    } else {
+                        $user->privateState->buyNum_ShopBoxBright += $buyNum;        
+                        $buyCount = $user->privateState->buyNum_ShopBoxBright;
+                    }
+                    
+                    $bichu1 = explode(',',$mo->bichu1); 
                     $qual = 0;
-                    $randNum = rand (1,$allNum);                       
-                    foreach ($perList as $k => $val) {
-                        $str = explode(',', $value);
-                        $end += $str[1]*1000;
-                        if($randNum > $start && $randNum <= $end){
-                            $qual = $str[0];
-                            break;
+                    if($buyCount % $bichu1[0] == 0){
+                        $qual = $bichu1[1];
+                    }
+                    if($mo->bichu2 != null){
+                        $bichu2 = explode(',',$mo->bichu2); 
+                        if($buyCount % $bichu2[0] == 0){
+                            $qual = $bichu2[1];
                         }
-                        $start = $end;
                     }
-                        
+                    
+                    if($qual == 0){
+                        $start = 0;
+                        $end = 0;                   
+                        $randNum = rand (1,$allNum);                       
+                        foreach ($perList as $k => $val) {
+                            $str = explode(',', $value);
+                            $end += $str[1]*1000;
+                            if($randNum > $start && $randNum <= $end){
+                                $qual = $str[0];
+                                break;
+                            }
+                            $start = $end;
+                        }
+                    }
+                                                              
                     if($qual >0){
                             $gemDic = GameConfig::gem();
                             $gemList = array();