cyzhao 3 år sedan
förälder
incheckning
884e9767c2

+ 1 - 0
Gameserver/Amfphp/base/CmdCode.php

@@ -159,6 +159,7 @@ class CmdCode {
      * 6015 收集玩家意见和bug
      */
     const cmd_user_ctxBack = 6015;
+    const cmd_user_text = 6016;
     // </editor-fold>
     //
     // <editor-fold defaultstate="collapsed" desc="好友操作码 - 61xx">

+ 10 - 2
Gameserver/Amfphp/model/User/Info_UserBase.php

@@ -161,7 +161,9 @@ class Info_UserBase extends Object_ext {
      */
     function Add_Gold($amt) {
         my_Assert($amt >= 0, "参数为负");
-        $this->gold += $amt;
+        
+        UserProc::CollectUserBaseParam(req()->cmd,2, $this->gold, $amt, $this->gold+$amt, "获得金币");
+        $this->gold += $amt;              
     }
 
     /**
@@ -170,8 +172,9 @@ class Info_UserBase extends Object_ext {
      * @return boolean true:成功, false:金币不足
      */
     function Consume_Gold($amt) {
-        if ($amt > 0) {
+        if ($amt > 0) {                       
             if ($this->gold - $amt >= 0) {
+                UserProc::CollectUserBaseParam(req()->cmd,2, $this->gold, $amt, $this->gold-$amt, "消耗金币");
                 $this->gold -= $amt;
                 return true;
             }
@@ -185,6 +188,8 @@ class Info_UserBase extends Object_ext {
      */
     function Add_Cash($amt) {
         my_Assert($amt >= 0, "amt值为负");
+        
+        UserProc::CollectUserBaseParam(req()->cmd, 3, $this->cash, $amt, $this->cash+$amt,"获得钻石");
         $this->cash += $amt;
     }
 
@@ -196,6 +201,7 @@ class Info_UserBase extends Object_ext {
     function Consume_Cash($amt) {
         if ($amt >= 0) {
             if ($this->cash - $amt >= 0) {
+                UserProc::CollectUserBaseParam(req()->cmd, 3, $this->cash, $amt, $this->cash-$amt,"消耗钻石");
                 $this->cash -= $amt;
                 return true;
             }
@@ -233,6 +239,8 @@ class Info_UserBase extends Object_ext {
     function Add_Exp($amt) {
         my_Assert($amt >= 0, "amt值为负");
         $cfgLVs = GameConfig::playerlevel();
+        
+        UserProc::CollectUserBaseParam(req()->cmd, 1, $this->xp, $amt, $this->xp-$amt, "获得经验");       
         $this->xp += $amt;
         $initLevel = $curLevel = $this->level;
         $nextLevel = $curLevel + 1;

+ 3 - 2
Gameserver/Amfphp/process/AuctionProc.php

@@ -84,9 +84,10 @@ class AuctionProc {
         
         my_Assert($aucItem->result == "", "该拍品不能竞拍");  
         my_Assert($aucItem->sellerid != req()->uid, "不能竞拍自己的拍品");       
-        my_Assert(req()->userInfo->game->baseInfo->cash >= $buyoutPrice, ErrCode::notenough_cash_msg);
+        my_Assert(req()->userInfo->game->baseInfo->cash >= $buyoutPrice, ErrCode::notenough_cash_msg);               
         //扣除钻石--交易费用 + 手续费
-        req()->userInfo->game->baseInfo->cash -= $buyoutPrice; 
+        req()->userInfo->game->base()->Consume_Cash($buyoutPrice);    
+        //req()->userInfo->game->baseInfo->cash -= $buyoutPrice; 
                                    
         //更新表里的交易状态
         $aucItem->result = "完成";

+ 8 - 2
Gameserver/Amfphp/process/HeroProc.php

@@ -229,8 +229,10 @@ class HeroProc {
 
         $totalGold = $costItemConst->costGold * $costNumber;                    #验证金币是否充足
         my_Assert($user->baseInfo->gold >= $totalGold, ErrCode::notenough_gold_msg);
+        
+        UserProc::CollectUserBaseParam(req()->cmd, 2, $user->baseInfo->gold, $totalGold, $user->baseInfo->gold-$totalGold,"");
         $user->baseInfo->gold -= $totalGold;
-
+       
         $totalEXP += $costItemConst->baseExp;
         $heroConst = GameConfig::hero_getItem($targetHero->typeId);             # 英雄模板数据
         my_Assert(null != $heroConst, ErrCode::err_const_no, "英雄 模板数据");
@@ -289,6 +291,8 @@ class HeroProc {
             StoreProc::removeItemFromStore($user->store, $list[0], $list[1]);
         }
         $user->store->items->$segID -= $mo->segNum;
+        
+        UserProc::CollectUserBaseParam(req()->cmd, 2, $user->baseInfo->gold, $mo->gold, $user->baseInfo->gold - $mo->gold,"");
         $user->baseInfo->gold -= $mo->gold;
         $collectHeros->$uid->curStar += 1;
 
@@ -807,7 +811,7 @@ class HeroProc {
             $list = explode(',', $value);
             StoreProc::removeItemFromStore($user->store, $list[0], $list[1]);
         }
-
+        UserProc::CollectUserBaseParam(req()->cmd,2, $user->baseInfo->gold, $mo->gold, $user->baseInfo->gold - $mo->gold,"");
         $user->baseInfo->gold -= $mo->gold;
         $yanling->$uid->starLv += 1;
 
@@ -878,6 +882,8 @@ class HeroProc {
         }
 
         $user->store->yanling->$uid = $equipVo;
+        
+        UserProc::CollectUserBaseParam(req()->cmd, 2,$user->baseInfo->gold, $totalGold, $user->baseInfo->gold - $totalGold,"");
         $user->baseInfo->gold -= $totalGold;
         req()->userInfo->game = $user;
         req()->userInfo->game->store->items = $myPacketItems;                    # 更新背包数据

+ 5 - 2
Gameserver/Amfphp/process/StoreProc.php

@@ -123,6 +123,8 @@ class StoreProc {
         }
 
         $user->store->equipment->$uid = $equipVo;
+        
+        UserProc::CollectUserBaseParam(req()->cmd, 2,$user->baseInfo->gold, $totalGold, $user->baseInfo->gold-$totalGold,"");
         $user->baseInfo->gold -= $totalGold;
         req()->userInfo->game = $user;
         req()->userInfo->game->store->items = $myPacketItems;                    # 更新背包数据
@@ -197,6 +199,7 @@ class StoreProc {
             StoreProc::removeItemFromStore($user->store, $list[0], $list[1]);
         }
 
+        UserProc::CollectUserBaseParam(req()->cmd, 2,$user->baseInfo->gold , $mo->gold, $user->baseInfo->gold - $mo->gold,"");
         $user->baseInfo->gold -= $mo->gold;
         $equipment->$uid->starLevel += 1;
 
@@ -469,7 +472,7 @@ class StoreProc {
                     break;
                 case META_GOLD_ITEMID:                                          # 金币
 //                    Data_UserGame::Add_Gold($user->baseInfo, $num);
-                    $user->base()->Add_Gold($num);                              # 增加金币
+                    $user->base()->Add_Gold($num);                              # 增加金币                                    
                     break;
                 case META_CASH_ITEMID:                                          # 钻石
 //                    Data_UserGame::Add_Cash($user->baseInfo, $num);
@@ -580,7 +583,7 @@ class StoreProc {
      * [6401]向包裹中添加物品
      */
     public static function AddItemInStore() {
-        list($rwdStr) = req()->paras;
+        list($rwdStr,$mask) = req()->paras;//mask = 1:表示战斗中掉落
         $user = req()->userInfo->game;
         $err = self::AddMultiItemInStore($rwdStr);
         my_Assert(ErrCode::ok == $err, $err);

+ 32 - 2
Gameserver/Amfphp/process/UserProc.php

@@ -46,12 +46,12 @@ class UserProc {
             case CmdCode::cmd_user_stat_initvolc:                               # 6014 初始化火山引擎所需数据
                 return self::InitVolcData();
             case CmdCode::cmd_user_ctxBack:                                     # 6015 收集玩家反馈
-                return self::UserCtxBack();                   
+                return self::UserCtxBack();                               
             default:
                 Err(ErrCode::cmd_err);
         }
     }
-    
+     
     /**
      * 6015 收集玩家反馈
      */
@@ -600,4 +600,34 @@ class UserProc {
 // </editor-fold>
 //</editor-fold>
 //
+    
+// <editor-fold defaultstate="collapsed" desc="    统计信息    ">
+ 
+    /**
+     * 经验 金币 钻石 统计
+     * @param type $cmd
+     * @param type $cmdName
+     * @param type $type
+     * @param type $cur
+     * @param type $change
+     * @param type $end
+     * @param type $desc
+     */
+    static function CollectUserBaseParam($cmd,$type,$curVal,$changeVal,$endVal,$desc) {           
+        $item = new \stdClass();         
+        $item->cmd = $cmd;    
+        $item->type = $type;
+        $item->curVal = $curVal;      
+        $item->changeVal = $changeVal;
+        $item->endVal = $endVal;
+        $item->desc = $desc;
+        $item->ts = time();
+        
+        $arr = array();
+        $arr[] = $item;
+        
+        $num = gMem()->rpush("userbaseParams-".req()->uid."-". req()->zoneid, $arr);    
+    }
+          
+//</editor-fold>
 }