GO引擎的时装系统跟传统装备最大的区别在于双轨制。普通装备穿上直接改变人物外观,时装穿上是穿上了,但外显不直接生效,需要通过ShowFashion这个总开关控制。很多GM配置完时装发现穿上去没变化,就是没搞懂这套逻辑。
**时装占用的位置代码**
GO引擎时装不是随便找个空位置塞的,有固定的12个部位代码,从17排到28。时装衣服占17,时装武器占18,时装项链19,时装头盔20,左手镯21,右手镯22,左戒指23,右戒指24,勋章25,腰带26,鞋子27,宝石28。
这组数字跟普通装备的位置代码完全不重叠,普通衣服位置代码是0,武器是1,戒指是8这些。用了时装的位置代码之后,时装和普通装备可以同时穿在身上,互相不干扰。人物面板上普通装备栏和时装栏是分开显示的。
**DB字段StdMode的完整映射**
时装物品存在物品数据库Items.DB里,不单独建表,靠StdMode字段来区分。StdMode=66和67对应时装衣服,66是男装,67是女装。StdMode=68和69对应时装武器,68是男用武器外观,69是女用武器外观。
剩下部位的StdMode分配:75到77对应时装项链,78对应头盔,79和80对应手镯,81和82对应戒指,83对应勋章,84和85对应腰带,86和87对应鞋子,88和89对应宝石。其他字段比如AC、MAC、DC、MC这些跟普通装备一样填,时装提供的属性加成就是靠这些字段生效。
**M2隐藏时装选项的坑**
M2控制台里有个选项路径:选项-客户端设置-内挂控制(二),里面有一个隐藏时装的勾选框。这个框千万不能勾上,勾了之后客户端直接不加载时装UI界面,玩家打开人物面板根本看不到时装那一页。很多人架设完发现时装栏不显示,排查半天结果是这里被勾了。
**ShowFashion指令控制外显**
穿上时装之后,外显并不会自动打开。用NPC命令ShowFashion来控制显示状态,ShowFashion1是开启外显,ShowFashion0是关闭外显。玩家穿上时装但没执行ShowFashion1的时候,人物外观还是普通装备的样子,只有面板上能看到时装栏里有东西。
这个指令写在NPC脚本的触发段里,比如玩家点击"展示时装"按钮的时候执行ShowFashion1。也可以在登录脚本里判断玩家有时装的话自动开启。关闭外显之后外观切回普通装备,但时装的属性加成还在身上,只是不显示外观。
**QF触发的配套脚本**
ShowFashion执行的时候会触发QFunction-0.txt里对应的事件段。开启外显触发[@ShowFashion],关闭外显触发[@NotShowFashion]。英雄版本还有[@HeroShowFashion]和[@HeroNotShowFashion]对应英雄的外显控制。
在这些触发段里可以写配套逻辑,比如开启外显的时候给个飘字提示、增加额外特效、或者扣金币。关闭外显的时候也可以触发对应的回收逻辑。
**佩戴与脱下事件**
时装穿上和脱下的触发事件跟普通装备用的是同一套标签,但位置代码换成时装专用的。穿上时装衣服触发[@TakeOn17],脱下触发[@TakeOff18]。时装武器是18,其他部位依次类推。在这些事件段里可以写穿戴条件检查,比如职业限制、等级限制、特殊属性判定。
**NewopUI.pak的图片资源**
时装界面背景图存在NewopUI.pak这个必备补丁里。不同界面版本用的图片编号不同,13周年界面用1590到1591,英雄时装背景用1592到1593。连击界面用1594到1595,归来界面用1598到1599。这些背景图只能在NewopUI.pak里替换素材,UI编辑器改不了。
**配置前缀和显示文本**
在!Setup.txt里加一行FashionPreFix=[时装],所有时装物品的名字前面会自动加上[时装]前缀,玩家看背包一眼就能区分普通装备和时装。不配置这个前缀的话,时装在背包里跟普通物品长得一样,玩家容易搞混。
**相关变量取值**
脚本里读取时装信息用S开头的变量,<$SDRESS>读时装衣服名字,<$SWEAPON>读时装武器,其他部位对应<$SHELMET>、<$SNECKLACE>这些。英雄的时装变量前面加<$G_>前缀,比如<$G_SDRESS>读英雄的时装衣服。这些变量在NPC对话里显示玩家当前穿戴的时装信息,用来做展示或者条件判断都行。
**时装占用的位置代码**
GO引擎时装不是随便找个空位置塞的,有固定的12个部位代码,从17排到28。时装衣服占17,时装武器占18,时装项链19,时装头盔20,左手镯21,右手镯22,左戒指23,右戒指24,勋章25,腰带26,鞋子27,宝石28。
这组数字跟普通装备的位置代码完全不重叠,普通衣服位置代码是0,武器是1,戒指是8这些。用了时装的位置代码之后,时装和普通装备可以同时穿在身上,互相不干扰。人物面板上普通装备栏和时装栏是分开显示的。
**DB字段StdMode的完整映射**
时装物品存在物品数据库Items.DB里,不单独建表,靠StdMode字段来区分。StdMode=66和67对应时装衣服,66是男装,67是女装。StdMode=68和69对应时装武器,68是男用武器外观,69是女用武器外观。
剩下部位的StdMode分配:75到77对应时装项链,78对应头盔,79和80对应手镯,81和82对应戒指,83对应勋章,84和85对应腰带,86和87对应鞋子,88和89对应宝石。其他字段比如AC、MAC、DC、MC这些跟普通装备一样填,时装提供的属性加成就是靠这些字段生效。
**M2隐藏时装选项的坑**
M2控制台里有个选项路径:选项-客户端设置-内挂控制(二),里面有一个隐藏时装的勾选框。这个框千万不能勾上,勾了之后客户端直接不加载时装UI界面,玩家打开人物面板根本看不到时装那一页。很多人架设完发现时装栏不显示,排查半天结果是这里被勾了。
**ShowFashion指令控制外显**
穿上时装之后,外显并不会自动打开。用NPC命令ShowFashion来控制显示状态,ShowFashion1是开启外显,ShowFashion0是关闭外显。玩家穿上时装但没执行ShowFashion1的时候,人物外观还是普通装备的样子,只有面板上能看到时装栏里有东西。
这个指令写在NPC脚本的触发段里,比如玩家点击"展示时装"按钮的时候执行ShowFashion1。也可以在登录脚本里判断玩家有时装的话自动开启。关闭外显之后外观切回普通装备,但时装的属性加成还在身上,只是不显示外观。
**QF触发的配套脚本**
ShowFashion执行的时候会触发QFunction-0.txt里对应的事件段。开启外显触发[@ShowFashion],关闭外显触发[@NotShowFashion]。英雄版本还有[@HeroShowFashion]和[@HeroNotShowFashion]对应英雄的外显控制。
在这些触发段里可以写配套逻辑,比如开启外显的时候给个飘字提示、增加额外特效、或者扣金币。关闭外显的时候也可以触发对应的回收逻辑。
**佩戴与脱下事件**
时装穿上和脱下的触发事件跟普通装备用的是同一套标签,但位置代码换成时装专用的。穿上时装衣服触发[@TakeOn17],脱下触发[@TakeOff18]。时装武器是18,其他部位依次类推。在这些事件段里可以写穿戴条件检查,比如职业限制、等级限制、特殊属性判定。
**NewopUI.pak的图片资源**
时装界面背景图存在NewopUI.pak这个必备补丁里。不同界面版本用的图片编号不同,13周年界面用1590到1591,英雄时装背景用1592到1593。连击界面用1594到1595,归来界面用1598到1599。这些背景图只能在NewopUI.pak里替换素材,UI编辑器改不了。
**配置前缀和显示文本**
在!Setup.txt里加一行FashionPreFix=[时装],所有时装物品的名字前面会自动加上[时装]前缀,玩家看背包一眼就能区分普通装备和时装。不配置这个前缀的话,时装在背包里跟普通物品长得一样,玩家容易搞混。
**相关变量取值**
脚本里读取时装信息用S开头的变量,<$SDRESS>读时装衣服名字,<$SWEAPON>读时装武器,其他部位对应<$SHELMET>、<$SNECKLACE>这些。英雄的时装变量前面加<$G_>前缀,比如<$G_SDRESS>读英雄的时装衣服。这些变量在NPC对话里显示玩家当前穿戴的时装信息,用来做展示或者条件判断都行。

