Lua脚本语言入门(目前魔兽使用的可以写在宏内的语言)(中文)(4)
关于背包物品使用整理类的宏的制作
由于游戏提供的函数无法直接由物品名称调用该物品,所以通常简单的使用物品宏是比较麻烦的,一定要把使用的物品放在背包内特定的位置
WOW的LUA脚本入门
;或则大多术士都需要的问题,能随时监视自己的灵魂碎片(当然,有插件可以做到这一点)。
以下我写写关于如何制作这类宏:
首先,我们要在背包里找到自己需要的东西,必须用循环里遍历这些包。由于放的位置有2个参数,1个是包的编号,一个是包内槽位的编号,
所以我们需要一个循环嵌套来搜索:
以下假设我们身上都是16格的包:
for bag=0,4,1 do --包的编号为从右到左,0,1,2,3,4
for cw=1,16,1 do --槽位的编号为上到下,左到右 1,2,3,4,5......16
.............. --这里我们可以写如判断物品是否为我们需要的东西的语句
end --表示内循环结束
end --外循环结束
或者用其他方式做这个循环:
While循环:while 条件 do … end
Repeat循环:repeat … until 条件
然后,要处理的是物品的判断:
我们有两个函数可以使用
GetContainerItemLink() 和 GetContainerItemInfo()
这两个函数使用的变量都是2个,一个是包的编号,一个是槽位的编号,但他们的返回值不同
GetContainerItemLink()是返回一个带着物品名字的连接,如果你用聊天函数把返回值说出来就可以看到,说出来的不光是物品的名称,还是
一个可以连接到物品详细内容窗口的连接。
比如,你的包里4,1的位置放了一块熊肉,那么用/script
SendChatMessage(GetContainerItemLink(4,1),"SAY")后,就可以看到自己说“[熊
肉]”,而且用鼠标点一下说的内容,还可以弹出一个描写这块肉的窗口。
但要注意,直接用"[熊肉]"这样字符串来判断这个物品是不行的,例如:
if GetContainerItemLink(4,1)=="[熊肉]" then ..... end
WOW的LUA脚本入门
这个判断是无效的。
正确的方法是,先把要做判断的物品的赋一个变量,再用变量做出判断:
rou=GetContainerItemLink(4,1) --把物品连接值赋给rou
if GetContainerItemLink(4,1)==rou then ..... end --现在就可以正常判断物品了
最后要注意的是,这个函数无法对术士的灵魂碎片做出正确的判断,意思就是,虽然灵魂碎片用这个函数显示出来是一样的,但这个函数却认
为所有的灵魂碎片都是不同的东西,即你把这个灵魂碎片的连接赋给一个变量后,这个变量就只能判断这个灵魂碎片,其他的灵魂碎片就无法
作出判断,奇怪把。所以要判断灵魂碎片,就必须用到第二个函数GetContainerItemInfo()
GetContainerItemInfo()的返回值非常多,几乎所有的物品信息都可以返回,但我们这里判断只用它返回的第一个值。
我们可以先用聊天函数来看看第一个返回值是什么样子的:
/script
a=GetContainerItemInfo(4,1)
SendChatMessage(a,"SAY")
可以看到,返回值相当长的英文,但物品的关键字是在后面。
这样,我们就有2种方法来使用这个函数来判断物品。
1、和前一个函数的方法一样,用变量存储值后再判断,前提是要把判断的物品放在特定的位置赋一下值。
2、只使用特定物品,把物品的判断关键字写在函数里,然后用string.find()来判断他。
例子:某物品的关键字是bd
if string.find(GetContainerItemInfo(4,1),bd) then .....end --判断包1,4位置是否存在关键字为bd物品。
接着要处理的是物品的使用和交换。
使用特定背包位置的物品函数:UseContainerItem(index,slot)
这个好理解,不用多解释了把。
拾取/放下物品的函数:PickupContainerItem(index,slot)
这个函数有意思,你鼠标上没抓着东西的时候就是帮你拿起特定位置的物品,有的话就变成放下物品到特定的位置并交换拿起该位置的物品。
…… 此处隐藏:44字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




