redcn 发表于 2011-12-20 16:49:57

附魔的装备如何通过触发查看属性

移植了一个附魔系统,但本身就没完全搞清楚,所以也无法做到通过触发显示装备属性。
我的设想是给物品一个技能,点击即可显示物品的附魔属性
这些都不重要,重要的是如何将附魔属性显现出来。
我在下面把整个触发贴出来:

A
    事件
      地图初始化
    条件
    动作
      设置 Ghost_Shop = 幽灵商店
      设置 FMZL = 6
      设置 FMJN = 附魔 (蓝宝石)
      设置 FMJN = 附魔 (红宝石)
      设置 FMJN = 附魔 (绿宝石)
      设置 FMJN = 附魔 (黄宝石)
      设置 FMJN = 附魔 (黑宝石)
      设置 FMJN = 附魔 (神秘石)
      设置 FMBS = 蓝宝石A
      设置 FMBS = 红宝石A
      设置 FMBS = 绿宝石A
      设置 FMBS = 黄宝石A
      设置 FMBS = 黑宝石A
      设置 FMBS = 神秘石A
      设置 BSML = 能增加魔法值的物品 (50)
      设置 BSML = 能增加生命值的物品 (50)
      设置 BSML = 能提高英雄属性的物品(+5敏捷)
      设置 BSML = 能提高英雄属性的物品(+5力量)
      设置 BSML = 能提高英雄属性的物品(+5智力)
      设置 BSML = 增加攻击力的物品+10
      设置 FMBS_A = 蓝宝石
      设置 FMBS_A = 红宝石
      设置 FMBS_A = 绿宝石
      设置 FMBS_A = 黄宝石
      设置 FMBS_A = 黑宝石
      设置 FMBS_A = 神秘石



-----------------------------


B
    事件
      单位 - 任意单位 发动技能效果
    条件
      ((技能施放目标) 的类型) 等于 紫电青霜
    动作
      如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
            If - 条件
                ((技能施放目标) 是被持有的) 等于 TRUE
            Then - 动作
                游戏 - 对 ((触发单位) 的所有者) 在屏幕位移(0.00,0.00)处显示 2.00 秒的文本信息: |cffff8c00镶嵌成...
                循环动作从 1 到 FMZL, 运行 (Loop - 动作)
                  Loop - 动作
                        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                            If - 条件
                              (施放技能) 等于 FMJN
                            Then - 动作
                              设置 Temp_Integer = 0
                              循环动作从 1 到 MWZS, 运行 (Loop - 动作)
                                    Loop - 动作
                                        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                                          If - 条件
                                                YFMW 等于 (技能施放目标)
                                          Then - 动作
                                                设置 Temp_Integer = ForLoopBIndex
                                          Else - 动作
                              如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                                    If - 条件
                                        Temp_Integer 等于 0
                                    Then - 动作
                                        设置 Temp_Integer = (MWZS + 1)
                                        循环动作从 1 到 MWZS, 运行 (Loop - 动作)
                                          Loop - 动作
                                                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                                                    If - 条件
                                                      (YFMW 的当前生命值) 小于或等于 0.00
                                                    Then - 动作
                                                      设置 Temp_Integer = ForLoopBIndex
                                                      设置 MWZS = (MWZS - 1)
                                                    Else - 动作
                                        设置 MWZS = (MWZS + 1)
                                        设置 YFMW = (技能施放目标)
                                        循环动作从 1 到 FMZL, 运行 (Loop - 动作)
                                          Loop - 动作
                                                设置 FMDJ[((Temp_Integer x FMZL) + ForLoopBIndex)] = 0
                                    Else - 动作
                              英雄 - 丢弃 (技能施放目标) ,从 (触发单位) 身上
                              设置 FMDJ[((Temp_Integer x FMZL) + ForLoopAIndex)] = (FMDJ[((Temp_Integer x FMZL) + ForLoopAIndex)] + 1)
                              英雄 - 把 (技能施放目标) 给 (触发单位)
                            Else - 动作
            Else - 动作
                循环动作[循环整数A]从 1 到 6, 运行 (Loop - 动作)
                  Loop - 动作
                        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                            If - 条件
                              (施放技能) 等于 FMJN[循环整数A ]
                            Then - 动作
                              英雄 - 创建 FMBS_A[循环整数A ] 给 (触发单位)
                              游戏 - 对 ((触发单位) 的所有者) 在屏幕位移(0.00,0.00)处显示 2.00 秒的文本信息: |cffff8c00只能镶...
                            Else - 动作



-----------------------------------------



C
    事件
      单位 - 任意单位 获得物品
    条件
      ((被操作物品) 的类型) 等于 紫电青霜
    动作
      触发器 - 关闭 (当前触发)
      触发器 - 关闭 E <预设>
      循环动作从 1 到 MWZS, 运行 (Loop - 动作)
            Loop - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                  If - 条件
                        (被操作物品) 等于 YFMW
                  Then - 动作
                        循环动作从 1 到 FMZL, 运行 (Loop - 动作)
                            Loop - 动作
                              英雄 - 丢弃 (被操作物品) ,从 (触发单位) 身上
                              触发器 - 开启 D <预设>
                              设置 Temp_Unit = (新建 ((触发单位) 的所有者) 的 Ghost_Shop 在(((触发单位) 所在X轴坐标),((触发单位) 所在Y轴坐标)),面向角度:0 度)
                              单位 - 对 Temp_Unit 发布 中立商店 - 选择单位 <New> 命令到目标: (触发单位)
                              循环动作从 1 到 FMDJ[((ForLoopDIndex x FMZL) + ForLoopEIndex)], 运行 (Loop - 动作)
                                    Loop - 动作
                                        单位 - 使 ((触发单位) 的所有者) 从 Temp_Unit 处购买 FMBS
                              单位 - 删除 Temp_Unit
                              英雄 - 把 (被操作物品) 给 (触发单位)
                              触发器 - 关闭 D <预设>
                  Else - 动作
      触发器 - 开启 (当前触发)
      触发器 - 开启 E <预设>



-----------------------------


D
    事件
      单位 - 任意单位 出售物品
    条件
    动作
      物品 - 删除 (被售出物品)



-----------------------------



E
    事件
      单位 - 任意单位 丢弃物品
    条件
      ((被操作物品) 的类型) 等于 紫电青霜
    动作
      循环动作从 1 到 MWZS, 运行 (Loop - 动作)
            Loop - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                  If - 条件
                        (被操作物品) 等于 YFMW
                  Then - 动作
                        循环动作从 1 到 FMZL, 运行 (Loop - 动作)
                            Loop - 动作
                              循环动作从 1 到 FMDJ[((ForLoopDIndex x FMZL) + ForLoopEIndex)], 运行 (Loop - 动作)
                                    Loop - 动作
                                        单位 - 删除 BSML 从 (触发单位)
                  Else - 动作



------------------------------------


F
    事件
      单位 - 任意单位 发动技能效果
    条件
      ((技能施放目标) 的类型) 不等于 紫电青霜
    动作
      循环动作[循环整数A]从 1 到 6, 运行 (Loop - 动作)
            Loop - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                  If - 条件
                        (施放技能) 等于 FMJN[循环整数A ]
                  Then - 动作
                        英雄 - 创建 FMBS_A[循环整数A ] 给 (触发单位)
                        游戏 - 对 ((触发单位) 的所有者) 在屏幕位移(0.00,0.00)处显示 2.00 秒的文本信息: |cffff8c00这个物...
                  Else - 动作

壹樓祭天祭百度 发表于 2011-12-20 18:51:07

把那个附魔系统的地图文件也一起贴出来吧。

这个系统使用的原理为“商店法”,储存“附魔等级”的变量就是“FMDJ”;
FMDJ[ A x FMZL + B ] 既表示第 A 个物品的第 B 项附魔等级。

那么
循环动作从 1 到 MWZS, 运行 (Loop - 动作)
      Loop - 动作
      如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
               If - 条件
                (被操作物品) 等于 YFMW
               Then - 动作
            循环动作从 1 到 FMZL, 运行 (Loop - 动作)
                                 Loop - 动作
                     输出FMDJ

即可输出附魔等级…………

redcn 发表于 2011-12-21 20:50:02

回 1楼(壹樓祭天祭百度) 的帖子


抱歉,现在才回复你,我移植的原地图已发。

我现在就按你说的去测试下

redcn 发表于 2011-12-21 21:15:44

回 1楼(壹樓祭天祭百度) 的帖子

壹樓祭天祭百度:把那个附魔系统的地图文件也一起贴出来吧。

这个系统使用的原理为“商店法”,储存“附魔等级”的变量就是“FMDJ”;
FMDJ[ A x FMZL + B ] 既表示第 A 个物品的第 B 项附魔等级。

....... (2011-12-20 18:51) images/back.gif

测试了,貌似不行。。。输出0

壹樓祭天祭百度 发表于 2011-12-21 21:50:24

表示可用
    事件
      单位 - 任意单位 使用物品
    条件
      ((被操作物品) 的类型) 等于 圣者遗物
    动作
      For ForLoopDIndex 从 1 到 MWZS, 做动作
            Loop - 动作
                如果所有条件成立则做动作1,否则做动作2
                  If - 条件
                        (被操作物品) 等于 YFMW
                  Then - 动作
                        游戏 - 清空 (所有玩家) 屏幕上的文本信息
                        For ForLoopEIndex 从 1 到 FMZL, 做动作
                            Loop - 动作
                              游戏 - 对 (所有玩家) 发送文本信息: (此物品的 + ((FMJN 的名称) + (的等级为 + (转换 FMDJ[((ForLoopDIndex x FMZL) + ForLoopEIndex)] 为字符串))))
                  Else - 动作


redcn 发表于 2011-12-21 23:30:36

回 4楼(壹樓祭天祭百度) 的帖子

壹樓祭天祭百度:表示可用
    事件
      单位 - 任意单位 使用物品
    条件
      ((被操作物品) 的类型) 等于 圣者遗物
....... (2011-12-21 21:50) images/back.gif

谢谢你,测试成功!



我根据自己需要又定义了一组变量,完善了下提示,学到了不少东西!





另外再请教一下,有没有比较“环保”的物品技能,让使用物品不产生任何的效果呢?

redcn 发表于 2011-12-22 09:36:48

使用通魔技能已经解决了!

谢谢你的帮助啊!

zy00101 发表于 2020-3-24 14:14:50

牛逼,牛逼,找了好久
页: [1]
查看完整版本: 附魔的装备如何通过触发查看属性