🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
>[danger] 注:代码从QFunctionNpc事件中提取,为方便阅读,只列出相关事件函数 ``` unit QFunctionNpc; interface //脱装备触发,Accept是否允许脱下,默认为True procedure OnTakeOffItem(Npc: TNormNpc; Player: TPlayObject; UserItem: TUserItem; const ItemWhere: TItemWhere; var Accept: Boolean); //穿装备触发,Accept是否允许穿戴,默认为True procedure OnTakeOnItem(Npc: TNormNpc; Player: TPlayObject; UserItem: TUserItem; const ItemWhere: TItemWhere; var Accept: Boolean); implementation procedure OnTakeOffItem(Npc: TNormNpc; Player: TPlayObject; UserItem: TUserItem; const ItemWhere: TItemWhere; var Accept: Boolean); begin case UserItem.StdMode of 5,6: //如果当前取消的是武器 begin if Player.CheckCanTakeOffItem(wHelmet) then //如果头盔可被取消 Player.TakeOffItem(wHelmet); //将头盔取下 end; end; end; procedure OnTakeOnItem(Npc: TNormNpc; Player: TPlayObject; UserItem: TUserItem; const ItemWhere: TItemWhere; var Accept: Boolean); begin case UserItem.StdMode of 23: //如果类型是23 begin if (ItemWhere <> wRingR) then //如果当前穿戴位置不是右手戒指位置 begin if Player.CheckCanTakeOnItem(UserItem, wRingR) then //如果右手戒指位置可以把当前装备穿戴到上面 Player.TakeOnItem(UserItem, wRingR); //将当前装备穿戴到右手戒指位置 end; end; end; end; end. ```