周嘉惠 发表于 4 天前

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

如何实现骰子
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', ));
end;

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

剑刃魅影 发表于 4 天前

围观 围观 沙发在哪里!!!

最强浪剑专属 发表于 4 天前

大人,此事必有蹊跷!

82834568 发表于 4 天前

确实不错,顶先,感谢站长

青龙合击 发表于 4 天前

楼主呀,,,您太有才了。。。

新山海经 发表于 4 天前

站长辛苦了,来给你送棒棒糖了

盘古火龙 发表于 4 天前

我也来顶一下..

马户又鸟迷失 发表于 4 天前

元芳你怎么看?

傅大哥 发表于 4 天前

占坑编辑ing

龙牌沉默 发表于 4 天前

我也来顶一下..
页: [1] 2 3 4
查看完整版本: 91M2引擎的传奇版本如何实现骰子,77M2骰子脚本相关说明