浏览代码

【优化】日志

meijun 3 年之前
父节点
当前提交
73be9994e0

+ 1 - 1
Common/CommonAI/Zone/EventTrigger/EventAdapter.cs

@@ -338,7 +338,7 @@ namespace CommonAI.Zone.EventTrigger
 			}
             else
             {
-                log.Info("--调试场景: " + this.ZoneAPI.UUID + ", " + this.ZoneAPI.GetSceneID() + ", 执行动作:" + this.Name);
+                log.Debug("--调试场景: " + this.ZoneAPI.UUID + ", " + this.ZoneAPI.GetSceneID() + ", 执行动作:" + this.Name);
             }
 
             //if(this.Name.Equals("事件重置列表1") || this.Name.Equals("玉重置"))

+ 3 - 2
Common/CommonAI/Zone/Instance/InstancePlayer.cs

@@ -10,6 +10,7 @@ using System.Text;
 using CommonLang.IO;
 using CommonAI.Data;
 using CommonAI.Zone.ZoneEditor.EventTrigger;
+using CommonAI.ZoneClient;
 
 namespace CommonAI.Zone.Instance
 {
@@ -93,10 +94,10 @@ namespace CommonAI.Zone.Instance
         public virtual void OnReconnected(UnitInfo temp, int force, int level, Vector2 enterPos) { }
 
 
-        public virtual ZoneClient.LockActorEvent GenLockActorEvent(string displayName, float inRange, float outRange, int updateInterval)
+        public virtual LockActorEvent GenLockActorEvent(string displayName, float inRange, float outRange, int updateInterval)
         {
             // 准备发送当前场景信息 //
-            var loc = new ZoneClient.LockActorEvent();
+            var loc = new LockActorEvent();
             loc.ServerUpdateInterval = updateInterval;
             loc.ClientSyncObjectRange = inRange;
             loc.ClientSyncObjectOutRange = outRange;

+ 221 - 212
Common/CommonAI/Zone/Instance/InstanceZone.cs

@@ -81,23 +81,23 @@ namespace CommonAI.Zone.Instance
         [Desc("场景中是否存在Area")]
         public bool HasArea { get { return mHasArea; } }
 
-		//山大王id
-		protected int mKingID;
-		//绑定服务器
-		protected string mBindGameSrvId;
+        //山大王id
+        protected int mKingID;
+        //绑定服务器
+        protected string mBindGameSrvId;
 
-		//------------------------------------------------------------------------
-		/// <summary>
-		/// 
-		/// </summary>
-		/// <param name="templates"></param>
-		/// <param name="listener">消息接收者</param>
-		/// <param name="data">场景数据</param>
-		/// <param name="spaceDivSize">空间分割参数</param>
-		/// <param name="maxUnitCount">最大单位数</param>
-		/// <param name="randomSeed">随机种子</param>
-		internal InstanceZone(TemplateManager templates, InstanceZoneListener listener, ZoneEditor.SceneData data, GSCreateAreaData gsData,
-			int spaceDivSize, int maxUnitCount, int randomSeed)
+        //------------------------------------------------------------------------
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="templates"></param>
+        /// <param name="listener">消息接收者</param>
+        /// <param name="data">场景数据</param>
+        /// <param name="spaceDivSize">空间分割参数</param>
+        /// <param name="maxUnitCount">最大单位数</param>
+        /// <param name="randomSeed">随机种子</param>
+        internal InstanceZone(TemplateManager templates, InstanceZoneListener listener, ZoneEditor.SceneData data, GSCreateAreaData gsData,
+            int spaceDivSize, int maxUnitCount, int randomSeed)
         {
             InstanceZone.s_alloc_zone_count++;
             InstanceZone.s_active_zone_count++;
@@ -120,7 +120,7 @@ namespace CommonAI.Zone.Instance
                 m_TerrainSrc.TotalHeight,
                 spaceDivSize * m_TerrainSrc.GridCellW,
                 spaceDivSize * m_TerrainSrc.GridCellH);
-            this.mObjects = new InstanceZoneObjectMap();
+            this.mObjects = new InstanceZoneObjectMap("zoneId:" + this.GetSceneID());
             //             this.path_terrain_data = new InstanceZoneManhattanMap(templates, info.Clone() as ZoneInfo);
             //             this.path_finder = new AstarManhattan(path_terrain_data, true, spaceDivSize);
             //             this.path_terrain_area_gen = new ManhattanMapAreaGenerator(path_terrain_data.Data);
@@ -172,10 +172,10 @@ namespace CommonAI.Zone.Instance
             this.EnvironmentVarMap.Clear();
             this.mFlags.Clear();
 
-			this.m_UnitsPos.Clear();
-			this.m_UnitsStates.Clear();
+            this.m_UnitsPos.Clear();
+            this.m_UnitsStates.Clear();
 
-			InstanceZone.s_active_zone_count--;
+            InstanceZone.s_active_zone_count--;
         }
         // -----------------------------------------------------------------------------------
         protected Logger Log { get { return log; } }
@@ -264,11 +264,11 @@ namespace CommonAI.Zone.Instance
 		/// <summary>
 		/// 【线程安全】增加时间任务
 		/// </summary>
-		/// <param name="intervalMS"></param>
-		/// <param name="delayMS"></param>
-		/// <param name="repeat"></param>
-		/// <param name="handler"></param>
-		public TimeTaskMS AddTimeTask(int intervalMS, int delayMS, int repeat, TickHandler handler)
+        /// <param name="intervalMS"></param>
+        /// <param name="delayMS"></param>
+        /// <param name="repeat"></param>
+        /// <param name="handler"></param>
+        public TimeTaskMS AddTimeTask(int intervalMS, int delayMS, int repeat, TickHandler handler)
         {
             return mTimeTasks.AddTimeTask(intervalMS, delayMS, repeat, handler);
         }
@@ -378,7 +378,7 @@ namespace CommonAI.Zone.Instance
             queueEventInternal(new TestMessageBox(msg));
         }
 
-		public virtual int GetSceneID() { return 0; }
+        public virtual int GetSceneID() { return 0; }
 
 
         //-----------------------------------------------------------------------------------
@@ -412,10 +412,10 @@ namespace CommonAI.Zone.Instance
             }
         }
 
-		public bool CheckAutoDropItem()
-		{
-			return this.mListener.CheckDropItem();
-		}
+        public bool CheckAutoDropItem()
+        {
+            return this.mListener.CheckDropItem();
+        }
 
         //-----------------------------------------------------------------------------------
         public virtual void Update(int intervalMS, bool slowRefresh)
@@ -439,7 +439,7 @@ namespace CommonAI.Zone.Instance
             mTasks.ProcessMessages(doTask);
             mSyncActionQueue.ProcessMessages(updateAction);
 
-			mObjects.Refresh();
+            mObjects.Refresh();
             var objetes = mObjects.Objects;
             {
                 // clean space div state
@@ -638,21 +638,21 @@ namespace CommonAI.Zone.Instance
             return null;
         }
 
-		public InstanceUnit getUnitByID(int UnitID)
-		{
-			foreach (InstanceUnit obj in mObjects.Units)
-			{
-				if (obj.ID == UnitID)
-				{
-					return obj;
-				}
-			}
+        public InstanceUnit getUnitByID(int UnitID)
+        {
+            foreach (InstanceUnit obj in mObjects.Units)
+            {
+                if (obj.ID == UnitID)
+                {
+                    return obj;
+                }
+            }
 
-			return null;
-		}
+            return null;
+        }
 
 
-		public IEnumerable<InstancePlayer> AllPlayers { get { return mObjects.Players; } }
+        public IEnumerable<InstancePlayer> AllPlayers { get { return mObjects.Players; } }
         public int AllPlayersCount { get { return mObjects.PlayersCount; } }
 
         public IEnumerable<InstanceUnit> AllUnits { get { return mObjects.Units; } }
@@ -767,9 +767,9 @@ namespace CommonAI.Zone.Instance
             }
         }
 
-		//-------------------------------------------------------------------------------------------
+        //-------------------------------------------------------------------------------------------
 
-		public InstanceUnit AddUnit(int unitTemplateID, string name, int force, int level, float x, float y, float direction, bool pointLv = false)
+        public InstanceUnit AddUnit(int unitTemplateID, string name, int force, int level, float x, float y, float direction, bool pointLv = false)
         {
             UnitInfo info = Templates.getUnit(unitTemplateID);
             if (info != null)
@@ -830,10 +830,10 @@ namespace CommonAI.Zone.Instance
 			}
 
 			if (mTryAddUnit != null && !mTryAddUnit.Invoke(info))
-			{
-				//log.Info(string.Format("Zone Unit TryAdd max: {0}, {1}, 单位数量:{2}", this.TerrainSrc.ID, info.TemplateID, mObjects.UnitsCount));
-				return null;
-			}
+            {
+                //log.Info(string.Format("Zone Unit TryAdd max: {0}, {1}, 单位数量:{2}", this.TerrainSrc.ID, info.TemplateID, mObjects.UnitsCount));
+                return null;
+            }
 
             // 创建实体单位
             InstanceZoneObject ret = CreateUnit(info, name, force, alliesForce, level);
@@ -868,18 +868,18 @@ namespace CommonAI.Zone.Instance
                                 unit.SetDiaplayerName(clientShowName);
                             }
 
-							//// 阵营判断
-							//if(info.UType == UnitType.TYPE_MONSTER && force > 1)
-							//{
-							//	add.flag = 1;
-							//}
+                            //// 阵营判断
+                            //if(info.UType == UnitType.TYPE_MONSTER && force > 1)
+                            //{
+                            //	add.flag = 1;
+                            //}
 
                             queueEvent(add);
                         }
                     }
                     catch (Exception err)
                     {
-						log.Warn("AddUnit catch :" + name + ", e:" + err);
+                        log.Warn("AddUnit catch :" + name + ", e:" + err);
                         add.ErrorMessage = err.Message;
                         return null;
                     }
@@ -947,9 +947,9 @@ namespace CommonAI.Zone.Instance
                 }
                 catch (Exception err)
                 {
-					log.Warn("AddItem: " + template.ID + ", catch: " + err);
+                    log.Warn("AddItem: " + template.ID + ", catch: " + err);
                     add.ErrorMessage = err.Message;
-					return null;
+                    return null;
                 }
                 finally
                 {
@@ -1086,8 +1086,8 @@ namespace CommonAI.Zone.Instance
         // 移除一个单位
         public bool RemoveObject(InstanceZoneObject obj)
         {
-			//Console.WriteLine("RemoveObject : " + obj.ID);
-			if (mObjects.RemoveObject(obj))
+            //Console.WriteLine("RemoveObject : " + obj.ID);
+            if (mObjects.RemoveObject(obj))
             {
                 obj.onRemoved(this);
                 if (obj is InstanceUnit)
@@ -1152,25 +1152,25 @@ namespace CommonAI.Zone.Instance
 			InstanceItem obj = mObjects.GetItem(unitTemplateId);
 			if (obj != null && RemoveObject(obj))
 			{
-				Console.WriteLine("成功移除单位:" + unitTemplateId);
-				return obj;
-			}
-			return null;
-		}
+                Console.WriteLine("成功移除单位:" + unitTemplateId);
+                return obj;
+            }
+            return null;
+        }
 
-		public int GetZoneKingID()
-		{
-			return this.mKingID;
-		}
+        public int GetZoneKingID()
+        {
+            return this.mKingID;
+        }
 
-		public string GetBindGameSrvID()
-		{
-			return this.mBindGameSrvId;
-		}
+        public string GetBindGameSrvID()
+        {
+            return this.mBindGameSrvId;
+        }
 
-		//----------------------------------------------------------------------------------------------------------------------------------------
+        //----------------------------------------------------------------------------------------------------------------------------------------
 
-		private class InstanceZoneObjectMap
+        private class InstanceZoneObjectMap
         {
             private class DirtyList<K, T> where T : InstanceZoneObject
             {
@@ -1206,7 +1206,7 @@ namespace CommonAI.Zone.Instance
                 {
                     mObjectsCollection.Clear();
                     mObjects.Clear();
-				}
+                }
                 public T Get(K key)
                 {
                     return mObjects.Get(key);
@@ -1215,7 +1215,7 @@ namespace CommonAI.Zone.Instance
                 {
                     return mObjects.ContainsKey(key);
                 }
-                public IEnumerable<T> GetCollection()
+                public IEnumerable<T> GetCollection(string logFlag)
                 {
                     try
                     {
@@ -1227,9 +1227,10 @@ namespace CommonAI.Zone.Instance
                         }
                         return mObjectsCollection;
                     }
-                    catch(Exception err)
+                    catch (Exception err)
                     {
-                        log.Warn("GetCollectioncatch:" + mObjectsCollection.Count + ", e:" + err);
+                        log.Warn("GetCollectioncatch:" + logFlag + ", CollectCnt: " + mObjectsCollection.Count +
+                            ", mObjectsCnt: " + mObjects.Count + ", e:" + err);
                     }
                     return mObjects.Values;
                 }
@@ -1241,6 +1242,14 @@ namespace CommonAI.Zone.Instance
             private DirtyList<uint, InstanceItem> mObjects_MirrorItems = new DirtyList<uint, InstanceItem>();
             private DirtyList<string, InstancePlayer> mObjects_MirrorPlayers = new DirtyList<string, InstancePlayer>();
 
+            private string logFlag = "";
+
+
+            public InstanceZoneObjectMap(string logFlag)
+            {
+                this.logFlag = logFlag;
+            }
+
             internal void Refresh()
             {
                 //mObjects.Refresh();
@@ -1340,7 +1349,7 @@ namespace CommonAI.Zone.Instance
 
             public InstanceUnit GetUnit(uint unitTemplateId)
             {
-                foreach (InstanceUnit obj in mObjects_MirrorUnits.GetCollection())
+                foreach (InstanceUnit obj in mObjects_MirrorUnits.GetCollection(logFlag))
                 {
                     if (obj.Info.ID == unitTemplateId)
                     {
@@ -1353,7 +1362,7 @@ namespace CommonAI.Zone.Instance
 
             public InstanceSpell GetSpllByLanuchAndSpellId(int launchId, int spellId)
             {
-                foreach (InstanceSpell obj in mObjects_MirrorSpells.GetCollection())
+                foreach (InstanceSpell obj in mObjects_MirrorSpells.GetCollection(logFlag))
                 {
                     if (obj.Info.ID == spellId && obj.LauncherID == launchId)
                     {
@@ -1363,10 +1372,10 @@ namespace CommonAI.Zone.Instance
                 return null;
             }
 
-			public InstanceItem GetItem(uint itemId)
-			{
-				return mObjects_MirrorItems.Get(itemId);
-			}
+            public InstanceItem GetItem(uint itemId)
+            {
+                return mObjects_MirrorItems.Get(itemId);
+            }
 
 
             public InstancePlayer GetPlayer(string uuid)
@@ -1375,19 +1384,19 @@ namespace CommonAI.Zone.Instance
             }
 
             public int ObjectsCount { get { return mObjects.Count; } }
-            public IEnumerable<InstanceZoneObject> Objects { get { return mObjects.GetCollection(); } }
+            public IEnumerable<InstanceZoneObject> Objects { get { return mObjects.GetCollection(logFlag); } }
 
             public int UnitsCount { get { return mObjects_MirrorUnits.Count; } }
-            public IEnumerable<InstanceUnit> Units { get { return mObjects_MirrorUnits.GetCollection(); } }
+            public IEnumerable<InstanceUnit> Units { get { return mObjects_MirrorUnits.GetCollection(logFlag); } }
 
             public int SpellsCount { get { return mObjects_MirrorSpells.Count; } }
-            public IEnumerable<InstanceSpell> Spells { get { return mObjects_MirrorSpells.GetCollection(); } }
+            public IEnumerable<InstanceSpell> Spells { get { return mObjects_MirrorSpells.GetCollection(logFlag); } }
 
             public int ItemsCount { get { return mObjects_MirrorItems.Count; } }
-            public IEnumerable<InstanceItem> Items { get { return mObjects_MirrorItems.GetCollection(); } }
+            public IEnumerable<InstanceItem> Items { get { return mObjects_MirrorItems.GetCollection(logFlag); } }
 
             public int PlayersCount { get { return mObjects_MirrorPlayers.Count; } }
-            public IEnumerable<InstancePlayer> Players { get { return mObjects_MirrorPlayers.GetCollection(); } }
+            public IEnumerable<InstancePlayer> Players { get { return mObjects_MirrorPlayers.GetCollection(logFlag); } }
         }
 
         #endregion
@@ -1408,7 +1417,7 @@ namespace CommonAI.Zone.Instance
         }
         internal void cb_unitDeadCallBack(InstanceUnit obj, InstanceUnit attacker)
         {
-			statisticForceDead(obj);
+            statisticForceDead(obj);
 
             LastHittedUnit = obj;
             LastKilledUnit = obj;
@@ -1432,7 +1441,7 @@ namespace CommonAI.Zone.Instance
                 mOnUnitDead.Invoke(this, obj, attacker);
 
 			obj.mProcessDeadCallbackTime = CommonLang.CUtils.localTimeMS + 1000;
-		}
+        }
         internal void cb_unitActivatedCallBack(InstanceUnit obj)
         {
             nearChange(obj);
@@ -1464,41 +1473,41 @@ namespace CommonAI.Zone.Instance
             if (mOnUnitLostInventoryItem != null)
                 mOnUnitLostInventoryItem.Invoke(this, obj, item, count);
         }
-		internal int cb_unitGotInstanceItemCallBack(InstanceUnit obj, InstanceItem item)
-		{
-			LastUnitGotInstanceItem = item;
-			obj.callback_onGotInstanceItem(this, item);
-			short times = 0;
-			if (mOnUnitGotInstanceItem != null)
-			{
-				InstancePlayer player = (obj as InstancePlayer);
-				if (player == null)
-				{
-					return 0;
-				}
+        internal int cb_unitGotInstanceItemCallBack(InstanceUnit obj, InstanceItem item)
+        {
+            LastUnitGotInstanceItem = item;
+            obj.callback_onGotInstanceItem(this, item);
+            short times = 0;
+            if (mOnUnitGotInstanceItem != null)
+            {
+                InstancePlayer player = (obj as InstancePlayer);
+                if (player == null)
+                {
+                    return 0;
+                }
 
-				if (item.unitPickInfo != null)
-				{
-					if (item.Info.maxPickTimes > 0)
-					{
-						times = item.unitPickInfo.Get(player.PlayerUUID);
-						if (times >= item.Info.maxPickTimes)
-						{
-							player.Virtual.SendMsgToClient(XmdsConstConfig.TIPS_PICK_MAX);
-							return item.Info.maxPickTimes;
-						}
-					}
-					item.unitPickInfo.Put(player.PlayerUUID, ++times);
-					item.TotalPickTimes++;
-				}
+                if (item.unitPickInfo != null)
+                {
+                    if (item.Info.maxPickTimes > 0)
+                    {
+                        times = item.unitPickInfo.Get(player.PlayerUUID);
+                        if (times >= item.Info.maxPickTimes)
+                        {
+                            player.Virtual.SendMsgToClient(XmdsConstConfig.TIPS_PICK_MAX);
+                            return item.Info.maxPickTimes;
+                        }
+                    }
+                    item.unitPickInfo.Put(player.PlayerUUID, ++times);
+                    item.TotalPickTimes++;
+                }
 
-				mOnUnitGotInstanceItem.Invoke(this, obj, item);
-			}
+                mOnUnitGotInstanceItem.Invoke(this, obj, item);
+            }
 
-			return times;
-		}
+            return times;
+        }
 
-		internal void cb_unitUseItemCallBack(InstanceUnit obj, ItemTemplate item, InstanceUnit item_creater)
+        internal void cb_unitUseItemCallBack(InstanceUnit obj, ItemTemplate item, InstanceUnit item_creater)
         {
             LastUnitUseItem = item;
             obj.callback_onUseItem(this, item, item_creater);
@@ -1532,18 +1541,18 @@ namespace CommonAI.Zone.Instance
             {
                 mOnUnitPickUnit.Invoke(this, src, pickable);
             }
-		}
+        }
 
-		public void cb_unitOutBattleCallBack(InstanceUnit obj)
+        public void cb_unitOutBattleCallBack(InstanceUnit obj)
         {
             if (mOnUnitOutBattle != null)
             {
-				mOnUnitOutBattle.Invoke(this, obj);
+                mOnUnitOutBattle.Invoke(this, obj);
             }
-		}
+        }
 
 
-		internal bool cb_unitTryPickItem(InstanceUnit unit, InstanceItem item)
+        internal bool cb_unitTryPickItem(InstanceUnit unit, InstanceItem item)
         {
             LastPickingItem = item;
             LastPickingItemUnit = unit;
@@ -1692,8 +1701,8 @@ namespace CommonAI.Zone.Instance
 
                 case SkillTemplate.CastTarget.Self:
                     return src == target;
-				case SkillTemplate.CastTarget.EnemyAndSelf:
-					return src.Force != target.Force || src == target;
+                case SkillTemplate.CastTarget.EnemyAndSelf:
+                    return src.Force != target.Force || src == target;
                 case SkillTemplate.CastTarget.NA:
                 default:
                     return false;
@@ -1976,8 +1985,8 @@ namespace CommonAI.Zone.Instance
                                 }
                             }
                             break;
-						case LaunchSpell.PosType.POS_TYPE_X:
-							{
+                        case LaunchSpell.PosType.POS_TYPE_X:
+                            {
 								float startAngle = direction + launch.StartAngle;
 								float[] interAngle = { launch.Angle, CMath.PI_F - launch.Angle, CMath.PI_F + launch.Angle, CMath.PI_F * 2 - launch.Angle };
 								Dictionary<uint, InstanceUnit> damageList = (spell.HitIntervalMS <= 0 ? new Dictionary<uint, InstanceUnit>() : null);
@@ -2014,13 +2023,13 @@ namespace CommonAI.Zone.Instance
                         case LaunchSpell.PosType.POS_TYPE_RANDOM_FOR_SPELL:
                             launch_randomTypeSpell(fromSkillType, spell, launcher, launch, chain, launcher, actionIndex);
                             break;
-						case LaunchSpell.PosType.POS_TYPE_RANDOM_POS:
-							launch_randomPosSpell(fromSkillType, spell, launcher, launch, chain, launcher, actionIndex);
-							break;
-						case LaunchSpell.PosType.POS_TYPE_MANY_CANNON:
-							launch_ManyCannon(fromSkillType, spell, launcher, launch, chain, launcher, targetUnitID, actionIndex, createData);
-							break;
-						case LaunchSpell.PosType.POS_TYPE_DEFAULT_SINGLE:
+                        case LaunchSpell.PosType.POS_TYPE_RANDOM_POS:
+                            launch_randomPosSpell(fromSkillType, spell, launcher, launch, chain, launcher, actionIndex);
+                            break;
+                        case LaunchSpell.PosType.POS_TYPE_MANY_CANNON:
+                            launch_ManyCannon(fromSkillType, spell, launcher, launch, chain, launcher, targetUnitID, actionIndex, createData);
+                            break;
+                        case LaunchSpell.PosType.POS_TYPE_DEFAULT_SINGLE:
                         default:
                             {
                                 AddSpell(fromSkillType, spell, launch, launcher, launcher,
@@ -2063,8 +2072,8 @@ namespace CommonAI.Zone.Instance
                     }
                 }
                 SpellTemplate spell = Templates.getSpell(launch.SpellID);
-				JSGCreateSpellData createData;
-				if (spell != null && launch.Count > 0 && mFormula.TryLaunchSpell(sender.Launcher, launch, ref spell, out createData, ref startX, ref startY))
+                JSGCreateSpellData createData;
+                if (spell != null && launch.Count > 0 && mFormula.TryLaunchSpell(sender.Launcher, launch, ref spell, out createData, ref startX, ref startY))
                 {
                     float direction = sender.Direction;
                     if (targetPos != null)
@@ -2115,12 +2124,12 @@ namespace CommonAI.Zone.Instance
 						case LaunchSpell.PosType.POS_TYPE_RANDOM_FOR_SPELL:
                             launch_randomTypeSpell(fromSkillType, spell, sender, launch, chain, sender.Launcher, actionIndex);
                             break;
-						case LaunchSpell.PosType.POS_TYPE_MANY_CANNON:
-							launch_ManyCannon(fromSkillType, spell, sender, launch, chain, sender.Launcher, targetUnitID, actionIndex, createData);
-							break;
-						case LaunchSpell.PosType.POS_TYPE_RANDOM_POS:
-							launch_randomPosSpell(fromSkillType, spell, sender, launch, chain, sender.Launcher, actionIndex);
-							break;
+                        case LaunchSpell.PosType.POS_TYPE_MANY_CANNON:
+                            launch_ManyCannon(fromSkillType, spell, sender, launch, chain, sender.Launcher, targetUnitID, actionIndex, createData);
+                            break;
+                        case LaunchSpell.PosType.POS_TYPE_RANDOM_POS:
+                            launch_randomPosSpell(fromSkillType, spell, sender, launch, chain, sender.Launcher, actionIndex);
+                            break;
 						case LaunchSpell.PosType.POS_TYPE_RANDOM_DIRECTION:
                             {
                                 for (int i = 0; i < launch.Count; i++)
@@ -2161,7 +2170,7 @@ namespace CommonAI.Zone.Instance
             InstanceUnit attacker,
             InstanceUnit damage,
             AttackSource source,
-			int serverExt = 0)
+            int serverExt = 0)
         {
             LaunchSpell launch = source.Attack.Spell;
             if (launch == null)
@@ -2227,29 +2236,29 @@ namespace CommonAI.Zone.Instance
                                 }
                             }
                             break;
-						case LaunchSpell.PosType.POS_TYPE_X:
-							{
-								float startAngle = sender.Direction + launch.StartAngle;
-								float[] interAngle = { launch.Angle, CMath.PI_F - launch.Angle, CMath.PI_F + launch.Angle, CMath.PI_F * 2 - launch.Angle };
-								Dictionary<uint, InstanceUnit> damageList = (spell.HitIntervalMS <= 0 ? new Dictionary<uint, InstanceUnit>() : null);
+                        case LaunchSpell.PosType.POS_TYPE_X:
+                            {
+                                float startAngle = sender.Direction + launch.StartAngle;
+                                float[] interAngle = { launch.Angle, CMath.PI_F - launch.Angle, CMath.PI_F + launch.Angle, CMath.PI_F * 2 - launch.Angle };
+                                Dictionary<uint, InstanceUnit> damageList = (spell.HitIntervalMS <= 0 ? new Dictionary<uint, InstanceUnit>() : null);
 
-								for (int i = 0; i < launch.Count; i++)
-								{
-									AddSpell(fromSkillType, spell, launch, sender, attacker, damage.ID, null,
-										startX, startY, startAngle + interAngle[i], chain, serverExt, 0, damageList);
-								}
-							}
-							break;
-						case LaunchSpell.PosType.POS_TYPE_RANDOM_FOR_SPELL:
+                                for (int i = 0; i < launch.Count; i++)
+                                {
+                                    AddSpell(fromSkillType, spell, launch, sender, attacker, damage.ID, null,
+                                        startX, startY, startAngle + interAngle[i], chain, serverExt, 0, damageList);
+                                }
+                            }
+                            break;
+                        case LaunchSpell.PosType.POS_TYPE_RANDOM_FOR_SPELL:
                             launch_randomTypeSpell(fromSkillType, spell, sender, launch, chain, attacker, serverExt);
                             break;
-						case LaunchSpell.PosType.POS_TYPE_MANY_CANNON:
-							launch_ManyCannon(fromSkillType, spell, sender, launch, chain, attacker, damage.ID, serverExt, createData);
-							break;
-						case LaunchSpell.PosType.POS_TYPE_RANDOM_POS:
-							launch_randomPosSpell(fromSkillType, spell, sender, launch, chain, attacker, serverExt);
-							break;
-						case LaunchSpell.PosType.POS_TYPE_RANDOM_DIRECTION:
+                        case LaunchSpell.PosType.POS_TYPE_MANY_CANNON:
+                            launch_ManyCannon(fromSkillType, spell, sender, launch, chain, attacker, damage.ID, serverExt, createData);
+                            break;
+                        case LaunchSpell.PosType.POS_TYPE_RANDOM_POS:
+                            launch_randomPosSpell(fromSkillType, spell, sender, launch, chain, attacker, serverExt);
+                            break;
+                        case LaunchSpell.PosType.POS_TYPE_RANDOM_DIRECTION:
                             {
                                 for (int i = 0; i < launch.Count; i++)
                                 {
@@ -2320,9 +2329,9 @@ namespace CommonAI.Zone.Instance
             }
         }
 
-		private void launch_randomPosSpell(XmdsSkillType fromSkillType, SpellTemplate spell, InstanceZoneObject sender,
-			LaunchSpell launch, SpellChainLevelInfo chain, InstanceUnit attacker, int serverExt = 0)
-		{
+        private void launch_randomPosSpell(XmdsSkillType fromSkillType, SpellTemplate spell, InstanceZoneObject sender,
+            LaunchSpell launch, SpellChainLevelInfo chain, InstanceUnit attacker, int serverExt = 0)
+        {
 			for (int i = 0; i < launch.Count; i++)
 			{
 				float x = (float)(random.NextDouble() * launch.SpellRange/2);
@@ -2359,14 +2368,14 @@ namespace CommonAI.Zone.Instance
             float radius = summoner.BodyBlockSize;
 
             UnitInfo info = Templates.getUnit(summon.UnitTemplateID);
-			if (info.UType != UnitType.TYPE_SUMMON || info.LifeTimeMS <= 0)
-			{
-				log.Warn("召唤非召唤类单位1:" + summoner.ID + ", 召唤id: " + summon.UnitTemplateID);
-				return;
-			}
-			//UnitInfo un = (UnitInfo)info.Clone();
-			//un.UType = UnitInfo.UnitType.TYPE_SUMMON;
-			string name = null;
+            if (info.UType != UnitType.TYPE_SUMMON || info.LifeTimeMS <= 0)
+            {
+                log.Warn("召唤非召唤类单位1:" + summoner.ID + ", 召唤id: " + summon.UnitTemplateID);
+                return;
+            }
+            //UnitInfo un = (UnitInfo)info.Clone();
+            //un.UType = UnitInfo.UnitType.TYPE_SUMMON;
+            string name = null;
             if (TemplateManager.Formula.TrySummonUnit(summoner.Launcher, summon, ref info, ref name))
             {
                 for (int i = 0; i < summon.Count; i++)
@@ -2429,16 +2438,16 @@ namespace CommonAI.Zone.Instance
             MathVector.movePolar(ref x, ref y, summoner.Direction, summoner.BodyBlockSize * 4);
             float radius = summoner.BodyBlockSize * 2;
 
-			UnitInfo info = Templates.getUnit(summon.UnitTemplateID);
-			if (info.UType != UnitType.TYPE_SUMMON || info.LifeTimeMS <= 0)
-			{
-				log.Warn("召唤非召唤类单位2:" + summoner.ID + ", 召唤id: " + summon.UnitTemplateID);
-				return;
-			}
+            UnitInfo info = Templates.getUnit(summon.UnitTemplateID);
+            if (info.UType != UnitType.TYPE_SUMMON || info.LifeTimeMS <= 0)
+            {
+                log.Warn("召唤非召唤类单位2:" + summoner.ID + ", 召唤id: " + summon.UnitTemplateID);
+                return;
+            }
 
-			//UnitInfo un = (UnitInfo)info.Clone();
-			//un.UType = UnitInfo.UnitType.TYPE_SUMMON;
-			string name = null;
+            //UnitInfo un = (UnitInfo)info.Clone();
+            //un.UType = UnitInfo.UnitType.TYPE_SUMMON;
+            string name = null;
             if (TemplateManager.Formula.TrySummonUnit(summoner, summon, ref info, ref name))
             {
                 for (int i = 0; i < summon.Count; i++)
@@ -2470,13 +2479,13 @@ namespace CommonAI.Zone.Instance
 
         public InstanceUnit summonUnit(InstanceUnit summoner, UnitInfo info, string name, int level, float x, float y, float direction)
         {
-			if (info.UType != UnitType.TYPE_SUMMON || info.LifeTimeMS <= 0)
-			{
-				log.Warn("召唤非召唤类单位3:" + summoner.ID + ", 召唤id: " + info.ID);
-				return null;
-			}
+            if (info.UType != UnitType.TYPE_SUMMON || info.LifeTimeMS <= 0)
+            {
+                log.Warn("召唤非召唤类单位3:" + summoner.ID + ", 召唤id: " + info.ID);
+                return null;
+            }
 
-			InstanceUnit unit = AddUnit(info, name, summoner.Force, level, x, y, direction, summoner);
+            InstanceUnit unit = AddUnit(info, name, summoner.Force, level, x, y, direction, summoner);
             if (unit != null)
             {
                 if (info.LifeTimeMS > 0)
@@ -2618,11 +2627,11 @@ namespace CommonAI.Zone.Instance
             }
         }
 
-		/**游戏服场景标识通知*/
-		public virtual void GSZoneFlagNotifyMsg(int value1)
-		{
+        /**游戏服场景标识通知*/
+        public virtual void GSZoneFlagNotifyMsg(int value1)
+        {
 
-		}
+        }
 
         #endregion
 
@@ -2732,9 +2741,9 @@ namespace CommonAI.Zone.Instance
                         return (T)var.Value;
                     }
                     catch (Exception err)
-					{
-						log.Warn("GetEnvironmentVarAs : " + key + ", catch: " + err);
-					}
+                    {
+                        log.Warn("GetEnvironmentVarAs : " + key + ", catch: " + err);
+                    }
                 }
             }
             return default(T);
@@ -2867,19 +2876,19 @@ namespace CommonAI.Zone.Instance
             });
         }
 
-		//给单个玩家发送消息
-		internal void doSendMsgToPlayer(InstancePlayer player, CommonLang.Protocol.IMessage msg)
-		{
-			mQuestAdapter.DoSendMsgToPlayer(player.PlayerUUID, msg);
-		}
+        //给单个玩家发送消息
+        internal void doSendMsgToPlayer(InstancePlayer player, CommonLang.Protocol.IMessage msg)
+        {
+            mQuestAdapter.DoSendMsgToPlayer(player.PlayerUUID, msg);
+        }
 
-		/// <summary>
-		/// 本地通知游戏服
-		/// </summary>
-		/// <param name="player"></param>
-		/// <param name="quest"></param>
-		/// <param name="args"></param>
-		internal void doAcceptQuest(InstancePlayer player, string quest, string args)
+        /// <summary>
+        /// 本地通知游戏服
+        /// </summary>
+        /// <param name="player"></param>
+        /// <param name="quest"></param>
+        /// <param name="args"></param>
+        internal void doAcceptQuest(InstancePlayer player, string quest, string args)
         {
             mQuestAdapter.DoAcceptQuest(player.PlayerUUID, quest, args);
         }

+ 4 - 4
Common/CommonAI/ZoneServer/JSGModule/JSGHackerModule.cs

@@ -25,20 +25,20 @@ namespace CommonAI.ZoneServer.JSGModule
 				InstancePlayer player = (InstancePlayer)(attacker.IsPlayer ? attacker : attacker.Virtual.GetMasterUnit());
 				if (player == null)
 				{
-					log.Debug("OnPlayerKillMonster player not exist:" + attacker.PlayerUUID + ", " + attacker.Info.ID + ", SceneId:" + attacker.Parent.GetSceneID());
+					log.Info("OnPlayerKillMonster player not exist:" + attacker.PlayerUUID + ", " + attacker.Info.ID + ", SceneId:" + attacker.Parent.GetSceneID());
 					return;
 				}
 				UnitSimpleProp simpleProp = player.Virtual.GetSimpleProp();
 				//玩家属性打印
-				log.Debug("--------OnPlayerKillMonster print start:" + player.PlayerUUID + ", " + attacker.Parent.GetSceneID());
-				log.Debug("当前血:" + simpleProp.mCurHp + ", 攻防血" + simpleProp.mAtk + ", " + simpleProp.mDef + ", " + simpleProp.mMaxHP + ", 妖:" + simpleProp.mMonsterAtk + ", " + simpleProp.mMonsterDef);
+				log.Info("--------OnPlayerKillMonster print start:" + player.PlayerUUID + ", " + attacker.Parent.GetSceneID());
+				log.Info("当前血:" + simpleProp.mCurHp + ", 攻防血" + simpleProp.mAtk + ", " + simpleProp.mDef + ", " + simpleProp.mMaxHP + ", 妖:" + simpleProp.mMonsterAtk + ", " + simpleProp.mMonsterDef);
 
 				UnitBuffStatus[] buffStatus = player.GetCurrentBuffStatus();
 				if(buffStatus != null)
                 {
 					foreach(UnitBuffStatus buffItem in buffStatus)
                     {
-						log.Debug("玩家buff:" + buffItem.ToString());
+						log.Info("玩家buff:" + buffItem.ToString());
 					}
                 }
 			}

+ 4 - 2
Common/CommonAI/ZoneServer/JSGModule/JSGModule.cs

@@ -97,12 +97,14 @@ namespace CommonAI.ZoneServer.JSGModule
 		{
 			if(source == null)
 			{
-				return "";
+				return "source-null";
 			}
 
 			return "【attackSN: " + (source.Attack == null ? 0 : source.Attack.SerialNumber) 
 				+ ", attackID: " + (source.Attack == null ? 0 : source.Attack.Properties.GetAttackID())
-				+ ", spellID: " + (source.FromSpell == null ? 0 : source.FromSpell.ID) + "】";
+				+ ", spellID: " + (source.FromSpell == null ? 0 : source.FromSpell.ID) 
+				+ ", skillID:" + (source.FromSkill == null ? 0 : source.FromSkill.ID)
+				+ ", buffId:" + (source.FromBuff == null ? 0 : source.FromBuff.ID) + "】";
 		}
 
 		public static bool IsActiveSkill(XmdsSkillType skillType)

+ 1 - 1
Common/CommonAIServer/Node/BaseZoneNode.cs

@@ -291,7 +291,7 @@ namespace CommonAIServer.Node
                         }
                         catch (Exception err)
                         {
-                            log.Error(err.Message, err);
+                            log.Error("zoneUpdateCatch" + mZone.GetSceneID() + ", " + err.Message, err);
                             OnError(err);
                         }
                         finally

+ 4 - 5
XmdsCommonServer/Plugin/XmdsVirtual/XmdsVirtual.Event.cs

@@ -1280,16 +1280,15 @@ namespace XmdsCommonServer.Plugin
                 }
 				if(!isFind)
 				{
-					log.Error("配置监听事件异常--场景:" +  this.mUnit.Parent.GetSceneID() +", 伤害ID:" +  prop.SkillTemplateID + ", 异常信息:" + 
-						(source.FromBuff == null ? "not buff" : "buff:" + source.FromBuff.ID) +(source.FromSkill == null ? ", not skill" : ", skill:" + source.FromSkill.ID) 
-						+ (source.FromSpell == null ? ", not spell" : ", spell:" + source.FromSpell.ID) + ", 单位ID:" + this.mUnit.Info.ID + ", 技能监听:" 
+					log.Error("配置监听事件异常--场景:" +  this.mUnit.Parent.GetSceneID() + ", 唯一ID" + this.mUnit.PlayerUUID + ", 伤害ID:" +  prop.SkillTemplateID 
+                        + ", 异常信息:" + 	JSGModule.GetAttackSourceDes(source) + ", 单位ID:" + this.mUnit.Info.ID + ", 技能监听:" 
 						+ mOnCalDamageLt.Count + ", 血量:" + this.mUnit.CurrentHP + ", 状态:" + this.mUnit.IsActive + ", " + this.GetDamageListens());
 				}
 			}
 			else if(prop.SkillTemplateID == 0)
 			{
-				log.Error("配置监听事件为0, 场景:" + this.mUnit.Parent.GetSceneID() + ", " + prop.SkillTemplateID + ", " + (source.FromBuff == null ? "not buff" : "buff:" + source.FromBuff.ID) + 
-					(source.FromSkill == null ? ", not skill" : ", skill:" + source.FromSkill.ID) +	(source.FromSpell == null ? ", not spell" : ", spell:" + source.FromSpell.ID));
+				log.Error("配置监听事件为0, 场景:" + this.mUnit.Parent.GetSceneID() + ", 唯一ID" + this.mUnit.PlayerUUID + ", 伤害ID: " + prop.SkillTemplateID
+                    + ", " + JSGModule.GetAttackSourceDes(source));
 			
 			}
 

+ 1 - 1
XmdsCommonServer/Plugin/XmdsVirtual/XmdsVirtual_Monster.cs

@@ -823,7 +823,7 @@ namespace XmdsCommonServer.Plugin
 			}
 			else if(this.IsBoss() || ret.MaxHP > 500000 || ret.MaxAttack > 10000)
 			{
-				log.Info("场景:" + this.mUnit.Parent.GetSceneID() + ", ID: " + templateID + ", " + this.mUnit.Parent.UUID + ", UID: " + this.mUnit.ID + ", 等级: " + lvl_monster 
+				log.Debug("怪物属性打印-场景:" + this.mUnit.Parent.GetSceneID() + ", ID: " + templateID + ", " + this.mUnit.Parent.UUID + ", UID: " + this.mUnit.ID + ", 等级: " + lvl_monster 
 					+ ", 战斗规模:" + ma.Fight_Type + ",(攻-" +	ret.BaseAttack + ", 防-" + ret.BaseDefence + ", 血-" + ret.BaseMaxHP + ", 爆-" + ret.CritRate
 					+ ", 爆伤-" + ret.CritDamage + ", 穿透-" + ret.IgnoreDefensePer + ")");
 			}

+ 1 - 1
XmdsCommonServer/Plugin/XmdsVirtual/XmdsVirtual_Player.Message.cs

@@ -331,7 +331,7 @@ namespace XmdsCommonServer.Plugin
 				extData += (temp.PartTag + ", " + temp.FileName + "; ");
 			}
 
-			log.Info("OnReceivePlayAvatarEventB2C: " + this.GetPlayerUUID() + ", " + extData);
+			//log.Info("OnReceivePlayAvatarEventB2C: " + this.GetPlayerUUID() + ", " + extData);
 
             if (evt != null)
             {

+ 1 - 1
XmdsServerCS/XmdsServerEdgeJS/Zone/XmdsZoneNode.cs

@@ -456,7 +456,7 @@ namespace XmdsServerEdgeJS.Zone
 
             if (obj.IsPlayer)
             {
-                log.Warn("玩家死亡:" + (obj == null ? "null" : obj.PlayerUUID) + ", 攻击者:" +
+                log.Info("玩家死亡:" + (obj == null ? "null" : obj.PlayerUUID) + ", 攻击者:" +
                     (attacker == null ? "null" : (attacker.PlayerUUID + ", " + attacker.Info.ID)) + ", Scene:" + zone.GetSceneID());
             }
             node.SendToGameServer(EventType.areaEvent.ToString(), eventParam);