LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
热搜: YJWOW MagicStone BoL
查看: 2154|回复: 17

[GH2.10] 【6.0.3】PVE 萨满-恢复 升级过程中五人副本轻松刷,修改脚本支持原版GodHand

[复制链接]
发表于 2014-11-12 23:48:40 | 显示全部楼层 |阅读模式
本帖最后由 大象无形 于 2014-12-1 15:51 编辑

治疗的脚本比DPS的难写,而且不好测试,这个脚本从头开始写了三天,耗费了不少时间和精力
先上UI,比起DPS脚本复杂了许多


最后的一次性技能是选择了以后会立刻施放,施放完毕后会放弃这个技能,作为手工插入技能的暂时代替方法。
天赋雕文如下

目前100级天赋支持第三个
将解压到GodHand\ClassLibs\目录下
将解压到GodHand\Rotations\目录下




本帖子中包含更多资源

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

x

评分

参与人数 2伸手费 +550 收起 理由
老血 + 500 很给力!
玄月无尘 + 50 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-11-13 09:52:57 | 显示全部楼层
本帖最后由 大象无形 于 2014-11-13 12:08 编辑
玄月无尘 发表于 2014-11-13 03:16
1、这是getDebuffRemain函数的内容,没看到修复了什么,如果写到了专用函数里,请告知下,我在下一个版本修 ...

1.getDebuffRemain的函数bug其实是出在UnifDebuffID这个函数里

  1. function UnitDebuffID(unit, spellID, filter)
  2.         local spellName = "GetSpellInfo(spellID)"
  3.         if filter == nil then
  4.                 return UnitDebuff(unit, spellName)
  5.         else
复制代码

很显然,第一行不应该有双引号的
2.如果我代码没有理解错,castAoEHeal这个函数原来的运作方式是:范围内总计缺血量达到missingHP且人数达到3个时释放技能。这个导致一个问题,比如说我治疗链治疗4个人,每个人回复10%的血量,我会将缺血量设置为40%,这会导致一个问题,如果集中站位,范围内有十几个人,每个人损失3~4%的血量,也会满足这个条件,导致大量过量。我用原来函数的时候基本一直在拉治疗链。我修改后的版本是范围内加上Unit本身,如果如果血量低于lowHP的Unit数量达到numUnits,则执行技能,个人感觉更合理些。
3.castAoEHeal函数原来有一些逻辑上的bug,其中的inRange和missingHealth是一直累加的,而没有在每个Unit里重置
  1. -- declare locals that will hold number
  2.         local bestTarget, bestTargetUnits = 1, 1
  3.         -- now that nova range is built, i can iterate it
  4.         local inRange, missingHealth, mostMissingHealth = 0, 0, 0--<font color="#ff0000">inRange,missingHealth不应在此处定义</font>
  5.         for i = 1, #nNova do
复制代码

点评

1、嗯,UnifDebuffID这个“‘’”确实疏忽了,很好的修正。 2、你理解castAoEHeal这个功能没错,但是“我会将缺血量设置为40%”这个逻辑不对。  详情 回复 发表于 2014-11-13 02:18 PM
回复 支持 反对

使用道具 举报

发表于 2014-11-13 03:16:17 | 显示全部楼层
本帖最后由 玄月无尘 于 2014-11-13 03:17 编辑
  1.         if UnitDebuffID(Unit,DebuffID,Source) ~= nil then
  2.                 return (select(7,UnitDebuffID(Unit,DebuffID,Source)) - GetTime());
  3.         end
  4.         return 0;
复制代码
1、这是getDebuffRemain函数的内容,没看到修复了什么,如果写到了专用函数里,请告知下,我在下一个版本修复。

2、把castAoEHeal函数中的mostMissingHealth    mostInRange两个变量去掉并不是修复BUG,而是你没明白这个函数的用法,请参照内置奶德脚本。

3、一次性插入技能,是可以用GH默认的快捷键模块来释放的,参照狂暴战脚本。

4、大象是目前最认真的脚本作者,希望大家踊跃学习,这个奶萨脚本非常不错。



回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-13 15:31:51 | 显示全部楼层
玄月无尘 发表于 2014-11-13 15:21
好吧,我表达的也不够清楚。
这个函数就是用来表达团队总体缺血量的一个函数,你所说的累加BUG,是刻意 ...

那这个函数是适合用来释放像治疗之潮、宁静这样的超级大招了,奶德的成长是有CD的,所以反应不出来我说的问题,SM的治疗链是无CD的,影响很明显
回复 支持 反对

使用道具 举报

发表于 2014-11-13 08:04:10 | 显示全部楼层
近距离学习下
回复 支持 反对

使用道具 举报

发表于 2014-11-13 08:33:54 | 显示全部楼层
进来学习!!!
回复 支持 反对

使用道具 举报

发表于 2014-11-13 13:15:00 | 显示全部楼层
问个傻瓜问题,比如激流98 我要改成95是不是还是得在X:\World of Warcraft\Interface\AddOns\GodHand\Rotations\Shaman\Restoration.lua 里面改 然后重新启动游戏才可以生效? 这也太麻烦了吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-13 13:18:59 | 显示全部楼层
whip 发表于 2014-11-13 13:15
问个傻瓜问题,比如激流98 我要改成95是不是还是得在X:\World of Warcraft\Interface\AddOns\GodHand\Rotat ...

鼠标移到激流后面的数字,滚轮改变数值
回复 支持 反对

使用道具 举报

发表于 2014-11-13 14:18:26 | 显示全部楼层
大象无形 发表于 2014-11-13 09:52
1.getDebuffRemain的函数bug其实是出在UnifDebuffID这个函数里

很显然,第一行不应该有双引号的

1、嗯,UnifDebuffID这个“‘’”确实疏忽了,很好的修正。

2、你理解castAoEHeal这个功能没错,但是“我会将缺血量设置为40%”这个逻辑不对。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-13 15:02:42 | 显示全部楼层
玄月无尘 发表于 2014-11-13 14:18
1、嗯,UnifDebuffID这个“‘’”确实疏忽了,很好的修正。

2、你理解castAoEHeal这个功能没错,但是 ...

表达不够清楚,传入的missingHP的值40

点评

好吧,我表达的也不够清楚。 这个函数就是用来表达团队总体缺血量的一个函数,你所说的累加BUG,是刻意为之的。  详情 回复 发表于 2014-11-13 03:21 PM
回复 支持 反对

使用道具 举报

发表于 2014-11-13 15:21:03 | 显示全部楼层
大象无形 发表于 2014-11-13 15:02
表达不够清楚,传入的missingHP的值40

好吧,我表达的也不够清楚。
这个函数就是用来表达团队总体缺血量的一个函数,你所说的累加BUG,是刻意为之的。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2022-10-1 08:32 PM , Processed in 0.103806 second(s), 45 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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