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

[复制链接]
发表于 2019-9-30 00:27:10 | 显示全部楼层 |阅读模式
如何给玩家发放物品

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




上一篇:GOM引擎服务端时光机脚本,传奇一条龙开区时设置时光机穿梭教程
下一篇:GOM引擎传奇装备提真脚本,传奇一条龙开区时增加属性的教程
爱上论坛,GM基地,传奇基地,传奇SF,传奇素材网,传奇脚本网,传奇一条龙,服务器租用,版本定制!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|传奇GM论坛 ( 湘ICP备16009886号-2 )|网站地图

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.

禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.如遇版权问题,请及时QQ联系(2364142471)

今天是: | 本站已经安全运行: //这个地方可以改颜色

9pk | 9ss | 99j | 88a | haosf | zhaosf | laomir | qusf | 2hq | 6xq

热血传奇 | 英雄合击 | 贪玩蓝月 | 手机版传奇 | 网页版传奇 | 单职业传奇 | 传奇服务端 | 传奇广告代理 | 传奇广告价格表

传奇引擎 | 传奇版本 | 传奇脚本 | 传奇工具 | 传奇加速器 | 传奇登陆器 | 传奇教程 | 传奇论坛 | 传奇广告发布 | 传奇版本下载站

复古传奇 | 金币传奇 | 打金传奇 | 轻变传奇 | 微变传奇 | 中变传奇 | 超变传奇 | 变态传奇 | 合击传奇 | 连击传奇 | 迷失传奇 | 单职业传奇 | 开区模板

51LA统计
快速回复 返回顶部 返回列表