77M2引擎如何给玩家发放物品,91M2传奇私服给玩家发送指定物品的方法

7M2引擎如何给玩家发放物品,91M2传奇私服给玩家发送指定物品的方法"

20190816092527.png (927.08 KB, 下载次数: 0)

下载附件

2019-8-17 09:28 上传

如何给玩家发放物品

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  

  AItem: TUserItem;

begin

  //方式1:NPC给玩家发放

  Npc.Give(Player, '乌木剑'{物品名称}, 1{数量}, True{是否随机升级属性,只对可穿戴物品有效});  //普通的发放方式

  AItem := Npc.GiveItem(Player, '乌木剑'{物品名称}, True{是否随机升级属性,只对可穿戴物品有效});//发放物品后可修改发放的物品,一次只能发放一个

  if AItem <> nil then //如果物品存在(发放成功)

  begin

    AItem.AddDC := AItem.AddDC + 10; //修改物理攻击

    AItem.AddSC := AItem.AddSC + 10; //修改道术

    Player.UpdateItem(AItem); //客户端更新物品信息,针对一个物品属性修改完成后再调用此函数

  end;  

  AItem := Npc.GiveItemByIndex(Player, 30{物品在数据库中的序号,示范版本中30是乌木剑}, True);  //根据物品的序号发放物品比如在取下镶嵌物品的时候,只知道镶嵌物品的ID  

  if AItem <> nil then //如果物品存在(发放成功)

  begin

    //这里的操作和前面一样,可以针对物品做任何的修改

  end;

  //方式2:Player对象自己发放,和NPC发放的函数不同点在于少了一个参数,不依赖于NPC

  Player.Give('乌木剑'{物品名称}, 1{数量}, True{是否随机升级属性,只对可穿戴物品有效});

  AItem := Player.GiveItem('乌木剑'{物品名称}, True{是否随机升级属性,只对可穿戴物品有效});

  if AItem <> nil then //如果物品存在(发放成功)

  begin

    //可针对物品做任何的修改

  end;

  AItem := Player.GiveItemByIndex(30{物品在数据库中的序号,示范版本中30是乌木剑}, True);

  if AItem <> nil then //如果物品存在(发放成功)

  begin

    //可针对物品做任何的修改

  end;

end;

end.

物品发放的时候可以针对发放的物品做出属性调整,可调整属性参考TUserItem

文章归发布者所有。发布者:爱到深处,转载请注明出处:https://www.anyitu.com

如该内容侵犯您的权利,请及时联系我们

微信公众号