private void SendPrivateMsg(CsChatPrivate msg) { var tag = Util.Parse <int>(msg.tag); if (tag == 2) { tag = 0; } AllChatMesClone(true, msg.type, msg.content, my_speak, modulePlayer.name_, modulePlayer.avatar, modulePlayer.id_, modulePlayer.gender, modulePlayer.avatarBox, modulePlayer.proto, tag); moduleChat.DispatchModuleEvent(Module_Chat.EventChatSeeTeamMsg); }
public void SendFriendMessage(string content, int type, ulong playerid, int tag = 0)//tag=0 好友之间私聊 1组队邀请显示 2组队之间聊天不显示 3 协作邀请 4 公会悬赏消息 { if (modulePlayer.BanChat == 2) { if (tag == 0 || tag == 2) { moduleGlobal.ShowMessage(630, 0); return; } } if (playerid == 0) { if (moduleAwakeMatch.IsInTeam) { CsChatPrivate m = PacketObject.Create <CsChatPrivate>(); m.content = content; m.type = (sbyte)type; m.recvId = playerid; m.tag = tag.ToString(); DispatchModuleEvent(EventChatSendTeamMes, m.Clone()); team_chat_record.Enqueue(m); m.Destroy(); } else { Logger.LogError("target playerid is 0"); } return; } if (tag != 2) { bool have = Friend_Id_key.Exists(a => a == playerid); if (!have) { Friend_Id_key.Add(playerid);//不存在填进去 } //我发了一条消息 所以是一条置顶自己发的加入到聊天记录 Late_reset(playerid); AddSelfChat(type, content, playerid, tag.ToString()); } CsChatPrivate p = PacketObject.Create <CsChatPrivate>(); p.content = content; p.type = (sbyte)type; p.recvId = playerid; p.tag = tag.ToString(); if (moduleAwakeMatch.IsInTeam || tag == 1 || tag == 2) { DispatchModuleEvent(EventChatSendTeamMes, p); team_chat_record.Enqueue(p); } var black = moduleFriend.BlackList.Exists(a => a.roleId == playerid); if (!black) { Send(p); } //playerid 在哪个好友的聊天记录里 type 发送的内容形式 matter 发送的具体内容 send_id 是我发的还是对方发的 //Record(playerid.ToString(), type.ToString(), content, modulePlayer.roleInfo.roleId.ToString()); }