乌龟魔兽 太好玩啦

 找回密码
 立即注册
查看: 2957|回复: 12

[插件分享] 超级科技盗贼FARM宏【增加了以前使用的个智能战士的视频】

  [复制链接]

2

主题

5

回帖

135

积分

THWL会员

Rank: 2

积分
135
角色名
itbug
种族
人类
职业
潜行者
发表于 2023-8-7 00:12:03 | 显示全部楼层 |阅读模式
本帖最后由 abc110 于 2023-8-9 05:33 编辑

最下面有视频可以看,下面是简单教程,供有能力的WOWER去改装,
我平时比较忙,不一定有时间回答得上,以及做特定的插件,或宏,这些由有能力的高手继续自由发挥了。

插件:

这个宏查找对应的技能代码,因为1.12的是按角色的技能书序号做编码,可能会因为学习了新的技能导致技能ID发生变化,请自行检测。
  1. /script local s,i,n="邪恶攻击",1;while 1 do n=GetSpellName(i,"spell");if n then if strfind(n,s) then ChatFrame1:AddMessage(i);break;end;i=i+1;else break;end;end;
复制代码
抽筋判断条件


  1. function CastSpell()
  2.     local p, c, b, i, f = GetComboPoints(); -- 获取玩家的连击点数,并将它们存储在本地变量p,c,b,i和f中。

  3.     -- 循环遍历玩家的增益效果(buffs),检查是否存在一个名字中包含"DualWield"的增益效果。
  4.     for i = 1, 16 do
  5.         b = UnitBuff("player", i); -- 获取玩家单位(角色)在索引i处的增益效果信息。
  6.         if b and strfind(b, "DualWield") then -- 检查增益效果是否存在,并且它是否包含"DualWield"。
  7.             f = 1; -- 将f设置为1,表示玩家拥有"DualWield"增益效果。
  8.             break; -- 早早地退出循环,因为我们找到了"DualWield"增益效果。
  9.         end;
  10.     end;

  11.     if p > 0 and not f then -- 检查玩家是否有连击点数(p > 0),并且没有"DualWield"增益效果(not f)。
  12.         return "兴奋"; -- 返回字符串"兴奋"。
  13.     elseif p == 5 and f then -- 检查玩家是否有5个连击点数(p == 5),并且有"DualWield"增益效果(f为true)。
  14.         return "剔骨"; -- 返回字符串"剔骨"。
  15.     else
  16.         -- 如果以上条件不满足,则检查"鬼魅攻击"法术(动作ID为50)是否可用,不处于冷却状态,并且玩家的法力值足够(>=40)。
  17.         if IsUsableAction(50) and GetSpellCooldown(50, "spell") == 0 and UnitMana("player") >= 40 then
  18.             return "鬼魅攻击"; -- 返回字符串"鬼魅攻击"。
  19.         end;

  20.         -- 如果以上条件不满足,则检查玩家的法力值是否足够(>=40),并返回"邪恶攻击"。
  21.         if UnitMana("player") >= 40 then
  22.             return "邪恶攻击"; -- 返回字符串"邪恶攻击"。
  23.         end

  24.         -- 如果以上条件都不满足,则检查"还击"法术(动作ID为37)是否可用,不处于冷却状态,并且玩家的法力值足够(>=10)。
  25.         if IsUsableAction(37) and GetSpellCooldown(37, "spell") == 0 and UnitMana("player") >= 10 then
  26.             return "还击"; -- 返回字符串"还击"。
  27.         end;
  28.     end;
  29. end

复制代码
抽筋执行宏
  1. /Equip 安图苏尔之手
  2. /script tsx=CastSpell() if (tsx) then CastSpellByName(tsx);end
复制代码




我是这样的天赋


------------------------------------分割线---------------------------------------------


超级科技盗贼FARM宏。


思路:自动下马,潜行,智能换主匕首,伏击,智能换主剑,兴奋,智能打还击,鬼魅攻击,邪恶,(看情况,卡一个切割),继续一个循环。


需要下载ClassicMacros 经典简化宏 插件



因为乌龟采用的是1.12的端,在界面上有很多判断的BUG,比如反击,单纯属用自带的IsUsableAction是无法判断的,因为在法术书里,均为启亮的状态。

启亮状态

实际判断的要为非启亮状态。

那问题来了!那如何解决这个问题呢?


正确答案:创建一个简单的执行功能宏,




然后拖放到按键槽里,记注这个位置。


利用ClassicMacros 的IsUsableAction判断这个按键是否可用,ClassicMacros 里有很多的一些命令,想进阶的,自己自行学习。
  1.          local canhj,_=IsUsableAction(3,"player");
  2.             if canhj and GetSpellCooldown(38, "spell") == 0 and UnitMana("player") >= 10 then
  3.                 return "还击";
  4.             end
复制代码
比如这样,IsUsableAction后面的3 就是上述按键3了,至于38 是法术书的还击技能ID,技能ID会因为洗天赋等情况,改变而改变,要注意更新!!!

自行替换这些武器的名称,自动会在背包里查找武器

主手武器潜行状态
    zswqQX = "断肠";
副手武器潜行状态
    fswqQX = "迅击匕首";
主手武器非潜行状态
    zswqNQX = "安图苏尔之手";
副手武器非潜行状态
    fswqNQX = "迅击匕首";








  1. LoadAddOn("ClassicMacros")
  2. function CastRun()
  3.     CastXWG();
  4.     local tsx = CastSpellx();
  5.     if tsx and tsx ~= "" then
  6.         CastSpellByName(tsx);
  7.     end
  8. end

  9. function CastXWG()
  10.     local i, b;
  11.     for i = 1, 16 do
  12.         b = UnitBuff("player", i);
  13.         if b and (strfind(b, "speedy") or strfind(b, "RidingHorse")) then
  14.             CastQHWQ(1);
  15.             if strfind(b, "speedy") then
  16.                 CastSpellByName("骑乘乌龟");
  17.             else
  18.                 CastSpellByName("白马");
  19.             end
  20.             break;
  21.         end
  22.     end
  23. end

  24. function CastQHWQ2(mainHand, offHand)
  25.     local mhEquipped = GetInventoryItemLink("player", 16);
  26.     local ohEquipped = GetInventoryItemLink("player", 17);

  27.     if not strfind(mhEquipped, mainHand) or not strfind(ohEquipped, offHand) then
  28.         PickupInventoryItem(GetInventorySlotInfo("MainHandSlot"));
  29.         PickupInventoryItem(GetInventorySlotInfo("SecondaryHandSlot"));
  30.     end
  31. end

  32. function CastQHWQ(a1)
  33.     local zswqQX, fswqQX, zswqNQX, fswqNQX, zswq, fswq;
  34.     zswqQX = "断肠";
  35.     fswqQX = "痛击之刃";
  36.     zswqNQX = "痛击之刃";
  37.     fswqNQX = "断肠";

  38.     if a1 == 1 then  
  39.         zswq, fswq = zswqQX, fswqQX;
  40.     else
  41.         zswq, fswq = zswqNQX, fswqNQX;
  42.     end

  43.     if zswqQX == fswqNQX and fswqQX == zswqNQX then
  44.         return CastQHWQ2(zswq, fswq);
  45.     end

  46.     local mainHandName = GetInventoryItemLink("player", 16);
  47.     local b, s, l;

  48.     if strfind(mainHandName , zswq) then
  49.         for b = 0, 4 do
  50.             for s = 1, 18 do
  51.                 l = GetContainerItemLink(b, s);
  52.                 if l and strfind(l, zswq) then
  53.                     PickupContainerItem(b, s);
  54.                     PickupInventoryItem(16);
  55.                     break;
  56.                 end
  57.             end
  58.         end
  59.     end

  60.     mainHandName = GetInventoryItemLink("player", 17);

  61.     if strfind(mainHandName , fswq ) then
  62.         for b = 0, 4 do
  63.             for s = 1, 18 do
  64.                 l = GetContainerItemLink(b, s);
  65.                 if l and strfind(l, fswq) then
  66.                     PickupContainerItem(b, s);
  67.                     PickupInventoryItem(17);
  68.                     break;
  69.                 end
  70.             end
  71.         end
  72.     end
  73. end
  74. function CastSpellx()
  75.     local p, c, b, i, f = GetComboPoints();
  76.     local a, a1,bftime, _;

  77.     for i = 1, 16 do
  78.         b = UnitBuff("player", i);
  79.         if b and strfind(b, "Stealth") then
  80.             a1 = 1;
  81.             break;
  82.         end
  83.     end

  84.     if not UnitAffectingCombat("player") then
  85.         if a1 then
  86.             CastQHWQ(1);
  87.             _, _, a = GetShapeshiftFormInfo(1);
  88.             return "伏击";
  89.         end

  90.         if not a then
  91.             if GetSpellCooldown(46, "spell") == 0 then
  92.                 CastQHWQ(1);
  93.                 return "潜行";
  94.             else
  95.                 print("潜行法术CD中");
  96.                 return nil;
  97.             end
  98.         end
  99.     else
  100.         if a1 and UnitMana("player") >= 60 then  
  101.             CastQHWQ(1);
  102.             return "伏击";
  103.         end

  104.         CastQHWQ(0);
  105.         for i = 1, 16 do
  106.             b = UnitBuff("player", i);
  107.             if b and strfind(b, "DualWield") then
  108.                 f = 1;
  109.                 bftime=  GetPlayerBuffTimeLeft(i)
  110.                 break;
  111.             end
  112.         end

  113.         if p > 0 and not f then
  114.             return "兴奋";
  115.         elseif p > 0 and f and bftime>=4 and UnitMana("player")>=25 then
  116.             return "切割";
  117.         else
  118.             if IsUsableAction(51) and GetSpellCooldown(51, "spell") == 0 and UnitMana("player") >= 45 then
  119.                 return "鬼魅攻击";
  120.             end
  121.             local canhj,_=IsUsableAction(3,"player");
  122.             if canhj and GetSpellCooldown(38, "spell") == 0 and UnitMana("player") >= 10 then
  123.                 return "还击";
  124.             end
  125.             if UnitMana("player") >= 45 then
  126.                 return "邪恶攻击";
  127.             end
  128.         end
  129.     end

  130.     return nil;
  131. end



复制代码

  1. /script CastRun();
复制代码










  • 以下附件需要回复 1 次可见,已回复 0
  • 1、QQ录屏20230809053041~1.mp4 23.67MB 已下载 212 次
  • 2、ClassicMacros.rar 10KB 已下载 23 次
  • 3、QQ录屏20230807112557~1.mp4 32.84MB 已下载 261 次
  • 4、QQ录屏20230806173342~1.mp4 10.57MB 已下载 433 次
  • 5、SuperMacro.rar 40KB 已下载 28 次

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

138

主题

403

回帖

1万

积分

站长

Rank: 9Rank: 9Rank: 9

积分
17097
角色名
dengsi
种族
兽人
职业
术士
发表于 2023-8-7 02:57:27 | 显示全部楼层

回复

使用道具 举报

33

主题

66

回帖

4689

积分

站长

Rank: 9Rank: 9Rank: 9

积分
4689
角色名
Guihua
种族
高等精灵
职业
战士
发表于 2023-8-7 14:55:19 | 显示全部楼层
大佬牛逼
回复

使用道具 举报

1

主题

3

回帖

25

积分

THWL新人

Rank: 1

积分
25
发表于 2023-8-7 21:56:35 | 显示全部楼层
萌新问下下载了视频看不懂  抽筋宏的作用是什么 我也玩DZ
回复

使用道具 举报

0

主题

3

回帖

1940

积分

THWL会员

Rank: 2

积分
1940
角色名
Fastdagger
种族
地精
职业
潜行者
发表于 2023-8-9 11:37:29 | 显示全部楼层
兴奋是什么技能还是天赋
回复

使用道具 举报

2

主题

5

回帖

135

积分

THWL会员

Rank: 2

积分
135
角色名
itbug
种族
人类
职业
潜行者
 楼主| 发表于 2023-8-9 13:01:03 | 显示全部楼层
wallabc 发表于 2023-8-9 11:37
兴奋是什么技能还是天赋

42级学的技能

回复

使用道具 举报

0

主题

6

回帖

650

积分

THWL会员

Rank: 2

积分
650
发表于 2023-8-11 14:18:58 | 显示全部楼层
请教大哥,德鲁伊切换圣物的宏能 帮忙写一个吗?
比如:在猫形态下 使用【爪击】,自动切换 猫形态爪击降低能量的圣物
          在能形态下使用 【槌击】,自动切换 熊形态槌击降低怒气的圣物
          在人形态使用 [回春],自动切换 人形态增加回春技能效果的圣物
回复

使用道具 举报

0

主题

6

回帖

650

积分

THWL会员

Rank: 2

积分
650
发表于 2023-8-11 14:22:22 | 显示全部楼层
技能 ID 要怎么看?
回复

使用道具 举报

2

主题

5

回帖

135

积分

THWL会员

Rank: 2

积分
135
角色名
itbug
种族
人类
职业
潜行者
 楼主| 发表于 2023-8-11 17:24:07 | 显示全部楼层
moonxo 发表于 2023-8-11 14:22
技能 ID 要怎么看?
  1. /script local s,i,n="邪恶攻击",1;while 1 do n=GetSpellName(i,"spell");if n then if strfind(n,s) then ChatFrame1:AddMessage(i);break;end;i=i+1;else break;end;end;
复制代码


回复

使用道具 举报

2

主题

5

回帖

135

积分

THWL会员

Rank: 2

积分
135
角色名
itbug
种族
人类
职业
潜行者
 楼主| 发表于 2023-8-11 17:27:44 | 显示全部楼层
moonxo 发表于 2023-8-11 14:18
请教大哥,德鲁伊切换圣物的宏能 帮忙写一个吗?
比如:在猫形态下 使用【爪击】,自动切换 猫形态爪击降低 ...

我没玩小德,做不了。
回复

使用道具 举报

0

主题

14

回帖

4678

积分

THWL精英成员

Rank: 3Rank: 3

积分
4678
角色名
howiez
种族
暗影精灵
职业
德鲁伊
发表于 2023-12-13 10:47:50 | 显示全部楼层
大佬战士的超级宏还有吗
回复

使用道具 举报

1

主题

34

回帖

1301

积分

THWL会员

Rank: 2

积分
1301
角色名
snowwfallen
种族
人类
职业
潜行者
发表于 2023-12-16 04:34:32 | 显示全部楼层
检查buff的宏会有问题 因为有时候raid情况下 buff超过16个 ,请问能更换成计时器模式么?比如检查如果没有Xbuff 则施放X ,然后延迟20秒不再施放
回复

使用道具 举报

0

主题

23

回帖

1550

积分

THWL会员

Rank: 2

积分
1550
角色名
darkmg
种族
亡灵
职业
法师
发表于 2023-12-29 08:37:51 | 显示全部楼层
非常感谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|乌龟服 魔兽世界 太好玩啦 公会论坛

GMT+8, 2025-5-4 21:58 , Processed in 0.081836 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表