本文将为您介绍如何使用和配置传奇Gom原版去后门插件(X-Gompj插件)中的新命令,包括 SETITEMCREATEINFO、ThrowItemEx、PickUpItems、[@AutoPickUpItem]、GiveEx 等命令的使用方法和注意事项。
SETITEMCREATEINFO 命令
SETITEMCREATEINFO 命令用于在 ThrowItemEx 命令之前设置 ThrowItemEx 的物品来源,具体使用方法如下:
SETITEMCREATEINFO 参数1 参数2 参数3 参数4 参数5 参数6
参数说明:
参数1:要设置的物品 ID
参数2:物品来源类型(1-8)
参数3:地图文件名
参数4:怪物名/来源名
参数5:角色名称(省略或使用%s时获取当前人物名)
参数6:来源日期(省略或使用%s时获取当前日期和时间,使用%s不需要参数7)
参数7:来源时间
示例:SETITEMCREATEINFO 4 <白野猪
USERNAME> <
MONTH>-<
HOUR>:<
SECOND>
ThrowItemEx 命令
ThrowItemEx 命令用于在地面上放物品,使用方法和官方 ThrowItem 命令一样,具体使用方法如下:
ThrowItemEx 参数1 参数2 参数3 参数4 参数5 参数6
参数说明:
参数1:地图文件名
参数2:X 坐标
参数3:Y 坐标
参数4:物品 ID
参数5:物品数量
参数6:物品参数(例如:1|1 0 1)
示例:ThrowItemEx <
X> <$Y> 1 回城卷 1|1 0 1
PickUpItems 命令
PickUpItems 命令用于自动捡取物品,在引擎-去后门插件配置-自动捡取里设置允许捡取的物品才可以捡取。
使用方法:PICKUPITEMS 参数1 参数2 参数3
参数说明:
参数1:X 坐标
参数2:Y 坐标
参数3:捡取范围大小
示例:PICKUPITEMS <
KILLMONY> 3
[@AutoPickUpItem] 命令
[@AutoPickUpItem] 命令用于在捡取到物品时触发 QF 脚本,可以使用[@AutoPickUpItem]字段来获取捡取到的物品名称和坐标。
使用方法:[@AutoPickUpItem] 参数1 参数2 参数3
参数说明:
参数1:SENDMSG 6 提示信息
参数2:<$PICKUPITEMNAME> 捡取到的物品名称
参数3:<、
PICKUPITEMY> 捡取到的物品的坐标
示例:[@AutoPickUpItem] #ACT SENDMSG 6 <自动捡取物品,在坐标
PICKUPITEMX>:<捡到了一个
PICKUPITEMNAME>
金币命令 GiveEx
GiveEx 命令用于 NPC 直接给物品到背包脚本,带指定物品来源,具体使用方法如下:
GiveEx 参数1 参数2 参数3 参数4 参数5 参数6 参数7
参数说明:
参数1:装备名称
参数2:来源类型(1-8)
参数3:地图文件名
参数4:怪物名/来源名
参数5:角色名称(省略或使用%s时获取当前人物名)
参数6:来源日期(省略或使用%s时获取当前日期和时间,使用%s不需要参数7)
参数7:来源时间
示例:GiveEx 裁决之杖 4 3 暗之触龙神 %s %s
分割指定字符串内容到储存到变量中
EXTRACTSTRING 命令用于分割指定字符串内容到储存到变量中,具体使用方法如下:
EXTRACTSTRING 参数1 参数2 参数3 参数4 参数5 参数6 参数7 参数8 参数9 参数10
参数说明:
参数1:字符串分割符
参数2:要被分割的完整字符串
参数3:用于接收分割后的一号个字符串,如S1
参数4:用于接收分割后的二号个字符串,如S2
参数5:用于接收分割后的三号个字符串,如S3
参数6:用于接收分割后的四号个字符串,如S4
参数7:用于接收分割后的五号个字符串,如S5
参数8:用于接收分割后的六号个字符串,如S6
参数9:用于接收分割后的七号个字符串,如S7
参数10:用于接收分割后的八号个字符串,如S8
示例:
#act mov S0 战神盔甲(男):裁决之杖:绿色项链:黑铁头盔:骑士手镯:骑士手镯:力量戒指:力量戒指 EXTRACTSTRING : <分割结果
STR(S1)> <
STR(S3)> <
STR(S5)> <
STR(S7)> <$STR(S8)>
检测自身血量百分比
CheckHpPer 命令用于检测自身血量百分比,格式:CheckHpPer 操作符(>/=/<) 百分比,示例:
#IF CheckHpPer > 30 #ACT #SAY 你的血量在总血量的30%以上
按大 HP 值的百分比来加减 HP
AddHpPer 命令用于按大 HP 值的百分比来加减 HP,格式:AddHpPer 操作符(+/-/=) 百分比,示例:
#IF
脚本命令
SETITEMCREATEINFO(在ThrowItemEx命令之前使用,设置ThrowItemEx的物品来源)
ThrowItemEx(在地面上放物品,用法和官方ThrowItem的命令一样)
PickUpItems自动捡取物品(引擎-去后门插件配置-自动捡取里设置允许捡取的物品才可以捡取)
自动捡取到物品时触发QF脚本的[@AutoPickUpItem]
自动捡取物品的名称和坐标常量<$PICKUPITEMNAME>、<$PICKUPITEMX>、<$PICKUPITEMY>
[@ThrowItemEx]
#ACT
SETITEMCREATEINFO 4 <$MAP> 白野猪 <$USERNAME> <$YEAR>-<$MONTH>-<$DAY> <$HOUR>:<$MINUTE>:<$SECOND>
ThrowItemEx <$MAP> <$X> <$Y> 1 回城卷 1|1 0 1
[@KillMon]
#ACT
;PICKUPITEMS X Y 范围
PICKUPITEMS <$KILLMONX> <$KILLMONY> 3
[@AutoPickUpItem]
#ACT
SENDMSG 6 <$USERNAME>自动捡取物品,在坐标[<$PICKUPITEMX>:<$PICKUPITEMY>]捡到了一个<$PICKUPITEMNAME>
;QF脚本杀怪触发字段里使用自动捡取命令 PICKUPITEMS
[@KillMon]
#ACT
;保存杀怪坐标
MOV N1 <$KILLMONX>
MOV N2 <$KILLMONY>
;延时3秒在捡取
DELAYGOTO 3000 @自动捡取
[@自动捡取]
#ACT
;自动捡取命令 X坐标 Y坐标 捡取范围大小,捡取到物品后 会触发QF脚本的[@AutoPickUpItem]字段
PICKUPITEMS N1 N2 6
;自动捡取物品的时候 触发QF脚本的[@AutoPickUpItem]
[@AutoPickUpItem]
#ACT
LINKPICKUPITEM
;自动捡取的物品可以进行关联,关联后就可以使用其他脚本命令对刚刚扔的物品进行检测,或操作
;修改该物品的名称颜色
CHANGEITEMNAMECOLOR -1 253
;修改物品星星数量
CHANGEITEMUPGRADECOUNT -1 + 1
;修改后的参数,刷新到客户端
SENDUPGRADEITEM
SENDMSG 6 <$USERNAME>自动捡取物品,在坐标[<$PICKUPITEMX>:<$PICKUPITEMY>]捡到了一个<$PICKUPITEMNAME>
金币命令
GiveEx(使用前检测包裹是否满,否则给不出来)
功能:
NPC直接给物品到背包脚本,带指定物品来源
命令:
GiveEx 参数1 参数2 参数3 参数4 参数5 参数6 参数7
参数详解:
参数1:装备名称
参数2:来源类型 (1-8 1GM制作 2NPC给与 3购买商铺 4怪物打出 5系统 6挖矿 7挖尸体 8宝箱)
参数3:地图文件名
参数4:怪物名/来源名
参数5:角色名称(省略或使用%s时获取当前人物名)
参数6:来源日期(省略或使用%s时获取当前日期和时间,使用%s不需要参数7)
参数7:来源时间
提示:参数1到参数7支持变量
例:
杀死怪物获得(部分参数自动获取):
GiveEx 裁决之杖 4 3 暗之触龙神 %s %s
杀死怪物获得(指定大部分参数):
GiveEx 裁决之杖 4 3 暗之触龙神 龙在天下 2024-08-26 00:00:01
通过活动获得(部分参数自动获取):
GiveEx 裁决之杖 2 3 土城酷跑活动 %s %s
通过活动获得(指定大部分参数):
GiveEx 裁决之杖 2 3 土城酷跑活动 吃吃 2024-08-26 00:00:01
通过脚本制造物品到地上,可配合杀怪触发控制精准爆率
这样的写法,来源会显示怪物打出
或变量操作:
mov s1 裁决之杖
mov s2 4
mov s3 3
mov s4 暗之触龙神
mov s5 %s
mov s6 %s
GiveEx <$str(s1)> <$str(s2)> <$str(s3)> <$str(s4)> <$str(s5)> <$str(s6)>
功能:
分割指定字符串内容到储存到变量中
命令:
EXTRACTSTRING 参数1 参数2 参数3 参数4 参数5 参数6 参数7 参数8 参数9 参数10
参数详解:
参数1:字符串分割符
参数2:要被分割的完整字符串
参数3:用于接收分割后的一号个字符串,如S1
参数4:用于接收分割后的一号个字符串,如S2
参数5:用于接收分割后的一号个字符串,如S3
参数6:用于接收分割后的一号个字符串,如S4
参数7:用于接收分割后的一号个字符串,如S5
参数8:用于接收分割后的一号个字符串,如S6
参数9:用于接收分割后的一号个字符串,如S7
参数10:用于接收分割后的一号个字符串,如S8
脚本例子:
#act
mov S0 战神盔甲(男):裁决之杖:绿色项链:黑铁头盔:骑士手镯:骑士手镯:力量戒指:力量戒指
EXTRACTSTRING : <$STR(S0)> s1 s2 s3 s4 s5 s6 s7 s8
sendmsg 6 分割结果:<$STR(S1)> <$STR(S2)> <$STR(S3)> <$STR(S4)> <$STR(S5)> <$STR(S6)> <$STR(S7)> <$STR(S8)>
执行结果:
<$STR(S1)> = 战神盔甲(男)
<$STR(S2)> = 裁决之杖
<$STR(S3)> = 绿色项链
<$STR(S4)> = 黑铁头盔
<$STR(S5)> = 骑士手镯
<$STR(S6)> = 骑士手镯
<$STR(S7)> = 力量戒指
<$STR(S8)> = 力量戒指
检测自身血量百分比
格式:CheckHpPer 操作符(>/=/<) 百分比
例子:
#IF
CheckHpPer > 30
#ACT
#SAY
你的血量在总血量的30%以上
按大HP值的百分比来加减HP 格式:AddHpPer 操作符(+/-/=) 百分比 例:
#IF
#ACT
AddhpPer + 30
GuildNoticeMsg 250 0 你的血增加了30% self
检测自身MP百分比
格式:CheckMpPer 操作符(>/=/<) 百分比
例子:
#IF
CheckMpPer > 30
#ACT
#SAY
你当前的MP在总mp量的30%以上
按大MP值的百分比来加减MP
格式:AddmpPer 操作符(+/-/=) 百分比 例:
#IF
#ACT
AddMpPer + 30
GuildNoticeMsg 250 0 你的MP增加了30% self
检测或给英雄增加命令同上,只需将命令前加h. 即可
例:
#IF
#ACT
h.AddMpPer + 30 1
GuildNoticeMsg 250 0 你的英雄MP增加了30% self #IF
h.CheckHpPer > 30 1
#ACT
#SAY
你的英雄血量在总血量的30%以上