和尚,孙悟空套装,劲风煞放小金人来输出,目前使用db自带战斗文件,问题是有时无怪的时候角色也不停的刷劲风煞放小金人,直到精气不够为止 打开trinity的monk战斗文件看了下,比dh的复杂多了,dh的自己勉强可以改改,这个好多看不懂,特请教E大 找到关于sweeping winds(这个是指劲风煞的不?我看这个最像了。。。网上没找到技能的中英文对照翻译,囧。。。)的技能的一段,我把我知道的都写出来,请E大指导修正: // Sweeping winds spam(看起来下面那段是用来判定释放条件的,那这段是用来判定什么的?) if ((Player.PrimaryResource >= 75(这是指精气不少于75的吧) || (这个符号是或?)(hasInnaSet(这个词啥意思?) &&(这个符号是和?) Player.PrimaryResource >= 5)) && CanCast(SNOPower.Monk_SweepingWind, CanCastFlags.NoTimer)(这句看不懂。。。) && (GetHasBuff(SNOPower.Monk_SweepingWind)(要求先放buff技能?) || hasSWK(这词不懂。。)) && DateTime.UtcNow.Subtract(Trinity.SweepWindSpam).TotalMilliseconds >= 4000 && DateTime.UtcNow.Subtract(Trinity.SweepWindSpam).TotalMilliseconds <= 5400)(这个时间判定是指什么不太明白) { Trinity.SweepWindSpam = DateTime.UtcNow;(这个是判定条件吧,看不懂是什么意思) return new TrinityPower(SNOPower.Monk_SweepingWind, 0f, Vector3.Zero, Trinity.CurrentWorldDynamicId, -1, 0, 0);(这句是判定可以释放技能?sweepingwind后面的参数看不懂是啥意思呀) } float minSweepingWindSpirit = hasInnaSet ? 5f : 75f;(释放需要的最小精气?inna是指殷娜套装,然后5精气?) // Sweeping wind(这段看起来像战斗环境的判定) if (!UseOOCBuff(OOC是指什么?) && CanCast(SNOPower.Monk_SweepingWind)(CanCast,SNOPower不懂是啥意思) && !GetHasBuff(SNOPower.Monk_SweepingWind)(这是要求已经放了Buff技能?) && ((TargetUtil.AnyElitesInRange(25, 1)(25码内有一个精英敌人?) || TargetUtil.AnyMobsInRange(20, 1)(20码内有一个普通敌人?) || hasInnaSet (穿了殷娜?)|| (CurrentTarget.IsBossOrEliteRareUnique (当前敌人是boss或冠军怪物?)&& CurrentTarget.RadiusDistance <= 25f))(并且在25码以内?刚才不是有一个25码有精英怪的判定了?) && // Check our mantras(这词不懂是指啥。。。), if we have them, they are up first (Monk_HasMantraAbilityAndBuff() && // Check if either we don't have blinding flash(致盲闪光?好像是个技能吧,刚玩monk,不太熟悉), or we do and it's been cast in the last 8000ms(8秒内已经释放过的意思?) (Trinity.TimeSinceUse(SNOPower.Monk_BlindingFlash) <= 8000 || CheckAbilityAndBuff(SNOPower.Monk_BlindingFlash) || TargetUtil.AnyElitesInRange(25, 1) && Trinity.TimeSinceUse(SNOPower.Monk_BlindingFlash) <= 12500)) || hasSWK) &&(不懂这两句是要判定什么?25码内有一个精英怪,并且释放blindingFlash的12.5秒以内,这是什么要求?hasSWK,SweepingWind,K是指啥?) Player.PrimaryResource >= minSweepingWindSpirit)(精气不少于释放劲风煞的最小值?可以判定是否穿了殷娜套装的?) { Trinity.SweepWindSpam = DateTime.UtcNow;(这句不懂) return new TrinityPower(SNOPower.Monk_SweepingWind, 0f, Vector3.Zero, Trinity.CurrentWorldDynamicId, -1, 0, 0);(这句应该是满足了上面条件就可以释放技能了吧,参数看不懂) } // Sweeping Wind for Transcendance Health Regen(不懂这一段又是判定什么的。。。) if (CanCast(SNOPower.Monk_SweepingWind, CanCastFlags.NoTimer) && Player.PrimaryResource >= minSweepingWindSpirit && Passives.Monk.Transcendence.IsActive && Settings.Combat.Monk.SpamSweepingWindOnLowHP && Player.CurrentHealthPct <= V.F("Monk.SweepingWind.SpamOnLowHealthPct") && Trinity.TimeSinceUse(SNOPower.Monk_SweepingWind) > 500) { Trinity.SweepWindSpam = DateTime.UtcNow; return new TrinityPower(SNOPower.Monk_SweepingWind, 0f, Vector3.Zero, Trinity.CurrentWorldDynamicId, -1, 0, 0);
大体上就是你所理解的意思 CanCast(SNOPower.Monk_SweepingWind, CanCastFlags.NoTimer) 是指是否可以施放劲风煞 DateTime.UtcNow.Subtract(Trinity.SweepWindSpam).To talMilliseconds >= 4000 是指身上劲风煞BUFF存在的时间 Trinity.SweepWindSpam = DateTime.UtcNow 是将当前系统时间赋值到SweepWindSpam用来重新计算身上劲风煞BUFF存在的时间 GetHasBuff(SNOPower.Monk_SweepingWind) 是身上是否有劲风煞BUFF 至于hasInnaSet,hasSWK你得自己找上下文看里面是怎么定义这段内容