2 次代码提交 a84b08548d ... d596530064

作者 SHA1 备注 提交日期
  Dcrclub d596530064 refactor(RespawnEquipment): 优化复活装备配置逻辑并更新文档 1 周之前
  Dcrclub d2632d04d4 refactor(RespawnEquipment): 添加isVIP参数以区分普通玩家和VIP玩家 1 周之前
共有 1 个文件被更改,包括 14 次插入3 次删除
  1. 14 3
      Mod/RespawnEqument/init.c

+ 14 - 3
Mod/RespawnEqument/init.c

@@ -79,10 +79,13 @@ class CustomMission: MissionServer
         
         string steamid = player.GetIdentity().GetPlainId();
         ref PlayerRevivalEquipmentData rev = g_CustomRevivalSuitCfg.GetPlayerRevivalEquipmentData( steamid );
+        bool isVIP = false;
         if ( rev )
+        {
+            isVIP = true;
             ProcessVIPEquipment( player, rev );
-
-        DefaultPlayerEquipment( player, clothesChosen );
+        }
+        DefaultPlayerEquipment( player, clothesChosen, isVIP );
     }
     //------------------------------------------------------------------
     // 处理VIP装备方法:为VIP玩家设置自定义装备
@@ -141,15 +144,23 @@ class CustomMission: MissionServer
     // 参数:
     //   player - 玩家对象
     //   clothesChosen - 是否已选择服装
+    //   isVIP - 是否为VIP玩家
     // 这里的代码是原版init.c中 StartingEquipSetup 方法中的内容, 只是换了个方法名字
     //------------------------------------------------------------------
-    void DefaultPlayerEquipment( PlayerBase player, bool clothesChosen )
+    void DefaultPlayerEquipment( PlayerBase player, bool clothesChosen, bool isVIP )
     {
         EntityAI itemClothing;
         EntityAI itemEnt;
         ItemBase itemBs;
         float rand;
 
+        if ( !isVIP )
+        {
+            // TODO: 这里给普通玩家创建装备. 以前在StartingEquipSetup中如何给玩家创建新的装备这里就如何写
+            // player.RemoveAllItems();  // 移除所有默认装备
+            // itemEnt = player.GetInventory().CreateInInventory( "" /*这里写服装代码 */ );
+        }
+        
         itemClothing = player.FindAttachmentBySlotName( "Body" );
         if ( itemClothing )
         {