ソースを参照

功能:玩家获得新道具event完善.

gwang 4 年 前
コミット
3f50af8ba1

+ 1 - 1
Gameserver/Amfphp/model/Const/GameConfig.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2021-04-20 18:10:30
+ // 日期: 2021-04-22 16:39:20
 ////////////////////
 
 /**

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_eventAction.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2021-04-13 10:32:32
+ // 日期: 2021-04-21 16:17:13
 ////////////////////
 
 

+ 6 - 1
Gameserver/Amfphp/model/Const/sm_plot.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2021-04-20 18:09:40
+ // 日期: 2021-04-22 15:13:49
 ////////////////////
 
 
@@ -139,5 +139,10 @@ class sm_plot
     */
     public $changeEffectEnd;
 
+    /**
+    * @var String 激活孵化器Id 孵化器类型需要是 Event触发  
+    */
+    public $enableSpawnerId;
+
 }
 

+ 2 - 2
Gameserver/Amfphp/model/User/Enum_EventType.php

@@ -24,12 +24,12 @@ class Enum_EventType {
     const RemoveItem = "RemoveItem";
 
     /**
-     * 给予任务
+     * 给予任务
      */
     const AddTaskItem = "AddTaskItem";
 
     /**
-     * 移除任务
+     * 移除任务
      */
     const RemoveTaskItem = "RemoveTaskItem";
 

+ 6 - 5
Gameserver/Amfphp/process/EventProc/NormalEventProc.php

@@ -14,11 +14,12 @@ class NormalEventProc {
 
     /**
      * 包裹--获得新的道具
-     * @param type $arg1
-     * @param type $arg2
+     * @param type $itemid
+     * @param type $num
+     * @param type $cid
      */
-    public static function OnBag_new_Item($arg1, $arg2) {
-        Resp::AddEvent(Enum_EventType::AddItem, $arg1, $arg2);
+    public static function OnBag_new_Item($itemid, $num, $cid) {
+        Resp::AddEvent(Enum_EventType::AddItem, "$itemid,$num", $cid);
     }
 
     /**
@@ -47,7 +48,7 @@ class NormalEventProc {
      * @param type $arg2
      */
     public static function OnTaskBag_remove_Card($arg1, $arg2) {
-        Resp::AddEvent(Enum_EventType::AddYanling, $arg1, $arg2);
+        Resp::AddEvent(Enum_EventType::RemoveTaskItem, $arg1, $arg2);
     }
 
     /**

+ 9 - 4
Gameserver/Amfphp/process/StoreProc.php

@@ -296,7 +296,8 @@ class StoreProc {
         $ary = explode(";", $goodsStr);
         foreach ($ary as $value) {
             $val = explode(",", $value);
-            var_dump($ary);
+//            var_dump($ary);
+            $cid = "";
             my_Assert(count($val) > 1, "解析奖励字符串出错");
             list( $itemId, $num) = $val;                                        # ID, 数量
             $smItem = GameConfig::item_base_getItem($itemId);                   # 道具mo
@@ -327,13 +328,13 @@ class StoreProc {
                     break;
                 case 101:                                                       # 武器 
                     for ($n = 0; $n < $num; $n++) {
-                        StoreProc::PutEquipInStore($itemId, $req);
+                        $cid = StoreProc::PutEquipInStore($itemId, $req);
                     }
                     CornerSignEventProc::OnBag_new_Weapon($req);
                     break;
                 case 401:                                                       # 言灵
                     for ($n = 0; $n < $num; $n++) {
-                        StoreProc::PutYanLingInStore($itemId, $req);
+                        $cid = StoreProc::PutYanLingInStore($itemId, $req);
                     }
                     CornerSignEventProc::OnBag_new_Yanling($req);
                     break;
@@ -345,7 +346,7 @@ class StoreProc {
                     my_Assert(ErrCode::ok == $err, $err);
                     break;
                 case 601:                                                       # 任务卡
-                    StoreProc::PutTaskCardInStore($itemId, $req);
+                    $cid = StoreProc::PutTaskCardInStore($itemId, $req);
                     break;
                 case 201:                                                       # 碎片
                     $segMo = GameConfig::item_segment_getItem($itemId);
@@ -392,6 +393,7 @@ class StoreProc {
                     Err(ErrCode::err_innerfault, "落入包裹时,出现了非法物品($itemId)");
             }
             TaskProc::OnGainItem($itemId, $num);                                // 检查获得道具的任务进度
+            NormalEventProc::OnBag_new_Item($itemId, $num, $cid);
         }
         return ErrCode::ok;                                                     // 返回
     }
@@ -443,6 +445,7 @@ class StoreProc {
         $equip = new Ins_YanLin();
         $equip->typeId = $itemId;
         $req->userInfo->game->store->yanling->$cid = $equip;
+        return $cid;
     }
 
     /**
@@ -462,6 +465,7 @@ class StoreProc {
         my_Assert(null != $itembaseMo, ErrCode::err_const_no);
         if ($itembaseMo->pileNum > 0) {                                         # 可叠加
             Err(ErrCode::taskCard_no_pile);                                     # 不可堆叠!!! 我支持不了.gwang 2020年12月12日13:40:04
+            // <editor-fold defaultstate="collapsed" desc=" 折叠 ">
 //            $taskCard = null;
 //            foreach ($req->userInfo->game->store->taskcards as $uuid => &$val) {
 //                $val = new Ins_TaskCard($val);
@@ -476,6 +480,7 @@ class StoreProc {
 //                $req->userInfo->game->store->taskcards->$cid = $taskCard;
 //            }
 //            $taskCard->count += 1;
+            // </editor-fold>
         } else {
             $taskCard = new Ins_TaskCard($itemId);
             $taskCard->uid = $cid;

+ 1 - 1
Gameserver/Amfphp/process/TaskProc.php

@@ -934,7 +934,7 @@ class TaskProc {
      */
     static function OnGainItem($itemId, $num) {
         $taskParam = new Ins_TaskEventArgs(Enum_TaskCmdType::GainItem, Enum_PropelType::stat, $num, array($itemId));
-        NormalEventProc::OnBag_new_Item($itemId, $num);
+
         self::CheckTaskCardConditions($taskParam);
     }
 

+ 6 - 1
Gameserver/Amfphp/test.php

@@ -16,4 +16,9 @@ var_dump($arr);
 //foreach ($arr as $plot) {
 //    isEditor() and $plot = new \sm_plot();
 //    var_dump($plot);
-//}
+//}
+
+$i = 9;
+
+var_dump($i++);
+var_dump($i);

+ 1 - 1
Gameserver/Amfphp/util/CLog.php

@@ -222,7 +222,7 @@ class CLog {
         $row = $array[0];
         $server_addr = isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : "-";
         $client_addr = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : "-";
-        $uid = empty(req()->uid) ? "" : req()->uid;
+        $uid = empty(req()->uid) ? "-" : req()->uid;
         $str = "[" . $server_addr . "][$zoneid 区][" . $uid . "]"                          # 请求主机ip地址、分区, uid
                 . "[" . date('Y-m-d H:i:s') . "][" . $client_addr . "]["                   # 时间, 客户端来源ip地址
                 . (isset($row['file']) ? CommUtil::str2UTF8(basename($row['file'])) : '-') # 所在文件名