找回密码
 点一下
查看: 780|回复: 8

不太明白的一个触发

[复制链接]
发表于 2011-9-25 21:25:33 | 显示全部楼层 |阅读模式
[trigger]I
    事件
        地图初始化
    条件
    动作
        设置 Count = 4
        设置 Item[1] = 能量之书
        设置 Item[2] = 经验之书
        设置 Item[3] = 力量之书
        设置 Item[4] = 生命手册
        设置 String[1] = 接受了A任务。
        设置 String[2] = 接受了B任务。
        设置 String[3] = 接受了C任务。
        设置 String[4] = 接受了D任务。
        设置 Location[1] = (矩形区域 000 <预设> 的中心点)
        设置 Location[2] = (矩形区域 001 <预设> 的中心点)
        设置 Location[3] = (矩形区域 002 <预设> 的中心点)
        设置 Location[4] = (矩形区域 003 <预设> 的中心点)
[/trigger]

[trigger]A
    事件
        单位 - 任意单位 获得物品
    条件
        ((触发单位) 是 英雄) 等于 TRUE
        (((触发单位) 的所有者) 的玩家索引号) 小于或等于 12
    动作
        循环动作[I]从 1 到 Count, 运行 (Loop - 动作)
            Loop - 动作
                如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                    If - 条件
                        ((被操作物品) 的类型) 等于 Item[I]
                    Then - 动作
                        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                            If - 条件
                                TTT[((((触发单位) 的所有者) 的玩家索引号) + (I x 6))] 等于 TRUE
                            Then - 动作
                                游戏 - 对 (所有玩家) 发送文本信息: 先把以前的任...
                            Else - 动作
                                设置 TTT[((((触发单位) 的所有者) 的玩家索引号) + (I x 6))] = TRUE
                                游戏 - 对 (所有玩家) 发送文本信息: ((((触发单位) 的所有者) 的名字) + String[I])
                                电影 - 对 (所有玩家) 发送小地图信号到 Location[I] ,持续时间: 1.00 秒
                        跳过剩余动作
                    Else - 动作
[/trigger]
 楼主| 发表于 2011-9-25 21:28:49 | 显示全部楼层
循环动作[I]从 1 到 Count, 运行 (Loop - 动作)
这句是什么意思?I是整数可以理解,但 Count=4.为什么要这样?


((被操作物品) 的类型) 等于 Item[I]
这里的I是整数,可以是7.或者8吗?

TTT[((((触发单位) 的所有者) 的玩家索引号) + (I x 6))] 等于 TRUE
这里为什么要用I*6?

游戏 - 对 (所有玩家) 发送文本信息: ((((触发单位) 的所有者) 的名字) + String[I])
这里又是怎么判断I的?
回复

使用道具 举报

发表于 2011-9-25 21:51:07 | 显示全部楼层
循环动作从 1 到 Count, 运行 (Loop - 动作)
这句是什么意思?I是整数可以理解,但 Count=4.为什么要这样?

((被操作物品) 的类型) 等于 Item
这里的I是整数,可以是7.或者8吗?

a
┣━事件
┃   └─地图初始化
┣━条件
┗━动作
     ├─玩家 - 设置 玩家1(红色) 的 现有黄金 为 750
     ├─玩家 - 设置 玩家2(蓝色) 的 现有黄金 为 750
     ├─玩家 - 设置 玩家3(青色) 的 现有黄金 为 750
     ├─玩家 - 设置 玩家4(紫色) 的 现有黄金 为 750
     ├─玩家 - 设置 玩家5(黄色) 的 现有黄金 为 750
     └─玩家 - 设置 玩家6(橙色) 的 现有黄金 为 750


b
┣━事件
┃   └─地图初始化
┣━条件
┗━动作
     └─For循环整数A从 1 到 6, 做动作
            Loop - 动作
                玩家 - 设置 (玩家 循环整数A [R]) 的 现有黄金 为 750

这个可理解?
回复

使用道具 举报

发表于 2011-9-25 21:55:55 | 显示全部楼层
太难了。解释不了
回复

使用道具 举报

发表于 2011-9-25 22:14:29 | 显示全部楼层
4表示任务数量,这个是通过循环来判断你获得的任务物品。

而其它保存的方式是按组来编辑的,就像说下标值相同的变量都是一组。
回复

使用道具 举报

发表于 2011-9-25 22:14:59 | 显示全部楼层
I*6的话如果没错就是他的地图设计里面有6个玩家,主要是区别不同玩家使用。
回复

使用道具 举报

发表于 2011-9-25 22:33:42 | 显示全部楼层
估计他还是不太理解
回复

使用道具 举报

发表于 2011-9-25 23:30:57 | 显示全部楼层
sunday529:循环动作[I]从 1 到 Count, 运行 (Loop - 动作)
这句是什么意思?I是整数可以理解,但 Count=4.为什么要这样?
(2011-09-25 21:28)
先设置 I 等于1,运行一遍这个循环里的动作,当然循环里出现的所有 [I] 的值都是1
然后设置 I 等于2,再运行一遍,循环里的 [I] 此时都是2
重复……
直到 [I] 超过Count后结束这个循环
LZ看下第一个叫 I 的T,里面设置了四个任务相关的物品、文字和区域,然后再看这个循环动作,当[I]等于1时,判断条件:(被操作的物品)等于Item[1];当[I]等于2时,判断条件::(被操作的物品)等于Item[2];重复……直到[I]大于Count,也就是[I]大于4结束
当然判断条件后下面那些动作也是将[I]等于多少代入而已~
((被操作物品) 的类型) 等于 Item[I]
这里的I是整数,可以是7.或者8吗?
上面那点理解的话这个就懂了吧~
[I]是从1到Count,也就是1到4,超过4就不行了~
TTT[((((触发单位) 的所有者) 的玩家索引号) + (I x 6))] 等于 TRUE
这里为什么要用I*6?
为了避免变量冲突~

如果玩家一接到任务一,那么TTT的数组大小为:1+1*6=7;
玩家二接到任务一:2+1*6=8;
重复……
玩家十二接到任务一:12+1*6=18
如果接到任务二的话就每个数字再加6,接到任务三就加12……
但是矛盾了,如果有十二个玩家,玩家一接到任务二时:1+2*6=13,与玩家七接到任务一相同,也就是如果玩家一先接了任务二,那么玩家七接任务一的时候就会出现提示“先把以前的任务……”,由此可以断定这个图只有6个玩家~

上面这段是对5楼551155大大讲的补充说明~
该图作者写成这样是为了让同个玩家能同时接这四个任务但是无法重复接同一任务
玩家一接了任务一后是TTT[7]为TRUE,之后若接任务二,判断TTT[13]为FALSE,所以能接;任务三:TTT[19]为FALSE,所以能接;……
但要是没有I*6的话,玩家一接了任务一后:TTT[1]为TRUE,接任务二时,判断TTT[1]为TRUE,提示:先把以前的任务……
游戏 - 对 (所有玩家) 发送文本信息: ((((触发单位) 的所有者) 的名字) + String[I])
这里又是怎么判断I的?
玩家一接任务一:String[1]=接受了A任务,于是对所有玩家发信息:玩家一接受了A任务


以上~

PS:有时候看不懂的时候可以从基础情况开始一点点举例分析~
回复

使用道具 举报

 楼主| 发表于 2011-9-26 07:30:52 | 显示全部楼层
我看明白了。其实I只不过是一个整数,这T里所有关于I的都是一个整数,而不是表面说的1.2.3.4.。。。如果你想I是1,那么整个T的I就成了1,这样试着代入进去,就简单很多。看来我一直误会了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 06:07 , Processed in 0.097224 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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