立即注册 找回密码

搜索
免费列表
精彩热图

77m2脚本编写注意项 77M2如何完美的运行变量说明

  [复制链接]
发表于 15 小时前 | 显示全部楼层 |阅读模式
[QFunctionNpc]

1.不可对OnBagItemEvent函数传入的物品Item执行穿戴、丢弃或删除等操作,该事件的目的只是为了表示背包数量物品变化

2.事件PlayerDropItem、PlayerThrowItem中如果对物品执行穿戴、丢弃或删除等操作,则必须设置Accept为False

3.不可对不属于人物的物品执行穿戴操作,如事件MonDropItem、DropItemByMonName中的物品

4.事件OnTakeOffItem中永远无法也不可以对正在取下的物品执行穿戴到另外一个位置的操作



[变量使用]

unit Q56;

inte**ce
  uses Classes, SysUtils;

procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);

var
  HumCount: Integer;
  //这里表示的是全局变量,如果做个人变量使用则需要谨慎,逻辑不清可能会导致数据错乱

implementation

var
  HumCountA: Integer;
  //这里表示单元内的全局变量,针对本单元此变量是唯一的,不属于个人变量,同样如果做个
  //人变量使用则需要谨慎,逻辑不清可能会导致数据错乱

procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
var
  HumCountB: Integer; //这里的变量是函数局部变量,个人数据处理时不影响其他玩家,可任意赋值
begin
  //如果需要使用个人变量,则应该考虑如下方式

  //1.常规变量
  Player.S[11] := '字符串'; //临时变量,退出游戏清空
  Player.P[11] := 110; //临时变量,退出游戏清空
  Player.N[11] := 110; //永久变量,将保存到数据

  //2.自定义变量
  Player.VarBoolean('是否领取奖励').AsBoolean := True; //定义一个布尔型变量,并且赋值
  Player.VarBoolean('是否领取奖励').Save; //存储该变量,如果不存储,则玩家离线后此变量消失  
  //同样的还有: Player.VarString,Player.VarInteger,Player.VarFloat,Player.VarDateTime
end;

end.




上一篇:188m2引擎扩展装备地图等补丁说明 188M2补丁读取优先级顺序
下一篇:77m2如何查看M2Server所在机器的机器码
回复

使用道具 举报

发表于 15 小时前 | 显示全部楼层
very good
回复 支持 反对

使用道具 举报

发表于 15 小时前 | 显示全部楼层
很不错的版本
回复 支持 反对

使用道具 举报

发表于 15 小时前 | 显示全部楼层
我是个凑数的。。。
回复 支持 反对

使用道具 举报

发表于 12 小时前 | 显示全部楼层
小白一个 顶一下
回复 支持 反对

使用道具 举报

发表于 12 小时前 | 显示全部楼层
我只是路过,不发表意见
回复 支持 反对

使用道具 举报

发表于 11 小时前 | 显示全部楼层
我了个去,顶了
回复 支持 反对

使用道具 举报

发表于 11 小时前 | 显示全部楼层
前排支持下
回复 支持 反对

使用道具 举报

发表于 10 小时前 | 显示全部楼层
没人回帖。。。我来个吧
回复 支持 反对

使用道具 举报

发表于 10 小时前 | 显示全部楼层
元芳你怎么看?
回复 支持 反对

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【gm0000论坛,传奇版本库】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|传奇开区一条龙|私服服务端|传奇单机架设教程|GM0000论坛 ( 鄂ICP备2021011479号-7 )|网站地图

GMT+8, 2025-7-26 22:38 , Processed in 0.337671 second(s), 55 queries .

Powered by GM四零版本库 X3.5 © 2001-2025 GM0000.com

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