找回密码
 点一下
查看: 3208|回复: 13

箴言术:盾(用T初步实现)

[复制链接]
发表于 2006-4-25 03:39:59 | 显示全部楼层 |阅读模式
附件中的内容:

1。只使用地精修补匠的装甲车形态(普通单位)
2。魔法书分类技能
3。箴言术:盾(不完美)
4。疯狂搞恶
PS:由于是实验室,没对释放内存做优化

??????????????????????

这个帖子主要想探讨一下【箴言术:盾】的实现方法(用T)
所以基本无视1、2、4的内容


相关的T:

[trigger]
释放技能
    事件
        单位 - 单位 开始施放一种技能
    环境
        (使用的技能) 等于 盾
    动作
        游戏 - 对 (所有玩家) 显示文本: (单位 (对其使用技能的目标单位) 的名字)
        Set HP = (生命 在单位 (对其使用技能的目标单位))
        单位 - 设置 (对其使用技能的目标单位) 自定义数据为 (3000000 + (把实数(HP)转换为整数))
[/trigger]
[trigger]
被盾吸收杀害
    事件
        单位 - 单位 被攻击的
    环境
        ((被攻击的单位) 拥有魔法特效: 盾 buff) 等于 True( 真 )
    动作
        Set AttackedUnit = (被攻击的单位)
        Set NaiJiu = ((单位 AttackedUnit 的自定义数值) / 10000)
        Set HP = (实数 (((单位 AttackedUnit 的自定义数值) - (NaiJiu x 10000))))
        Set LostHp = (HP - (生命 在单位 AttackedUnit))
        Set NaiJiu = (NaiJiu - (把实数(LostHp)转换为整数))
        单位 - 设置 AttackedUnit 自定义数据为 ((NaiJiu x 10000) + (把实数(HP)转换为整数))
        单位 - 设置 AttackedUnit 的当前生命为 HP
        如果 (所有条件是成立的) ,那么做 (动作) 否则[如果不成立]做 (动作)
            如果 - 条件
                NaiJiu 小于或等于 0
            那么(条件成立) - 动作
                单位 - 删除 盾 buff 魔法特效(指定的)为了 AttackedUnit
            否则(条件不成立) - 动作
                Do nothing
[/trigger]

??????????????????????????????

不过这个方法有较明显的缺陷。。。当血很少时。。。即使有盾,也会死人
上面是对血做直接判断

2。
我想的另一个方法是,吧【魔法护盾】+【增加mp若干点】塞到魔法书中,用对mp进行判断
优点:能弥补上个方案中的那个缺陷
缺点:对有蓝的单位的处理较麻烦

3。
还有个方案就是沿用1的方法,不过给有盾的单位添加硬化皮肤和魔法护盾
能弥补1的缺陷
不过。。。貌似无法捕捉伤害量了。。。

??????????????????????????

其他方案暂时没想到
发表于 2006-4-25 05:37:45 | 显示全部楼层
用受到伤害作事件
一滴血用盾也不会死,伤害也能直接捕捉
回复

使用道具 举报

发表于 2006-4-25 08:06:03 | 显示全部楼层
多加个判断单位是否死亡,然后复活
回复

使用道具 举报

发表于 2006-4-25 11:33:08 | 显示全部楼层
使用Takes damage(受到伤害)这个事件比较好
但是必须写Jass的...
回复

使用道具 举报

发表于 2006-4-25 13:20:41 | 显示全部楼层
强烈支持这种写T示人的行为~~~~~~
学习学习~~
回复

使用道具 举报

 楼主| 发表于 2006-4-25 22:16:38 | 显示全部楼层
我之前做过,用J会比较完美

不过这个帖子是讨论仅使用T的情况下

如何尽可能完美的实现这个技能
回复

使用道具 举报

发表于 2006-5-2 11:13:08 | 显示全部楼层
流星
  我绝对伤害量可以自己算
我的方案是先让单位可以被攻击但不掉血,然后当该单位被攻击就开始自己算被伤害量,当吸收伤害量为0的时候在恢复单位正常状态
具体的实行是先用硬化皮肤跟那个优雅来使单位无敌,放魔法书里就可以实现隐形。然后用变量或其他方法来统计吸收的伤害量,当单位被攻击来取攻击单位最小以及最大的攻击来模拟,当可以吸收的伤害量为0就删掉那2技能。如果可吸收量小于取的伤害量那么就用T给予伤害。
不过具体实行可以有点麻烦,因为普通单位的攻击无法捕捉,如果J有该函数的话就没问题了,偶尔用1-2句J对学习有帮助滴
回复

使用道具 举报

发表于 2006-5-5 21:08:50 | 显示全部楼层
绝对闪避+反魔法盾?
不过貌似抵抗不了溅射..-_-..
另外可以用重生技能来弥补死亡的问题..
回复

使用道具 举报

发表于 2006-5-6 21:14:36 | 显示全部楼层
如果 要是分裂同样会受到伤害是吗?

分裂的图形面积是怎么样的!
回复

使用道具 举报

发表于 2006-5-6 23:35:40 | 显示全部楼层
分裂的范围面可以到我帖子里找~ 有图片
回复

使用道具 举报

发表于 2006-5-23 20:59:21 | 显示全部楼层
单受到伤害事件似乎无法捕捉中毒时的持续掉血
回复

使用道具 举报

发表于 2006-5-24 00:54:15 | 显示全部楼层
1 可以写函数创建触发,可以参考我的伤害显示系统
2 如果我方单位不是很多的话,直接写个没事件的T,我方每增加一个单位就给它添加受到伤害事件
回复

使用道具 举报

发表于 2006-5-24 04:27:01 | 显示全部楼层
原帖由 Red_Wolf 于 2006-5-24 00:54 发表
1 可以写函数创建触发,可以参考我的伤害显示系统
2 如果我方单位不是很多的话,直接写个没事件的T,我方每增加一个单位就给它添加受到伤害事件

那不卡死你,最怕那种T了。。
回复

使用道具 举报

发表于 2006-5-24 08:26:52 | 显示全部楼层
又不会触发有什么卡的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-5-8 16:54 , Processed in 0.041557 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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