public void AddGuild(TPlayObject PlayObject, string[] @Params) { TPlayObject Human; bool boAddState; string sGuildName = @Params.Length > 0 ? @Params[0] : ""; string sGuildChief = @Params.Length > 1 ? @Params[1] : ""; if (M2Share.nServerIndex != 0) { PlayObject.SysMsg("这个命令只能使用在主服务器上", TMsgColor.c_Red, TMsgType.t_Hint); return; } if ((sGuildName == "") || (sGuildChief == "")) { PlayObject.SysMsg("命令格式: @" + this.Attributes.Name + " 行会名称 掌门人名称", TMsgColor.c_Red, TMsgType.t_Hint); return; } boAddState = false; Human = UserEngine.GetPlayObject(sGuildChief); if (Human == null) { PlayObject.SysMsg(String.Format(GameMsgDef.g_sNowNotOnLineOrOnOtherServer, sGuildChief), TMsgColor.c_Red, TMsgType.t_Hint); return; } if (GuildManager.MemberOfGuild(sGuildChief) == null) { if (GuildManager.AddGuild(sGuildName, sGuildChief)) { // UserEngine.SendServerGroupMsg(SS_205, nServerIndex, sGuildName + '/' + sGuildChief); PlayObject.SysMsg("行会名称: " + sGuildName + " 掌门人: " + sGuildChief, TMsgColor.c_Green, TMsgType.t_Hint); boAddState = true; } } if (boAddState) { Human.m_MyGuild = GuildManager.MemberOfGuild(Human.m_sCharName); if (Human.m_MyGuild != null) { Human.m_sGuildRankName = Human.m_MyGuild.GetRankName(PlayObject, ref Human.m_nGuildRankNo); Human.RefShowName(); } } }
/// <summary> /// 建立行会 /// </summary> /// <param name="PlayObject">对象</param> /// <param name="sGuildName">名称</param> /// <returns></returns> private unsafe int ReQuestBuildGuild(TPlayObject PlayObject, string sGuildName) { int result = 0; TUserItem *UserItem = null; try { result = 0; sGuildName = sGuildName.Trim(); if (sGuildName == "") { result = -4; } if (PlayObject.m_MyGuild == null) { if (PlayObject.m_nGold >= M2Share.g_Config.nBuildGuildPrice) { UserItem = PlayObject.CheckItems(M2Share.g_Config.sWomaHorn);//检查包裹是否有所需物品 if (UserItem == null) { result = -3;// '你没有准备好需要的全部物品。' } } else { result = -2;// '缺少创建费用。' } } else { result = -1;// '您已经加入其它行会。' } if (result == 0) { if (GuildManager.AddGuild(sGuildName, PlayObject.m_sCharName)) { UserEngine.SendServerGroupMsg(Grobal2.SS_205, M2Share.nServerIndex, sGuildName + "/" + PlayObject.m_sCharName); PlayObject.SendDelItems(UserItem); PlayObject.DelBagItem(UserItem->MakeIndex, M2Share.g_Config.sWomaHorn); PlayObject.DecGold(M2Share.g_Config.nBuildGuildPrice); PlayObject.GoldChanged(); PlayObject.m_MyGuild = GuildManager.MemberOfGuild(PlayObject.m_sCharName); if (PlayObject.m_MyGuild != null) { PlayObject.m_sGuildRankName = PlayObject.m_MyGuild.GetRankName(PlayObject, ref PlayObject.m_nGuildRankNo); this.RefShowName(); } } else { result = -4; } } if (result >= 0) { PlayObject.SendMsg(this, Grobal2.RM_BUILDGUILD_OK, 0, 0, 0, 0, ""); } else { PlayObject.SendMsg(this, Grobal2.RM_BUILDGUILD_FAIL, 0, result, 0, 0, ""); } } catch { M2Share.MainOutMessage("{异常} TGuildOfficial.ReQuestBuildGuild"); } return(result); }