|  |  |  | 
|---|
|  |  |  | if not loadOK: | 
|---|
|  |  |  | return GMCommon.Def_NoTag, '' | 
|---|
|  |  |  |  | 
|---|
|  |  |  | unForbidDevice = gmCmdDict.get("unForbidDevice", '') | 
|---|
|  |  |  | unForbidType = GMCommon.Def_PysForbidTalkDevice if unForbidDevice else GMCommon.Def_PysForbidTalk | 
|---|
|  |  |  | # 玩家账号正常 | 
|---|
|  |  |  | if (dbPlayer.AccState & pow(2, GMCommon.Def_PysForbidTalk)) <= 0: | 
|---|
|  |  |  | if (dbPlayer.AccState & pow(2, unForbidType)) <= 0: | 
|---|
|  |  |  | return GMCommon.Def_NoNeed, '' | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 设置玩家账号状态 | 
|---|
|  |  |  | dbPlayer.AccState = dbPlayer.AccState ^ pow(2, GMCommon.Def_PysForbidTalk) | 
|---|
|  |  |  | dbPlayer.AccState = dbPlayer.AccState ^ pow(2, unForbidType) | 
|---|
|  |  |  | if unForbidType == GMCommon.Def_PysForbidTalkDevice and (dbPlayer.AccState & pow(2, GMCommon.Def_PysForbidTalk)): | 
|---|
|  |  |  | dbPlayer.AccState = dbPlayer.AccState ^ pow(2, GMCommon.Def_PysForbidTalk) | 
|---|
|  |  |  | dbPlayer.ExAttr17 = dbPlayer.AccState | 
|---|
|  |  |  | dbPlayer.adoUpdateC(collection) | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 记录流向 | 
|---|
|  |  |  | dataDic = {"PlayerID":dbPlayer.PlayerID, 'AccID':playerAccID} | 
|---|
|  |  |  | GMCommon.SendEventPack(gmCmdDict.get(GMCommon.Def_GMKey_Type, ''), dataDic) | 
|---|
|  |  |  | mylog.info("GMT_UnForbidTalk: playerAccID=%s,unForbidType=%s,AccState=%s" % (playerAccID, unForbidType, dbPlayer.AccState)) | 
|---|
|  |  |  | return GMCommon.Def_Success, '' | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|