如何删除玩家的物品
unitQ2;
inte**ce
usesClassesSysUtils;
procedureMain(Npc:TNormNpc;Player:TPlayObject;Args:TArgs);
implementation
procedureMain(Npc:TNormNpc;Player:TPlayObject;Args:TArgs);
var
I:Integer;
AItem:TUserItem;
begin
//方法1:通过NPC拿走玩家的物品
Npc.Take(Player'乌木剑'1);//拿走一把乌木剑
forI:=0toPlayer.MaxBagSize-1do//循环背包
begin
AItem:=Player.BagItem[I];//取出一个背包物品
ifAItem<>nilthen//如果物品存在
Npc.TakeItem(PlayerAItem);//收走物品
end;
//方法2:通过玩家自身DeleteItem函数处理
forI:=0toPlayer.MaxBagSize-1do//循环背包
begin
AItem:=Player.BagItem[I];//取出一个背包物品
ifAItem<>nilthen//如果物品存在
Player.DeleteItem(AItem1);//收走物品指定数量数量为1如果是可叠加物品则是数量减1反之则是收走物品
end;
//玩家自身并没支持Take函数因为Take实际上也是循环背包开发中可以自己扩展函数处理
end;
unitQ2;
inte**ce
usesClassesSysUtils;
procedureMain(Npc:TNormNpc;Player:TPlayObject;Args:TArgs);
implementation
procedureMain(Npc:TNormNpc;Player:TPlayObject;Args:TArgs);
var
I:Integer;
AItem:TUserItem;
begin
//方法1:通过NPC拿走玩家的物品
Npc.Take(Player'乌木剑'1);//拿走一把乌木剑
forI:=0toPlayer.MaxBagSize-1do//循环背包
begin
AItem:=Player.BagItem[I];//取出一个背包物品
ifAItem<>nilthen//如果物品存在
Npc.TakeItem(PlayerAItem);//收走物品
end;
//方法2:通过玩家自身DeleteItem函数处理
forI:=0toPlayer.MaxBagSize-1do//循环背包
begin
AItem:=Player.BagItem[I];//取出一个背包物品
ifAItem<>nilthen//如果物品存在
Player.DeleteItem(AItem1);//收走物品指定数量数量为1如果是可叠加物品则是数量减1反之则是收走物品
end;
//玩家自身并没支持Take函数因为Take实际上也是循环背包开发中可以自己扩展函数处理
end;

