public void 申请攻城(byte[] 封包数据, int 封包长度)
{
try
{
if (base.宣告攻城 == 1)
{
系统提示("已申请攻城的门派不能重复申请");
return;
}
if (base.帮派人物等级 != 6)
{
系统提示("只有门主可以申请攻城");
return;
}
if (!(base.门派联盟盟主 != ""))
{
RxjhClass.更新门派联盟盟主(base.帮派名字, base.帮派名字, 1);
foreach (Players value in World.allConnectedChars.Values)
{
if (value.帮派名字 == base.帮派名字)
{
value.宣告攻城 = 1;
value.门派联盟盟主 = base.帮派名字;
value.发送攻城相关BUFF(是否消失: false);
}
}
goto IL_019e;
}
if (!(base.门派联盟盟主 != base.帮派名字))
{
RxjhClass.更新联盟宣告攻城状态(base.帮派名字, 1);
foreach (Players value2 in World.allConnectedChars.Values)
{
if (value2.门派联盟盟主 == base.门派联盟盟主)
{
value2.门派联盟盟主 = base.门派联盟盟主;
value2.宣告攻城 = 1;
value2.发送攻城相关BUFF(是否消失: false);
}
}
goto IL_019e;
}
系统提示("只有门派联盟的盟主可以宣告攻城");
goto end_IL_0001;
IL_019e:
DataTable dBToDataTable = DBA.GetDBToDataTable("select * from [攻城城主] ");
if (dBToDataTable == null || dBToDataTable.Rows.Count == 0)
{
int year = DateTime.Now.ToUniversalTime().Year;
int month = DateTime.Now.ToUniversalTime().Month;
int day = DateTime.Now.ToUniversalTime().Day;
int num = year * 1000 + month * 100 + day;
DataTable dBToDataTable2 = DBA.GetDBToDataTable("select * from [TBL_XWWL_Guild] where G_Name='" + base.帮派名字 + "'");
DBA.ExeSqlCommand(string.Format("INSERT INTO 攻城城主 (城主名字,攻城行会名,帮派ID,分区信息)values('{0}','{1}',{2},'{3}')", dBToDataTable2.Rows[0]["G_Master"].ToString(), base.帮派名字, base.帮派Id, World.分区编号));
dBToDataTable2.Dispose();
}
dBToDataTable.Dispose();
string text = "AA5512000400BC040C0007000000020000000100000055AA";
byte[] array = Converter.hexStringToByte(text);
System.Buffer.BlockCopy(BitConverter.GetBytes(base.人物全服ID), 0, array, 4, 2);
if (base.Client != null)
{
base.Client.Send(array, array.Length);
}
end_IL_0001:;
}
catch (Exception ex)
{
Form1.WriteLine(1, "申请攻城出错" + base.Client.WorldId + "|" + base.Userid + "|" + base.UserName + " " + ex);
}
}
这个报错system.OverflowException:值对于Int32 太大或太小。这个得怎么改?