Ver Fonte

bug修复

cyzhao há 2 dias atrás
pai
commit
ca1aea1567

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2025-06-04 09:33:36
+ // 日期: 2025-06-05 15:19:44
 ////////////////////
 
 /**

+ 1 - 1
Gameserver/App/model/Const/sm_item.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2025-05-23 09:55:32
+ // 日期: 2025-06-05 15:22:41
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_sysmail.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2025-03-31 11:24:28
+ // 日期: 2025-06-05 15:06:58
 ////////////////////
 
 

+ 5 - 1
Gameserver/App/process/FightProc.php

@@ -1142,9 +1142,13 @@ class FightProc {
                 break;
             case Enum_FunUnlockType::passBattle_Gate:
                 $gateId = $paras;
-                if (ctx()->gates->GateList->$gateId->pass >= 1) {
+                if(StlUtil::dictHasProperty(ctx()->gates->GateList, $gateId) && ctx()->gates->GateList->$gateId->pass >= 1){
                     $funUnlock = true;
                 }
+                
+//                if (ctx()->gates->GateList->$gateId->pass >= 1) {
+//                    
+//                }
 
                 break;
             case Enum_FunUnlockType::equip_firstTime:

+ 13 - 8
Gameserver/App/process/PetProc.php

@@ -69,17 +69,17 @@ class PetProc {
             $list = $ins_ExploreArea->explorePetList;
             foreach ($list as $petUid) {
                 $ins_pet = new Ins_Pet(ctx()->store->pet->$petUid);
-                $typeId = $ins_pet->mo()->typeId;
+                $typeId = $ins_pet->mo()->type;
                 $qual = $ins_pet->qual;
                 
                 $pet_exploreoutputMo = GameConfig::pet_exploreoutput_getItem($typeId, $qual);
                 if ($pet_exploreoutputMo->exploreOutput != null) {
-                    $sList = explode(';', $pet_exploreoutputMo->exploreOutput);
+                    $sList = explode(';', $pet_exploreoutputMo->exploreOutput);                   
                     foreach ($sList as $str) {
                         $s = explode(',', $str);
                         if ((int) $s[0] == $ins_ExploreArea->areaId) {
                             $num += (int) $s[1];
-                            $ts += (int) $s[2];
+                            $ts += (int) $s[2];                          
                         }
                     }
                 }
@@ -283,16 +283,21 @@ class PetProc {
         if (now() >= $vo->endTs) {
             $tt = $vo->endTs - $vo->startTs;
         }
-
-        $ts_n = $vo->output_ts / $vo->output_count;
-        $num = intval($tt / $ts_n);
+        $ts = $vo->endTs - $vo->startTs;
+        $hour = $ts / 60 / 60;
+        //$ts_n = intval($vo->output_count/$vo->output_ts * 100000) / 100000;       
+        $ts_n = $vo->output_count*$hour/$vo->output_ts;
+        $num = intval($tt * $ts_n);
+        if($num >= $vo->output_count* $ts_n){
+            $num = $vo->output_count* $ts_n;
+        }
         $goodsStr = $vo->mo()->reward_fixed . ',' . $num;
         StoreProc::AddMultiItemInStore($goodsStr);
 
         $reward = explode(',', $vo->mo()->reward_extra);
-        $randNum = rand(1, $reward[2]);
+        $randNum = rand(1, 100);       
         if ($randNum <= $reward[2]) {
-            StoreProc::AddMultiItemInStore($reward[0] . ',' . $randNum);
+            StoreProc::AddMultiItemInStore($reward[0] . ',' . $reward[1]);
         }
                 
         $vo->startTs = 0;