|
野蛮强化的技能实现方法 |
|
文章作者:传奇私服 |
文章来源:www.zhaokf.com |
更新时间:2008-6-3 0:05:32 |
|
|
|
|
|
脚本开始 D:\mirserver\Mir200\Envir\Market_def\QFunction-0.txt里添加 [@MagTagFuncEx27] #IF InSafeZone #elseact MOV S0 GetOppositeHumName S0 MOV S1 <$MAPCODE> MOV S2 <$SELFX> MOV S3 <$SELFY> goto @启动野蛮强化
[@MagSelfFunc27] #IF InSafeZone #elseact MOV S0 GetOppositeHumName S0 MOV S1 <$MAPCODE> MOV S2 <$SELFX> MOV S3 <$SELFY> goto @启动野蛮强化
[@MagTagFunc27] #IF InSafeZone #elseact MOV S0 GetOppositeHumName S0 MOV S1 <$MAPCODE> MOV S2 <$SELFX> MOV S3 <$SELFY> goto @启动野蛮强化
[@启动野蛮强化] #IF CHECKSKILL 野蛮强化 = 3 #ACT MOV P0 <$LEVEL> DelayCall 1 @坐标再次定位 break
[@坐标再次定位] #ACT MOV S4 <$MAPCODE> MOV S5 <$SELFX> MOV S6 <$SELFY> goto @使用野蛮强化
[@使用野蛮强化] #IF EQUAL S4 <$STR(S1)> EQUAL S5 <$STR(S2)> EQUAL S6 <$STR(S3)> #ACT break #IF EQUAL <$STR(S0)> #ACT break #if CHECKPOSEDIR CHECKPOSELEVEL < <$STR(P0)> #ACT SendMsg 5 对方被野蛮强化增加了附加伤害状态! HCall <$STR(S0)> @野蛮强化伤害
D:\mirserver\Mir200\Envir\MapQuest_def\QManage.txt里添加 [@野蛮强化伤害] #IF InSafeZone #elseact GMexecute TestStatus 5 1 SendMsg 5 您中了对方野蛮强化的附加状态! DelayCall 5 @野蛮强化恢复
[@野蛮强化恢复] #act GMexecute TestStatus 5 0 SendMsg 5 您从对方野蛮强化的附加状态恢复过来了!
为了安全起见请在登陆触发脚本能加入这个命令 GMexecute TestStatus 5 0
技能说明: 首先限制安全区内无法使用次技能, 然后使用GetOppositeHumName S0 将对面人物名字记录在S0变量中! 以及将目前人物地图和坐标记录在S1 S2 S3变量中,将自己的等级记录在P0变量中!
DelayCall 1 @坐标再次定位 整个脚本最主要的部分就是这个延时脚本的微妙! 使用1秒是很合理的了,以前失败了N次总结的! PS:野蛮,如果对方被撞动的情况下是很大几率上会于这个玩家保持面对面状态的! 启发:以前听说某人PK的时候一个野蛮过去,然后使用“交易”来影响他人动作!
然后在这一秒后检测是否人物还在原地,这样做是为了避免出现BUG所以专门申明的! 也就是说这一步上限制了,只有将对方撞动了 才能对对方进行状态伤害
以前测试这个技能的时候,BUG的产生: 如果面前没有人,而你前面一到两步内有人的话,正好在一秒的时候面对面那个人就....
但是现在基本上这个脚本已经没太大的BUG了,呵呵 有兴趣的仔细品位下微妙的感觉!
补充: MOV S0 GetOppositeHumName S0 首先MOV S0为字符变量不是数字变量!保险起见使用了MOV S0即清空S0变量 然后调用GetOppositeHumName S0命令,将使用野蛮时候前方人物名称记录在S0字符变量里
然后使用S1、S2、S3变量分别记录使用野蛮的时候这个人所处的地图码,X、Y坐标 MOV S1 <$MAPCODE> MOV S2 <$SELFX> MOV S3 <$SELFY> 这两个脚本的意义在于弥补可能出现的BUG用!
而后面的 MOV S4 <$MAPCODE> MOV S5 <$SELFX> MOV S6 <$SELFY> 则是记录人物1秒后的地图和坐标!
再使用#IF EQUAL S4 <$STR(S1)> EQUAL S5 <$STR(S2)> EQUAL S6 <$STR(S3)> 来检测这个人物任用技能的后是否移动了!如果移动了两个记录坐标将不同!也就预防了未将人撞动就执行脚本的问题!
这样以前我测试的几个BUG就基本解决了。 这也就是为什么脚本会频繁使用变量而且写了那么长的原因 脚本结束 |
|
|
|
浏览次数:220 |
|
|
|
|
|