找回密码
 立即注册
查看: 49|回复: 0

[技术资源] 77M2引擎的传奇SF版本如何删除玩家的物品脚本分享

[复制链接]

0

威望

8500

元宝

1万

金币

VIP会员

积分
12647
逍遥MIR 发表于 2024-7-17 22:47:41 | 显示全部楼层 |阅读模式
如何删除玩家的物品

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;
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|逍遥版本库

GMT+8, 2024-9-17 04:12 , Processed in 0.038603 second(s), 28 queries .

Powered by XyBbk! X3.5

Copyright © 2001-2023, XyBbk Cloud.

快速回复 返回顶部 返回列表