英雄杀盒子最新版迁移数据到新版,老版本还有数据吗

手机游戏&&尽在九游
江湖x:汉家江湖如何将旧版本账号数据存档转移到新版
江湖x:汉家江湖如何将旧版本账号数据存档转移到新版
作者:九游
来源:九游
发布时间: 18:16:16
江湖x:汉家江湖如何将旧版本账号数据存档转移到新版?下面小编为大家带来关于江湖x:汉家江湖如何将旧版本账号数据存档转移相关问题的解答:
《:汉家江湖》将作为一款新游戏上架AppStore,本次登陆的是榜,定价1元RMB,只会首发中国区AppStore,届时大家需要重新下载。我们将保持老的《江湖x》同步运营,玩家可以自助选择玩新版本或者留在老版本。我们在《江湖X:汉家江湖》中提供转档功能,如下图
1、转档的玩家需要在《江湖X》中绑定手机或邮箱,凭验证码发起转档;
2、必须在《江湖X:汉家江湖》中同步注册新账号;
3、《江湖X:汉家江湖》将停用微信登陆;
4、转档后《江湖X》中该账号将不再可登陆;
5、为了保证转档安全,最多将有5分钟延迟,请大家退出《江湖X》5分钟以后再发起转档服务
6、所有IOS区服的玩家均将转入《江湖X:汉家江湖》的“明月楼”服务器
7、为了防止重名转入的将名字自动增加后缀
8、所有原先的主角捏脸将丢失,请大家重新易容
9、我们将提供转档福利(改名卡、易容书、重修之书等)
10、若原账号在多个IOS都有角色,则自动取等级最高的6个角色并入,其他角色将丢失,如果大家有超过6个角色,请先进行整理;
11、元宝、消费记录、物品背包、角色信息都将原封不动的转到;
12、转档永不可逆,一旦转档视为永远放弃《江湖X》中的账号,请大家考虑清楚;
补充说明:
- 届时将同步增开一个新服务器,大家如果有需要可以去玩新服务器,但既有元宝和消费记录不会共享。为了公平竞争,不允许迁移档案到新服务器。
- 论剑玩法暂不跨服
平台:安卓/苹果
苹果版暂无下载
苹果版暂无下载
我来说两句
正在加载,请稍后...
江湖X是一款武侠题材的RPG战斗类的角色扮演手机游戏,游戏中玩家将会体
江湖X是一款武侠题材的RPG战斗类的角色扮演手机游戏,游戏中玩家将会体验到十分精彩刺激的战斗,有人的地方就有江湖,有江湖的地方就有战斗,快来战斗吧! 游戏将继续沿用“群侠传”的模式,与金X一样,将继续保持开放世界观,不同的是,人物将由金庸世界迁移到中国历史上所有的侠客。在江湖X的世界里,你将跨越各个历史时间,与各个朝代的大侠一起并肩作战,体验他们所处江湖的爱恨情仇。
开发者:互联网
点击下载按钮,或通过扫描二维码直接下载!
江湖X 1.1.13 安装包安卓安装包
请用手机扫描二维码订阅~
订阅后可及时接受活动,礼包,开测和开放下载的提醒!1140人阅读
在信息化建设过程中,随着技术的发展,原有的信息系统不断被功能更强大的新系统所取代。从两层结构到三层结构,从Client/Server到Browser/Server。在新旧系统的切换过程中,必然要面临一个数据迁移的问题。
  数据迁移的概念
  原有的旧系统从启用到被新系统取代,在其使用期间往往积累了大量珍贵的历史数据,其中许多历史数据都是新系统顺利启用所必须的。另外,这些历史数据也是进行决策分析的重要依据。数据迁移,就是将这些历史数据进行清洗、转换,并装载到新系统中的过程。数据迁移主要适用于一套旧系统切换到另一套新系统,或多套旧系统切换到同一套新系统时,需要将旧系统中的历史数据转换到新系统中的情况。银行、电信、税务、工商、保险以及销售等领域发生系统切换时,一般都需要进行数据迁移。对于多对一的情况,例如由于信息化建设的先后,造成有多个不同的系统同时运行,但相互间不能做到有效信息共享,所以就需要一套新系统包容几套旧系统的问题。
  数据迁移对系统切换乃至新系统的运行有着十分重要的意义。数据迁移的质量不光是新系统成功上线的重要前提,同时也是新系统今后稳定运行的有力保障。如果数据迁移失败,新系统将不能正常启用;如果数据迁移的质量较差,没能屏蔽全部的垃圾数据,对新系统将会造成很大的隐患,新系统一旦访问这些垃圾数据,可能会由这些垃圾数据产生新的错误数据,严重时还会导致系统异常。
  相反,成功的数据迁移可以有效地保障新系统的顺利运行,能够继承珍贵的历史数据。因为无论对于一个公司还是一个部门,历史数据无疑都是十分珍贵的一种资源。例如公司的客户信息、银行的存款记录、税务部门的纳税资料等。
  数据迁移的特点
  系统切换时的数据迁移不同于从生产系统OLTP (On-line Transaction Processing),到数据仓库DW(Data Warehouse)的数据抽取。后者主要将生产系统在上次抽取后所发生的数据变化同步到数据仓库,这种同步在每个抽取周期都进行,一般以天为单位。而数据迁移是将需要的历史数据一次或几次转换到新的生产系统,其最主要的特点是需要在短时间内完成大批量数据的抽取、清洗和装载。
  数据迁移的内容是整个数据迁移的基础,需要从信息系统规划的角度统一考虑。划分内容时,可以从横向的时间和纵向的模块两个角度去考虑。
  横向划分
  以产生数据的时间为划分依据,需要考虑比较久远的历史数据如何迁移的问题。由于信息技术的发展,以及我们对计算机依赖性的增强,新系统每天往往需要比旧系统存储更多的信息,同时为了解决数据量高增长带来的性能瓶颈,新系统一般只保留一定时期的数据,比如1年,而把超过保存周期的数据,即1年以前的数据转移到数据仓库中,以便用于决策分析。对于这种新系统的数据迁移,主要迁移1年以内的数据,1年以前的历史数据需要另外考虑。
  纵向划分
  以处理数据的功能模块为划分依据,需要考虑在新系统中没有被包含的功能模块,其所涉及数据的处理问题。这类数据由于无法建立映射关系,一般不需要迁移到新系统中。但对于模块间偶合度比较紧密的旧系统,在纵向划分时需要注意数据的完整性。
  数据迁移的三种方法
  数据迁移可以采取不同的方法进行,归纳起来主要有三种方法,即系统切换前通过工具迁移、系统切换前采用手工录入、系统切换后通过新系统生成。
  系统切换前通过工具迁移
  在系统切换前,利用ETL(Extract Transform Load)工具把旧系统中的历史数据抽取、转换,并装载到新系统中去。其中ETL工具可以购买成熟的产品,也可以是自主开发的程序。这种方法是数据迁移最主要,也是最快捷的方法。其实施的前提是,历史数据可用并且能够映射到新系统中。
  系统切换前采用手工录入
  在系统切换前,组织相关人员把需要的数据手工录入到新系统中。这种方法消耗的人力、物力比较大,同时出错率也比较高。主要是一些无法转换到新系统中的数据,和新系统启用时必需要而旧系统无法提供的数据采用这种方法,可作为第一种方法的有益补充。
  系统切换后通过新系统生成
  在系统切换后,通过新系统的相关功能,或为此专门开发的配套程序生成所需要的数据。通常根据已经迁移到新系统中的数据来生成所需的信息。其实施的前提是,这些数据能够通过其它数据产生。
  数据迁移的策略
  数据迁移的策略是指采用什么方式进行数据的迁移。结合不同的迁移方法,主要有一次迁移、分次迁移、先录后迁、先迁后补等几种方式可供选择。
  一次迁移
  一次迁移是通过数据迁移工具或迁移程序,将需要的历史数据一次性全部迁移到新系统中。一次迁移的优点是迁移实施的过程短,相对分次迁移,迁移时涉及的问题少,风险相对比较低。其缺点工作强度比较大,由于实施迁移的人员需要一直监控迁移的过程,如果迁移所需的时间比较长,工作人员会很疲劳。一次迁移的前提是新旧系统数据库差异不大,允许的宕机时间内可以完成所有数据量的迁移。
  分次迁移
  分次迁移是通过数据迁移工具或迁移程序,将需要的历史数据分几次迁移到新系统中。分次迁移可以将任务分开,有效地解决了数据量大和宕机时间短之间的矛盾。但是分次切换导致数据多次合并,增加了出错的概率,同时为了保持整体数据的一致性,分次迁移时需要对先切换的数据进行同步,增加了迁移的复杂度。分次迁移一般在系统切换前先迁移将静态数据和变化不频繁的数据,例如代码、用户信息等,然后在系统切换时迁移动态数据,例如交易信息,对于静态数据迁移之后发生的数据变更,可以每天同步到新系统中,也可以在系统切换时通过增量的方式一次同步到新系统中。
  先录后迁
  先录后迁是在系统切换前,先通过手工把一些数据录入到新系统中,系统切换时再迁移其它的历史数据。先录后迁主要针对新旧系统数据结构存在特定差异的情况,即对于新系统启用时必需的期初数据,无法从现有的历史数据中得到。对于这部分期初数据,就可以在系统切换前通过手工录入。
  先迁后补
  先迁后补是指在系统切换前通过数据迁移工具或迁移程序,将原始数据迁移到新系统中,然后通过新系统的相关功能,或为此专门编写的配套程序,根据已经迁移到新系统中的原始数据,生成所需要的结果数据。先迁后补可以减少迁移的数据量。
  数据迁移的实现
  数据迁移的实现可以分为三个阶段:数据迁移前的准备、数据迁移的实施和数据迁移后的校验。
  由于数据迁移的特点,大量的工作都需要在准备阶段完成,充分而周到的准备工作是完成数据迁移的主要基础。具体而言,要进行待迁移数据源的详细说明,包括数据的存放方式、数据量、数据的时间跨度,建立新旧系统数据库的数据字典,对旧系统的历史数据进行质量分析,新旧系统数据结构的差异分析;新旧系统代码数据的差异分析;建立新老系统数据库表的映射关系,对无法映射字段的处理方法,开发、部属ETL工具,编写数据转换的测试计划和校验程序,制定数据转换的应急措施。
  其中,数据迁移的实施是实现数据迁移的三个阶段中最重要的环节。它要求制定数据转换的详细实施步骤流程;准备数据迁移环境;业务上的准备,结束未处理完的业务事项,或将其告一段落;对数据迁移涉及的技术都得到测试;最后实施数据迁移。
  数据迁移后的校验是对迁移工作的检查,数据校验的结果是判断新系统能否正式启用的重要依据。可以通过质量检查工具或编写检查程序进行数据校验,通过试运行新系统的功能模块,特别是查询、报表功能,检查数据的准确性。
  数据迁移的技术准备
  数据转换与迁移通常包括多项工作:旧系统数据字典整理、旧系统数据质量分析、新系统数据字典整理、新旧系统数据差异分析、建立新旧系统数据之间的影射关系、开发部署数据转换与迁移程序、制定数据转换与迁移过程中的应急方案、实施旧系统数据到新系统的转换与迁移工作、检查转换与迁移后数据的完整性与正确性。
  数据转换与迁移程序,即ETL的过程大致可以分为抽取、转换、装载三个步骤。数据抽取、转换是根据新旧系统数据库的映射关系进行的,而数据差异分析是建立映射关系的前提,这其中还包括对代码数据的差异分析。转换步骤一般还要包含数据清洗的过程,数据清洗主要是针对源数据库中,对出现二义性、重复、不完整、违反业务或逻辑规则等问题的数据进行相应的清洗操作,在清洗之前需要进行数据质量分析,以找出存在问题的数据,否则数据清洗将无从谈起。数据装载是通过装载工具或自行编写的SQL程序将抽取、转换后的结果数据加载到目标数据库中。
  对数据的检查
  数据格式检查:检查数据的格式是否一致和可用,目标数据要求为number型。
  数据长度检查:检查数据的有效长度。对于char类型的字段转换到varchar类型中,需要特别关注。
  区间范围检查:检查数据是否包含在定义的最大值和最小值的区间中;例如年龄为300,或录入日期在。
  空值、默认值检查:检查新旧系统定义的空值、默认值是否相同,不同数据库系统对空值的定义可能不同,需要特别关注。
  完整性检查:检查数据的关联完整性。如记录引用的代码值是否存在,特别需要注意的是有些系统在使用一段时间后,为了提高效率而去掉了外键约束。
  一致性检查:检查逻辑上是否存在违反一致性的数据,特别是存在分别提交操作的系统。
  数据迁移工具的选择
  数据迁移程序的开发、部署主要有两种选择,即自主开发程序或购买成熟的产品。这两种选择都有各自不同的特点,选择时还要根据具体情况进行分析。纵观目前国内一些大型项目,在数据迁移时多是采用相对成熟的ETL产品。可以看到这些项目有一些共同特点,主要包括:迁移时有大量的历史数据、允许的宕机时间很短、面对大量的客户或用户、存在第三方系统接入、一旦失败所产生的影响面将很广。同时也应该看到,自主开发程序也被广泛地采用。
  相关的ETL产品
  目前,许多数据库厂商都提供数据抽取工具,如Informix的InfoMover、Microsoft SQL Server 7的DTS和Oracle的Oracle Warehouse Builder等,这些工具在一定范围内解决了数据的提取和转换。但这些工具基本都不能自动完成数据的抽取,用户还需利用这些工具编写适当的转换程序。
  例如Oracle的Oracle Warehouse Builder数据抽取工具,简称OWB,提供的功能包括:模型构造和设计;数据提取、移动和装载;元数据管理等。但OWB提供的流程繁琐,维护很困难,不易于使用。
  在第三方产品中,Ascential Software公司的DataStage是一套相对比较完善的产品。DataStage可以从多个不同的业务系统中,从多个平台的数据源中抽取数据,完成转换和清洗,装载到各种系统里面。其中每步都可以在图形化工具里完成,同样可以灵活的被外部系统调度,提供专门的设计工具来设计转换规则和清洗规则等,实现了增量抽取、任务调度等多种复杂而实用的功能。其中简单的数据转换可以通过在界面上拖拉操作和调用一些DataStage预定义转换函数来实现,复杂转换可以通过编写脚本或结合其他语言的扩展来实现,并且DataStage提供调试环境,可以极大地提高开发和调试抽取、转换程序的效率。
  数据抽取和转换的准备
  数据抽取前,需要作大量的准备工作。具体如下:
  1、 针对目标数据库中的每张数据表,根据映射关系中记录的转换加工描述,建立抽取函数。该映射关系为前期数据差异分析的结果。抽取函数的命名规则为:F_目标数据表名_E。
  2、 根据抽取函数的SQL语句进行优化。可以采用的优化方式为:调整SORT_AREA_SIZE和HASH_AREA_SIZE等参数设置、启动并行查询、采用提示指定优化器、创建临时表、对源数据表作ANALYZES、增加索引。
  3、 建立调度控制表,包括ETL函数定义表(记录抽取函数、转换函数、清洗函数和装载函数的名称和参数)、抽取调度表(记录待调度的抽取函数)、装载调度表(记录待调度的装载信息)、抽取日志表(记录各个抽取函数调度的起始时间和结束时间以及抽取的正确或错误信息)、装载日志表(记录各个装载过程调度的起始时间和结束时间以及装载过程执行的正确或错误信息)。
  4、建立调度控制程序,该调度控制程序根据抽取调度表动态调度抽取函数,并将抽取的数据保存入平面文件。平面文件的命名规则为:目标数据表名.txt。
  数据转换的工作在ETL过程中主要体现为对源数据的清洗和代码数据的转换。数据清洗主要用于清洗源数据中的垃圾数据,可以分为抽取前清洗、抽取中清洗、抽取后清洗。ETL对源数据主要采用抽取前清洗。对代码表的转换可以考虑在抽取前转换和在抽取过程中进行转换。具体如下:
  1、针对ETL涉及的源数据库中数据表,根据数据质量分析的结果,建立数据抽取前的清洗函数。该清洗函数可由调度控制程序在数据抽取前进行统一调度,也可分散到各个抽取函数中调度。清洗函数的命名规则为:F_源数据表名_T_C。
  2、针对ETL涉及的源数据库中数据表,根据代码数据差异分析的结果,对需要转换的代码数据值,如果数据长度无变化或变化不大,考虑对源数据表中引用的代码在抽取前进行转换。抽取前转换需要建立代码转换函数。代码转换函数由调度控制程序在数据抽取前进行统一调度。代码转换函数的命名规则为:F_源数据表名_T_DM。
  3、对新旧代码编码规则差异较大的代码,考虑在抽取过程中进行转换。根据代码数据差异分析的结果,调整所有涉及该代码数据的抽取函数。
  数据迁移后的校验
  在数据迁移完成后,需要对迁移后的数据进行校验。数据迁移后的校验是对迁移质量的检查,同时数据校验的结果也是判断新系统能否正式启用的重要依据。可以通过两种方式对迁移后的数据进行校验。
  对迁移后的数据进行质量分析,可以通过数据质量检查工具,或编写有针对性的检查程序进行。对迁移后数据的校验有别于迁移前历史数据的质量分析,主要是检查指标的不同。迁移后数据校验的指标主要包括五方面:完整性检查,引用的外键是否存在;一致性检查,相同含义的数据在不同位置的值是否一致;总分平衡检查,例如欠税指标的总和与分部门、分户不同粒度的合计对比;记录条数检查,检查新旧数据库对应的记录条数是否一致;特殊样本数据的检查,检查同一样本在新旧数据库中是否一致。
  新旧系统查询数据对比检查,通过新旧系统各自的查询工具,对相同指标的数据进行查询,并比较最终的查询结果;先将新系统的数据恢复到旧系统迁移前一天的状态,然后将最后一天发生在旧系统上的业务全部补录到新系统,检查有无异常,并和旧系统比较最终产生的结果。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:54371次
排名:千里之外
原创:274篇
转载:36篇
(1)(1)(1)(301)(1)(3)(2)iOS文章(122)
转自;http://my.oschina.net/zhmsong/blog/147920
Core Data 支持随着app开发演进而带来的对象模型(managed object model)升级或修改的管理。模型的改变将导致不兼容(或不能打开)以前版本创建的存储。如果你要改变你的模型,你就必须要改变现有存储中的数据-也就是数据存储格式(store
format)-这被称为迁移(migration)。
要想迁移数据,你既需要原始版本,又需要当前版本。因此,需要创建 带版本的模型(versioned model),带版本的模型(像版本仓库)可以存储下多个版本。如果没有问题的话,Core Data 可以使用当前新版本打开以前版本创建的数据存储,并将其迁移至当前版本规范中。因此,为了帮助 Core Data 迁移,需要我们提供新旧版本间的映射信息(map),映射信息有两种方式,一是简单根据版本号,二是创建独立的映射模型文件(separate
mapping model file)。&
通常程序版本改变,会涉及到很多方面,Core Data 没有能力为我们自动处理,但提供了一些技术为我们所用:&
模型版本管理,方便区分不同阶段的不同版本。&
模型版本,有两个视角,以程序员看,就是版本号(文字本身);从 Core Data角度看,就是另一回事,具体看&
带版本的对象模型文件格式和如何添加版本号,参见&
映射方式选择(表和字段/实体和属性)&
简单情况下,Core Data 可以推测出(infer)如何映射,具体见“轻量级数据迁移”&
如果复杂了,Core Data 无法推测,我们必须创建映射模型(mapping model),通过映射模型,表述如何转换(从旧版本到新版本),创建方法见&&
数据迁移的过程参见&,如何执行具体的迁移参见&
可以定制迁移过程,如决定是否有必要进行迁移(if-else)、如何找到正确的源模型和目标模型(correct source and destination models)及正确的映射模型。&
如果你要自己初始化迁移过程,那你只能自定迁移过程,比如,在主文件夹(main bundle)之外的位置搜索,或者,利用多个映射模型执行几个阶段的迁移,也可能在大数据集基础上处理。自定迁移过程参见&&
使用了 iCloud 的App,只能执行轻量级迁移,具体参&&
尽管可以轻松完成,但还需谨慎,避免冲突。
文章来源:
轻量级数据迁移(下称LM), Core Data 自动执行,适用模型简单改变(simple changes),包括:实体/表中增加新属性/字段,LM 与普通迁移原理完全一样,只是不需要映射模型(mapping model)
(参见&),Core Data 自行推测(infers)版本间的差异。
LM 适用于APP早期开发,那时总是在改变数据结构,同时没有必要保存一些测试数据。另一个好处是,当你使用推测模型(inferred model)和 SQLite 存储时,Core Data 可以执行就地(in situ)迁移,严格讲,直接生成并执行 SQL 语句。因为没有载入任何数据,所以此时能保证效率。
LM中 Core Data 必须能推测出映射关系&
Core Data 需要能够在运行时找到源和目标的映射关系,一般我们将数据模型存放在 bundles文件夹中(使用&&的
allBundles&和 allFrameworks 方法获得)Core Data可以找到并发现它,如果放在别的地方,需要按照&&&中说的做。Core Data 随后自动分析现有表和字段的变化,自动产生推测的映射模型(inferred mapping model)。&
以下几种情况,Core Data 可以自动推测出:&
添加新属性/字段&
删除属性/字段&
必填属性/字段改为可选属性/字段&
可选属性/字段改为必填属性/字段,并设置默认值&
重命名实体/表或属性/字段&
如果要重命名,需要将新版本中新实体/属性的“重命名标识符”(renaming identifier)的值设置为原来的实体名或属性名。具体方法:Xcode Data Modeling 工具-&属性查看器(property inspector)。可以想象,这样做以后,如一个属性的名字在三次修改中都变化了,且都标记了重命名标识符,这样不管是从&version 2 到 version
3 还是从 version 1 到 version 3 都可以无错误的迁移。
另外,Core Data 还可以自动猜测出:&
增加关系(relationship)和 改变关系类型&
增加新关系,删除现有关系&
重命名关系名称 (同样设置重命名标识符)&
改变关系由对一到对多,或者a non-ordered to-many to ordered (反之亦然)&
改变实体/表的体系结构&
增加、删除、重命名实体/表&
增加新的父、子实体/表,移动属性/字段的顺序&
将实体/表移出体系&
注意,不能整合(merge)两个实体体系(if two existing entities do not share a common parent in the source, they cannot share a common parent in the destination)&
使用选项字典(Options Dictionary)请求自动迁移(Automatic Migration)&
定义选项字典,将&&和&&两个键值设置为YES,然后调用&
*storeURL = &#The URL of a persistent store#&;
NSPersistentStoreCoordinator
*psc = &#The coordinator#&;
NSDictionary
*options = [NSDictionary dictionaryWithObjectsAndKeys:
&&&&[NSNumber
numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
&&&&[NSNumber
numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
success = [psc addPersistentStoreWithType:&#Store type#&
&&&&&&&&&&&&&&&&&&&&configuration:&#Configuration
or nil#& URL:storeURL
&&&&&&&&&&&&&&&&&&&&options:options
error:&error];
(!success) {
可以使用&&的&&方法,获取推测的映射模型,如果可以推测出返回,如果不可以,返回&nil。
如果不能自动找到模型,则使用迁移管理器(Migration Manager)&
执行自动迁移,必须保证 Core Data 能够在运行时找到源对象模型和目标对象模型,如果你需要将模型存放于自动搜索范围之外,那么需要我们自己生成推测的模型,并实例化迁移管理器(NSMigrationManager)。如下面的代码,这些代码假设已经实现了sourceModel&和&destinationModel,这两个方法分别返回源对象和目标对象。
(BOOL)migrateStore:(NSURL
*)storeURL toVersionTwoStore:(NSURL *)dstStoreURL error:(NSError **)outError {
&&&&NSMappingModel
*mappingModel =
&&&&&&&&[NSMappingModel
inferredMappingModelForSourceModel:[self sourceModel]
&&&&&&&&&&&&&&&&&&&&&&&&destinationModel:[self
destinationModel] error:outError];
(!mappingModel) {
&&&&&&&&return
&&&&NSMigrationManager
*manager = [[NSMigrationManager alloc]
&&&&&&&&initWithSourceModel:[self
sourceModel] destinationModel:[self destinationModel]];
success = [manager migrateStoreFromURL:storeURL type:NSSQLiteStoreType
&&&&&&&&options:nil
withMappingModel:mappingModel toDestinationURL:dstStoreURL
&&&&&&&&destinationType:NSSQLiteStoreType
destinationOptions:nil error:outError];
&&&&return
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:85954次
积分:1576
积分:1576
排名:千里之外
原创:51篇
转载:142篇
(2)(1)(1)(4)(2)(2)(3)(3)(3)(3)(1)(1)(4)(10)(8)(16)(11)(13)(24)(40)(23)(14)(4)}

我要回帖

更多关于 新版英雄杀手游版攻略 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信