奇迹Mu分析 - NPC相关操作
来源:互联网 发布:我国网络发展现状 编辑:程序博客网 时间:2024/06/11 21:07
下面的功能都是NPC相关的,一如既往的封包实现:
一、打开银行
procedure TGameFunMgr.OpenBank(Id:Word);type _Buffer = Packed record _C1:Byte; //C1 Len:Byte; cmd:byte; //30 funcid:word; //58cd end;var Buffer:_Buffer;begin Buffer._C1:=$C1; Buffer.Len:= 5; Buffer.cmd:=$30; Buffer.funcid:=Id; pNtGameSend(Buffer,Buffer.Len,1,0);end;
二、关闭银行
procedure TGameFunMgr.CloseBank(PassClose:BOOL = True);type _Buffer = Packed record _C1:Byte; //C1 Len:Byte; cmd:byte; //82 end;var Buffer:_Buffer;begin Buffer._C1:=$c1; Buffer.Len:=3; Buffer.cmd:=$82; MyClose:=PassClose; pNtGameSend(Buffer,Buffer.Len,0,0);end;
三、打开买卖NPC(关于远程买卖的说明,如果NPC被打开过,既可以远程买卖,即进入游戏后操作过1次买卖NPC就可以进行远程买卖)
procedure TGameFunMgr.OpenSellNpc;type _Buffer = Packed record _C1:Byte; //C1 Len:Byte; cmd:byte; //30 funcid:word; //50cd end;var Buffer:_Buffer;begin Buffer._C1:=$C1; Buffer.Len:= 5; Buffer.cmd:=$30; Buffer.funcid:=$50CD; pNtGameSend(Buffer,Buffer.Len,1,0);end;四、关闭买卖NPC
procedure TGameFunMgr.CloseSellNpc;type _Buffer = Packed record _C1:Byte; //C1 Len:Byte; cmd:byte; //82 end;var Buffer:_Buffer;begin Buffer._C1:=$c1; Buffer.Len:=3; Buffer.cmd:=$31; pNtGameSend(Buffer,Buffer.Len,0,0);end;
五、保存/取出物品
procedure TGameFunMgr.InOutItem(Flag: Integer);type _Buffer = Packed record _C1:Byte; //C1 Len:Byte; //19 cmd:Byte; //24 BagId:Byte; //背包ID NowPos:Byte; //当前位置 Range:Cardinal; // Empty:Byte; //0 ItemId:Word; //物品ID def2:Integer; //FFFFFFFE def3:Byte; //FF TarBagId:Byte; //目标背包ID TarPos:Byte; //目标位置 end;var Buffer:_Buffer;begin if Flag = 0 then begin CopyMemory(@Buffer,@c_save_item,SizeOf(_Buffer)); end else begin CopyMemory(@Buffer,@c_load_item,SizeOf(_Buffer)); end; MyEncode(@Buffer,SizeOf(_Buffer)); pItemMove(Buffer.BagId,Buffer.Len - 3); pNtGameSend(Buffer,Buffer.Len,1,0);end;六、接任务(任务支持远程交接,包括跨级交接任务)
procedure TGameFunMgr.GetTask(TaskId: Cardinal);type _Buffer = Packed record _C1:Byte; //C1 Len:Byte; cmd:byte; //F6 flag:Byte; //0B 接任务 TaskId:Cardinal; Def:Byte; //1 end;var Buffer:_Buffer;begin Buffer._C1 :=$C1; Buffer.cmd:= $F6; Buffer.flag:=$B; Buffer.TaskId:=TaskId;//$4CEF381B; Buffer.Def:=1; Buffer.Len := 9; MyEncode(@Buffer,SizeOf(_Buffer)); pGetTask(Buffer.flag,SizeOf(_Buffer) - 3); pNtGameSend(Buffer,Buffer.Len,0,0);end;
七、交任务
procedure TGameFunMgr.PostTask(TaskId: Cardinal);type _Buffer = Packed record _C1:Byte; //C1 Len:Byte; cmd:byte; //F6 flag:Byte; //0D 交 TaskId:Cardinal; end;var Buffer:_Buffer;begin Buffer._C1 :=$C1; Buffer.cmd:= $F6; Buffer.flag:=$D; Buffer.TaskId:=TaskId; Buffer.Len := 8; MyEncode(@Buffer,SizeOf(_Buffer)); pGetTask(Buffer.flag,SizeOf(_Buffer) - 3); pNtGameSend(Buffer,Buffer.Len,0,0);end;
0 0
- 奇迹Mu分析 - NPC相关操作
- 奇迹Mu分析 - 封包协议
- 奇迹Mu分析 - Bool地图
- 奇迹Mu分析 - 登陆实现
- 奇迹Mu分析 - 魔盒刷钱实现
- 奇迹Mu分析 - 各种主流BT功能实现
- 作品:《奇迹mu之远航》
- Mu 数据库分析!
- 奇迹MU 所有职业连击伤害计算公式
- 大天使之剑(奇迹MU页游版)体验记
- MU
- 分析奇迹暖暖的改变
- 奇迹
- 奇迹
- 奇迹
- 奇迹
- 奇迹
- “奇迹”
- html中关于li横向显示的css写法
- Struts1防止页面重复提交解决方案
- Spring整合Jms学习(四)_事务管理
- 在敏捷环境中用wiki高效地组织测试用例
- 栈(stack)C语言链表实现&&数组实现
- 奇迹Mu分析 - NPC相关操作
- 编写高性能JavaScript
- Ubuntu12.04下的nginx+php+mysql环境配置
- 程序员什么时候该考虑辞职
- android 调用系统命令实现关机
- c++简单的ATL COM开发和调用实例
- Oracle 静态监听注册详解
- 用核心-路径法设计页面
- iOS下微信语音播放之切换听筒和扬声器的方法解决方案