``` unit QFunctionNpc; interface uses Classes, SysUtils; //人物扔物品触发(针对监视物品):Player:玩家,Item: 物品,Accept:是否允许扔出 procedure PlayerThrowItem(Npc: TNormNpc; Player: TPlayObject; Item: TUserItem; const MapX, MapY: Integer; var Accept: Boolean); implementation procedure PlayerThrowItem(Npc: TNormNpc; Player: TPlayObject; Item: TUserItem; const MapX, MapY: Integer; var Accept: Boolean); begin if Item.Name = '乌木剑' then //如果正准备扔出的物品的数据库名称是"xxxx" begin Player.DeleteItem(Item); //直接删除该物品 Accept := False; //Accept返回False,因为物品已不存在,不需要扔到地面上 end else if (Item.DisplayName = '最牛逼的铁剑') and (Player.CheckCanTakeOnItem(Item, wWeapon)) then //如果物品的显示名称为"最牛逼的铁剑"并且当前玩家可以将其穿戴到武器位置 begin Player.TakeOnItem(Item, wWeapon); //穿戴到武器位置 Accept := False; //因为穿戴了,所以不需要扔出来,返回为False end else if Player.InSafeZone then //如果玩家处于安全区 begin Player.DeleteItem(Item); //直接删除该物品 Accept := False; //Accept返回False,因为物品已不存在,不需要扔到地面上 end; end; end. ```