当前位置: > 新闻动态 > 文章内容


实现自定义的客户端命令集客户端输入命令后,将触发ManagerNPC中的ProcessCommand函数,ProcessCommand龙卷风极品论坛函数定义为:procedure ProcessCommand(Npc: TNormNpc; Player: TPlayObject; const Command: String; Args: TArgs; var Handled: Boolean);NPC指向ManagerNPC对象,Player为当前输入命令的玩家,Command为命令名,Args为参数,Handled表示是否处理以千里传音功能为例:procedure ProcessCommand(Npc: TNormNpc; Player: TPlayObject; const Command: String; Args: TArgs; var Handled: Boolean);begin if Command = 千里传音 then 新开传奇私服发布网站//如果玩家输入的是 @千里传音 这个字符串 b极光世界外挂egin if (Player.Charmnil) and SameText(Player.Charm.Name, 千里传音) then //如果玩家的宝石位装备有物品并且这个物品的名字叫千里传音 begin Gamelib.BroadcastSay(Message, 0, 0); //世界喊话 //减掉物品1次使用次数 Player.Charm.Dura := Player.Charm.Dura - 1000; //将宝石位物品的持久减1000点(客户端显示持久减少1点) Player.UpdateItem(Player.Charm); //发送消息到客户端,让客户端实时的更新宝石位物品 end; Handled := True; //表示此次操作完成,M2引擎将不继续处理此命令,如果不设置为True,M2可能会继续处理该命令 end; if Player.ISAdmin then begin //如果玩家是管理员身份,则处理这里实现的命令部分 endend;注:因ManagerNPC、QFunctionNPC及MapEventNPC等系统特殊NPC处理的内容较多,因此如果一个函数里面处理的内容过多,则考虑将相关内容写到一个新的单元中。如示范版中将客户端命令集处理放到一个客户端命令集脚本中

相关文章