|  |  | 
 |  |  |     #还在冷却时间内无法释放
 | 
 |  |  |     if SkillCommon.RefreshSkillRemainTime(playerSkill, tick) != 0:
 | 
 |  |  |         PlayerControl.NotifyCode(curPlayer, "UseSkillCDLimit")
 | 
 |  |  |         AttackFailNotify(curPlayer, curSkill, ChConfig.SkillFail_CD)
 | 
 |  |  |         #AttackFailNotify(curPlayer, curSkill, ChConfig.SkillFail_CD)
 | 
 |  |  |         playerSkill.Sync_Skill()
 | 
 |  |  |         return False
 | 
 |  |  | 
 | 
 |  |  |     #5:检查玩家的魔法值是否够用这个技能
 | 
 |  |  | 
 |  |  |     Def_Attack_DelayTick = 5000
 | 
 |  |  |     # tick 误差过大则过滤
 | 
 |  |  |     if abs(clientTick - tick) > Def_Attack_DelayTick:
 | 
 |  |  |         curPlayer.Sync_ClientTick()
 | 
 |  |  |         GameWorld.DebugLog("tick 误差过大则过滤 > 5000")
 | 
 |  |  |         return False
 | 
 |  |  |     
 | 
 |  |  | 
 |  |  | def AttackFailNotify(curPlayer, curSkill, reason=0):
 | 
 |  |  |     sendPack = ChPyNetSendPack.tagMCAttackFail()
 | 
 |  |  |     sendPack.SkillID = curSkill.GetSkillID()
 | 
 |  |  |     sendPack.Reason = reason
 | 
 |  |  |     NetPackCommon.SendFakePack(curPlayer, sendPack)
 | 
 |  |  | #--------------------------玩家使用技能
 | 
 |  |  | #===============================================================================
 |