Previous topicNext topic
 Gameofmir Help
Help > 游戏引擎功能系统 > 功能操作命令 >
调整死亡不掉装备的次数
调整死亡不掉装备的次数

用于设置、检测、获取角色“死亡不掉装备”的剩余次数。身上装备和背包物品分别独立计数,可选择次数减少时机;当防爆在装备即将爆出时生效,可触发 [@NotDropItemTrigger<N>] 脚本。


设置死亡不掉装备的次数

调整死亡不掉装备的次数  NotDropItemCount
语法:NotDropItemCount 参数1 参数2 参数3 参数4 参数5
参数1:= 运算符,+ 增加 / - 减少 / = 设置
参数2:= 次数,整数;使用“=”时可设置为 0 清零
参数3:= 作用范围,0 全部不掉(身上+背包) 1 不掉背包物品 2 不掉身上物品  2024年9月25日扩展
参数4:= 本次调整人物下线是否保存,0 不保存 / 1 保存  本次修复:保存后登录会恢复剩余次数
参数5:= 减少时机,0 人物死亡一次减少一次(默认旧行为) / 1 装备或物品确认爆出前才减少一次  本次扩展

参数5=0:进入死亡爆出流程时立即扣除 1 次,并阻止本次对应范围的爆出。即使本次没有实际爆出物品,也会消耗次数。
参数5=1:进入死亡流程时不立即扣次,等某件装备或背包物品确认命中爆出时才扣 1 次并阻止该件爆出;如果本次没有任何物品命中爆出条件,则不消耗次数。身上装备、首饰盒物品被拦截时可触发 [@NotDropItemTrigger<N>]。

示例:
; 增加身上装备防爆 5 次,下线保存,按“爆出前减少”模式
NotDropItemCount + 5 2 1 1

; 设置背包物品防爆为 10 次,按默认“死亡一次减一次”模式
NotDropItemCount = 10 1 1 0

; 全部增加 3 次,下线不保存,使用默认模式
NotDropItemCount + 3 0 0 0


配套检测死亡不掉装备的次数

检测死亡不掉装备的次数  CheckNotDropItemCount
语法:CheckNotDropItemCount 参数1 参数2 参数3
参数1:= 比较运算符,< / > / =
参数2:= 比较次数,整数
参数3:= 计数器,0 全部次数(身上+背包合计) 1 不掉背包物品次数 2 不掉身上物品次数  2024年9月25日扩展


配套获取死亡不掉装备的次数

获取死亡不掉装备的次数  GetNotDropItemCount
语法:GetNotDropItemCount 参数1 参数2
参数1:= 计数器,0 全部次数(身上+背包合计) 1 背包次数 2 身上次数  2024年10月05日扩展
参数2:= 返回变量,例如 <$STR(M0)>

示例:
GetNotDropItemCount 2 <$STR(M0)>
SendMsg 0 你的“身上不掉装备”剩余次数:<$STR(M0)>


防爆拦截脚本

当 NotDropItemCount 参数5=1 后,身上装备或首饰盒物品在死亡时即将爆出但被防爆次数拦截,引擎会触发对应槽位脚本标签 [@NotDropItemTrigger<N>]。脚本用于提示、记录、播放音效或扣除其它资源;触发时本次爆出已经被引擎阻止。

触发标签:
身上装备槽 0~28:[@NotDropItemTrigger0] ~ [@NotDropItemTrigger28],对应衣服到时装宝石共 29 件
首饰盒1 槽位 0~11:[@NotDropItemTrigger30] ~ [@NotDropItemTrigger41],对应十二生肖盒、神佑盒(基础+30)
首饰盒2 槽位 0~5:[@NotDropItemTrigger42] ~ [@NotDropItemTrigger47],对应首饰盒(基础+42)
自定义装备槽位 1~50:[@NotDropItemTrigger71] ~ [@NotDropItemTrigger120],预留给自定义装备掉落流程使用

说明:[@NotDropItemTrigger<N>] 与原有装备投保触发 [@DropUseItems<N>] 名字不同、用途不同,互不干扰。
[@DropUseItems<N>]:装备投保 InsuranceCount 生效时触发。
[@NotDropItemTrigger<N>]:NotDropItemCount 参数5=1 防爆次数拦截爆出时触发。

脚本内可用当前物品变量:
<$CURRTEMNAME> 当前物品名称
<$G_CURRTEMNAME> 当前物品改名名称
<$CURRTEMSTDMODE> 当前物品 StdMode
<$CURRTEMSHAPE> 当前物品 Shape
<$CURRTEMANICOUNT> 当前物品 AniCount
<$CURRTEMLOOKS> 当前物品 Looks
<$CURRTEMDURA> 当前物品当前持久值
<$CURRTEMDURAMAX> 当前物品最大持久值
<$CURRTEMINDEX> 当前物品 DB Idx
<$CURRTEMCOLOR> 当前物品 Color
<$CURRTEMMAKEINDEX> 当前物品 MakeIndex 序列号

示例脚本:
[@NotDropItemTrigger0]
#ACT
SendMsg 0 你的[<$CURRTEMNAME>]触发了防爆
GetNotDropItemCount 2 <$STR(M0)>
SendMsg 0 剩余身上不掉装备次数:<$STR(M0)>
play sound\protect.wav

[@NotDropItemTrigger30]
#ACT
SendMsg 0 首饰[<$CURRTEMNAME>]MakeIndex=<$CURRTEMMAKEINDEX> 已被保护