《魔兽世界(WOW)台服》【问题】宏/巨集一问 买东西的BUG
更新时间:1283710059 | 来源:巴哈姆特
这个是在精华区看到的
现在说一下 出现的BUG
如果吧致伤毒药 VII 改成其他东西
例如 :符文布
如果NPC又卖 次序是1.符文布卷,2.符文布 他会先买符文布卷
即是只要M={"A"} NPC 卖的东西 名字有"AB"跟 "A" 巨集会帮你买"AB"
有方法A的名字完全等于A才去买吗 ?????????
请问有高手可以帮帮我
> /script m={"致伤毒药 VII"}n={20}for i=1,#m do t=n[i]-GetItemCount(m[i])if t>0 then for j=1,99 do if GetMerchantItemInfo(j):find(m[i])then for k=1,ceil(t/20) do BuyMerchantItem(j,floor(t/20)~=0 and 20 or t)t=t-20;end break;end end end end
> 这个是在精华区看到的
> 现在说一下 出现的BUG
> 如果吧致伤毒药 VII 改成其他东西
> 例如 :符文布
> 如果NPC又卖 次序是1.符文布卷,2.符文布 他会先买符文布卷
>
> 即是只要M={"A"} NPC 卖的东西 名字有"AB"跟 "A" 巨集会帮你买"AB"
> 有方法A的名字完全等于A才去买吗 ?????????
>
> 请问有高手可以帮帮我
>
改成这样看看
/script m={"致伤毒药 VII"}n={20}for i=1,#m do t=n[i]-GetItemCount(m[i])if t>0 then for j=1,99 do x=GetMerchantItemInfo(j); if (x==m[i]) then for k=1,ceil(t/20) do BuyMerchantItem(j,floor(t/20)~=0 and 20 or t)t=t-20;end break;end end end end
暂时账号没打算充值试不了
不保証能正常运作
> /script m={"致伤毒药 VII"}n={20}for i=1,#m do t=n[i]-GetItemCount(m[i])if t>0 then for j=1,99 do if GetMerchantItemInfo(j):find(m[i])then for k=1,ceil(t/20) do BuyMerchantItem(j,floor(t/20)~=0 and 20 or t)t=t-20;end break;end end end end
> 这个是在精华区看到的
> 现在说一下 出现的BUG
> 如果吧致伤毒药 VII 改成其他东西
> 例如 :符文布
> 如果NPC又卖 次序是1.符文布卷,2.符文布 他会先买符文布卷
>
> 即是只要M={"A"} NPC 卖的东西 名字有"AB"跟 "A" 巨集会帮你买"AB"
> 有方法A的名字完全等于A才去买吗 ?????????
>
> 请问有高手可以帮帮我
这巨集的点子还不错说
先回答你的问题吧
巨集中GetMerchantItemInfo(j):find(m[i])
这个是指:如果GetMerchantItemInfo(j)中,有包含m[i]时为真
所以在扫到符文布卷的时候,就成立了
把这个改成 GetMerchantItemInfo(j)==m[i]
if 符文布卷==符文布,不成立,应该就行了
当然,这样子的话,买的东西就要打正确的全名,一点都不能漏
另外,这个巨集不直接适用买一次不只一个的情况
比方箭一次买200枝,一格可以放1000枝,所以后我小改了一下
/run local m,n,i,j,k,t={"劣质箭"},{4000}for i=1,#m do t=n[i]-GetItemCount(m[i])if t>0 then for j=1,99 do if GetMerchantItemInfo(j)==m[i] then for k=1,ceil(t/1000) do BuyMerchantItem(j,t>1000 and 5 or floor(t/200))t=t-1000 end break end end end end
如果买一次不是200个,请改红色的地方
如果包包一格不是可以放1000个,请改蓝色的地方
至于紫色的5,则是1000/200,即是买几次可以放满一格包包
另外不得不说一下(因为有点意料之外) BuyMerchantItem(j,0)会买一次唷....
所以,假设包包里劣质箭剩123枝
点一次巨集会变成3923(不超过4000但最接近4000的购买枝数)
再点一次会变成4123(因为BuyMerchantItem(j,0)仍然会买一次)
再点就不会变了(因为t>0不成立了)
最后...因为是m,n阵列,所以可以变化成
/run local m,n,i,j,k,t={"劣质箭","锐锋箭"},{4000,7000}for i=1,#m do t=n[i]-GetItemCount(m[i])if t>0 then for j=1,99 do if GetMerchantItemInfo(j)==m[i] then for k=1,ceil(t/1000) do BuyMerchantItem(j,t>1000 and 5 or floor(t/200))t=t-1000 end break end end end end
但是...字数好像快暴了...
有兴趣的可以玩一下吧
补加一下,后来想想,虽然一次BuyMerchantItem的上限是5
但也不一定要用5去买,所以改一下...
用1去买虽然要比较多次(也是一瞬间),但巨集字元可以省很多...
/run local m,n,i,j,k,t={"劣质箭"},{4000}for i=1,#m do t=n[i]-GetItemCount(m[i])if t>0 then for j=1,99 do if GetMerchantItemInfo(j)==m[i] then for k=1,ceil(t/200)-1 do BuyMerchantItem(j,1)end break end end end end
那个-1就是决定原本123枝会变成3923(不超过4000但最接近4000的购买枝数)
还是变成4123(超过4000中最接近4000的购买枝数)
> 补加一下,后来想想,虽然一次BuyMerchantItem的上限是5
> 但也不一定要用5去买,所以改一下...
> 用1去买虽然要比较多次(也是一瞬间),但巨集字元可以省很多...
> /run local m,n,i,j,k,t={"劣质箭"},{4000}for i=1,#m do t=n[i]-GetItemCount(m[i])if t>0 then for j=1,99 do if GetMerchantItemInfo(j)==m[i] then for k=1,ceil(t/200)-1 do BuyMerchantItem(j,1)end break end end end end
> 那个-1就是决定原本123枝会变成3923(不超过4000但最接近4000的购买枝数)
> 还是变成4123(超过4000中最接近4000的购买枝数)
很少有人会需要同时买几种品质的箭矢
所以若依原设计去修改为买箭矢便会有多余的部份出现
若真的希望设计能一巨集通用的话可改成这样
/run
local m,n,i,j,k,t={"劣质箭","清凉的泉水"},{4000,100}
for i=1,#m do
t=n[i]-GetItemCount(m[i])
if t>0 then
for j=1,99 do
x,y,y,z=GetMerchantItemInfo(j)
if x==m[i] then
for k=1,floor(t/z) do
BuyMerchantItem(j,1)
end
break
end
end
end
end
/run或/script后跟随的其实是lua的程式码
真正使他难懂的地方在要一句完成 加上断句后便会发现巨集其实一点也不神秘 就如上面的解读方法一样
若游戏中使用
则先把所有断句移除即可使用
/run local m,n,i,j,k,t={"劣质箭","清凉的泉水"},{4000,100} for i=1,#m do t=n[i]-GetItemCount(m[i]) if t>0 then for j=1,99 do x,y,y,z=GetMerchantItemInfo(j) if x==m[i] then for k=1,floor(t/z) do BuyMerchantItem(j,1) end break end end end end
写巨集查API作用必不可少的网站:
http://www.wowwiki.com/API_GetMerchantItemInfo
-
相关文章
- Related articles
更多
-
热门资讯
- Hot News
更多
- 1 《魔兽世界(WOW)》【问题】战役: 高贵的命运 不能完任
- 2 《魔兽世界(WOW)》【问题】ELVUI 聊天气泡
- 3 《魔兽世界(WOW)》【问题】新手回锅!!请问铭文中的奢华餐桌要怎么取得呢??
- 4 《魔兽世界(WOW)台服》【问题】求救! 怪物血条变透明
- 5 《魔兽世界(WOW)》【插件】Dugi任务高手 - 带你快速冲等解任务
- 6 《魔兽世界(WOW)》【问题】Raider io怎样改回中文介面?
- 7 《魔兽世界(WOW)台服》【问题】请问WeakAuras如何设定萨满监控有无上武器灌魔(风怒、火舌)的BUFF
- 8 《魔兽世界(WOW)》【问题】请问我奥杜亚打到系统通知守护者远古之门开启了...可是
- 9 《魔兽世界(WOW)》【攻略】珠宝设计1 - 600指南
- 10 《魔兽世界(WOW)》【攻略】成就 : 限时邮件的繁体中文WA字串分享
-
热游推荐
- Hot Game
更多
-
游戏视频
- Game Videos
更多
-
- 《黑色沙漠》【黑色沙漠台服】觉醒女拳码率录制测试bilibili(视频)
- 时间:2021-11-12
-
- 《黑色沙漠》【黑色沙漠】2021年万圣节活动 我遇见了阴间莎亦_网络游戏热门视频(视频)
- 时间:2021-11-12
-
- 《黑色沙漠》【黑色沙漠】降生 10代梦想马bilibili(视频)
- 时间:2021-11-12
-
- 《黑色沙漠》【黑色沙漠】万圣节前夜 韩服城战 天马攻城bilibili(视频)
- 时间:2021-11-12