LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
热搜: YJWOW MagicStone BoL
查看: 422|回复: 6

浅说BEE 新手学习教程

[复制链接]
发表于 2023-10-25 19:22:37 | 显示全部楼层 |阅读模式
初识lua是我在玩一个WOW私服的时候,大德鲁伊大佬把我领进来lua的大门,让我接触到了lua论坛。我首先通过抄写别人的Bee片段来熟悉语法构成。这个阶段我主要学习了条件判断、循环控制、函数定义等基本语法。下面是一个简单的if判断语句的例子:
[Lua] 纯文本查看 复制代码
luaif health< 100 then
   print("Youneed to rest!")
else
   print("Youare healthy!")
end
这段代码在健康值小于100时打印“你需要休息!”的提示,否则打印“你健康!”的提示。通过不断地抄写和实践,我逐渐理解了条件判断在编程中的重要性,并熟悉了其灵活的编程范式。

随着对Lua语法的熟悉,我开始尝试改编别人的Bee片段,以满足我的特定需求。这个阶段我深入理解了Lua的特性和编程范式,例如,Lua的变量是弱类型的,这意味着变量可以在不同类型之间进行转换。下面是一个使用弱类型变量的例子:
[Lua] 纯文本查看 复制代码
[mw_shl_code=lua,true]lualocalx = 10     --x is an integer
x= "hello"     -- now x is a string
[/mw_shl_code]
这段代码首先将变量x设置为整数10,然后将其转换为字符串"hello"。通过不断地尝试和探索,我逐渐培养了对Lua编程的直觉,并开始尝试编写出自己的Bee片段。

在独立探索的过程中,我开始尝试自己编写一些Bee片段。这个阶段我结合查询官方API([size=13.3333px]https://wowpedia.fandom.com/wiki/API_GetContainerItemLink)逐渐积累了一些实用的编程技巧和经验。下面是一个简单的函数定义的例子:
[Lua] 纯文本查看 复制代码
luafunctionadd(a, b)
   return a + b
end
这段代码定义了一个名为add的函数,接受两个参数ab,并返回它们的和。通过不断地学习和实践,我不仅掌握了Lua的语法和编程范式,还积累了一些实用的编程技巧和经验。这些经验不仅让我能够更好地理解和使用Lua,也让我能够编写出一些适用的小玩意。
下面说一个我写分解装备的脚本精力
首先我明确的目的分解装备,然后解构分解装备的过程:首先要找到背包里面的装备,然后再使用分解。
我们想办法遍历背包找出装备的位置可以用到for循环和官方APIitemLink= GetContainerItemLink(bagID, slotIndex)  其中itemLink字符串是|cffxxxxxx|Hitem:payload|h[text]|h|r,因此我们办法截取字符串q:sub(5,10)=="1eff00"510位就是绿装的代码因此我们可以得到代码
[Lua] 纯文本查看 复制代码
localq;
for i=1,400 do
    q=GetContainerItemLink(i/35,i%35)
   if q and q:sub(5,10)=="1eff00"
    then RunMacroText("/cast 分解")
       UseContainerItem(i/35,i%35)
    end;
end
然而在具体实践的过程中我们发现它会分解所有的绿色物品所以我们再加个条件IsEquippableItem(q)
最终我们得到了分解装备的完整代码localq;
[Lua] 纯文本查看 复制代码
for i=1,400 do
    q=GetContainerItemLink(i/35,i%35)
   if q and q:sub(5,10)=="1eff00"and IsEquippableItem(q)
   then  RunMacroText("/cast 分解")
       UseContainerItem(i/35,i%35)
    end;
end
再此我们还有一个办法可以改变一下让他变成一个宏就更好用了
[Lua] 纯文本查看 复制代码
/脚本localq;for i=1,400 do q=GetContainerItemLink(i/35,i%35)  if q andq:sub(5,10)=="1eff00"and IsEquippableItem(q) then RunMacroText("/cast 分解")UseContainerItem(i/35,i%35)  end end

此时我们我们就完成了装备分解的小东西
特别鸣谢:大德鲁伊,破天两位大佬在我刚接触lua的时候给了很多帮助








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入我们

x
回复

使用道具 举报

发表于 2023-10-25 19:46:36 | 显示全部楼层
有点....像论文
回复 支持 反对

使用道具 举报

发表于 2023-10-25 21:36:19 | 显示全部楼层
已核发勋章
回复 支持 反对

使用道具 举报

发表于 2023-10-26 10:12:17 | 显示全部楼层
其实自动分解很久之前就有人做了
但你的研究绝不是无意义的
在这个过程中
遇到过的bug
处理过的问题
为了解决问题查阅过的资料
以及最后冥思苦想出的解决方案
都会成为自己的血肉
恭喜进入进阶区
回复 支持 反对

使用道具 举报

发表于 2023-10-27 14:12:32 | 显示全部楼层
厉害,学习到了,恭喜进阶。
回复 支持 反对

使用道具 举报

发表于 2023-11-29 23:58:35 | 显示全部楼层
恭喜晋级,也给我们这些小白指明了学习方向哈
回复 支持 反对

使用道具 举报

发表于 2023-12-7 10:05:34 | 显示全部楼层
大佬啊  
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|LUACN论坛

GMT+8, 2026-5-31 06:18 AM , Processed in 0.032493 second(s), 26 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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