返回列表 回复 发帖

ShortKey 4.21 全能动作按键绑定

ShortKey 4 全新推出

ShortKey在wow2.0前可以说将blz赋予的动作功能合法的发挥到了极致, 在2.0后Blz将ShortKey几乎所有的优点都融入了安全模版, blz架构上的翻天覆地变化导致ShortKey不得不重新设计, 所以版本直接跳到4好和以往区分.

以往历史版本:http://www.cnblogs.com/simonw/archive/2005/10/20/258271.html

在经过2万荣誉的战场后, ShortKey 4 新版终于出炉了, 一方面因安全模版没有以前强大了, 另一方面同样因安全模版及新增api更简单的实现了不少更方便的功能.

功能方面:
1. 支持键盘鼠标等各个组合按键绑定到法术, 物品, 技能, 宏, 目标, 系统功能.
2. 支持在自定义窗体上的鼠标按键绑定.
3. 支持同一按键上的序列法术动作绑定.
注意本插件依赖 EVA Framework 请下载.

插件优点:
1. 完全载入期绑定, 资源占用极小, 运行时可以说不再占用额外资源.
2. 完全静态lua配置, 以后不论去哪里玩wow只需要带这一个插件就不用再配各种按键了.
3. 高级使用者完全可以用ShortKey来代替动作条插件,治疗插件,智能buff插件, 宏插件等n多占资源的插件.

本插件适用对象:
1. pk及键盘流爱好者, 游戏根据地不稳定的玩家.
2. 至少有学过一门计算机语言, windwos应用熟练.
敬告: 如果你不符合上面2点还是别用了, 会让你很迷茫的.

如何配置:
用记事本打开ShortKey目录下的ShortKeyConfig.lua根据里面的说明编辑, 有基础的一看就懂, 没基础的如果实在想用让别人帮你配吧.
调试功能, /sk 配置条目
例如 /sk {Key = "F", Type = "item", Value = "炉石", Target = "player"}


更新:
v4.21 2008.3.21
1. 修复了对第三方插件窗体支持的bug, 更好的支持在第三方插件窗体做按键绑定.

v4.2 2008.3.19
1. 增加了在同一按键上针对不同形态, 潜行与否, 动作条序号变化而绑定不同技能的功能. 通过新增Condition参数实现.
2. 修正, 重复配置的键盘按键, 后面的将覆盖前面的配置.

v4.13 2007.8.25
1. 修复了Type为actionbar, pet, maintank, mainassist, click时的不正常工作
2. 增加了2个系统按键绑定功能设定, 重载UI, 查看按键绑定列表.
3. 增加了调试功能, /sk 配置条目

v4.12 2007.8.9
修复了当button为checkbutton时引发的bug, 内部对象ShortKeyButton已经能完全从任意类型button继承.

v4.11 2007.8.6
修复了在同一窗体上绑定同一个键对应友善和敌对目标时, 后面的设置会覆盖前面设置的bug.

v4.1 2007.8.2
1. 已全面支持各种类型的按键绑定
2. 宏绑定,增加支持宏名字
3. 序列动作增加智能施法选项, 施法5秒后无动作自动复位
4. 使用Eva Framework 重新设计, 大幅优化代码结构, 需要注意的是:
因以前的设计失误, 此次配置结构发生小幅变化, 增加了Condition配置项, 以前Target="helpbutton"和Target="harmbutton"这样的配置需要改成C和C 您的配置才能正常使用. 在此深表歉意, 另外, ShortKey的配置结构一般不会轻易变化的.

v4.01 2007.7.10
1.修复了当配置了小队窗体后载入时没有小队成员也显示小队窗体的问题.
2.修复了宏绑定的bug, 附带了宏绑定的示例.

v4.0 2007.7.9
wow2.0后重写

最后提示:
1. 本插件没有界面所以也就没有截图
2. 直接下载了没法用, 必须自己根据自己情况配置.
3. 再一个别向simonw提除了暗牧以外的任何职业技能该如何配置, 我只懂暗牧, 其他职业都没玩过.

非要看图的话, 截个我的部分配置代码
shortkey.jpg
2007-8-2 01:58


游客下载地址: ShortKey4.21.rar

ShortKey4.13.rar (4.78 KB)

ShortKey4.2.rar (5.56 KB)

ShortKey4.21.rar (5.82 KB)

2

评分次数

在经过2万荣誉的战场后, ShortKey 4.0 新版终于出炉了...
simonw还真是那个啊……
都不说帮我测试下Glory
害得我自己搞了4w多荣誉……
有了这个我可以按ALT+Z玩游戏了(其实我现在就可以了)  =.=
输入法激活按键技能,不加载也激活,是不是得另写一个防输入法激活按键的?
错了,是SpellBinder干扰的,SpellBinder用过后可以不加载就能使用,保存在bindings-cache.wtf里了。

可是加载 ShortKey出现这种情况了,位置和比例都变了
WoWScrnShot_070907_221414.jpg
2007-7-9 22:28

更改如下
ShortKey.ExtFrame = {
--自定义小队窗体名称
Party = {PartyMemberFrame1,PartyMemberFrame2,PartyMemberFrame3,PartyMemberFrame4},
--自定义目标窗体名称
Target = {TargetFrame},
}
ShortKey.Config[1] = {
--将E键绑定为向前走
{Key = "E", Type = "command", Value = "MOVEFORWARD"},
{Key = "D", Type = "command", Value = "MOVEBACKWARD"},
{Key = "S", Type = "command", Value = "STRAFELEFT"},
{Key = "F", Type = "command", Value = "STRAFERIGHT"},
{Key = "SHIFT-B", Type = "command", Value = "OPENALLBAGS"},
{Key = "F5", Type = "command", Value = "TOGGLECHARACTER0"},
{Key = "F6", Type = "command", Value = "TOGGLESPELLBOOK"},
{Key = "F7", Type = "command", Value = "TOGGLETALENTS"},
{Key = "F8", Type = "command", Value = "TOGGLEQUESTLOG"},
{Key = "F9", Type = "command", Value = "TOGGLESOCIAL"},
{Key = "F10", Type = "command", Value = "TOGGLEWORLDMAP"},
{Key = "F11", Type = "command", Value = "TOGGLEBATTLEFIELDMINIMAP"},
{Key = "F12", Type = "command", Value = "TOGGLELFGPARENT"},
{Key = "ESCAPE", Type = "command", Value = "TOGGLEGAMEMENU"},
}
ShortKey.Config[2] = {
Class = "术士",
Character = "XXXXXX",
--按E键为自己施放"真言术:盾"
{Key = "R", Type = "spell", Value = "痛苦诅咒", Target = "target"},
{Key = "A", Type = "spell", Value = "吸取生命", Target = "target"},
{Key = "C", Type = "spell", Value = "鲁莽诅咒", Target = "target"},
{Key = "T", Type = "spell", Value = "献祭", Target = "target"},
{Key = "ALT-D", Type = "spell", Value = "吸取法力", Target = "target"},
{Key = "G", Type = "spell", Value = "恐惧", Target = "target"},
{Key = "H", Type = "spell", Value = "生命分流"},
{Key = "Y", Type = "spell", Value = "放逐术", Target = "target"},
{Key = "V", Type = "spell", Value = "虚弱诅咒", Target = "target"},
{Key = "7", Type = "spell", Value = "吸取灵魂", Target = "target"},
{Key = "5", Type = "spell", Value = "生命虹吸", Target = "target"},
{Key = "Z", Type = "spell", Value = "语言诅咒", Target = "target"},
{Key = "X", Type = "spell", Value = "元素诅咒", Target = "target"},
{Key = "ALT-C", Type = "spell", Value = "暗影诅咒", Target = "target"},
{Key = "W", Type = "spell", Value = "暗影之怒", Target = "target"},
{Key = "ALT-E", Type = "spell", Value = "生命通道", Target = "target"},
{Key = "Q", Type = "spell", Value = "死亡缠绕", Target = "target"},
{Key = "6", Type = "spell", Value = "点燃", Target = "target"},
{Key = "2", Type = "spell", Value = "防护暗影结界", Target = "target"},
{Key = "1", Type = "spell", Value = "恐惧嚎叫"},
{Key = "3", Type = "spell", Value = "暗影箭", Target = "target"},
{Key = "4", Type = "spell", Value = "暗影灼烧", Target = "target"},
{Key = "5", Type = "spell", Value = "灼热之痛", Target = "target"},
--按G键使用坐骑
{Key = "J", Type = "item", Value = "黑色战豹缰绳", Target = "player"},
--鼠标滚轮上滑3次会依次对目标使用魔息术", "侦测次级隐形", "火焰之盾3个法术
{Key = "SHIFT-MOUSEWHEELUP", Type = "spell", Value = {"魔息术", "侦测次级隐形", "火焰之盾"}, Target = "target"},
{Key = "SHIFT-MOUSEWHEELDOWN", Type = "spell", Value = {"魔息术", "侦测次级隐形", "火焰之盾"}, Target = "player"},
--在小队头像上按鼠标左键会为该小队成员施放"快速治疗"法术
{Key = "LeftButton", Type = "spell", Value = "快速治疗", Target = "helpbutton", TargetFrames = ShortKey.ExtFrame.Party},
{Key = "ALT-LeftButton", Type = "spell", Value = "强效治疗术", Target = "helpbutton", TargetFrames = ShortKey.ExtFrame.Party},
{Key = "CTRL-LeftButton", Type = "spell", Value = "真言术:韧", Target = "helpbutton", TargetFrames = ShortKey.ExtFrame.Party},
--在小队头像上按SHIFT+鼠标左键为选中该小队成员
{Key = "SHIFT-LeftButton", Type = "target", TargetFrames = ShortKey.ExtFrame.Party},
{Key = "RightButton", Type = "spell", Value = "真言术:盾", Target = "helpbutton", TargetFrames = ShortKey.ExtFrame.Party},
{Key = "ALT-RightButton", Type = "spell", Value = "复活术", Target = "helpbutton", TargetFrames = ShortKey.ExtFrame.Party},
{Key = "CTRL-RightButton", Type = "spell", Value = "防护暗影", Target = "helpbutton", TargetFrames = ShortKey.ExtFrame.Party},
--在小队头像上按SHIFT+鼠标右键为协助该小队成员
{Key = "SHIFT-RightButton", Type = "assist", TargetFrames = ShortKey.ExtFrame.Party},
{Key = "MiddleButton", Type = "spell", Value = "恢复", Target = "helpbutton", TargetFrames = ShortKey.ExtFrame.Party},
--在目标头像上按鼠标左键如果他是友方目标则会为他施放"快速治疗"法术
{Key = "LeftButton", Type = "spell", Value = "快速治疗", Target = "helpbutton", TargetFrames = ShortKey.ExtFrame.Target},
{Key = "RightButton", Type = "spell", Value = "真言术:盾", Target = "helpbutton", TargetFrames = ShortKey.ExtFrame.Target},
{Key = "MiddleButton", Type = "spell", Value = "恢复", Target = "helpbutton", TargetFrames = ShortKey.ExtFrame.Target},
--在目标头像上按鼠标左键如果他是敌方目标则会为他施放"驱散魔法"法术
{Key = "LeftButton", Type = "spell", Value = "驱散魔法", Target = "harmbutton", TargetFrames = ShortKey.ExtFrame.Target},
{Key = "RightButton", Type = "spell", Value = "沉默", Target = "harmbutton", TargetFrames = ShortKey.ExtFrame.Target},
{Key = "MiddleButton", Type = "spell", Value = "精神控制", Target = "harmbutton", TargetFrames = ShortKey.ExtFrame.Target},
--在目标头像上按SHIFT+鼠标右键为调出改目标菜单
{Key = "SHIFT-RightButton", Type = "menu", TargetFrames = ShortKey.ExtFrame.Target},
左边的partyframe载入时无队友也会显示,这是个问题,正在解决.

不过 partyframe和targetframe错位令人费解, 你是否用了别的什么unitframe插件了呢, 如果不是默认的frame,需要根据配置自己改变. 而且其他绑定类插件可能会对shortkey产生影响.


ALT-Z的话还是不行, 看不到自己和对方状态了...

趁双倍的时候开始编插件啊~
只下不顶不成体统,以前用过,赞一个,强大啊
貌似宏绑定不太顺利 是不是宏要用E文名字?
宏是有问题, 少加了个参数, 稍后修正
终于更新了,等死我了,以前的技能我全用shortkey绑定的,前阵子没有简直就没法玩,现在在维护,稍后上线去看看。
提个建议


{Key = "X", Type = "spell", Value = {"技能A", "技能B"}, Target = "Target"},

这个每次都必须是使用完了技能A,再使用技能B

这里如果:

技能A CD=10秒

技能B CD=8秒

如果在使用技能A 后的十秒,没有使用技能B,能否直接跳过技能B直接继续使用技能A

也就是说有个优先判定,前面的技能A是优先使用技能,无论技能B是否在CD中,只要技能A不在CD中,优先使用技能A

如果楼主能实现,这个相信会更完美,建议您考虑考虑
可不可以像以前一样,在游戏按键设置界面里进行按键绑定啊,觉得这样还是有点不方便,比如同样是一个职业的不同角色,坐骑啊饰品啊都不一样,那是不是还要再加一段专门的角色代码,可不可以在一个职业里同一个按键上针对不同的角色绑定不同的物品呢
to newjxqy
这个功能简单的可以通过shortkey中扩展宏来实现. shortkey直接加入参数支持这样的功能, 容我考虑下是否美观的问题.

to vivibear
同职业共同的按键你可以设置一个按键组, 然后再为不同的角色设定他们特定的按键组, 才能解决你的问题. 参考Class和Character2个属性.
"游戏按键设置界面里进行按键绑定"这个未来会考虑, "在一个职业里同一个按键上针对不同的角色绑定不同的物品", 这个不打算实现, 已有方式已能很好解决, 若加入这样的功能会给配置上造成很大的复杂程度, 看起来很不美.
谢谢。请问我说的那个方法如何通过扩展宏实现呢,麻烦指导一下,谢
里面带一个宏的例子
--将宏绑定到0键上, 换行用\n表示
{Key = "0", Type = "macro", Value = "/say test1\n/yell test2"},

具体怎么写宏, 就看你发挥啦~~, lostcup翻译过一个宏教程不错.
原帖由 newjxqy 于 2007-7-10 23:35 发表
谢谢。请问我说的那个方法如何通过扩展宏实现呢,麻烦指导一下,谢
/castsequence reset=10 技能A, 技能B, 技能B

貌似是这样
老大,你这个插件的配置文件里面的注释是什么符号,我现在下载的这个版本默认就有RSNOW老大那些脚步在里面,是不是就是生效的了,如果我不想要这个脚步,怎么注释掉他们,请指教。

另外ALT-X就是标识ALT和X一齐按吗?或者老大你可以统一一下使用ALT+X这样我们会好理解一点。

还有就是我在使用XPERL这个头像插件,会不会出现上面提到的队伍框和团队框出现的问题,老大你的这个插件可以支持的吧。

不好意思,问了这么多弱智问题,希望老大不吝赐教。
这个绑定宏是否等于无视游戏里的宏命令 新写一个

比如游戏里我已经设置了个宏 名字是 “123”
/CAST 破甲攻击
/CAST 英勇打击

CONFIG里设置就该是
{Key = "0", Type = "macro", Value = “/CAST 破甲攻击\n/CAST 英勇打击"},

能不能设置这样一个功能 绑定宏的名字?这样方便很多……
比如{Key = "Q", Type = "macro", Value = “123”}
原帖由 华丽的匿了 于 2007-7-11 00:07 发表



/castsequence reset=10 技能A, 技能B, 技能B

貌似是这样
这样的话 一直按 那个10秒会一直重置时间的

比如 /castsequence reset=6 盾牌猛机, 破甲, 破甲,破甲

看似很完美的宏 但是如果一个破甲因为各种原因没放出去 那就会多卡一下破甲

而大部分人的需求就是某技能CD一到就用掉 在该技能用掉后 再使用其他技能 然后那个技能CD好了 马上再用那个技能

没记错的话 6秒重直时间是按照最后一次点这个宏开始算的

就是说如果你一直点这个宏 reset=6 这个有没有根本没区别

以前大可以用/施放 技能A /施放 技能B的傻瓜宏来判断 现在就不行了
原帖由 华丽的匿了 于 2007-7-11 00:07 发表



/castsequence  技能A, 技能B, 技能B
貌似是这样
目前我暂时用的就是这个宏,这个宏有个缺点,只要按了一下这个宏的按键,就必须等到 技能B, 技能B 都使用完才能重至

如果说reset=10是指第一次按该宏的时候,那么无论你按了多少次这个宏,只要第一次按的10秒一到就自动重至,那就完美了

可惜不是这样的,判断是最后一次按这个宏的时候计时10秒,所有经常卡在技能B上

暂时没有好的办法解决
返回列表