您当前的位置:首页 > 其他技术 > 开区杂谈

91M2引擎的传奇版本如何实现骰子,77M2骰子脚本相关说明

本文出处:网游动力作者:本站发布时间:2019-06-21阅读次数:
如何实现骰子
1.在QFunctionNpc增加骰子事件函数定义:

procedure OnDiceEvent(Npc: TNormNpc; Player: TPlayObject; ATag, APoint1, APoint2, APoint3: Integer);
2.发送骰子消息:

procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
begin
Player.PlayDice(100{骰子标志}, 4{骰子点数1}, 1{骰子点数2}, 6{骰子点数3});  
//骰子标志: 任意设置,用来区分骰子类型而已
//骰子点数1: 当前点数1,取值范围1-6。这个点数实际上是服务器设置好的,客户端只是播放下而已
//骰子点数2: 当前点数2,取值范围0-6
//骰子点数3: 当前点数3,取值范围0-6
//当点数3和点数2也在1-6时表示投掷3个点数,当点数2为1-6时而点数3不在1-6时表示投掷两个点数
//如果点数2和3都不在1-6时表示只投一个点数
end;

3.当客户端骰子播放完成后触发骰子事件,在QFunctionNpc的OnDiceEvent中进行处理:

procedure OnDiceEvent(Npc: TNormNpc; Player: TPlayObject; ATag, APoint1, APoint2, APoint3: Integer);
begin
   Player.Messagebox(Format('骰子标志%d, 点数1:%d, 点数2:%d, 点数3:%d', [ATag, APoint1, APoint2, APoint3]));
end;

注:骰子的点数为服务端设置后发送给客户端的,客户端只执行播放动作,所以可以通过一些控制来设置骰子的实际点数