说仇恨写法: 首先说 进入战斗和脱离战斗 其实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上可能是在 物体数据残余里。
|