LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

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

很多人不了解宠物和鼠标指向写法,我来写个示范吧

[复制链接]
发表于 2021-10-25 13:49:52 | 显示全部楼层 |阅读模式
本帖最后由 joylau 于 2022-5-18 09:20 PM 编辑

[Lua] 纯文本查看 复制代码
local a = "target"
local b = "player"

local c = "pet"
local d = "mouseover"  ---[color=#ff0000]赋予鼠标指向变量为d[/color]
local buff = BeeUnitBuffList(b)
-----------以上是赋予变量-----------------------------

--鼠标指向偷窃
if BeeIsRun("/cast 偷窃",d) and BeeStringFind(UnitCreatureType(d),"亡灵,恶魔,人型生物") and BeeUnitCanAttack(d) and IsSpellInRange("偷窃",d)==1 and BeeStringFind("潜行",buff) and not BeeUnitAffectingCombat(b) then
    BeeRun("偷窃",d)
    BeeUnitCastSpellDelay("偷窃",3,d)
end


其实很简单,我们通常使用BeeRun语法时,判断条件为Unit,这个Unit可以为任何目标,target,player,等等,当然也可以是鼠标指向目标,"mouseover",只要设定判断目标为"mouseover"就能做出鼠标指向函数.
甚至你可以这样写:

--无脑剥皮
if UnitIsDeadOrGhost(d) 注释:如果鼠标指向为尸体  and  BeeIsRun("/cast 剥皮",d)注释:可以对鼠标指向目标释放剥皮 and BeeStringFind(UnitCreatureType(d),"野兽,龙类") 注释:判断鼠标指向目标为野兽或者龙类  and IsSpellInRange("剥皮",d)==1注释:判断剥皮释放距离 and not BeeUnitAffectingCombat(b) 注释:自身不在战斗中 then
    BeeRun("剥皮",d) 注释:对鼠标指向目标释放剥皮
end


请对照注释,举一反三,自己修改,不要无脑照搬.BEE板块的目的是指导大家学习研究lua语言和脚本的写法.并不是让你抄作业,抄完用就完事了,下载了脚本之后自己看看,研究研究.另外呼吁各位脚本作者,在写脚本的时候如果可以,请在每段脚本上都标识这段脚本的含义,作用.这样有利于新手学习.

宠物的语法其实更加简单,很多人看了脚本学习手册,发现没有语法就不知道该怎么办,其实我们忘了一件事,BEE脚本是可以调用暴雪宏的,既然可以调用暴雪宏,如果写不出类似的语法,直接用宏来实现不就可以了?

比如下面这段脚本,判断目标如果不在战斗状态,那么BB开始攻击:


if BeeUnitCanAttack() 注释:判断能否攻击目标 and not BeeUnitAffectingCombat("target") 注释:目标不在战斗中 then
    BeeRun("/petattack",target")  注释:调用宏命令,宠物攻击目标
或者
    BeeRun("/petattack\n/cast !自动射击",target") 注释:调佣宏命令宠物攻击目标,释放自动射击
end

类似的宏命令: /assist 协助,/focus 设置焦点目标,/clearfocus 清除焦点目标,/cleartarget 清除目标,/petattack 宠物攻击,/petfollow 宠物跟随,/petstay 宠物原地停留,/petpassive 宠物被动姿态


甚至你可以混合暴雪自身宏命令,做个非常炫酷的斩杀脚本:


--牛逼拉轰斩杀刷屏犯贱版
if BeeIsRun("/cast 斩杀") and BeeSpellCD("斩杀")==0 then
    BeeRun("/cast 斩杀\n/粗鲁\n/y 打死你个龟孙!!",target")
end

红色部分皆为暴雪自带宏命令
还是那句话,举一反三,不要无脑照搬


回复

使用道具 举报

发表于 2021-10-26 14:44:09 | 显示全部楼层
宏里怎么带上自动攻击?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-26 14:53:56 | 显示全部楼层
桥头老杨 发表于 2021-10-26 02:44 PM
宏里怎么带上自动攻击?

宏里怎么带上自动攻击?不是很明白你表达的是啥意思
如果想用脚本实现,那就使用
BeeAttack()来实现
例子1:

if BeeAttack() then
return
end
自动寻找目标攻击

例子2:

if BeeAttack(0,1) then
return
end

攻击当前目标

例子3:

if BeeAttack(1) then
return
end

停止攻击

如果你问的是自动攻击暴雪宏怎么写,暴雪自动攻击为/startattack,3.35版本下可以自动寻找最近的目标开始攻击.
插入BEE脚本的写法是 BeeRun("/startattack")
回复 支持 反对

使用道具 举报

发表于 2021-10-26 14:59:55 | 显示全部楼层
joylau 发表于 2021-10-26 02:53 PM
宏里怎么带上自动攻击?不是很明白你表达的是啥意思
如果想用脚本实现,那就使用
BeeAttack()来实现

受教了!小弟谢谢大神!
回复 支持 反对

使用道具 举报

发表于 2022-4-15 19:53:49 | 显示全部楼层
谢谢大神 自己研究一下  看下怎么弄
回复 支持 反对

使用道具 举报

发表于 2022-10-3 15:06:07 | 显示全部楼层
好人一生平安,总有许多大佬出现,照耀新手前行
回复 支持 反对

使用道具 举报

发表于 2023-10-3 16:39:27 | 显示全部楼层
本帖最后由 ppyuer110 于 2023-10-3 04:43 PM 编辑

请问下,鼠标侧键判断怎么写?我将 IsAltKeyDown() 中的Alt 换成 MOUSE_BUTTON4 用不了,换成 button == MOUSE_BUTTON4 也无法使用
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 01:54 AM , Processed in 0.051078 second(s), 26 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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