登录
×
  • 首页
  • 传奇论坛
  • 传奇版本库
  • 传奇服务端
  • 传奇三端手游
  • 传奇素材网
  • 传奇客户端
  • 引擎登录器
  • 下载排行
  • 获取邀请码
  • 搜索
    传奇素材网
    126091

    [其它端游引擎] 77M2引擎的传奇SF版本如何删除玩家的物品脚本分享

     火... [复制链接]

    [其它端游引擎] 77M2引擎的传奇SF版本如何删除玩家的物品脚本分享

     火... [复制链接]
    趣游论坛

    1万

    主题

    28

    回帖

    11万

    积分

    管理员

    积分
    112330

    灌水之王活跃会员突出贡献优秀版主荣誉管理论坛元老

    趣游论坛 2019-4-9 11:23:41 / 显示全部楼层 /阅读模式
    126091
    20190408104414.png

    如何删除玩家的物品

    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;

    回复

    使用道具 举报

    a1987415

    0

    主题

    19

    回帖

    52

    积分

    注册用户

    积分
    52
    a1987415 前天 06:16 / 显示全部楼层
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫一扫加群沟通交流

    首页 论坛 !mobpost! 最新 我的