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>
脚本命令
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>
金币命令
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 暗之触龙神 龙在天下 2019-08-26 00:00:01
通过活动获得(部分参数自动获取):
GiveEx 裁决之杖 2 3 土城酷跑活动 %s %s
通过活动获得(指定所有参数):
GiveEx 裁决之杖 2 3 土城酷跑活动 吃吃 2019-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%以上