逍遥MIR 发表于 2024-7-17 22:47:41

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

如何删除玩家的物品

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; //取出一个背包物品
    if AItem <> nil then //如果物品存在
      Npc.TakeItem(Player, AItem); //收走物品      
end;   

//方法2:通过玩家自身DeleteItem函数处理
for I := 0 to Player.MaxBagSize - 1 do //循环背包
begin
    AItem := Player.BagItem; //取出一个背包物品
    if AItem <> nil then //如果物品存在
      Player.DeleteItem(AItem, 1); //收走物品,指定数量数量为1,如果是可叠加物品则是数量减1,反之则是收走物品
end;
//玩家自身并没支持Take函数,因为Take实际上也是循环背包,开发中可以自己扩展函数处理
end;
页: [1]
查看完整版本: 77M2引擎的传奇SF版本如何删除玩家的物品脚本分享