重新编辑于年末,修改了部分错误,增加了些代码结构的说明,HelloWorld版本大概是10吧
对于整个配置文件来说,将大括号折叠情况下,结构大概为:
{
"bJson":true,//是否以JSON格式保存配置文件
"bBeep":true,//是否发出警示音
"bExitOnGameExit":false,//是否随着游戏结束而结束
"textFormatDefinitions":{...}//文本格式声明,方便引用
"windowsTimerResolution":{...}//程序计时器解析度
"overlayWindow":{...}//整个界面的显示设置
"uiBackGround":{...}//整个界面的背景设置
"monsterUI":{...}//怪物界面设置
"endemicLifeUI":{...}//环境生物界面设置
"teamUI":{...}//团队伤害统计界面设置
"trainingDummyUI":{...}//木桩伤害统计界面设置
"damageGraphUI":{...}//DPS统计曲线界面
"debugUI":{...}//测试界面设置
"timeUI":{...}//时间界面设置
"keyBinds":{...}//快捷键设置
"buffUI":{...}//玩家buff时间界面设置
"buffs":{...}//各种buff的翻译和颜色设置
"monsters":{...}//各种怪物的翻译文本和颜色设置,设定怪物部位排序值(值:index)
"endemics":{...}//各种环境生物的翻译文本和颜色设置,设定哪些为珍稀生物(值:rare)
"abnormalStatuses":{...}//各种异常状态的翻译文本和颜色设置,可设定异常状态排序值(值:index)
"colorRandomizer":{...}//颜色随机器设置
"cheat":{...}//自动输出到聊天窗口的信息设置
} 我会按照顺序,对各个大括号内折叠的内容进行说明,可以自行往下翻阅或查找:
"textFormatDefinitions"://文本格式声明,方便引用
{
"standard"://在这里将定义好一组样式,后面的设置中可以直接调用,将该样式应用到相应的设置中
{
"font":"Consolas",//所使用字体
"size":22,//字号大小
"weight":"bold",//字体粗细,可选"bold","thin","extra light","light","semi light","normal","medium","semi bold","bold","extra bold","black","extra black"
"style":"normal",//字体样式,可选"normal","oblique","italic"
"shadow"://阴影参数
{
"enable":false,//是否启用阴影
"offset":[0,0],//偏移
"lightnessMultiplier":1,//亮度
"saturationMultiplier":1,//饱和度
"alphaMultiplier":1//透明度
}
},
//剩下的内容形同,不再赘述
//需要注意的是,亮度lightness、饱和度saturation、透明度alpha,在后面设置中遇见这些单词,基本上是相应的设置
}
"windowsTimerResolution"://程序计时器解析度,大概是程序使用内置的计时器时的设置
{
"enable":false,
"value":100
},
"overlayWindow"://整个界面的显示设置
{
"pos":[0,0],
"size":[1920,1080],
"zOrder(TopMost|OneLevelAboveGameWindow)":"TopMost",//窗口置顶模式
"bAutoShrink":false,//自动适应屏幕大小,似乎不起作用?
"bRendersWhenGameIsInBackground":false,//是否在游戏后台时渲染
"bRendersWhenInGameCursorVisible":true,//是否在游戏中鼠标可见时渲染
"delayBetweenFrames":0.1,//帧延迟,影响每秒数据采样次数和每秒渲染帧数
/* 帧延迟越高,采样频率和帧数越低,占用资源越小。但使用动态显示的界面(比如环境生物),若显血帧数远低于游戏帧数,移动视角时,动态显示位置与游戏内实际位置会因延迟而漂移 */
},
"uiBackGround"://整个界面的背景设置
{
"enable":false,//不启用则为鼠标穿透,此时无法通过快捷键拖动UI
"color":"#00000000",//数字前6位为16进制颜色,后2位为透明度参数
"colorOnMouseOver":"#00000020",//鼠标指向时的界面背景
"colorOnDrag":"#00000030",//拖动时的窗口背景
"border":[0,0]//边框
},
//颜色设置采用#00000000这样的方式,前6位为16进制颜色,后2位为透明度参数
"monsterUI"://怪物界面设置
{
"enable":true,
"scale":0.6,//缩放大小
"textFormats":{...}//文本格式设置,这里将直接调用在前面定义好的样式
"colors":{...}//颜色设置,颜色值的书写已在前面说过
"alphaPolynomials"://透明度设置
{
//部分界面(比如造成伤害的怪物)程序会定义为高亮,另外的部分则相反,这里可以设置两者间的显示差异
"nonHighlight":[0.7,0,0],//非高亮界面的透明度
"highlight":[1,0,0],//高亮界面的透明度
"changeRate":3//高亮与非高亮间切换动画的速度
},
"hueShiftPolynomials":{...}//色调设置,参考上面的透明度设置
"bDynamicPositioning":false,//是否动态显示在怪物头顶
"dynamicPositioning"://动态显示设置
{
"scalingPolynomials":{...}//动态界面缩放大小,参考上面的透明度设置
"heightPolynomials":{...}//动态界面相对于怪物的位置,参考上面的透明度设置
"renderDistanceSmallMonster":{...}//根据与小型怪物的距离区分高亮,参考上面的透明度设置
"renderDistanceLargeMonster":{...}//根据与大型怪物的距离区分高亮,参考上面的透明度设置
"offset":[0,0],//偏移
"bRenderSmallMonsters":false//是否渲染小型怪物
},
"staticPositioning"://静态显示设置
{
"pos":[650,0],//静态界面位置
"spacingPolynomials":{...}//怪物界面间的间隔,参考上面的透明度设置
"heightPolynomials":{...}//怪物界面的位置,参考上面的透明度设置
"scalingPolynomials":{...}//怪物界面的缩放大小,参考上面的透明度设置
"bSortByDistance":false,//是否按距离排序怪物
"speed":2000//排序切换动画速度
},
"spacing"://怪物界面内各部件的位置设置
{
"alignmentName":"right",//"怪物名称"的对齐方式
"alignmentAction":"left",
"name":[-110,4],//此处方框内的是相对坐标,为下个部件(即"action")与该部件("name")的相对坐标,以下类同
"action":[-130,25],
...
"layoutHp"://"HP"部件显示设置,方框内的相对坐标已在前面说明,不再赘述
{
"text":[10,0],//"文本"位置
"value":[350,0],//"数值"位置
"bar":[0,25],//"血条"位置
"alignmentText":"left",//"文本"对齐方式
"alignmentValue":"right"//"数值"对齐方式
},
"layoutRage":{...}//"愤怒"部件设置,参考"HP"部件显示设置
"layoutStamina":{...}//"耐力"部件设置,参考"HP"部件显示设置
"layoutPart":{...}//"部位"部件设置,参考"HP"部件显示设置,含有单词wound为软化相关的部件设置
"layoutStatus":{...}//"异常状态"部件设置,参考"HP"部件显示设置
},
"animation"://动画效果设置
{
"fadeDuration":0,//淡入淡出时间
"speed":200//动画速度
},
"highlight"://将哪些怪物设为高亮显示
{
"enable":true,
"focus"://设为焦点的怪物
{
"enable":true,
"precedence":5//优先级,数字越大,优先级越高
},
"lookAt":{...}//游戏视角正对的怪物,参考上面
"target":{...}//任务目标,参考上面
"lastDamaged":{...}//最后对其造成伤害的怪物,参考上面
"onlyMonster":{...}//地图上仅单个怪物,参考上面
},
//下面的配置会按照分类,进行一些顺序调整和省略
"precisionHp":0,//HP数值小数位数
"precisionHpPercent":0,//HP百分比数值小数位数
...
//含有单词precision的为精度设置,参考上面
//Rage为怪物怒气,Stamina为怪物耐力,Parts为怪物部位,AbnormalStatuses为怪物异常状态
"bRenderAction":false,//是否渲染怪物"动作"
"bRenderSize":false,//是否渲染怪物"大小"
"bRenderCrown":true,//是否渲染怪物"金银冠"
...
"bRenderNonHighlightedMonstersWhenHighlightedMonsterExists":true,//是否在高亮怪物存在时,渲染非高亮怪物
"bRenderNonHighlightedMonstersWhenHighlightedMonsterNotExists":true,//是否在高亮怪物不存在时,渲染非高亮怪物
"bRenderDeadMonsters":false,//是否渲染已死亡怪物,?
"bRenderInactiveMonsters":false,//是否渲染未出现的怪物,?
...
"bRenderAbnormalStatusesLevel":true,//是否渲染异常状态已触发次数
"bRenderAbnormalStatusesBar":true,//是否渲染"异常状态条"
"bRenderInactiveAbnormalStatuses":false,//是否渲染未进行过积蓄的异常状态
"bPlaceActiveStatusesAtTop":true,//是否将活动的异常状态置顶
...
"bRenderWoundTimer":true,//是否渲染"软化时间"
"bRenderWoundTimerBar":false,//是否渲染"软化时间条"
"bPlaceWoundedPartsAtTop":true,//是否将软化的部位置顶
//含有bRender为是否渲染相应部件,参考上面,一些单词含义前面已说明
"statusSorting(TimeSinceLastBuildupIncrementAscending|TimeSinceLastBuildupIncrementDecending|Index|None)":"TimeSinceLastBuildupIncrementAscending",
//"异常状态"排序方式:按最后产生积蓄值升序排序,按最后产生积蓄值降序排序,按设定值(需后面自定义设置)排序,无
"partSorting(TimeSinceLastDamagedAscending|TimeSinceLastDamagedDecending|Index|None)":"TimeSinceLastDamagedAscending",
//"部位"排序方式:按最后造成伤害升序排序,按最后造成伤害降序排序,按设定值(需后面自定义设置)排序,无
"bRenderUndamagedParts":false,//是否渲染未对其造成过伤害的部位
"bRenderBothBuildupAndDurationOnEveryEntry":true,//是否同时显示"积蓄值"和"持续时间"
"bRenderHealthOnNonHighlightedSmallMonster":false,//是否渲染非高亮小型怪物血量
...
"bRenderHealthOnNonHighlightedLargeMonster":true,//是否渲染非高亮大型怪物血量
...
"healthVisibleDuration":Infinity,//"HP"部件自动隐藏时间,Infinity为不隐藏
"rageVisibleDuration":Infinity,//"愤怒"部件自动隐藏时间
"staminaVisibleDuration":Infinity,//"耐力"部件自动隐藏时间
"partVisibleDuration":Infinity,//"部位"部件自动隐藏时间
"statusVisibleDuration":Infinity,//"异常状态"部件自动隐藏时间
"barsHp"://"HP血条"样式设置
{
"length":350,//"血条"长度
"shape":[[0,0],[0,10],[1,10],[1,5],[1,0]],//血条形状,从左至右分别为左上、左下、右下、右中、右上点坐标,X轴一般取值区间0-1
"offsetBackground":[0,0],//背景偏移
"backgroundLightnessMultiplier":0.5,//背景亮度
"backgroundSaturationMultiplier":1,//背景饱和度
"backgroundAlphaMultiplier":0.5,//背景透明度
"direction":"right"//血条正值方向
},
"barsRage":{...}//"怒气条"样式设置,参考"HP血条"样式设置,此处血条形状为4格点,从左至右分别为左上、左下、右下、右上点
"barsStamina":{...}//"耐力条"设置,参考"HP血条"样式设置
"barsParts":{...}//"部位条"设置,参考"HP血条"样式设置
"barsWound":{...}//"软化条"设置,参考"HP血条"样式设置
"barsStatus":{...}//"异常状态条"设置,参考"HP血条"样式设置
"flashEffectCapturable"://可捕获时血条闪动动画
{
"amplitude":0.08,//振幅
"frequency":3,//频率
"offset":0//偏移
},
"flashEffectRaging":{...}//愤怒时怒气条闪动动画,参考上面
"flashEffectFatigue":{...}//疲劳时,耐力条闪动动画,参考上面
"flashEffectPartWounded":{...}//软化时,部位条闪动动画,参考上面
"flashEffectStatusActive":{...}//异常状态时,异常条闪动动画,参考上面
"textHp":"HP",//一些显示文本
"textRage":"愤怒值",
...
},
//怪物界面设置到此结束,新涉及的缩放scale、位置pos、色调hueShift、高亮highlight、动画animation等含义请自行参考
"endemicLifeUI"://环境生物界面设置,很多设置说明将省略,因为前面已描述过
{
"enable":true,
"scale":0.6,
"textFormats":{...}
"bRenderInactiveEndemicLife":false,//是否渲染未出现的环境生物,?
"bRenderSize":false,//是否渲染"大小"
"bRenderCrown":true,//是否渲染"金银冠"
"bRenderEndemicLifeNotRareOrCrowned":false,
//是否渲染非珍稀、非金冠的环境生物
//将此项设为false则只显示金冠环境生物,因为所有环境生物默认都不是珍稀,需在后面自定义设置
"animation":{...}//动画效果,参考怪物界面"animation"设置
"highlight":{...}//高亮设置,参考怪物界面"highlight"设置
"scalingPolynomials":{...}//界面缩放设置,参考怪物界面相应设置
"alphaPolynomials":{...}//透明度设置,参考怪物界面相应设置
"heightPolynomials":{...}//动态界面相对于环境生物的位置,参考怪物界面的动态界面设置
"hueShiftPolynomials":{...}//色调设置,参考怪物界面相应设置
"renderDistance":{...}//根据与环境生物的距离区分高亮,参考怪物界面相应设置
"colorName":"#AAFFBBE5",{...}//一些颜色和文本设置
...
},
"teamUI"://团队伤害界面设置,很多设置说明将省略,因为前面已描述过
{
"enable":true,
"pos":[420,850],//团队伤害界面位置
"scale":0.7,
"textFormats":{...}
"spacingPlayer":[0,30],//多个玩家条目间隔
"offsetRanks":[0,0],//"玩家等级"位置
"offsetName":[60,0],//"玩家名称"位置
"offsetDmg":[220,0],//"伤害值"位置
"offsetBar":[0,25],//"伤害条"位置
"alignmentRanks":"left",//"玩家等级"对齐方式
"alignmentName":"left",//"玩家名称"对齐方式
"alignmentDmg":"left",//"伤害值"对齐方式
"precisionDmgPercent":2,//"伤害百分比"小数位数
"precisionDps":2,//"DPS"小数位数,?
"bRenderHunterRank":false,//是否渲染"玩家等级"
"bRenderMasterRank":true,//是否渲染"玩家大师等级"
"bRenderDmg":true,//是否渲染"伤害值"
"bRenderDmgPercent":true,//是否渲染"伤害百分比"
"bRenderDmgPercentBar":false,//是否渲染"伤害百分比条"
"bRenderTeamWhenTotalDmgIs0":false,//是否在团队伤害为0时渲染
"bar":{...}//血条样式设置,参考怪物界面"HP血条"样式设置
"colors":{...}//颜色设置
"animation":{...}//动画效果,参考怪物界面"animation"设置
},
"trainingDummyUI"://木桩伤害统计界面设置,很多设置说明将省略,因为前面已描述过
{
"enable":false,
"pos":[890,1050],
"textFormats":{...}
"spacingTextEntries":[100,0],//各项统计文本的间隔
"scale":0.8,
"precisionDps":2,//dps小数点位数
"bEnableOutsideTrainingArea":true,//是否在非训练场区域启用
"resetTime":60,//木桩伤害统计重置时间设置
"colorDmg":"#FFFFFFE5",//总伤害数字颜色
"colorDps":"#FFFFFFE5"
},
"damageGraphUI"://DPS统计曲线界面,很多设置说明将省略,因为前面已描述过
{
"enable":false,
"pos":[950,1050],
"scale":0.6,
"textFormats":{...}
"height":-250,//高度
"width":-800,//宽度
"visibleDuration":200,//自动隐藏时间
"animation":{...}//动画效果,参考怪物界面"animation"设置
"textOffset":[0,0],//文本位置,?
"minTextSpacing":20,//文本最小间隔,?
"precisionDps":1,
"sources"://对不同来源的伤害进行区分设置
{
"trainingDummy"://对木桩的伤害
{
"enable":true,
"color":"#A3F4AEE5",//颜色
"strokeWidth":3//线条粗细
},
"player":{...}//玩家造成的伤害,参考上面
"teamate0":{...}//队友0造成的伤害,参考上面
"teamate1":{...}//队友1造成的伤害,参考上面
"teamate2":{...}//队友2造成的伤害,参考上面
},
"bHidesTrainingDummyGraphWhenPlayerDamageIsActive":true,//是否在玩家伤害活动时隐藏木桩伤害统计,?
"dpsMeasurement":{...}//dps采样输出参数,不太懂
"axisHorizontal":{...}//水平轴设置,shape为形状设置,有点奇怪没研究
"axisVertical":{...}//垂直轴设置,shape为形状设置,有点奇怪没研究
},
"debugUI":{...}//测试界面设置,一般不使用,设置说明前面也已描述过
"timeUI"://时间界面设置,很多设置说明将省略,因为前面已描述过
{
"enable":false,
"pos":[100,30],
"scale":0.7,
"textFormats":{...}
"bDilationCorrection":true,//采样膨胀系数,用于解决时间不正确的问题,不太懂
"colorHours":"#FFFFFFE5",//"小时"颜色
"colorColonMinutes":"#FFFFFFE5",//分钟前"冒号"颜色
"colorMinutes":"#00FF00E5",//"分钟"颜色
"colorColonSeconds":"#00FF00E5",//秒钟前"冒号"颜色
"colorSeconds":"#00DDDDE5",//"秒钟"颜色
"colorColonMilliseconds":"#00DDDDE5",//毫秒前"冒号"颜色
"colorMilliseconds":"#BBBBFFE5",//"毫秒"颜色
"bEnableAtNonCombatArea":false,//是否在非战斗区域启用
"animation":{...}//动画效果,参考怪物界面"animation"设置
"dilationMeasurement":{...}//膨胀系数设置,不太懂啊
},
"keyBinds":{...}//快捷键设置,自己看着调了
"buffUI"://玩家buff时间界面设置,很多设置说明将省略,因为前面已描述过
{
"enable":true,
"pos":[1630,200],
"scale":0.6,
"textFormats":{...}
"spacing":[0,30],//多个buff条目间隔
"nameOffset":[0,0],//"buff名称"位置
"timerOffset"://"时间数值"位置
{
"enable":true,
"offset":[180,0]//X,Y偏移值
},
"barOffset":[0,26],//"时间条"位置
"animation":{...}//动画设置,参考怪物界面"animation"设置
"alignmentName":"left",//"buff名称"对齐方式
"alignmentTimer":"left",//"时间数值"对齐方式
"dilationMeasurement":{...}//膨胀系数设置,不太懂啊
"bRenderDilationFactor":false,//是否使用膨胀系数,用于解决buff持续时间不正确的问题
"bRenderBars":false,//是否渲染"时间条"
"precisionTimer":1,//"时间数值"小数位数
"precisionTimeDilation":2,//"时间膨胀系数"小数位数
"sortPrecedenceDuration":2,//按剩余时间排序(默认降序)优先级
"sortPrecedenceTimeActivated":1,//按激活顺序排序(默认降序)优先级
"bSortByDurationAscending":true,//是否按剩余时间升序排序
"bSortByTimeActivatedAscending":false,//是否按激活顺序升序排序
"bHideAtNonCombatArea":true,//是否在非战斗区域隐藏
"bDynamicBarFractionScaling":false,//"时间条"是否动态比例缩放
"bar":{...}//"时间条"设置,参考怪物界面"HP血条"样式设置
},
//下面几项内容不再展开说明,大多数已在前面说明过
"buffs":{...}
"monsters":{...}
"endemics":{...}
"abnormalStatuses":{...}
"colorRandomizer":{...}
"cheat"://自动输出到聊天窗口的信息设置
{
"enable":true,
"layeredArmor":{...}//设置外观ID,通过快捷键更改角色外观,需切换地图,不太好用
"message"://输出的信息设置
{
"monsterInfo"://怪物信息
{
"bSendMonsterHp":true,//是否输出怪物HP值
...//类比同上,单词含义大多数前面已说明,参考怪物界面设置
},
"teamInfo"://团队伤害信息
{
"bExcludeSelf":false,//是否将自己排除
"format":["@Name"," 造成了 ","@Damage"," (","@Damage%",") 伤害"]//输出格式设置
}
}
} HelloWorld作者更新版本会经常变动或添加一些设置项的名称,这或许是他的习惯吧,不过对于使用和维护者来说,可能就是一场灾难了。
我仅是留下些笔记,仅供参考。
——————————End——————————