|
脚本开始
D:mirserverMir200EnvirMarket_defQFunction-0.txt里添加
[@MagTagFuncEx27]
#IF
InSafeZone
#elseact
MOV S0
GetOppositeHumName S0
MOV S1
MOV S2
MOV S3
goto @启动野蛮强化
[@MagSelfFunc27]
#IF
InSafeZone
#elseact
MOV S0
GetOppositeHumName S0
MOV S1
MOV S2
MOV S3
goto @启动野蛮强化
[@MagTagFunc27]
#IF
InSafeZone
#elseact
MOV S0
GetOppositeHumName S0
MOV S1
MOV S2
MOV S3
goto @启动野蛮强化
[@启动野蛮强化]
#IF
CHECKSKILL 野蛮强化 = 3
#ACT
MOV P0
DelayCall 1 @坐标再次dingwei
break
[@坐标再次dingwei]
#ACT
MOV S4
MOV S5
MOV S6
goto @使用野蛮强化
[@使用野蛮强化] 织梦好,好织梦
#IF
EQUAL S4
EQUAL S5
EQUAL S6
#ACT
break
#IF
EQUAL
#ACT
break
#if
CHECKPOSEDIR
CHECKPOSELEVEL <
#ACT
SendMsg 5 对方被野蛮强化增加了附加伤害状态!
HCall @野蛮强化伤害
D:mirserverMir200EnvirMapQuest_defQManage.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 @坐标再次dingwei
整个脚本最主要的部分就是这个延时脚本的微妙!
使用1秒是很合理的了,以前失败了N次总结的!
PS:野蛮,如果对方被撞动的情况下是很大几率上会于这个玩家保持面对面状态的!
启发:以前听说某人PK的时候一个野蛮过去,然后使用“交易”来影响他人动作!
然后在这一秒后检测是否人物还在原地,这样做是为了避免出现BUG所以专门申明的!
也就是说这一步上限制了,只有将对方撞动了 才能对对方进行状态伤害
以前测试这个技能的时候,BUG的产生:
如果面前没有人,而你前面一到两步内有人的话,正好在一秒的时候面对面那个人就....
但是现在基本上这个脚本已经没太大的BUG了,呵呵有兴趣的仔细品位下微妙的感觉!
补充:
MOV S0
GetOppositeHumName S0
首先MOV S0为字符变量不是数字变量!保险起见使用了MOV S0即清空S0变量 dedecms.com
然后调用GetOppositeHumName S0命令,将使用野蛮时候前方人物名称记录在S0字符变量里
然后使用S1、S2、S3变量分别记录使用野蛮的时候这个人所处的地图码,X、Y坐标
MOV S1
MOV S2
MOV S3
这两个脚本的意义在于弥补可能出现的BUG用!
而后面的
MOV S4
MOV S5
MOV S6
则是记录人物1秒后的地图和坐标!
再使用#IF
EQUAL S4
EQUAL S5
EQUAL S6
来检测这个人物任用技能的后是否移动了!如果移动了两个记录坐标将不同!也就预防了未将人撞动就执行脚本的问题!
这样以前我测试的几个BUG就基本解决了。
这也就是为什么脚本会频繁使用变量而且写了那么长的原因
脚本结束 |
上一篇:传奇银行脚本下一篇:学习一机多开区的请进
|