From 776645f88d3ccd3841cdce0253ecbbecc65ca87e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 06 九月 2022 15:26:53 +0800
Subject: [PATCH] 9708 【后端】【越南】【BT7】【主干】聊天增加CD配置
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTalk.py | 33 ++++++++++++++++++++++++---------
1 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTalk.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTalk.py
index e9c3dbe..fe1d4b5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTalk.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTalk.py
@@ -31,6 +31,7 @@
import EventShell
import PyGameData
import PlayerLove
+import math
#---------------------------------------------------------------------
@@ -49,7 +50,7 @@
content = sendPack.GetContent()
#通用判断
- if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick):
+ if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick, talkType=IPY_GameWorld.tcArea):
return
#通用设置
@@ -99,7 +100,7 @@
content = sendPack.GetContent()
#通用检测
- if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick, checkSameMsg = False):
+ if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick, checkSameMsg = False, talkType=IPY_GameWorld.tcWorld):
return
#通用设置
@@ -134,7 +135,7 @@
content = sendPack.GetContent()
#通用检测
- if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick, checkSameMsg = False):
+ if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick, checkSameMsg = False, talkType=IPY_GameWorld.tcCountry):
return
#通用设置
@@ -159,8 +160,11 @@
#玩家聊天内容
content = sendPack.GetContent()
- if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick):
+ if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick, talkType=IPY_GameWorld.tcFamily):
return
+
+ #通用设置
+ SetTalkTime(curPlayer, content, IPY_GameWorld.tcFamily, tick)
extras = GetTalkExtraValue(curPlayer)
curPlayer.ChatFamily(content, 0, extras)
@@ -184,7 +188,7 @@
#玩家聊天内容
content = sendPack.GetContent()
- if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick):
+ if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick, talkType=IPY_GameWorld.tcTeam):
return
#通用设置
@@ -207,7 +211,7 @@
#玩家聊天内容
content = sendPack.GetContent()
- if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick):
+ if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick, talkType=IPY_GameWorld.tcPrivate):
return
#通用设置
@@ -237,7 +241,7 @@
#玩家聊天内容
content = sendPack.GetContent()
- if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick):
+ if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick, talkType=IPY_GameWorld.tcPrivate):
return
#通用设置
@@ -258,7 +262,7 @@
# @param checkSameMsg 是否检查相同信息
# @return True or False
# @remarks 函数详细说明.
-def __CheckTalk(curPlayer, content, length, tick, checkGMForbidenTalk = True, checkSameMsg = True):
+def __CheckTalk(curPlayer, content, length, tick, checkGMForbidenTalk = True, checkSameMsg = True, talkType=None):
if checkGMForbidenTalk and GetGMToolForbidTalk(curPlayer):
#GeRen_chenxin_921745 对不起,您已被GM禁言,发送信息失败
#PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_921745")
@@ -269,6 +273,17 @@
#PlayerControl.NotifyCode(curPlayer, "CanootTalk02")
return False
+ #频道各自间隔时间
+ if talkType != None:
+ talkCDDict = IpyGameDataPY.GetFuncEvalCfg("TalkCD", 1, {})
+ if str(talkType) in talkCDDict:
+ cdTicks = talkCDDict[str(talkType)] * 1000
+ lastTalkTick = curPlayer.GetTalkTick(talkType)
+ remainTick = cdTicks - (tick - lastTalkTick)
+ if remainTick > 0:
+ PlayerControl.NotifyCode(curPlayer, "CanootTalk01", [int(math.ceil(remainTick/1000.0))])
+ return False
+
#聊天信息太长
if length > ChConfig.Def_PlayerTalkMaxCount :
PlayerControl.NotifyCode(curPlayer, "CanootTalk13")
@@ -305,7 +320,7 @@
#设置当前聊天内容为玩家本次聊天内容
#curPlayer.SetLastChatContent(content)
#设置当前频道时间
- #curPlayer.SetTalkTick(type, tick)
+ curPlayer.SetTalkTick(type, tick)
return
## 信件2B封包
--
Gitblit v1.8.0