魔兽世界怀旧服:盗贼用的最强大一键购买毒药材料宏
NGA玩家社区
2020-10-21 14:12关注
作者:NGA-stuartngacn
玩怀旧服的盗贼,最闹心的是啥,就是配毒药!各种毒药需要的材料不一样,使配毒变成麻烦事,需要心算材料个数。如果算不准,要么必须重新点开NPC买材料,要么买的材料过多,浪费钱(虽然就那么几银而已)。
于是我花了一下午时间,设计出这一套一键购买药材料宏,只要你满60级,不管你有没有安装某某插件,你都可以使用这套宏。
先贴出这套宏,这套宏由三个宏组成:
第一个宏,作用是分组购买指定的物品(254字):
/run function BP_M(a)local m={}for i=1,GetMerchantNumItems()do m[GetMerchantItemID(i)]=i;end;for t,n in pairs(a)do local _,_,_,_,_,_,_,l=GetItemInfo(t)b=n-GetItemCount(t);while(0<b and m[t])do local r=math.min(l,b)BuyMerchantItem(m[t],r)b=b-r;end;end;end
第二个宏,作用是统计实际需要购买多少物品(194字):
/run function B_M(s)local a={}for i,p in pairs(s)do for t,n in pairs(p)do if 1~=t then a[t]=(a[t]or 0)+math.max(0, p[1]-(i==t and 0 or GetItemCount(i)))*n;end;end;end;if BP_M then BP_M(a)end;end
第三个宏,作用是指定要购买毒药材料的最大数量,分两种宏,取决你有没有学会安其拉废墟的致命毒药V。
致命毒药V版本(255字):
/run _=B_M and B_M({[5140]={--[[闪]]40,[5140]=1},[8928]={--[[速]]20,[8924]=4,[8925]=1},[20844]={--[[命]]20,[5173]=7,[8925]=1},[10922]={--[[伤]]20,[8923]=2,[5173]=2,[8925]=1},[3776]={--[[残]]20,[8923]=3,[8925]=1},[9186]={--[[麻]]20,[8924]=2,[8923]=2,[8925]=1}})
致命毒药IV版本(255字):
/run _=B_M and B_M({[5140]={--[[闪]]40,[5140]=1},[8928]={--[[速]]20,[8924]=4,[8925]=1},[20844]={--[[命]]20,[5173]=5,[8925]=1},[10922]={--[[伤]]20,[8923]=2,[5173]=2,[8925]=1},[3776]={--[[残]]20,[8923]=3,[8925]=1},[9186]={--[[麻]]20,[8924]=2,[8923]=2,[8925]=1}})
以上这些宏,把它们在宏编辑器里创建并粘贴进去,随便输入名字,随便选择图标,然后把图标拖到空闲技能栏里。
第三个宏里有注解,注解后面是此物品在背包里最多容纳的数量。比如:
“--[[闪]]40”代表的是背包里最多容纳40个闪光粉,
“--[[速]]20”代表的是背包里最多容纳20个速效毒药,
“--[[命]]20”代表的是背包里最多容纳20个致命毒药,
“--[[伤]]20”代表的是背包里最多容纳20个致伤毒药,
“--[[残]]20”代表的是背包里最多容纳20个致残毒药,
“--[[麻]]20”代表的是背包里最多容纳20个麻痹毒药,
你可以根据你的需要,修改这些值,最小可设置为0,最大不要超过99,然后保存。因为99是两位数字,第三个宏的字数已经达到最大255个字(明明编辑器上显示最多256字,但只能输入255个)
使用方法:
前两个宏在角色人物上线后要先全部用一遍,用的时候没有任何提示。
然后当你需要买材料的时候,对话NPC,打开购买框,点击第三个宏,稍等大约两秒时间,你就会发现它会自动买了相应的材料。
有的时候,你会发现点完第三个宏,屏幕中上方会出现提示“目标正在忙碌”,而且买到的材料可能并不全,比如缺少水晶瓶,
因为这个宏是一次性购买所有材料,服务器可能会反应不过来,如果出现这样的情况,只要再点一下第三个宏,就能补充完整。
这三个宏非常智能,即使你多次点击使用,也不会多买一个材料。买完材料之后,你就可以点开制毒窗口,按你需要的数量来制作毒药。
有人觉得上毒也是件麻烦事,要点毒药,再点武器,甚至还要再点一下确定替换毒药的按钮,太麻烦了,所以下面的这一个宏就是福利:
#showtooltip
/use [modifier:alt]致残毒药 II;[modifier:ctrl]致伤毒药 IV;[modifier:shift]麻痹毒药 III;速效毒药 VI/use [button:1]16;[button:2]17
/click StaticPopup1Button1
以上这个宏,把它在宏编辑器里创建并粘贴进去,名字输入一个空格,图标选择第一个红色“问号”,然后把图标拖到空闲技能栏里。
使用方法:
不按任何按键的时候,显示的图标是速效毒药;
按ALT键,图标自动切换到致残毒药;按CTRL,图标自动切换到致伤毒药;按SHIFT,图标自动切换成麻痹毒药。
左键点击给主手武器上毒,右键点击给副手武器上毒,如果之前已经上过毒,使用这个宏,你会看不到确定替换毒药的提示,默认替换毒药。
NGA玩家社区
2020-10-21 14:12关注
作者:NGA-stuartngacn
玩怀旧服的盗贼,最闹心的是啥,就是配毒药!各种毒药需要的材料不一样,使配毒变成麻烦事,需要心算材料个数。如果算不准,要么必须重新点开NPC买材料,要么买的材料过多,浪费钱(虽然就那么几银而已)。
于是我花了一下午时间,设计出这一套一键购买药材料宏,只要你满60级,不管你有没有安装某某插件,你都可以使用这套宏。
先贴出这套宏,这套宏由三个宏组成:
第一个宏,作用是分组购买指定的物品(254字):
/run function BP_M(a)local m={}for i=1,GetMerchantNumItems()do m[GetMerchantItemID(i)]=i;end;for t,n in pairs(a)do local _,_,_,_,_,_,_,l=GetItemInfo(t)b=n-GetItemCount(t);while(0<b and m[t])do local r=math.min(l,b)BuyMerchantItem(m[t],r)b=b-r;end;end;end
第二个宏,作用是统计实际需要购买多少物品(194字):
/run function B_M(s)local a={}for i,p in pairs(s)do for t,n in pairs(p)do if 1~=t then a[t]=(a[t]or 0)+math.max(0, p[1]-(i==t and 0 or GetItemCount(i)))*n;end;end;end;if BP_M then BP_M(a)end;end
第三个宏,作用是指定要购买毒药材料的最大数量,分两种宏,取决你有没有学会安其拉废墟的致命毒药V。
致命毒药V版本(255字):
/run _=B_M and B_M({[5140]={--[[闪]]40,[5140]=1},[8928]={--[[速]]20,[8924]=4,[8925]=1},[20844]={--[[命]]20,[5173]=7,[8925]=1},[10922]={--[[伤]]20,[8923]=2,[5173]=2,[8925]=1},[3776]={--[[残]]20,[8923]=3,[8925]=1},[9186]={--[[麻]]20,[8924]=2,[8923]=2,[8925]=1}})
致命毒药IV版本(255字):
/run _=B_M and B_M({[5140]={--[[闪]]40,[5140]=1},[8928]={--[[速]]20,[8924]=4,[8925]=1},[20844]={--[[命]]20,[5173]=5,[8925]=1},[10922]={--[[伤]]20,[8923]=2,[5173]=2,[8925]=1},[3776]={--[[残]]20,[8923]=3,[8925]=1},[9186]={--[[麻]]20,[8924]=2,[8923]=2,[8925]=1}})
以上这些宏,把它们在宏编辑器里创建并粘贴进去,随便输入名字,随便选择图标,然后把图标拖到空闲技能栏里。
第三个宏里有注解,注解后面是此物品在背包里最多容纳的数量。比如:
“--[[闪]]40”代表的是背包里最多容纳40个闪光粉,
“--[[速]]20”代表的是背包里最多容纳20个速效毒药,
“--[[命]]20”代表的是背包里最多容纳20个致命毒药,
“--[[伤]]20”代表的是背包里最多容纳20个致伤毒药,
“--[[残]]20”代表的是背包里最多容纳20个致残毒药,
“--[[麻]]20”代表的是背包里最多容纳20个麻痹毒药,
你可以根据你的需要,修改这些值,最小可设置为0,最大不要超过99,然后保存。因为99是两位数字,第三个宏的字数已经达到最大255个字(明明编辑器上显示最多256字,但只能输入255个)
使用方法:
前两个宏在角色人物上线后要先全部用一遍,用的时候没有任何提示。
然后当你需要买材料的时候,对话NPC,打开购买框,点击第三个宏,稍等大约两秒时间,你就会发现它会自动买了相应的材料。
有的时候,你会发现点完第三个宏,屏幕中上方会出现提示“目标正在忙碌”,而且买到的材料可能并不全,比如缺少水晶瓶,
因为这个宏是一次性购买所有材料,服务器可能会反应不过来,如果出现这样的情况,只要再点一下第三个宏,就能补充完整。
这三个宏非常智能,即使你多次点击使用,也不会多买一个材料。买完材料之后,你就可以点开制毒窗口,按你需要的数量来制作毒药。
有人觉得上毒也是件麻烦事,要点毒药,再点武器,甚至还要再点一下确定替换毒药的按钮,太麻烦了,所以下面的这一个宏就是福利:
#showtooltip
/use [modifier:alt]致残毒药 II;[modifier:ctrl]致伤毒药 IV;[modifier:shift]麻痹毒药 III;速效毒药 VI/use [button:1]16;[button:2]17
/click StaticPopup1Button1
以上这个宏,把它在宏编辑器里创建并粘贴进去,名字输入一个空格,图标选择第一个红色“问号”,然后把图标拖到空闲技能栏里。
使用方法:
不按任何按键的时候,显示的图标是速效毒药;
按ALT键,图标自动切换到致残毒药;按CTRL,图标自动切换到致伤毒药;按SHIFT,图标自动切换成麻痹毒药。
左键点击给主手武器上毒,右键点击给副手武器上毒,如果之前已经上过毒,使用这个宏,你会看不到确定替换毒药的提示,默认替换毒药。