大象无形 发表于 2014-11-12 23:48:40

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

本帖最后由 大象无形 于 2014-12-1 15:51 编辑

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


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

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




大象无形 发表于 2014-11-13 09:52:57

本帖最后由 大象无形 于 2014-11-13 12:08 编辑

玄月无尘 发表于 2014-11-13 03:16
1、这是getDebuffRemain函数的内容,没看到修复了什么,如果写到了专用函数里,请告知下,我在下一个版本修 ...
1.getDebuffRemain的函数bug其实是出在UnifDebuffID这个函数里

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

玄月无尘 发表于 2014-11-13 03:16:17

本帖最后由 玄月无尘 于 2014-11-13 03:17 编辑

      if UnitDebuffID(Unit,DebuffID,Source) ~= nil then
                return (select(7,UnitDebuffID(Unit,DebuffID,Source)) - GetTime());
      end
      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的,影响很明显

catbreast 发表于 2014-11-13 08:04:10

近距离学习下

w33130568 发表于 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

玄月无尘 发表于 2014-11-13 15:21:03

大象无形 发表于 2014-11-13 15:02
表达不够清楚,传入的missingHP的值40

好吧,我表达的也不够清楚。
这个函数就是用来表达团队总体缺血量的一个函数,你所说的累加BUG,是刻意为之的。
页: [1] 2
查看完整版本: 【6.0.3】PVE 萨满-恢复 升级过程中五人副本轻松刷,修改脚本支持原版GodHand