传奇gom脚本新增命令:ChangeMonAbility与RecalcMonAbility详解

来源: 作者: 点击:

在传奇gom脚本中,开发者新增了两个命令:ChangeMonAbility和RecalcMonAbility,这两个命令允许管理员或脚本编写者修改地图内怪物的属性,并刷新这些属性以即时生效。

ChangeMonAbility命令
该命令用于修改地图内怪物属性,支持在原属性的基础上进行加减操作。

命令格式:

ChangeMonAbility 地图名(self:当前所在地图) 怪物名(*:所有怪物) 参数类型 操作符(+/-/=) 参数值 值类型(0:点;1:百分比) 坐标X 坐标Y 范围
Copy
功能说明: 修改指定地图内指定怪物的属性,支持指定坐标和范围。

参数说明:

参数类型:0-HP、1-MaxHP、2-MP、3-MaxMP、4-AC1、5-AC2、6-MAC1、7-MAC2、8-DC1、9-DC2、10-MC1、11-MC2、12-SC1、13-SC2、14-攻击速度、15-移动间隔、30-属性有效时间(分钟)。
特别提醒: 避免一次对过多怪物进行操作,以免造成引擎CPU负担过大,导致游戏卡顿。

RecalcMonAbility命令
该命令用于刷新地图内怪物的属性。

命令格式:

RecalcMonAbility 地图名(self:当前所在地图) 怪物名(*:所有怪物) X坐标 Y坐标 范围
Copy
功能说明: 刷新指定地图内指定怪物的属性,使其修改后的属性立即生效。

示范脚本
以下是一个使用ChangeMonAbility和RecalcMonAbility命令的示例脚本:

[@Test]
#IF
#ACT
; 减白野猪50%的MaxHP
ChangeMonAbility 3 白野猪 1 = -50 1 325 323 10
; 减白野猪10点的防御下限
ChangeMonAbility 3 白野猪 4 = -10 0 325 323 10
; 减白野猪10点的防御上限
ChangeMonAbility 3 白野猪 5 = -10 0 325 323 10
; 加白野猪50点的攻击下限
ChangeMonAbility 3 白野猪 8 = 50 0 325 323 10
; 加白野猪50点的攻击上限
ChangeMonAbility 3 白野猪 9 = 50 0 325 323 10
; 设置有效时间
ChangeMonAbility 3 白野猪 30 + 2
; 重算怪物属性
RecalcMonAbility 3 白野猪 325 323 10
sendmsg 6 土城坐标325 345范围10内的白野猪属性已经刷新,有效时间2分钟!

[@Test1]
#IF
#ACT
; 减白野猪50%的MaxHP
ChangeMonAbility 3 白野猪 1 = -50 1 325 323 10
; 减白野猪10点的防御下限
ChangeMonAbility 3 白野猪 4 = -10 0 325 323 10
; 减白野猪10点的防御上限
ChangeMonAbility 3 白野猪 5 = -10 0 325 323 10
; 加白野猪50点的攻击下限
ChangeMonAbility 3 白野猪 8 = 50 0 325 323 10
; 加白野猪50点的攻击上限
ChangeMonAbility 3 白野猪 9 = 50 0 325 323 10
; 重算怪物属性
RecalcMonAbility 3 白野猪 325 323 10
sendmsg 6 土城坐标325 345范围10内的白野猪属性已经刷新!

break 

新增脚本命令修改地图内怪物属性 ChangeMonAbility,刷新地图内怪物属性 RecalcMonAbility 修改地图内怪物属性 (在原属性的基本上进行加减操作)刷新地图内怪物属性 格式: RecalcMonAbility

修改地图内怪物属性 (在原属性的基本上进行加减操作)

格式:格式: ChangeMonAbility 地图名(self:当前所在地图) 怪物名(*:所有怪物) 参数类型 操作符(+/-/=) 参数值 值类型(0:点;1:百分比) 坐标X 坐标Y 范围 (当坐标及范围均为空的时候,表示所有范围)

功能说明: 刷新地图内怪物属性

格式: RecalcMonAbility 地图名(self:当前所在地图) 怪物名(*:所有怪物) X坐标 Y坐标 范围 (当坐标及范围均为空的时候,表示所有范围)

设置修改后怪物属性有效时间

ChangeMonAbility 地图名(self:当前所在地图) 怪物名(*:所有怪物) 参数类型 操作符(+/= ) 参数值(分钟,空或0表示不检测时间)

参数1表示值:

0: HP; 1: MaxHP; 2:MP; 3:MaxMP; 4:AC1; 5:AC2; 6:MAC1; 7:MAC2; 8:DC1; 9:DC2; 10:MC1; 11:MC2; 12:SC1; 13:SC2 14:攻击速度 15:移动间隔 30:属性有效时间(分钟,空或0表示不检测时间)

*****************; 特别提醒 : 尽量不要一次对太多的怪进行操作,重算属性会占用引擎cpu 负担过大可能导致引擎卡顿*******************

示范脚本:

[@Test]

#IF

#ACT

;减白野猪50%的MaxHP

ChangeMonAbility 3 白野猪 1 = -50 1 325 323 10

;减白野猪10点的防御下限

ChangeMonAbility 3 白野猪 4 = -10 0 325 323 10

;减白野猪10点的防御上限

ChangeMonAbility 3 白野猪 5 = -10 0 325 323 10

;加白野猪50点的攻击下限

ChangeMonAbility 3 白野猪 8 = 50 0 325 323 10

;加白野猪50点的攻击上限

ChangeMonAbility 3 白野猪 9 = 50 0 325 323 10

;设置有效时间

ChangeMonAbility 3 白野猪 30 + 2

;重算怪物属性

RecalcMonAbility 3 白野猪 325 323 10

sendmsg 6 土城坐标325 345范围10内的白野猪属性已经刷新 有效时间2分钟!

break

[@Test1]

#IF

#ACT

;减白野猪50%的MaxHP

ChangeMonAbility 3 白野猪 1 = -50 1 325 323 10

;减白野猪10点的防御下限

ChangeMonAbility 3 白野猪 4 = -10 0 325 323 10

;减白野猪10点的防御上限

ChangeMonAbility 3 白野猪 5 = -10 0 325 323 10

;加白野猪50点的攻击下限

ChangeMonAbility 3 白野猪 8 = 50 0 325 323 10

;加白野猪50点的攻击上限

ChangeMonAbility 3 白野猪 9 = 50 0 325 323 10

;重算怪物属性

RecalcMonAbility 3 白野猪 325 323 10

sendmsg 6 土城坐标325 345范围10内的白野猪属性已经刷新!

break