public CSCommon.Data.Message CreateMessage(CSCommon.eMessageFrom from, CSCommon.eMessageType type, string sender, ulong targetId) { CSCommon.Data.Message msg = new CSCommon.Data.Message(); msg.MessageId = ServerFrame.Util.GenerateObjID(ServerFrame.GameObjectType.Message); msg.MessageType = (byte)type; msg.MessageFrom = (byte)from; msg.OwnerId = targetId; msg.Sender = sender; return(msg); }
public CSCommon.eMessageType _GetSocialMsgType(CSCommon.eSocialType type) { CSCommon.eMessageType mType = CSCommon.eMessageType.Friend_Ask; switch (type) { case CSCommon.eSocialType.Friend: mType = CSCommon.eMessageType.Friend_Ask; break; case CSCommon.eSocialType.ManWife: mType = CSCommon.eMessageType.ManWife_Ask; break; case CSCommon.eSocialType.Brother: mType = CSCommon.eMessageType.Brother_Ask; break; case CSCommon.eSocialType.BasicFriends: mType = CSCommon.eMessageType.BasicFriends_Ask; break; case CSCommon.eSocialType.Lover: mType = CSCommon.eMessageType.Lover_Ask; break; case CSCommon.eSocialType.Sister: mType = CSCommon.eMessageType.Sister_Ask; break; case CSCommon.eSocialType.Lily: mType = CSCommon.eMessageType.Lily_Ask; break; default: break; } return(mType); }
public CSCommon.eSocialType _GetSocialTypeFromMsg(CSCommon.eMessageType type) { CSCommon.eSocialType mType = CSCommon.eSocialType.None; switch (type) { case CSCommon.eMessageType.Friend_Ask: mType = CSCommon.eSocialType.Friend; break; case CSCommon.eMessageType.ManWife_Ask: mType = CSCommon.eSocialType.ManWife; break; case CSCommon.eMessageType.Brother_Ask: mType = CSCommon.eSocialType.Brother; break; case CSCommon.eMessageType.BasicFriends_Ask: mType = CSCommon.eSocialType.BasicFriends; break; case CSCommon.eMessageType.Lover_Ask: mType = CSCommon.eSocialType.Lover; break; case CSCommon.eMessageType.Sister_Ask: mType = CSCommon.eSocialType.Sister; break; case CSCommon.eMessageType.Lily_Ask: mType = CSCommon.eSocialType.Lily; break; default: break; } return(mType); }
public void RPC_SetGuildPost(ulong roleId, ulong targetId, byte post, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter retPkg = new RPC.PackageWriter(); var role = GetRole(roleId); if (role == null) { retPkg.Write((sbyte)CSCommon.eRet_SetGuildPost.NoRole); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } var targetRole = GetRole(targetId); if (targetRole == null) { retPkg.Write((sbyte)CSCommon.eRet_SetGuildPost.NoTargetRole); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.GuildInstance == null) { retPkg.Write((sbyte)CSCommon.eRet_SetGuildPost.RoleNoGuild); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (targetRole.GuildInstance == null) { retPkg.Write((sbyte)CSCommon.eRet_SetGuildPost.TargetRoleNoGuild); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.GuildInstance.GuildData.GuildId != targetRole.GuildInstance.GuildData.GuildId) { retPkg.Write((sbyte)CSCommon.eRet_SetGuildPost.DifferentGuild); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.RoleData.GuildPost <= (byte)CSCommon.eGuildPost.JingYing)//没有权限 { retPkg.Write((sbyte)CSCommon.eRet_SetGuildPost.RoleNoPower); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.RoleData.GuildPost <= targetRole.RoleData.GuildPost)//级别低于对方 { retPkg.Write((sbyte)CSCommon.eRet_SetGuildPost.RolePostLowTarget); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.RoleData.GuildPost <= post) { retPkg.Write((sbyte)CSCommon.eRet_SetGuildPost.RolePostLowSet); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (targetRole.RoleData.GuildPost == post) { retPkg.Write((sbyte)CSCommon.eRet_SetGuildPost.TargetPostEqualSet); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } CSCommon.eMessageType msgType = CSCommon.eMessageType.Guild_SetBangZhong; byte maxnum = 0; if (post == (byte)CSCommon.eGuildPost.ZhangLao) { maxnum = CSCommon.GuildCommon.Instance.MaxZhangLao; msgType = CSCommon.eMessageType.Guild_SetZhangLao; } else if (post == (byte)CSCommon.eGuildPost.TangZhu) { maxnum = CSCommon.GuildCommon.Instance.MaxTangZhu; msgType = CSCommon.eMessageType.Guild_SetTangZhu; } else if (post == (byte)CSCommon.eGuildPost.JingYing) { maxnum = CSCommon.GuildCommon.Instance.MaxJingYing; msgType = CSCommon.eMessageType.Guild_SetJingYing; } byte num = role.GuildInstance.GetNumByPost(post); if (num >= maxnum) { retPkg.Write((sbyte)CSCommon.eRet_SetGuildPost.OverMaxNum); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } retPkg.Write((sbyte)CSCommon.eRet_SetGuildPost.Succeed); targetRole.RoleData.GuildPost = post; CSCommon.Data.Message msg = CreateMessage(CSCommon.eMessageFrom.Guild, msgType, role.RoleData.Name, targetId); msg.ShowInfo = string.Format("你的帮会职位被改为{0}", GetPostStr(post)); SendMessageToOther(targetRole, msg); targetRole.GuildInstance.UpdateMember(targetRole); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }