找回密码
 点一下
查看: 987|回复: 4

关于单位、物品的自定义数据绑定

[复制链接]
发表于 2009-11-1 21:51:29 | 显示全部楼层 |阅读模式
可能标题的用词并不恰当
那么举个例子
比如给地图中的每个单位绑定''法术护甲值''(以下简称MAC)
而我要做到每个单位的MAC都是动态的

比如单位编辑器里的''步兵''
在被创建、召唤到地图 (或者说是进入地图) 后
它的MAC = 随即整数 最小值 16 , 最大值 21
那么用什么方法记录这个单位动态的MAC呢

如果你听着有点迷糊..那么可以理解成:
每个单位都有唯一的物理暴击、法术暴击、格挡、闪避、抵抗等等自定义数据
而,即使是相同类型的2个单位它们的这些值也并非固定的
就如它们一''出生''就给它们绑定N个'自定义值''一样
那么我该如何用整数、实数变量来记录某个单位的这些自定义属性

在此之前,我自己用了感觉即麻烦、又土的方法
请看下面的触发。。那么除此有更好的方法吗
[trigger]
- 触发A -
    事件
        地图初始化
    条件
    动作
        设置 i = 0[/trigger][trigger]
- 触发B -
    事件
        单位 - 单位进入 (可用地图区域)
    条件
    动作
        设置 i = Mac[((触发单位) 的自定义值)]
        设置 i = (i + 1)
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                ((进入的单位) 的类型) 等于 步兵
            Then - 动作
                设置 Mac = (随机整数,最小值: 16 最大值: 21)
                设置 Mmiss = (随机实数,最小值: 11.25 最大值: 17.50)
            Else - 动作
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                ((进入的单位) 的类型) 等于 骑士
            Then - 动作
                设置 Mac = (随机整数,最小值: 19 最大值: 27)
                设置 Mmiss = (随机实数,最小值: 8.50 最大值: 12.75)
            Else - 动作
[/trigger]
然后在技能、伤害事件里
如果需要某个单位的法术护甲,就调用  Mac[((触发单位) 的自定义值)]
但是这样我觉得很繁琐,有没有什么更好的方法?
发表于 2009-11-1 21:55:23 | 显示全部楼层
handle值如何呢?
回复

使用道具 举报

发表于 2009-11-1 22:43:10 | 显示全部楼层
其实你可以用单位标示系统给地图中每个单位分配一个从1开始的唯一标示,再用数组记录相应数据就可以了,当然,这个标示是小于 8192的
回复

使用道具 举报

 楼主| 发表于 2009-11-1 22:50:51 | 显示全部楼层
我现在用的方法是每捕捉到一个进入地图的单位
就设置 i = i + 1 该单位自定义值 = i
然后再设置相应的整数/实数数组变量[该单位自定义值] = x
比如攻击力 ap = x 以便在需要获得该单位攻击力时调用 ap
回复

使用道具 举报

发表于 2009-11-1 23:11:44 | 显示全部楼层
每个单位被触发捕捉到的时候就会得到一个独有的handle值,我觉得这个应该是可以使用的……
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-22 06:14 , Processed in 0.029563 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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