如何删除玩家的物品
unit Q2;
inte**ce
uses Classes, SysUtils;
procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
implementation
procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
var
I: Integer;
AItem: TUserItem;
begin
//方法1:通过NPC拿走玩家的物品
Npc.Take(Player, ‘乌木剑’, 1); //拿走一把乌木剑
for I := 0 to Player.MaxBagSize – 1 do //循环背包
begin
AItem := Player.BagItem[I]; //取出一个背包物品
if AItem <> nil then //如果物品存在
Npc.TakeItem(Player, AItem); //收走物品
end;
//方法2:通过玩家自身DeleteItem函数处理
for I := 0 to Player.MaxBagSize – 1 do //循环背包
begin
AItem := Player.BagItem[I]; //取出一个背包物品
if AItem <> nil then //如果物品存在
Player.DeleteItem(AItem, 1); //收走物品,指定数量数量为1,如果是可叠加物品则是数量减1,反之则是收走物品
end;
//玩家自身并没支持Take函数,因为Take实际上也是循环背包,开发中可以自己扩展函数处理
end;
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。