字号:

教你从零开始一步步做官方宏

时间:2010-03-16 09:33 作者:风雨潇潇梦无痕 手机订阅 参与评论(0) 【投稿】
文 章
摘 要
开贴说明:本贴只做到抛砖引玉,希望大家能多多能够做到举一反三,学会的东西,才是自己,过分的依赖别人只会产生对自己的惰性。本人已经重新编辑和改写了很多东西,希望大家重新学习。最后说明:宏只是减少你的快捷键,并不能做到按一下,出3个或者更多的技能,那样的效果就不是宏,是外挂。如果本贴

第七步:爆发宏实例

气纯终级大爆发宏:似乎韬光和两仪没公**,下面这个宏是瞬间爆发

5格两仪+韬光+两仪

/script N = GetClientPlayer();

/script A,B,C=N.GetSkillCDProgress(301,1);

/script A1,B1,C1=N.GetSkillCDProgress(313,1);

/script if (C==0 and N.nAccumulateValue==10) thenOnUseSkill(301,N.GetSkillLevel(301)) end;

/script if (C1==0) thenOnUseSkill(313,N.GetSkillLevel(313)) end;

/script if (C==0 and N.nAccumulateValue==10) thenOnUseSkill(301,N.GetSkillLevel(301)) end;

解说:

nAccumulateValue聚齐的个数 纯阳最大数是10对应5格气,和尚的未知,O(∩_∩)O谢谢

没有聚齐的职业,可以把 N.nAccumulateValue==10 删掉

其他的没什么号解说,看看上面2个例子就明了。

大家可以躲扩展下,剑纯的爆发,7x瞬间爆发,万花的双水月。都可以把这个宏稍微修改一下就OK。

第八步:万花自动春泥毫针宏:

/script N = GetClientPlayer()

/script t=GetTargetHandle(N.GetTarget())

/script if t==nil then SelectPlayer() end

/script function checkbuff(id)

for _, D in pairs(t.GetBuffList() or {}) do if D.dwID==id then

returntrue else return flase end end end

/script function sk(ss) OnUseSkill(ss,N.GetSkillLevel(ss)) end

/script A,B,C=N.GetSkillCDProgress(141,N.GetSkillLevel(141));

/script if C==0 then sk(141) end

/script if not checkbuff(1674) and not checkbuff(684)then sk(132) end

解说:

涓埃 万花春泥产生的debuffid:1674 春泥技能ID 132

附送:梦:1727 梦是释放给玩家天地低昂产生的负面 效果

毫针 141 buff 126

/script if t==nil then SelectPlayer() end

如果没有目标,则选择自己

/script T=GetTargetHandle(N.GetTarget());

是获得你的目标和 /script N = GetClientPlayer();意思差不多

如果玩家有涓埃的debuff则释放毫针,如果玩家身上没有涓埃没有天地低昂则释放 春泥

如果是七秀怎么改写这个宏呢??????

很简单 看下面

把下面这个宏里面的SS 改为春泥buff的ID X改为你风袖的技能ID即可。

/script N = GetClientPlayer();

/script T=GetTargetHandle(N.GetTarget());

/script function checkbuff(id)

for _, D in pairs(t.GetBuffList() or {}) do if D.dwID==id then

returntrue else return flase end end end

/script if (not checkbuff(1727) ) and (not checkbuff(SS) ) then OnUseSkill(X,N.GetSkillLevel(X)) end

自动无敌 附加喊话。

/script N = GetClientPlayer();

/script for i=1,3 do GetClientPlayer().Talk(PLAYER_TALK_CHANNEL.RAID, "", {{type = "text", text = "马上释放无敌,迅速向我靠拢…… 马上释放无敌,迅速向我靠拢…… "}}) end;

/script SelectPlayer();

/script a1,a2,a3=N.GetSkillCDProgress(371,1);

/script if a3<1 then OnUseSkill(371,1)elseOnUseSkill(167,1)end;

第二行附加了向团队喊话,瞬间喊话3次OnUseSkill(167,1)利用冲脉重置震山河…………

判断距离例子

/script N = GetClientPlayer()

/script t=GetTargetHandle(N.GetTarget())

/script function GetDistanceByTarget(target1, target2)

if not target1 or not target2 then return false end

if target1.nMapID ~= target2.nMapID then return false end

nX1= target1.nX

nX2 = target2.nX

nY1 = target1.nY

nY2 = target2.nY

strdis=(((nX1 - nX2) ^ 2 + (nY1 - nY2) ^ 2) ^ 0.5)/64

return strdis

end

/script m=GetDistanceByTarget(t,N)

/script OutputMessage("MSG_SYS",m)

最后的m就是距离 距离以黄色字输出在聊天栏里面,是带有很多位小数的

加入17173玩家俱乐部,100%领《原神》月卡、《王者荣耀》888点券、《魔兽世界》T恤等周边好礼!
加入方式:微信关注“17173服务号”

最近更新

全球新闻