77M2|91M2引擎脚本编写注意项

[复制链接]
查看133 | 回复0 | 2017-3-26 09:39:00 | 显示全部楼层 |阅读模式

[必读] 脚本编写注意项
[QFunctionNpc]

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

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

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

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



[变量使用]

unit Q56;

interface
  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.

传奇帮致力于服务每一位传奇爱好者,互帮互助,共同交流学习,打造传奇交流担保交易互帮平台!
回复

使用道具 举报

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

本版积分规则