Example #1
0
        /// <summary>
        /// 申请开启行会战
        /// </summary>
        /// <param name="PlayObject"></param>
        /// <param name="sGuildName"></param>
        /// <returns></returns>
        private int ReQuestGuildWar(TPlayObject PlayObject, string sGuildName)
        {
            int result = 0;

            try
            {
                if (GuildManager.FindGuild(sGuildName) != null)
                {
                    if (PlayObject.m_nGold >= M2Share.g_Config.nGuildWarPrice)
                    {
                        PlayObject.DecGold(M2Share.g_Config.nGuildWarPrice);
                        PlayObject.GoldChanged();
                        PlayObject.ReQuestGuildWar(sGuildName);
                    }
                    else
                    {
                        PlayObject.SysMsg("您没有足够的金币!!!", TMsgColor.c_Red, TMsgType.t_Hint);
                    }
                }
                else
                {
                    PlayObject.SysMsg("行会 " + sGuildName + " 不存在!!!", TMsgColor.c_Red, TMsgType.t_Hint);
                }
                result = 1;
            }
            catch
            {
                M2Share.MainOutMessage("{异常} TGuildOfficial.ReQuestGuildWar");
            }
            return(result);
        }
Example #2
0
        public void DelGold(string[] @Params, TPlayObject PlayObject)
        {
            string sHumName = @Params.Length > 0 ? @Params[0] : "";
            int    nCount   = @Params.Length > 1 ? Convert.ToInt32(@Params[1]) : 0;

            if ((sHumName == "") || (nCount <= 0))
            {
                return;
            }
            TPlayObject m_PlayObject = UserEngine.GetPlayObject(sHumName);
            int         nServerIndex = 0;

            if ((sHumName == "") || (nCount <= 0))
            {
                return;
            }
            m_PlayObject = UserEngine.GetPlayObject(sHumName);
            if (m_PlayObject != null)
            {
                if (m_PlayObject.m_nGold > nCount)
                {
                    m_PlayObject.m_nGold -= nCount;
                }
                else
                {
                    nCount = m_PlayObject.m_nGold;
                    m_PlayObject.m_nGold = 0;
                }
                m_PlayObject.GoldChanged();
                PlayObject.SysMsg(sHumName + "的金币已减少" + (nCount).ToString() + ".", TMsgColor.c_Green, TMsgType.t_Hint);
                if (M2Share.g_boGameLogGold)
                {
                    M2Share.AddGameDataLog("13" + "\09" + PlayObject.m_sMapName + "\09" + (PlayObject.m_nCurrX).ToString() + "\09" + (PlayObject.m_nCurrY).ToString() + "\09"
                                           + PlayObject.m_sCharName + "\09" + M2Share.sSTRING_GOLDNAME + "\09" + (nCount).ToString() + "\09" + "1" + "\09" + sHumName);
                }
            }
            else
            {
                if (UserEngine.FindOtherServerUser(sHumName, ref nServerIndex))
                {
                    PlayObject.SysMsg(sHumName + "现在" + (nServerIndex).ToString() + "号服务器上", TMsgColor.c_Green, TMsgType.t_Hint);
                }
                else
                {
                    M2Share.FrontEngine.AddChangeGoldList(PlayObject.m_sCharName, sHumName, -nCount);
                    PlayObject.SysMsg(sHumName + "现在不在线,等其上线时金币将自动减少", TMsgColor.c_Green, TMsgType.t_Hint);
                }
            }
        }
Example #3
0
        /// <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);
        }
Example #4
0
        /****************************************************************
        ** 函 数 名:ButtonSave_Click
        ** 功能描述:修改数据按钮
        ** 输入参数:无
        ** 输出参数:无
        ** 返 回 值:无
        ** 创 建 人:陶志强
        ** 日    期:2013-4-22
        ** 修 改 人:
        ** 日    期:
        ****************************************************************/
        private void ButtonSave_Click(object sender, EventArgs e)
        {
            int nLevel;
            int nGold;
            int nPKPOINT;
            int nGameGold;
            int nGameDiaMond;
            // 20071226 金刚石
            int nGameGird;
            // 20071226 灵符
            int nLoyal;
            // 英雄的忠诚度(20080109)
            int    nGamePoint;
            int    nCreditPoint;
            int    nBonusPoint;
            bool   boGameMaster;
            bool   boObServer;
            bool   boSuperman;
            string sAutoSendMsg;

            if (PlayObject == null)
            {
                return;
            }
            sAutoSendMsg = EditSayMsg.Text.Trim();
            nLevel       = (int)EditLevel.Value;
            nGold        = (int)EditGold.Value;
            nPKPOINT     = (int)EditPKPoint.Value;
            nGameGold    = (int)EditGameGold.Value;
            nGameDiaMond = (int)EditGameDiaMond.Value;
            // 20071226 金刚石
            nGameGird = (int)EditGameGird.Value;
            // 20071226 灵符
            nLoyal = (int)EditHeroLoyal.Value;
            // 英雄的忠诚度(20080109)
            nGamePoint   = (int)EditGamePoint.Value;
            nCreditPoint = (int)EditCreditPoint.Value;
            nBonusPoint  = (int)EditBonusPoint.Value;
            boGameMaster = CheckBoxGameMaster.Checked;
            boObServer   = CheckBoxObserver.Checked;
            boSuperman   = CheckBoxSuperMan.Checked;

            // (*or (nCreditPoint > High(Integer{Byte}))*)
            // 20080118
            if ((nLevel < 0) || (nLevel > ushort.MaxValue) || (nGold < 0) || (nGold > 200000000) || (nPKPOINT < 0) || (nPKPOINT > 2000000) || (nCreditPoint < 0) || (nBonusPoint < 0) || (nBonusPoint > 20000000) || (nLoyal > 10000))
            {
                MessageBox.Show("输入数据不正确!!!", "错误信息", System.Windows.Forms.MessageBoxButtons.OK);
                return;
            }
            PlayObject.m_sAutoSendMsg = sAutoSendMsg;
            if (PlayObject.m_Abil.Level != nLevel)
            {
                // 等级调整记录日志 20081102
                M2Share.AddGameDataLog("17" + "\09" + PlayObject.m_sMapName + "\09" + (PlayObject.m_nCurrX).ToString() + "\09" + (PlayObject.m_nCurrY).ToString() + "\09" + PlayObject.m_sCharName + "\09" + (PlayObject.m_Abil.Level).ToString() + "\09" + "0" + "\09" + "调整(" + (nLevel).ToString() + ")" + "\09" + "在线人物窗口");
            }
            PlayObject.m_Abil.Level   = (ushort)nLevel;
            PlayObject.m_nGold        = nGold;
            PlayObject.m_nPkPoint     = nPKPOINT;
            PlayObject.m_nGameGold    = nGameGold;
            PlayObject.m_nGAMEDIAMOND = nGameDiaMond;
            // 20071226 金刚石
            PlayObject.m_nGAMEGIRD = nGameGird;
            // 20071226 灵符
            PlayObject.m_nGamePoint    = (ushort)nGamePoint;
            PlayObject.m_btCreditPoint = nCreditPoint;
            PlayObject.m_nBonusPoint   = nBonusPoint;
            PlayObject.m_boAdminMode   = boGameMaster;
            PlayObject.m_boObMode      = boObServer;
            PlayObject.m_boSuperMan    = boSuperman;
            if (PlayObject.m_boTrainingNG)
            {
                PlayObject.m_NGLevel = (byte)EditNGLevel.Value;
                // 20081005 内功等级
                PlayObject.m_ExpSkill69 = (uint)EditExpSkill69.Value;
                // 20081005 内功心法当前经验
                PlayObject.SendNGData();
                // 发送内功数据 20081005
            }
            PlayObject.GoldChanged();
            PlayObject.GameGoldChanged();
            // 20080211
            PlayObject.HasLevelUp(1);
            //#if HEROVERSION = 1
            if (PlayObject.m_MyHero != null)
            {
                nLevel   = (int)EditHeroLevel.Value;
                nPKPOINT = (int)EditHeroPKPoint.Value;
                if (PlayObject.m_MyHero.m_Abil.Level != nLevel)
                {
                    // 等级调整记录日志 20081102
                    M2Share.AddGameDataLog("17" + "\09" + PlayObject.m_MyHero.m_sMapName + "\09" + (PlayObject.m_MyHero.m_nCurrX).ToString() + "\09" + (PlayObject.m_MyHero.m_nCurrY).ToString() + "\09" + PlayObject.m_MyHero.m_sCharName + "\09" + (PlayObject.m_MyHero.m_Abil.Level).ToString() + "\09" + "0" + "\09" + "调整(" + (nLevel).ToString() + ")" + "\09" + "在线人物窗口");
                }
                PlayObject.m_MyHero.m_Abil.Level = (ushort)nLevel;
                PlayObject.m_MyHero.m_nPkPoint   = nPKPOINT;
                ((THeroObject)(PlayObject.m_MyHero)).m_nLoyal = nLoyal;
                // 英雄的忠诚度(20080110)
                if (((THeroObject)(PlayObject.m_MyHero)).m_boTrainingNG)
                {
                    ((THeroObject)(PlayObject.m_MyHero)).m_NGLevel = (byte)EditHeroNGLevel.Value;
                    // 20081005 内功等级
                    ((THeroObject)(PlayObject.m_MyHero)).m_ExpSkill69 = (uint)EditHeroExpSkill69.Value;
                    // 20081005 内功心法当前经验
                    PlayObject.m_MyHero.SendNGData();
                    // 发送内功数据 20081005
                }
                PlayObject.m_MyHero.HasLevelUp(1);
            }
            MessageBox.Show("人物数据已保存。", "提示信息", System.Windows.Forms.MessageBoxButtons.OK);
        }