您当前的位置:首页 > 传奇技术

77M2引擎的传奇SF版本如何删除玩家的物品脚本分享

本文出处:网游动力作者:本站发布时间:2019-04-10阅读次数:
如何删除玩家的物品

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;