网络游戏攻略基地

您的位置: 首页>热门游戏>魔兽世界>全文攻略:魔兽游戏中最方便的搜索物品宏(支持TBC)

魔兽世界:魔兽游戏中最方便的搜索物品宏(支持TBC)

本攻略由魔兽世界玩家【stuart17173】提供

魔兽游戏中最方便的搜索物品宏(支持TBC)


初始化搜索数据的宏
/run i_m={};i_m.id={};i_m.nm={};t_i=0;for i=1,50000 do local nm=GetItemInfo(i);if (nm) then t_i=t_i 1;i_m.id[t_i]=i;i_m.nm[t_i]=nm;end end

用来显示物品链接的宏
/run function SI_M(s) local _,lnk=GetItemInfo("item:"..s);if (lnk) then local o=s..": "..lnk;DEFAULT_CHAT_FRAME:AddMessage(o);return 1;end return 0;end

用来搜索物品的宏
/run function FI_M(str) local sum=0;for i=1,t_i do if (string.find(i_m.nm[i],str)) then sum=sum SI_M(i_m.id[i]..":0:0:0:0:0:0:0");end end DEFAULT_CHAT_FRAME:AddMessage("搜索''"..str.."'', 共查到"..sum.."件物品");end

以上三个宏在进入游戏后按顺序执行过一遍就可以用下面的宏命令搜索物品。

/run FI_M("复仇角斗士的皮甲");
/run FI_M("骑乘虚空鳐");
/run FI_M("战斗大师");

下面对以上三条宏分别解释一下功能

第一条宏
/run i_m={}; --初始化全局变量i_m设置为空数组;
i_m.id={}; --初始化全局变量i_m的id值设置为空数组,用来存放魔兽世界所有物品的ID值;
i_m.nm={}; --初始化全局变量i_m的nm值设置为空数组,用来存放魔兽世界所有物品的名称;
t_i=0; --初始化全局变量t_i值为0,用来存放魔兽世界所有物品的总数;
for i=1,50000 do --循环50000次,
local nm=GetItemInfo(i); --用API函数GetItemInfo从魔兽世界客户端物品数据库缓存中取得物品名,保存到nm中;
if (nm) then --如果物品ID为i的物品存在,
t_i=t_i 1; --物品的总数增加1;
i_m.id[t_i]=i; --i_m.id数组保存物品的ID值为i;
i_m.nm[t_i]=nm; --i_m.nm数组保存物品的名称为nm;
end --if语句结束
end --for循环结束。

第二条宏
/run function SI_M(s) --定义函数SI_M(ShowItem_Macro),用作显示物品链接的功能,参数是物品链接相关的8个数值组成的字符串,格式为"x:x:x:x:x:x:x:x"
local _,lnk=GetItemInfo("item:"..s); --为_,lnk分别赋值为API函数GetItemInfo返回的前两个值,分别是物品的名称和物品链接;
if (lnk) then --如果物品链接存在,
local o=s..": "..lnk; --组合物品链接,s..": "只是物品链接之前显示的物品ID值,冒号后面才是物品链接lnk;
DEFAULT_CHAT_FRAME:AddMessage(o); --在默认的聊天框中显示刚才组合的字符串,格式为“物品ID : 物品链接”;
return 1; --返回一个数值1,外部调用此函数的时候,查找到的链接数累加1;
end --if语句结束
return 0; --返回一个数值0,外部调用此函数的时候,查找的链接数累加0;
end --函数定义结束。

第三条宏
/run function FI_M(str) --定义函数FI_M(FindItem_Macro),用作搜索物品的功能,参数是查询物品链接所用的字符串
local sum=0; --初始化变量sum用来保存搜索到的物品个数;
for i=1,t_i do --循环t_i次,循环的次数根据第一条宏执行后统计的总数而定
if (string.find(i_m.nm[i],str)) then --如果找到一个符合查询要求str的物品i_m.nm[i]
sum=sum SI_M(i_m.id[i]..":0:0:0:0:0:0:0"); --调用由SI_M函数显示一条合成的物品链接字符串,返回的值累加到sum中;
end --if语句结束
end --for循环结束
DEFAULT_CHAT_FRAME:AddMessage("搜索''"..str.."'', 共查到"..sum.."件物品"); --在默认的聊天框中显示搜索结果;
end --函数定义结束。

下面说明一下查询字符串的用法

基本命令格式:

共3页: 上一页 1 [2] [3] 下一页

上一篇:武器战士十二条    下一篇:一个萨满对其他职业的建议

魔兽世界相关攻略

魔兽世界热门攻略

魔兽世界推荐攻略