跳转到内容

在创建脚本之前

此规则可能在 4.0 版本失效!目前为 3.6 版本 API

感谢您选择 GameValueDetector 创建您的郊狼游戏脚本。它将给您带来简单迅速且强大的脚本编辑体验!

如果您是小白也不必担心,对于创建 GameValueDetector 脚本,您只需要会使用 CE 查找内存基址及 JSON 编写即可,通常您只需要 15-30 分钟即可出师!

脚本采用 JSON 文件描述,主要包含三个层级:

  • GameMonitorConfig:整个监控脚本的配置入口
  • MonitorItem:每个需要监控的内存项
  • ScenarioPunishment:每个监控项下的触发情景与惩罚动作

参数详解

1. GameMonitorConfig(监控脚本配置)

参数名类型说明示例值
Descriptionstring脚本介绍:启动成功后输出介绍"监控血量变化"
ProcessNamestring目标进程名称:如游戏进程名"Game"
Is32Bitbool是否为32位程序true
MonitorsMonitorItem[]监控项列表:每个元素为一个监控项
json
{
	"Description": "这里是你的脚本的介绍",
	"ProcessName": "这里是游戏进程的名称",
    "Is32Bit": 通常忽略此项,除非你要适配的程序或您的设备为 32
	"Monitors": 
	[
	    {
			这里是第一项监控内容
			如何编辑这里?请参考 MonitorItem
	    },
	    {
			这里是第二项监控内容
			也就是说:你有多少需要监控的就可以向下创建多少个
	    }
	]
}

2. MonitorItem(监控项)

参数名类型说明示例值
Modulestring监控的 DLL 名称"Game.dll"
BaseAddressstring基地址"0x12345678"
Offsetsstring[]偏移列表["0", "10", "20"]
Typestring监控项类型:如 Int32, Float, String"Float"
StartConditionstring开始检测的的条件通常留空
ScenariosScenarioPunishment[]惩罚情景列表:每个元素为一项情景
DataDataValue数据类,可以存放初始数据通常留空
json
"Monitors": 
[
	{
		"Module": "监控的 DLL 名称",
		"BaseAddress": "基地址",
		"Offsets": ["偏移1", "偏移2", "偏移3"], 
		"Type": "所监控项的类型",
		"StartCondition": "启动惩罚的条件"
		"Scenarios": 
		[
			{
				这里是第一项惩罚数据
				如何编辑这里?请参考 ScenarioPunishment
			},
			{
				这里是第二项监控内容
				也就是说:你有多少需要监控的就可以向下创建多少个
			},
		]
		"Data":
		{
			"LastValue": 上次值
			"InitialValue":当前值
			"MaxValue":最大值
			"InitialMaxValue":初始值/参考值
		}
    },
]

3. ScenarioPunishment(情景惩罚配置)

参数名类型说明示例值
Scenariostring触发条件类型(如 Changed, Increased, GreaterThan 等)"GreaterThan"
CompareValuefloat比较参数,部分情景需要(如大于某值、正则匹配等)100
Actionstring惩罚动作(如 SetStrengthSet, Fire 等)"SetStrengthSet"
ActionModestring惩罚模式(如 default, percent, diff 等)"percent"
ActionValuefloat惩罚模式的参数值50.0
Timeint惩罚持续时间(如开火时长,单位毫秒)3000
Overridesbool是否覆盖参数(如开火时是否强制覆盖)false
AccumulatedValuefloat累计处罚值,可作为首次处罚的额外值填写1
json
"Scenarios": 
[
	{
          "Scenario": "这里是触发的条件",
          "CompareValue": "为 触发的条件 传参使用,参考 Scenario 常用值",
          "Action": "当触发时所降下的惩罚,参考 Action 常用值",
          "ActionMode": "如何计算惩罚参数,参考 ActionMode 常用值",
          "ActionValue":  计算惩罚参数传参,参考 ActionMode 常用值,
          "Time": 惩罚持续时间,通常用于 开火惩罚,一般留空,
          "Overrides": 是否覆盖参数,通常用于 开火惩罚,一般留空
          "AccumulatedValue":通常无视,留空
	},
]

常用场景与参数选择

1. Scenario(情景类型)常用值

类型说明CompareValue 示例
Changed值发生变化时触发无需填写,默认为 0
Increased值增加X时处罚无需填写,默认为 0
Decreased值减少X时触发无需填写,默认为 0
EqualTo值等于某个数时触发100
GreaterThan值大于某个数时触发100
LessThan值小于某个数时触发50
NotEqualTo值不等于某个值时触发123
PercentLessThan值小于最大百分比时0.96
PercentGreaterThan值大于最大百分比时0.69
注意:
  • 如果 Scenario 类型不需要 CompareValue,可省略或填 null。
  • 如果 Scenario 类型需要 CompareValue,必须填写对应值。

2. Action(惩罚动作)常用值

类型说明
SetStrengthSet设置强度值
SetStrengthAdd增加强度值
SetStrengthSub减少强度值
SetRandomStrengthSet设置随机强度值
SetRandomStrengthAdd增加随机强度值
SetRandomStrengthSub减少随机强度值
Fire执行开火动作

3. ActionMode(惩罚模式)常用值

类型说明ActionValue 填写示例
Default返回基值 乘 目标值倍率:建议 0.1 - 1 (可超出)
Fixed返回 目标值
Diff返回 内存值 与 上次值 的差值 乘 目标值倍率:建议 0.1 - 1 (可超出)
MemoryValue返回 内存值 乘 目标值
Percent当前内存的值 与 最大值 的 正百分比倍率:建议 1 (可超出)
Reverse_Percent当前内存的值 与 最大值 的 反百分比倍率:建议 1 (可超出)
ChangePercent当前内存的值 与 上次值 的 变化正百分比倍率:建议 1 (可超出)
Reverse_ChangePercent当前内存的值 与 上次值 的 变化反百分比倍率:建议 1 (可超出)
注意:
  • 填写 ActionValue 是倍数时:通常你只需要输入 0.1-1 的范围 (可超出) ,建议根据实际情况配置。
  • Percent 的附加说明:假设你使用它检测血条,它会自动保存值的最大值。惩罚将根据用户所设置的值进行计算:血量越多则惩罚越强。公式:用户设置的值 ⨉ 百分比 ⨉ 倍率 = 输出
  • ChangePercent 的附加说明:他与 Percent 类似,但它所计算的是 [( 上次的值 - 当前值 )/ 最大值 ] 得到变化的百分比。公式:用户设置的值 ⨉ 百分比 ⨉ 倍率 = 输出

4.StartCondition(开始检测的的条件)常用值

类型说明
Always
MaxValueUpdated最大值变化时运行
MaxValueUnchanged最大值不变时运行
MaxValueLessThanReference最大值小于参考值时运行
MaxValueGreaterThanReference最大值大于参考值时运行
CurrentValueGreaterThanReference当前值大于参考值时运行
CurrentValueLessThanReference当前值小于参考值时运行
ValueNotZero任何值不为空时运行:可用来确保被初始化

DG-Lab Game Controller