🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
``` { QFunctionNpc新增PlayerAction函数,可以用来脚本封挂。Accept值为True 则执行动作,反之则不执行。默认为True。 其中Action值代表不同的动作: 1 攻击 2 魔法 3 骑马跑动 4 跑动 5 走路 6 转向 7 挖肉 } procedure PlayerAction(Npc: TNormNpc; Player: TPlayObject; Action :Byte; var Accept: Boolean); const AttackInterval=500; //测试攻击魔法间隔毫秒 ActionInterval=1000; //测试骑马 跑步 走路 转向 挖肉动作间隔 请自行按需修改和改进 var Dec:integer; begin case action of 1:player.sendmessage('攻击动作触发'); 2:player.sendmessage('魔法动作触发'); 3:player.sendmessage('骑马跑动作触发'); 4:player.sendmessage('跑步动作触发'); 5:player.sendmessage('走路动作触发'); 6:player.sendmessage('转向动作触发'); 7:player.sendmessage('挖肉动作触发'); end; case action of 1,2: begin if player.P[2] = 0 then player.P[2] := gettickcount else begin Dec := gettickcount - player.P[2]; if Dec >= AttackInterval then player.sendmessage('攻击动作在正常区间..间隔值为'+Dec.tostring,1) else begin player.sendmessage('攻击超速..间隔值为'+Dec.tostring+',正常间隔值必须大于'+AttackInterval.tostring,1); //记录容错值和封号逻辑 待写 //... end; player.P[2] := gettickcount; end; end; 3,4,5,6,7: begin if player.P[1] = 0 then player.P[1] := gettickcount else begin Dec := gettickcount - player.P[1]; if Dec >= ActionInterval then player.sendmessage('走跑转身挖肉动作在正常区间..间隔值为'+Dec.tostring,1) else begin player.sendmessage('走跑转身挖肉动作超速..间隔值为'+Dec.tostring+',正常间隔值必须大于'+ActionInterval.tostring,1); //记录容错值和封号逻辑 待写 //... end; player.P[1] := gettickcount; end; end; end; end; ```