: 17)

如何给玩家发放物品

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

声明:本站所有文章,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们(hljlife@vip.qq.com)进行处理。

本站所有资源来源于网络,本站未参与任何dump或hack活动。若有侵犯您的权益请提供相关证明致邮hljlife@vip.qq.com,我将及时撤下该资源。

All resources come from the network, this site does not participate in any dump or hack activities, if there is any violation of your rights, please provide relevant proof and email hljlife@vip.qq.com, I will promptly delete it.

如果下载资源文件后缀为.PDF,请删除后缀.PDF之后运行。

部分失效链接可通过文末填写有效邮箱到Email输入框留言索取。

免责声明:游戏资源均来自网络收集购买,不保证BUG,不保证病毒,不解答游戏问题(传奇服务端提供付费架设服务),为了安全,请尽量选择虚拟机运行服务端。