标题：X system
简介
X system系统是一套由9CCN制作组开发并公开授权的通用系统。X系统的主要创作者是xangle13，目的是制作一款可以让普通人制作MOD的软件系统（游戏模型仍要个人能力）
任何mod制作组、个人moder、玩家都可以使用X系统进行mod制作和改良。使用X系统的moder请在发布自身mod时在显眼位置郑重声明使用了本系统。9CCN制作组及本系统作者xangle拥有X系统以及授权声明的最终解释权。 
  应用X系统的家园2妖都MOD
目前，X系统常见于太空即时战略游戏《家园2》的MOD制作中。
更新日志：
2011/09/28 
v0.9.1 
基于公版系统的修正，屏蔽了可能导致系统无法正常工作的部分FX特有模块。 
2011/09/29 
v0.9.3 
添加了新的触发条件。 
详见：配置文件——单位特质——通用参数——参数3 
2011/09/30 
v0.9.6 
新增尘云、辐射云相关的地形触发条件。Realist.lua中新增尘云列表和辐射云列表，触发条件参数序列调整。 
详见： 
配置文件——单位特质——通用参数——参数3 
配置文件——地形预制 
2011/10/01 
1.0.6/0.9.7 
添加了新的触发条件： 
ID   -21 
ID   -23 
ID   -24 
ID   -26 
ID   -27 
ID   -28 
ID   -29 
ID   -30 
增加了一组多机单位的编组内数量触发，触发条件参数序列调整： 
照准信号ID           201~1000 
编组数量       101~200 
详见： 
配置文件——单位特质——通用参数——参数3 
2011/10/02 
1.0.7/0.9.9 
添加了新的触发条件： 
ID   -22 
详见： 
配置文件——单位特质——通用参数——参数3 
增加了新的操纵类特质： 
ControlDock 
ControlAttack 
ControlScuttle 
ControlHarvest 
CycExplode 
详见： 
配置文件——单位特质——特质介绍——ControlDock 
配置文件——单位特质——特质介绍——ControlAttack 
配置文件——单位特质——特质介绍——ControlScuttle 
配置文件——单位特质——特质介绍——ControlHarvest 
配置文件——单位特质——特质介绍——CycExplode 
2011/10/04 
1.0.8/1.0.0 
增加了新的特质： 
DroneShip 
详见： 
配置文件——单位特质——特质介绍——DroneShip 
2011/10/10 
1.1.0/1.0.1 
修正了生命值触发条件无法正常使用的问题 
修正了子系统前提条件错误的问题 
增加了英文版说明 
2011-10-27 
1.1.1/1.0.2 
增加了Ship固有能力特质。 
OneselfShipAbility 
详见： 
配置文件——单位特质——特质介绍——OneselfShipAbility 
改进了无人机特质 
详见： 
配置文件——单位特质——特质介绍——DroneShip 
2011-11-01 
1.1.2/1.0.4 
增加了单位投送特质。单位投送可将预设的单位以停泊投送器单位并发射的形式，通过超空间投送至投送器单位保护（G）的目标单位处。这是首个需要两种特质配合生效的功能。 
详见： 
配置文件——单位特质——特质介绍——DeliverShip 
配置文件——单位特质——特质介绍——DeliverGate 
增加建造速度特质：OneselfBuildingSpeedChange 
详见： 
配置文件——单位特质——特质介绍——OneselfBuildingSpeedChange 
2011-11-02 
1.1.3/1.0.5 
为单位替换系统新增了一种替换方式，超空间跳跃替换。需要替换的单位进行一次超空间跳跃后旧单位被删除，新单位在旧单位进入超空间的位置出现。 
详见： 
配置文件——单位替换 
2011-11-04 
1.1.4/1.1.0 
增加单体护盾特质，护盾在能量耗尽前能够吸收所有船体所受的伤害。 
详见： 
配置文件——单位特质——特质介绍——OneselfIdioShield 
增加船壳装甲特质，装甲能够在破裂前部分吸收船体受到的伤害。 
详见： 
配置文件——单位特质——特质介绍——OneselfIdioArmor 
以上两特质需要，添加了用于显示的UI控件，文件目录有所变化。 
2011-11-06 
1.1.5/1.1.3 
增加了装甲和护盾百分比触发条件，触发条件参数序列调整： 
照准信号ID 501~1000 
船只等级 401~500 
编组数量 301~400 
护盾百分比 201~300 
装甲百分比 101~200 
详见： 
配置文件——单位特质——通用参数——参数3 
优化了UI控件，调整了鼠标悬停显示护盾和装甲百分比的位置，并增加鼠标悬停显示船只当前实时速度。 
根据1.1.0版本的百分比护盾和装甲特质衍生出数值化的护盾和装甲系列特质。百分比护盾和装甲特质可以淘汰。 
详见： 
配置文件——单位特质——特质介绍——AssistantStructure 
配置文件——单位特质——特质介绍——OneselfIdioShield2 
配置文件——单位特质——特质介绍——OneselfIdioArmor2 
增加了经验值、等级特质ShipExperience。详见： 
配置文件——单位特质——特质介绍——ShipExperience 
为了配合显示，UI进行了一些调整和美化。 
并在reslist.lua中添加了两个显示相关的参数： 
BarDisplayOnOff = 1 
BarDisplayOnOff是UI显示的开关参数，设为0则不显示护盾和装甲等参数。 
SPingStringVersion = "CS" 
SPingStringVersion是语言选择参数，由于中文和英文版本游戏所使用的字体不同，排版和美化方式也不同，需要根据自己mod所使用的语言调整此参数。”CS”为简体中文，”EN”为英文。 
2011-11-06 
1.1.6/1.1.4 
紧急修正，单位列表中为单位新增一条属性：LifeBarType 
详见： 
配置文件——单位列表 
2011-11-09 
1.1.7/1.1.5 
修正了护盾和装甲UI显示部分两种计算方式显示不统一的问题。 
修正了护盾和装甲百分比触发条件无法正常使用的问题。 
调整了护盾重启的作用机理，现在护盾能够更好的过载和重启了。 
2001-11-13 
1.1.8/1.1.6 
修正了一个可能导致游戏卡死的BUG。 
改进了护盾特质参数，将过载重启时间和重启回充量两个参数分离单独设置。 
详见： 
配置文件——单位特质——特质介绍——OneselfIdioShield 
配置文件——单位特质——特质介绍——OneselfIdioShield2 
调整了UI显示并增加了一系列用于控制显示的开关（reslist.lua内容新增）： 
OverBarShieldDisplayOnOff = 1 
OverBarArmorDisplayOnOff = 1 
OverBarSpeedDisplayOnOff = 1 
OverBarLevelDisplayOnOff = 1 
SelectedBarShieldDisplayOnOff = 1 
SelectedBarArmorDisplayOnOff = 1 
OverBarShieldDisplayOnOff用于控制鼠标悬停时护盾百分比显示，0为不显示。 
OverBarArmorDisplayOnOff用于控制鼠标悬停时装甲百分比显示，0为不显示。 
OverBarSpeedDisplayOnOff用于控制鼠标悬停时实时速度显示，0为不显示。 
OverBarLevelDisplayOnOff用于控制鼠标悬停时船只等级显示，0为不显示。 
SelectedBarShieldDisplayOnOff用于选中船只时护盾条显示，0为不显示。 
SelectedBarArmorDisplayOnOff用于选中船只时装甲条显示，0为不显示。 
2011-11-15 
1.1.9/1.1.7 
增加了特质OneselfHardPointUnderDefend2，用于定义船只上的子系统点并使其受到护盾和装甲的保护。 
增加了特质OneselfHardPointDamageChange，用于修正由特质OneselfHardPointUnderDefend2所定义的子系统点在遭受打击时受到的伤害。 
详见： 
配置文件——单位特质——特质介绍——OneselfHardPointUnderDefend2 
配置文件——单位特质——特质介绍——OneselfHardPointDamageChange 
2011-11-16 
1.2.0/1.1.8 
调整了数据算法，现在数学运算更加精确了。 
调整了UI显示算法，修正了护盾、装甲在数值过低的情况下出现-1%的错误显示。 
开放Xsystem独有内部函数，方便高级用户获取或操纵Xsystem的内部数据。有需要的可以单密我获取函数列表。 
2011-11-16 
1.2.1/1.1.9 
增加新特质子系统无敌：OneselfHardpointInvulnerability 
详见： 
配置文件——单位特质——特质介绍——OneselfHardpointInvulnerability 
添加玩家胜负判定，失去所有指定类型船只的玩家将判负。reslist.lua中添加胜负判定列表，格式如下： 
ShipForSurvive = 
{ 
{ --种族1 
"Hgn_MotherShip", --船只类型1 
"Hgn_Carrier", --船只类型1 
}, 
{ --种族2 
"Vgr_MotherShip", 
"Vgr_Carrier", 
}, 
} 
增加序列以适应用户自身mod的种族设置。默认的reslist.lua文件中附带了适用于原版的存活单位预制序列。 
增加一个开关，用于开启使用或不使用Xsystem的胜负判定检测。 
PlayerSurviveJudge = 1 
PlayerSurviveJudge为0时不启用Xsystem的胜负判定，为1时启用。 
2001-11-17 
1.2.2/1.2.0 
修正了一个公开函数引起的错误。 
修正了一个照准和范围场判定错误。 
增加了一个被动信号源特质PassiveSemaphore。与照准特质相反，被动信号由被攻击者发出，攻击者接收信号ID并作为某些特质的触发条件。 
详见： 
配置文件——单位特质——特质介绍——PassiveSemaphore 
条件ID范围调整： 
501~800 照准信号ID 
801~1000 被动信号ID 
2011-11-18 
1.2.3/1.2.1 
分离并调整了特质检测和运行函数。 
增加一个新的参数，能够自行调整单位可预定的特质数量上限(reslist.lua新增)： 
ScheduledShipAbilityMaxNumber = 10 
以上表示默认每个单位最多能够拥有10个特质。 
增加新特质：建造奖励、损失补偿、猎杀赏金、资源生成 
详见： 
配置文件——单位特质——特质介绍——ResourceUnitBuildAward 
配置文件——单位特质——特质介绍——ResourceUnitLossesCompensate 
配置文件——单位特质——特质介绍——ResourceUnitKillsBounty 
配置文件——单位特质——特质介绍——ResourceUnitFabricated 
2011-11-24 
1.2.4/1.2.3 
增加了两个新特质(调整了触发条件ID序列)，详见： 
配置文件——单位特质——特质介绍——GuardingSemaphore 
配置文件——单位特质——特质介绍——PunySemaphore 
配置文件——单位特质——特质介绍——RestrictShipBuildingOption 
配置文件——单位特质——特质介绍——ShipDockAmelioration 
配置文件——单位特质——特质介绍——ShipAutoAmelioration 
使用新增的ShipDockAmelioration和ShipAutoAmelioration可以替代原始的单位替换模块功能。
2011-11-25 
1.2.5/1.2.4 
重写了所有分压算法。修正了一个时间计算上的错误。 
2011-11-27 
1.2.6/1.2.5 
调整了部分分压参数，重新制定了函数加载方式。 
2011-11-28 
1.2.7/1.2.6 
增加了新的触发条件ID： 
-31 船只护盾下降 
-32 船只护盾上升 
-33 船只装甲受损 
-34 船只装甲修复 
-35 船只结构受损 
-36 船只结构修复 
详见： 
配置文件——单位特质——通用参数——参数3 
增加了用于播放特效的无实际功能特质： 
配置文件——单位特质——特质介绍——EffectOnly 
2011-11-29 
1.2.8/1.2.7 
增加了特质，详见： 
配置文件——单位特质——特质介绍——ShipInstantAmelioration 
改进了特质ShipAutoAmelioration，使得超空间出现的替换单位能够于原始单位朝向进行同步对齐。 
详见： 
配置文件——单位特质——特质介绍——ShipAutoAmelioration 
2011-11-29 
1.2.9/1.2.8 
修正了一些意想不到的小BUG。 
2011-11-30 
1.3.0/1.3.0 
修正了保护特质和被保护特质中存在的一些BUG。 
改进了无人机特质，增加了一个母舰控制载机状态，改良了无人机补充间隔时间定义。 
详见： 
配置文件——单位特质——特质介绍——DroneShip 
增加了新特质，详见： 
配置文件——单位特质——特质介绍——MotherShip 
配置文件——单位特质——特质介绍——DockingMotherShip 
配置文件——单位特质——特质介绍——MotherShipFilter 
调整了触发ID序列，尘云ID和辐射云ID后移。增加了母舰信号和母舰激发信号。 
详见： 
配置文件——单位特质——通用参数——参数3 
2011-12-01 
1.3.1/1.3.1 
改进了单位停泊替换特质，添加了停泊目标类型参数。必须停泊在有效的母舰内才能进行单位的更新替换。 
详见： 
配置文件——单位特质——特质介绍——ShipDockAmelioration 
修改了范围信号特质，现在范围信号特质中信号范围数值如果为0代表信号范围无限大。 
2011-12-01 
1.3.2/1.3.5 
新增科技系统模块，reslist.lua中增加科技系统列表： 
Technologies = 
{ 
} 
配置格式见： 
功能简介——科技系统模块 
配置文件——科技系统 
2011-12-02 
1.3.4/1.3.6 
修正了科技模块无法生效的BUG。 
修正了一些文档上的小错误。 
增加了新的科技系统条件，详见： 
配置文件——科技系统——条件介绍——ResUnit 
添加了对公共函数的说明部分，详见： 
配置文件——公共函数 
改进了单位投射特质，增加了单位投射时出现方式参数，允许超空间出现和停泊至目标机库中两种方式。详见： 
配置文件——单位特质——特质介绍——DeliverShip 
2011-12-02 
1.3.5/1.3.7 
增加了公共函数，详见： 
配置文件——公共函数——xGetShipExpValue 
配置文件——公共函数——xAddShipExp 
增加了新的科技系统条件，详见： 
配置文件——科技系统——条件介绍——ShipKills 
配置文件——科技系统——条件介绍——ShipKillsInRU 
配置文件——科技系统——条件介绍——ShipLosses 
配置文件——科技系统——条件介绍——ShipLossesInRU 
配置文件——科技系统——条件介绍——ShipBuild 
配置文件——科技系统——条件介绍——ShipBuildInRU 
配置文件——科技系统——条件介绍——TributeDonated 
配置文件——科技系统——条件介绍——TributeReceived 
2011-12-03 
1.3.6/1.3.8 
修正了一个因初始化错误导致的单位特质中科技和子系统条件无效的BUG。 
修正了公共函数xGetShipLevelValue获取的等级非船只当前等级的错误。 
增加了新特质，详见： 
配置文件——单位特质——特质介绍——SubsystemBuild 
2011-12-04 
1.3.7/1.3.9 
修正了无人机特质在周围无敌人时也会弹射无人机的问题。 
改良了无人机特质，新增了采集无人机特性。 
详见： 
配置文件——单位特质——特质介绍——DroneShip 
2011-12-04 
1.3.8/1.4.0 
增加了新特质，详见： 
配置文件——单位特质——特质介绍——ShipIdioStateKeyOn 
配置文件——单位特质——特质介绍——ShipIdioStateKeyOff 
增加了特质触发条件： 
-37 停泊状态（已停泊至母舰内） 
详见： 
配置文件——单位特质——通用参数——参数3 
2011-12-06 
1.3.9/1.4.1 
修正了一个由无人机导致的单位检索延迟等待问题。 
延长了单位销毁的等待时间，现在所有需要销毁的单位都必须等待20秒才进行实际销毁。 
2011-12-11 
1.4.0/1.4.2 
修改了等级判定条件中反转条件的判定。 
2011-12-15 
1.4.1/1.4.3 
修正了生命值触发条件无效的问题。 
增加了新的触发条件。 
船只实际速度： 
3001~5000 船只实际速度>=（ID-3000）时触发特质 
用于检测船只的实际运动速度并以实际运动速度作为特质的触发条件 
详见： 
配置文件——单位特质——通用参数——参数3 
增加一条重要的配置编写原则提示： 
任何因为没有完整编写排除列表和单位列表而导致的运行效率低下、卡顿现象，本人概不负责。 
详见： 
配置文件——单位列表——闲话 
增加绵羊单位特质，利用单位靠近的方式转换其他单位阵营。 
详见： 
配置文件——单位特质——特质介绍——SheepShip