simonw代码@痕记

WOW插件:ShortKey 4.0 发布(2007.7.9)


下载:http://bbs.cwowaddon.com/thread-805-1-1.html
.
如何更好的使用以及示例:http://simonw.cnblogs.com/archive/2005/10/31/265531.html

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.0 新版终于出炉了, 一方面因安全模版没有以前强大了, 另一方面同样因安全模版及新增api更简单的实现了不少更方便的功能.

作者: simonw From CWDG  2区 暗影之月, 人类牧师, 民族英雄
Blog: http://simonw.cnblogs.com/
官方站点: http://bbs.cwowaddon.com

功能方面:
1. 支持键盘鼠标等各个组合按键绑定到法术, 物品, 技能, 宏, 目标, 系统功能.
2. 支持在自定义窗体上的鼠标按键绑定.
3. 支持同一按键上的序列法术动作绑定.

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

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

如何配置:
用记事本打开ShortKey目录下的ShortKeyConfig.lua根据里面的说明编辑, 有基础的一看就懂, 每基础的如果实在想用让别人帮你配吧.

最后提示:
本插件没有界面所以也就没有截图, 再一个别向simonw提除了暗牧以外的任何职业技能该如何配置, 我只懂暗牧, 其他职业都没玩过.


以下内容失效
------------------------------------------------------

简介:
ShortKey为你的技能,装备,物品使用提供一键绑定的功能。恰当使用能让你的微操作水平提高一个等级。强大的可配置功能为你提供无限扩展可能,完全的静态方式配置让你一劳永逸。
1.提供了人物身上19项装备,10个自定义物品,各职业20个自定义魔法,20组自定义组合技能使用单键绑定。
2.支持条件触发,自定义动作,超强动作延时,保留目标,鼠标动作,wow脚本等功能。
3.内置装备切换,buff检查,血魔状态,pvp目标锁,等常用动作与条件。

v3.2
1.加入了界面元素的鼠标动作绑定, 支持对玩家栏, 目标栏, 队友栏, 其他自定义栏的鼠标左,中,右,4,5键以及与alt, control, shift的组合动作绑定.

v3.0
1.全新的独立延时引擎设计更加方便二次开发,增加了Cycle动作循环与Interval循环间隔2个新参数。
2.大幅度优化代码,更高的执行效率和更少的资源占用。
3.将action,condition放入了ShortKeyExtLib.lua扩展库文件,作为第三方程序提供。
4.加入了序列动作概念KeyPress参数,可以将各种动作在不同时间映射到一个键上。

v2.3
1.增加了有趣的讲故事功能,配合我的ShortRobot可以做故事点播。
2.增加了PVP目标锁,检测法术是否可用等功能。
3.配置文件中对法师的技能进一步详细化,修正了少许bug。

v2.2
1.增加了动作延时指令Delay,但无法支持对魔法技能的延时。
2.增加了对Script的支持,可以把宏中/script 之后的东西都复制过来。
3.修正了配置文件中对部分职业的配置错误,并增加了部分示例。

v2.01
修复了装备使用出错的bug,增加了一个列出自己身上buff英文名称的函数。

v2.0
再次重写所有代码,全新的设计思路,无限的扩展可能。在这里需要向以前版本的用户道歉,由于变化巨大无法兼容以前的配置文件,需要从新配置。
1.内置了条件和动作的支持,同时支持条件动作自定义。
2.增加到20个自定义法术
3.增加到20个自定义组合技能
4.增加到10个自定义物品
5.对所有职业提供了示例性配置
6.去掉了所有的游戏中配置支持,完全静态配置

v1.2
1.提供了5个自定义组合技能的单键绑定功能。(前提是这些技能可以在一起施放)
2.将配置文件独立了出来

v1.0 :
支持wow 1800,我几乎重写了所有的代码,使原先只能支持牧师使用变为支持所有职业。
1.提供了人物身上全部18项装备的使用单键绑定(前提是你的装备可以使用)。
2.提供了5个自定义物品的使用单键绑定。
3.对于特殊自定义物品坐骑和绷带的单键绑定支持,绷带对自己使用。
4.对各种职业提供10个技能魔法单键绑定支持。
bug修复:
1.修正了自我施法后目标有可能选择错误。
2.修正了牧师暗影形态还原时可能会取消其他buff的错误。

v0.5:
为牧师常用技能提供单键绑定功能
1.单键绑定的自我施法功能包括:恢复,快速治疗,强效治疗,盾,暗影形态
2.恢复魔法的重复buff检测,防止魔法浪费
3.单键绑定的打断施法,自我施放技能包括:马
4.单键绑定的打断施法,释放魔法,物品,装备的技能包括:魔杖,心灵尖啸,沉默,饰品,头盔,鞋子
5.自定义物品使用的单键绑定。


安装使用:
解开压缩包,将ShortKey文件夹拷贝到你的World of Warcraft\Interface\AddOns\ 文件夹下。
例如C:\Program Files\World of Warcraft\Interface\AddOns\ShortKey
进入wow游戏,按esc键点击按键设置,找到ShortKey即可做快捷键设置。

配置说明:
配置文件在本插件目录下ShortKeyConfig.lua文件,请对此文件编辑。
通用参数说明:
Target : 默认为当前目标.支持wow的unit参数,player代表自己,target代表目标,patryN代表第n个队友.部分技能支持玩家姓名输入.
StopCast : 默认为true.真假值,只支持true/false输入.是否在执行技能前后先执行技能打断,大部分组合技能需要开启此设置.
HoldTarget : 默认为false.真假值,只支持true/false输入.是否保存当前目标.
Delay : 以秒为单位的数字,设定动作执行的延时时间.
Cycle : 整数,默认为1,设定动作循环执行的次数,-1为无限循环,0为不执行.
Interval : 默认为5,以秒为单位的数字,设定每组动作间的执行延时时间.
KeyPress : 真假值,只支持true/false输入.默认为false.表示此动作实际是否需要按下键才会执行.
Script : 支持wow脚本但不支持宏,脚本中的"前需要加\,当此参数不为空时将忽略其他参数.
Condition : 默认为空.根据条件决定技能是否执行.
条件(Condition)参数说明:
Name : 条件名称,可以使用本插件内置的Condition.xxxx形式的条件名,也可以使用自定义函数名称,形式如"yourFunctionName".
State : 真假值,只支持true/false输入.表示为真或者假时条件成立.
Parameters : 条件的参数,条件函数的参数列表,顺序应与原有函数一致.

物品(Item)参数说明:
Name : 物品名称,支持模糊名,若有重名存在则选取最先找到的.

装备(Equipment)参数说明:
Name : 身上的装备名称,支持模糊名,若有重名存在则选取最先找到的.

法术(Spell)参数说明:
Name : 法术精确名称.
Rank : 法术级别,若无级别无需填写.
ToggleBuff : 系统内置buff名称,英文.法术执行时你会有一个持续buff,取消时通过取消buff取消法术,这样的情况需要用到此参数,一般这样的技能很少.

组合技能(Combo)参数说明:
序号[0] : 每个组合技能的序号[0]提供对本组合技能的总体配置.Name可以填写任意描述,如果此项目中填写HoldTarget或者Condition将对本技能全局生效.
Type : 技能类型. 只支持以下4种类型 Type.Equip, Type.Item, Type.Spell, Type.Action

动作(Action)参数说明:
Name : 动作名称,可以使用本插件内置的Action.xxxx形式的动作名,也可以使用自定义函数名称,形式如"yourFunctionName".
Parameters : 动作的参数,动作函数的参数列表,顺序应与原有函数一致.

内置条件与动作说明:
条件
IsBuffUp 目标是否有buff,参数目标名,buff名
IsDebuffUp 目标是否有debuff,参数目标名,debuff名
IsHpInRange 目标生命值是否在范围内,参数目标名,条件(>,<,=),生命值(若在0和1之间则为百分比否则为绝对值)
IsMpInRange 目标法术,能量,怒气值是否在范围内,参数目标名,条件(>,<,=),生命值(若在0和1之间则为百分比否则为绝对值)
IsItemUseable 物品是否处于可用状态,参数物品名
IsSpellUseable 技能是否处于可用状态,参数技能所在的动作按钮编号

动作
CancelSelfBuff 取消自己的buff,参数buff名称
SwitchEquip 更换装备,参数装备位置(参见localization装备位置的中文定义),装备1名称,装备2名称
Jump 跳跃
Say 说话,参见wow函数 SendChatMessage参数
ShowBuffName 显示目标身上的buff或者debuff,参数目标名,类型名(buff或者debuff)
LockTarget 锁定PVP目标,对npc无效
UnLockTarget 解锁PVP目标


欢迎讨论与意见反馈。




 

posted on 2005-10-20 01:08 simonw 阅读(11624) 评论(56)  编辑 收藏 所属分类: World Of Warcraft

评论

#1楼  2005-10-27 09:29 colortear [未注册用户]

支持,我很喜欢这个UI,操作更体贴自己了,hoho。   回复  引用    

#2楼  2005-10-31 10:06 colortear [未注册用户]

我在使用1.0的过程中出现了一些问题;
我自己想定义几个技能进去,是否只需要改ShortKeyClass.lua里面的参数
如:SK_ClassSpells[8] = "";
我改成了 SK_ClassSpells[8] = ShortKey_CreateSpellInfo("心灵之火", "6", "", "");
更改完任何一个SK_CLASSSPELLS括号里面的内容,在游戏显示界面就会出现名字是 乱麻的情况,具体能不能使用我也就没有敢试。
还有,我不太了解我填写中文的技能名字就可以释放那个技能了?还是您在其他的参数里面做了对应的定义?

我在MSN里面联系过您。   回复  引用    

#3楼 [楼主] 2005-10-31 14:36 simonw      

感谢你的支持,在存盘的时候应该保存为utf-8或者unicode的格式就没问题了。
至于中文技能名称如果把握不准确可以在wow中打开宏设置编辑一个宏,按住shift点击你的技能就会出现中文名,复制下来即可。   回复  引用  查看    

#4楼  2005-11-01 17:46 Force [未注册用户]

请问弹药(即箭和子弹)能更换吗?   回复  引用    

#5楼 [楼主] 2005-11-01 20:13 simonw      

ShortKey 不是换装插件,而弹药项目是始终无法使用的,所以没有被加入。如果想换装有专门的换装插件。   回复  引用  查看    

#6楼  2005-11-02 09:11 Force [未注册用户]

哦,谢谢,明白了   回复  引用    

#7楼  2005-11-07 23:17 请教 [未注册用户]

有了它我就可以把不用看的,总用的技能放起来了啊,能省不少地方,不过我是在网吧玩,如何保存它的设置呢   回复  引用    

#8楼 [楼主] 2005-11-09 15:26 simonw      

把你配置好的ShortKeyConfig.lua存到邮箱里到时候在覆盖就可以了。   回复  引用  查看    

#9楼  2005-11-17 08:51 pass [未注册用户]

不是说要加入和动作邦定的组合技能吗???怎么还没出来1.3或1.3x版?   回复  引用    

#10楼 [楼主] 2005-11-17 20:01 simonw      

忙呀,理解下。前段一直再弄ShortUnitFrame,刚发布了今天已经开始着手开发ShortKey新版本了,变化预计将是很大的。   回复  引用  查看    

#11楼  2005-11-22 18:15 pass [未注册用户]

首先恭喜你开发成功新版本。接着我的问题来了
{Name = "摔拌+反击+猛禽一击", HoldTarget = true}

如何将这个组合技能和跳跃绑定在一起?当有目标时候,就是完成 跳跃+摔拌+反击+猛禽一击;而无目标或目标不在技能范内,就只完成跳跃动作。

这个思路怎么搞?
  回复  引用    

#12楼  2005-12-02 16:00 pass [未注册用户]

动作可否加入 向左或右跑 ? 按Q(E)键的向左或右跑   回复  引用    

#13楼  2005-12-02 19:33 pass [未注册用户]

列出自己身上buff英文名称的函数?目标身上debuff英文名称的函数能出来一个吗?   回复  引用    

#14楼 [楼主] 2005-12-02 21:04 simonw      

to pass
左右跑可参考wow movement类别的函数,有现成东西。关于buff、debuff英文名称我在下个版本中会做的更好用些,现在写出来写不下了。   回复  引用  查看    

#15楼  2005-12-26 09:53 Ashama [未注册用户]

谢谢 simonw写了这么容易扩展的插件,如果能把action定义为宏就更好了。我也是牧师,写了不少宏,但是每个宏都要放在工具条上才能定义快捷键释放很麻烦,不知道simonw有没有什么好的处理方法   回复  引用    

#16楼 [楼主] 2005-12-26 22:02 simonw      

to Ashama
不支持宏,但支持script,你可以将宏改成script,这样的变迁很容易的。   回复  引用  查看    

#17楼  2006-01-01 14:08 shade [未注册用户]

支持shortkey先
请帮我写一个短暂能量护符+赞达拉英雄护符的参数.
我自己写的是:
[SK_Constant_Class_MAGE] = {
[1] = {
[0] = {Name = "短暂能量护符+赞达拉英雄护符"}, Condition = {Name = Condition.IsItemUseable, State = true, Parameters = {"短暂能量护符", "赞达拉英雄护符"}},
[1] = {Type = Type.Equip, Name = "饰品1"},
[2] = {Type = Type.Equip, Name = "饰品2"},
可是不知怎么的提示有错误,希望帮组.最好是发送一个shortkeyconfig.lua到我的邮箱:larry_cool_x@sina.com或者QQ:35019308 谢谢   回复  引用    

#18楼  2006-01-03 09:34 longqibing [未注册用户]

偶是个菜鸟,想问下那个下载包解压后那个文件夹往那个地方放,是不是还是放在INTERFACE\ADDONS里面啊?? 不懂 请指点 谢谢了 :)   回复  引用    

#19楼  2006-01-03 09:36 longqibing [未注册用户]

饿... 没看到你上面写的安装步骤 才发现.... 呵呵 不好意思哦... 非常支持你的插件   回复  引用    

#20楼 [楼主] 2006-01-03 21:45 simonw      

to shade

[SK_Constant_Class_MAGE] = {
[1] = {
[0] = {Name = "短暂能量护符+赞达拉英雄护符"},
[1] = {Type = Type.Equip, Name = "饰品1"},
[2] = {Type = Type.Equip, Name = "饰品2"},
},
}
不过貌似不能一起使用吧?你可以试试
  回复  引用  查看    

#21楼  2006-01-04 01:55 shade [未注册用户]

thx   回复  引用    

#22楼  2006-01-04 17:02 pass [未注册用户]

2.增加了PVP目标锁,检测法术是否可用等功能?

感觉不出来用处很大--这个版本

可否举例说明一下   回复  引用    

#23楼 [楼主] 2006-01-04 18:03 simonw      

主要修复些bug,增加了有趣的故事功能,PVP目标锁如果你经常pk就知道用处大了。   回复  引用  查看    

#24楼  2006-01-05 01:39 霜之嫁衣 [未注册用户]

随机喊话的宏!! 感谢作者的努力! 很佩服你能沉下心来写这些ui方便大家

[1] = {
[0] = {Name = "复活1"},
[1] = {
Type = Type.Spell, Name = "复活术", Rank = "5",Target = "target",StopCast = false
},
[2] = {Type = Type.Action, Name = "", Script = "SAY={\"%t,乖,快起来~姐姐给你吃糖~\",\"%t,起来吧起来吧,不要赖皮~\",\"%t就要复活了,大家开不开心丫~ %t答:开心~[嫁衣]是最棒的~oh~yeah~\",\"%t,猪撞树上,你撞猪上了,起来起来~\",\"扑在%t的身上开始人工呼吸。%t睁开了美丽的双眼,饱含热泪的扑进[嫁衣]的怀抱大声说:[嫁衣]你救了我,无以为报,让我嫁给你吧\",\"%t,太阳都晒PP了,便便啦~\",\"感谢CCTV,MTV,SMG,上海文广,星空卫视,无线卫视。。。和一直支持,热爱我的FANS给我这次复活%t的机会。%t~以至高无上滴偶的名义,站起来,为偶战斗吧!\",\"请求%t为我冲值点卡,愿意的请点同意\"};"},
[3] = {Type = Type.Action, Name = "", Script = "SendChatMessage(SAY[math.random(1,9)],\"emote\");"},
},   回复  引用    

#25楼  2006-01-05 04:56 生活如此 [未注册用户]

LZ,你的假死+陷阱 不能用啊   回复  引用    

#26楼 [楼主] 2006-01-05 19:43 simonw      

to 霜之嫁衣
再次感谢你的精彩例子,有兴趣加我msn讨论。

to 生活如此
我正在找其他猎人朋友求证,也可以把你的错误提示放上来看看   回复  引用  查看    

#27楼  2006-01-09 17:46 WOW插件 [未注册用户]

自我方面有问题

比如你和一个人决斗
用了一次自我
再和另一个人决斗
再用一次自我

目标变成上一个人了   回复  引用    

#28楼  2006-01-10 08:59 暗夜晨风 [未注册用户]

在游戏里我怎么主动地讲我所指定的故事呢。比如说我写了5个故事,但每次按讲故事那个按钮,总是讲预先设置的那个。
是不是在游戏里可以有命令指定要讲的第几个故事。
此外,是否可以提供显示故事列表的功能,每个故事分成标题和主体两部分,便于点播,就是说可以提取出一个节目单:p   回复  引用    

#29楼  2006-01-11 17:31 Ashama [未注册用户]

再次感谢楼主写了这么好的插件,目前我遇到了一个问题。
我现在开始打术士 目前有 小鬼 魅魔 虚空 地狱犬
我想实现一个一键使用最有价值的宠物技能的方法 (魅魔的魅惑 虚空的牺牲 地狱犬的吞噬)
我目前写到
--术士--
[SK_Constant_Class_WARLOCK] = {
[1] = {
[0] = {Name = "宠物技能(虚空:牺牲;媚魔:魅惑;地狱犬:吞噬)"},
[1] = {
Type = Type.Spell, Name = "牺牲",
Condition = {Name = "testSkillExist", State = true, Parameters = {"牺牲"}}
},
[2] = {
Type = Type.Spell, Name = "魅惑",
Condition = {Name = "testSkillExist", State = true, Parameters = {"魅惑"}}
},
[3] = {
Type = Type.Spell, Name = "吞噬",
Condition = {Name = "testSkillExist", State = true, Parameters = {"吞噬"}}
},
[4] = {
Type = Type.Spell, Name = "火焰盾",
Condition = {Name = "testSkillExist", State = true, Rank = "2", Parameters = {"火焰盾"}}
},
},

并增加了方法
function testSkillExist( skillname )
SK_println("测试技能名"..skillname);
return true;
end

SK_Print_Anything = true;
function SK_println(Message)
if (SK_Print_Anything) then
DEFAULT_CHAT_FRAME:AddMessage(Message, 1, 1, 1);
end
end

可是我查了资料 没有找到判断宠物是否具有制定技能的方法 请simonw指点下
另外如果可能建议在Condition中增加条件判断玩家 /宠物是否具有当前技能的判断
  回复  引用    

#30楼 [楼主] 2006-01-12 03:38 simonw      

to WOW插件
你是说HoldTarget还是目标锁?目标锁需要手动解锁才能再次锁定目标。

to 暗夜晨风
将故事需要配合ShortRobot插件才能实现点播,故事列表再点播中已经支持。

to Ashama
你要做的是不是单键根据不同的宠物类型施放相应的技能呢?你可以判断宠物类型而不需要判断技能是否存在,这样更简单些。   回复  引用  查看    

#31楼  2006-01-12 08:40 Ashama [未注册用户]

请问恶魔宠物类型怎么判断呢?我没有找到对应的api,我使用的api手册如下
http://www.wowwiki.com/World_of_Warcraft_API#Pet_Functions   回复  引用    

#32楼  2006-01-12 08:44 Ashama [未注册用户]

补充下 获取玩家可用技能的方法我试过了 无法获取宠物的技能,所以我就觉得应该有对应获取宠物技能的方法。
现在我的问题是无法区别不同的宠物   回复  引用    

#33楼  2006-01-12 10:34 暗夜晨风 [未注册用户]

我的意思是,我如何在团队频道,广播我所指定的第n个故事,一定要通过robot由其他人发起吗?自己不能主动选择性播放吗?个人看法,这个讲故事的创意在rp服前途无量,或许配合robot可以做出“公共水吧”之类的效果   回复  引用    

#34楼 [楼主] 2006-01-12 13:58 simonw      

to Ashama
由于我无法测试,最好还是询问下其他带宠物的朋友,你可以试试GetStablePetInfo,我不知道是否可以通过名字判断。

to 暗夜晨风
你自己也可以给自己点播啊,故事播放频道,命令接收频道,命令人这都是可以配置的,你可以参照ShortKey_WordsConfig,ShortRobotConfig文件配置,仔细看说明,说明很清楚。   回复  引用  查看    

#35楼  2006-01-12 21:59 暗夜晨风 [未注册用户]

看来要两个结合起来用才可以,原来不想用机器人的,怕被人遥控作出傻事,看来偷懒不得。
期望看到更好的作品:)   回复  引用    

#36楼  2006-01-17 10:20 Ashama [未注册用户]

谢谢simonw我找到了判断宠物技能的方法 不敢独享
先再ShortKeyConfig.lua 增加方法testPetSkillExist 内容如下
--测试宝宝是否拥有指定技能
function testPetSkillExist( skillname )
for i=1, NUM_PET_ACTION_SLOTS, 1 do
local name, subtext, texture, isToken, isActive, autoCastAllowed, autoCastEnabled = GetPetActionInfo(i);
if ( name == nil or name == "" )then
return false ;
end
if ( name == skillname) then
CastPetAction(i);
return true;
end
end
end

有了这个 修改SK_Config_Combo段为:
--术士--
[SK_Constant_Class_WARLOCK] = {
[1] = {
[0] = {Name = "宠物技能(虚空:牺牲;媚魔:魅惑;地狱犬:吞噬)"},
[1] = {
Type = Type.Spell, Name = "诱惑", Target = "target",
Condition = {Name = "testPetSkillExist", State = true, Parameters = {"诱惑"}}
},
[2] = {
Type = Type.Spell, Name = "火焰之盾", Rank = "3", Target = "player", StopCast = "true",
Condition = {Name = "testPetSkillExist", State = true, Parameters = {"火焰之盾"}}
},
[3] = {
Type = Type.Spell, Name = "吞噬魔法", Rank = "1", Target = "target", StopCast = "true",
Condition = {Name = "testPetSkillExist", State = true, Parameters = {"吞噬魔法"}}
},
[4] = {
Type = Type.Spell, Name = "牺牲", Rank = "3",
Condition = {Name = "testPetSkillExist", State = true, Rank = "2", Parameters = {"牺牲"}}
},
},
[2] = {
[0] = {Name = "诅咒增幅+痛苦诅咒"},
[1] = {Type = Type.Spell, Name = "诅咒增幅", Target = "target"},
[2] = {Type = Type.Spell, Name = "痛苦诅咒", Rank = "3", Target = "target"},
},
},


因为我的小术士只有38级。。地狱火 ,末日守卫的技能见都没见过,大家如果需要自己添加就好了
再看看 好像猎人的宠物一般更换没有那么频繁,这个功能术士用到的比较多   回复  引用    

#37楼  2006-01-19 14:23 WOW插件 [未注册用户]

[to WOW插件
你是说HoldTarget还是目标锁?目标锁需要手动解锁才能再次锁定目标。 ]

HoldTarget
  回复  引用    

#38楼  2006-01-31 18:58 tq0123 [未注册用户]

为什么我现在用不了这插件了? 是不是WOW版本又更新的问题?
我的界面就没出现ShortKey   回复  引用    

#39楼  2006-02-04 22:02 jaxon [未注册用户]

请教一下 Delay :Cycle : Interval : 的用法
能给出一个例子吗?   回复  引用    

#40楼 [楼主] 2006-02-05 10:46 simonw      

HoldTarget 没发现这样的问题。插件无法使用请检查下自己的配置。例子再配置文件中有。   回复  引用  查看    

#41楼  2006-02-08 11:02 guoyangln [未注册用户]

想求一个技能的编写。
就是法师在有冰箱的情况下施放冰箱,没有冰箱的情况下施放急速冷却再施放冰箱。
自己不太懂,不会修改,故求教,谢谢   回复  引用    

#42楼  2006-02-14 19:25 cccc11 [未注册用户]

请问下如何写自动拒绝决斗配置?   回复  引用    

#43楼  2006-03-11 01:14 逆道 [未注册用户]

研究了半天还是不明白,我是菜鸟啊,谁帮忙弄个术士上痛苦诅咒`献祭`腐蚀`虹吸的一键办法啊,谢谢了   回复  引用    

#44楼  2006-03-12 17:07 李擦 [未注册用户]

为什么我修改文件后,按键设置里面的 技能名称 不见了   回复  引用    

#45楼  2006-03-13 22:01 dayn9 [未注册用户]

首先感谢搂主的辛勤工作,下面请教一个问题。

为了简化两类ms组合技能的定义,我定义了几个函数:
--返回区分目标敌友的条件--
function SK_FriendCondition(state)
local condition = {
Name = "UnitIsFriend",
State = state,
Parameters = {"player", "target"}
}
return condition
end

--根据目标施法:友,则对其spell1;否则对target2施放spell2--
function SK_FriendOrNot(name, spell1, spell2, target2)

local ret = {
[0] = {Name = name, StopCast = false},
[1] = {Type = Type.Spell, Name = spell1, Target = "target", Condition = SK_FriendCondition(true)},
[2] = {Type = Type.Spell, Name = spell2, Target = target2, Condition = SK_FriendCondition(false)},
}
return ret

end

--根据目标施法:友,则对其施放,否则对自己
function SK_FriendOrMe(spell)
return SK_FriendOrNot(spell, spell, spell, "player")
end

--根据目标施法:友,则对其施放spell1,否则spell2
function SK_HelpOrHurt(spell1, spell2)
return SK_FriendOrNot(spell1 .. "/" .. spell2, spell1, spell2, "target")
end

有了这四个函数,组和技能就简单了:
--牧师--
[SK_Constant_Class_PRIEST] = {
SK_FriendOrMe("真言术:盾"),
SK_FriendOrMe("恢复"),
SK_FriendOrMe("快速治疗"),
SK_FriendOrMe("治疗"),

SK_HelpOrHurt("祛病术", "痛"),
SK_HelpOrHurt("驱病术", "痛(等级1)"),



但是,没反映,如果有时间,粗略帮我看看。
  回复  引用    

#46楼 [楼主] 2006-03-16 22:05 simonw      

to 李擦
仔细检查,修改错了的话就会出现你说的情况

to dayn9
数组是静态的数据结构,你这样做是无法执行的。你可以把你定义的东西赋值给变量然后将变量放入数组来简化定义   回复  引用  查看    

#47楼  2006-03-20 17:46 我爱穷人 [未注册用户]

能不能帮我写一个切换 饰品的
本人对编程实在不行.....

我的职业是猎人, 现在常用 魔暴聋眼和 皇家徽记 但是都要手动切换. 我想有1个参数.配合宏的使用.这样我再每次假死的时候就判断1下.魔暴聋眼能否用,能用的话带上.不能用的话换成徽记. 魔暴龙眼的CD是2分钟. 激活以后能使用20秒.   回复  引用    

#48楼  2006-04-07 09:29 WOWOWOWO [未注册用户]

版本更新了,改了TOC文件里的版本号为11000还是显示过期,要怎样解决呢?   回复  引用    

#49楼  2006-04-10 16:22 darkula [未注册用户]

请教如何增加sm的组合按键,比如:自然迅捷+赞达拉自然护符+闪电链,另外要不要在"法术配置"里增加这几个技能的的名字,如果要的话该怎么写呢?谢谢!   回复  引用    

#50楼  2006-04-12 16:39 pass [未注册用户]

1.10版本不能用了。。。。快推出新版本   回复  引用    

#51楼  2006-05-09 12:11 兽兽 [未注册用户]

饰品2还是有问题,一用就出错。。。能修复咩?   回复  引用    

#52楼  2006-10-12 08:45 pass [未注册用户]

猎人假死脱离战斗后,如果装备的饰品A未冷却,就切换指定的饰品B,
如果装备的饰品B未冷却,就切换指定的饰品A,
说白了就是饰品A\B互换,前提是已装备的饰品CD未到.
如何实现?


切换装备 难道只有主手和饰品1? 不能加如 副手 远程武器 等等????

还有动作 怎么有 Say 却没有 Yell?   回复  引用    

#53楼 [楼主] 2006-10-12 12:28 simonw      

to pass
互换装备得, 函数我写道了扩展库中, 你可以仿照弄下饰品, 最近有点忙, 有空了我会好好完善下常用得库, say和yell你可以直接调用sendmessage来实现, 我那只是举了个例子   回复  引用  查看    

#54楼  2006-10-29 09:22 xq[匿名] [未注册用户]

牧师恢复技能好像还是用的9级恢复 请问怎么改成10级恢复?   回复  引用    

#55楼  2007-07-11 23:01 slamfinger [未注册用户]

比较喜欢shortkey,可以说是居家旅行杀人必备利器。
在这个代码里我有一点困惑。
支持同一按键上的序列法术动作绑定.如何定义法术的等级?
{Key = "e", Type = "spell", Value = {"冰锥术", "火焰冲击"}},
我记得以前可以用rank=“”,现在如何处理?   回复  引用    

#56楼 [楼主] 2007-07-12 10:22 simonw      

to slamfinger
以后主要在这里回复了
http://blog.cwowaddon.com/simonw   回复  引用  查看    


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-07-09 19:54 编辑过