说仇恨写法:
首先说 进入战斗和脱离战斗 其实WE里有一个东西比较好 就是 减速光环 首先不站技能格子 然后把选项里弄成只对 敌人有效果
(是敌对的任何单位不包括中立)
然后判断所有单位身上是否有这个BUFF 有这个BUFF肯定是 战斗状态 没有就不是 这个是比较简单的方法范围自己可以定义而且方便。
仇恨系统, 这个方式虽然是所有BOSS通用 也是所有单位通用 但是有缺点等下说
首先定义一个技能 等级为100 200 300 级 自己定义 根据你自己地图的情况来定 最好是100等级太高小心卡。技能脚本我人为用球体或不附带其他数据的技能 也就是一个马甲技能。
事件 任意单位接受伤害。
条件攻击 是BOSS 类单位(你可以用技能 用单位类型 用什么判断你自己决定)
动作
如果所有条件成立则做动作1,否则做动作2
If - 条件
BOSSSHDW 等于 没有单位 BOSSSHDW 这个变量为什么要等于没有单位才运行?
问的好 这个变量值 你可以在其他触发设置单位比如 治疗仇恨 和 仇恨加成 等等
用这个变量设置 单位 单后提高仇恨技能等级 切记得不要 清除 呵呵后面的动作有清空
Then - 动作
如果所有条件成立则做动作1,否则做动作2
If - 条件
XT仇恨技能 的等级对 (伤害来源) =1
Then - 动作
设置 BOSSSHDW = (伤害来源)
Else - 动作
无动作
Else - 动作
无动作
动作
如果所有条件成立则做动作1,否则做动作2
If - 条件
(XT仇恨加成+2 的等级对 BOSSSHDW) 等于 1每次伤害都有1点加成(加多少自己定)
Then - 动作
单位 - 提升 XT仇恨技能 等级对 BOSSSHDW
Else - 动作
无动作
如果所有条件成立则做动作1,否则做动作2
If - 条件
(XT仇恨远程加成+1 的等级对 BOSSSHDW) 等于 1每次伤害都有1点加成(加多少自己定)
Then - 动作
单位 - 提升 XT仇恨技能 等级对 BOSSSHDW 这些就是提高仇恨等级具体怎么做看你自己
Else - 动作
无动作
如果所有条件成立则做动作1,否则做动作2
If - 条件
(单位所受伤害) 大于或等于 75.00这个很简单 就是伤害过了这个伤害值就仇恨等级+1(加多少自己定)
Then - 动作
单位 - 提升 XT仇恨技能 等级对 BOSSSHDW
Else - 动作
无动作
如果所有条件成立则做动作1,否则做动作2
If - 条件
(单位所受伤害) 大于或等于 150.00
Then - 动作
单位 - 提升 XT仇恨技能 等级对 BOSSSHDW
Else - 动作
无动作
(以下是仇恨目标判断) 非常简单 一看就能明白~~~
如果所有条件成立则做动作1,否则做动作2
If - 条件
BOSSMBDW 不等于 BOSSSHDW
(XT仇恨技能 的等级对 BOSSSHDW) 大于 ((XT仇恨技能 的等级对 BOSSMBDW) + 12)
这个12意思很简单就是其他单位攻击BOSS 必须仇恨等级高过当前仇恨目标12个等级BOSS才会转移目标具体弄成多少自己设置
Then - 动作
设置 BOSSMBDW = 没有单位
设置 BOSSMBDW = BOSSSHDW
游戏 - 对 (所有玩家) 发送显示 4.00 秒的文本信息: ((((触发单位) 的名字) + 仇恨目标) + (BOSSMBDW 的名字))
Else - 动作
无动作
如果所有条件成立则做动作1,否则做动作2
If - 条件
BOSSMBDW 不等于 BOSSSHDW
(XT仇恨技能 的等级对 BOSSSHDW) 大于或等于 90
Then - 动作
设置 BOSSMBDW = 没有单位
设置 BOSSMBDW = BOSSSHDW
游戏 - 对 (所有玩家) 发送显示 4.00 秒的文本信息: (仇恨目标转换 + ((BOSSMBDW 的名字) + 仇恨过高。))
Else - 动作
无动作
如果所有条件成立则做动作1,否则做动作2
If - 条件
BOSSMBDW 不等于 没有单位
BOSSMBDW 不等于 BOSSSHDW
Then - 动作
单位 - 对 (触发单位) 发布 右键点击 命令到目标: BOSSMBDW
Else - 动作
无动作
设置 BOSSSHDW = 没有单位
这个办法写的仇恨缺点是会BOSS只会优先攻击该值最高的单位。也就是说BOSS死亡后你的仇恨不会直接变0 要等仇恨每秒递减
以下是每秒递减1个等级
时间 - 每1.00 秒触发事件
动作
设置 WJ_XT_DWZ[0] = ((可用地图区域) 内满足 ((XT仇恨技能 的等级对 (匹配单位)) 大于 1) 的所有单位)
这里意思很明确 有仇恨技能单位选取 没有仇恨技能的 不会被选择
如果所有条件成立则做动作1,否则做动作2
If - 条件
(WJ_XT_DWZ[0] 中的单位数量) 不等于 0
Then - 动作
单位组 - 选取 WJ_XT_DWZ[0] 内所有单位做动作
Loop - 动作
设置 WJ_JN_DWMB[0] = (选取单位)
单位 - 降低 XT仇恨技能 等级对 WJ_JN_DWMB[0]
设置 WJ_JN_DWMB[0] = 没有单位
Else - 动作
无动作
单位组 - 清空 WJ_XT_DWZ[0] 内所有单位
单位组 - 删除 WJ_XT_DWZ[0]
在WAR3中 有一个非常好的东西 并且无BUG。先说前言 不然大家肯定会认为这个写法不好 但是我是过来人 各种BUG我都尽力过
大家别不相信 WE地图里jass残余 和物体数据残余造成的BUG 也就是灵异现象绝对存在。 而且我这里有现成的研究以及BUG出现说明。
大家编辑WE肯定有过这样的感受 就是 被BUG给忽悠(不是在废话 因为全局变量 在反复使用后 在某些特殊的情况下会出现覆盖数值 或别的什么BUG)研究型的作者 请不要否认我的说法 这个是我写地图3年来的经验 为了避免jass残余和 一些灵异现的未知BUG出现,有些写法尽量避免。比如一个T里写上128行动作以上并且都有条件判断 这种写法就不要过多的修改这个T特别是大量的修改,因为你机器的内存都可能有一定的小小的几率丢失内存值更别谈WE 所以 能用WAR3的技能模拟就尽量用WAR3的原始技能做脚本模拟。
在这里不是为了否认 研究型作者的能力 而是研究型作者自己制作庞大数据的地图 的经验上肯定没我多 BUG的出现往往不在jass上可能是在 物体数据残余里。
|