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

关于 Trigger 的相关测试内容, 创建 Trigger 的方法.

[复制链接]
发表于 2010-2-20 19:08:05 | 显示全部楼层 |阅读模式
*] Trigger 是一个数据类型
*] SC2 的 AI 环境和 SCRIPT 环境是相同的(猜的)
- 在 AI 环境中是可以调用 SCRIPT 的接口和功能的
- WAR3 中并没有这么自由

*] 一个简单的 Trigger 的创建至少由以下两部分代码构成:
- Action 定义部分: 函数名则是 Trigger 的名字, 函数体的内容则是 Action 的处理部分, 这个名字在后面创建 Trigger 的时候有用
- 其中两个约定的参数一次是条件判断和是否执行处理的标志, 用法如下例:
  1. bool TriggernActionName_Func (bool checkConds, bool doActions) {
  2.     UIDisplayMessage(PlayerGroupAll(), 4, StringToText("TestTrigger Start ......"));
  3.     //目前还没有发现 Wait 函数的具体使用方法, 应该是native声明的时候返回和参数表错了
  4.     //Wait(5);
  5.     if (checkConds && doActions) {
  6.         UIDisplayMessage(PlayerGroupAll(), 4, StringToText("TestTrigger Progress ......"));
  7.     }
  8.     UIDisplayMessage(PlayerGroupAll(), 4, StringToText("TestTrigger End ......"));
  9.     return true;
  10. }
复制代码

- 创建 Trigger 部分
  1. void TestTriggerInit () {
  2.     trigger t;
  3.     // 创建一个 Trigger, 参数是一个函数名, 这个函数名就是上面定义的那个函数的名字: TriggernActionName_Func.
  4.     t = TriggerCreate("TriggernActionName_Func");
  5.     // 不同的事件(Event)是由不同的接口来挂接的, 多个不同的Trigger 可以同时被挂接在不同的事件(Event)下面
  6.     // 下面这个例子是当玩家输入一个字符串的时候触发
  7.     // t 表示这个事件(Event)所挂接的Trigger(Action), 第二个参数应该是频道(没测试), 而第三个参数"hahaha"这个字符串则是聊天频道中玩家需要输入的字符串, 最后一个参数 false 的时候表示包含则触发, true 的时候是全匹配才触发.
  8.     TriggerAddEventChatMessage(t, 1, "hahaha", false);
  9. }
复制代码

- 在任何地方调用 TestTriggerInit () 这个 Trigger 就创建好了, 聊天频道输入字符串就可以工作了.
发表于 2010-2-20 19:11:03 | 显示全部楼层
很友好。
至少和当年刚接触WE的时候比起来。
回复

使用道具 举报

发表于 2010-2-20 19:11:09 | 显示全部楼层
不知道为啥~~现在的TriggerCreate用字符串来做参数了~~
回复

使用道具 举报

发表于 2010-2-20 19:12:01 | 显示全部楼层
和WE兄弟俩,差不多。
应该有差别但是能很快适应。
回复

使用道具 举报

 楼主| 发表于 2010-2-20 19:12:47 | 显示全部楼层
因为以前函数是一个一类的类型
现在貌似不是了
回复

使用道具 举报

发表于 2010-2-28 00:27:14 | 显示全部楼层
脚本检测 并不会判断 TriggerCreate 的参数 对应的函数是否存在.
(也就是说随便写个存在的函数 也不会语法错误导致不能游戏  ,触发时什么都不提示

而如果写了存在的 但是和事件不符合的函数(参数 返回值不符合
会游戏里提示 xx函数不存在
回复

使用道具 举报

发表于 2010-2-28 00:49:07 | 显示全部楼层
引用第2楼Renee于2010-02-20 19:11发表的  :
不知道为啥~~现在的TriggerCreate用字符串来做参数了~~
使用运行时检查, 防止出现jass的那个执行恶意代码的BUG.
回复

使用道具 举报

发表于 2010-6-9 14:23:24 | 显示全部楼层
灵活啊
回复

使用道具 举报

发表于 2011-6-23 20:10:37 | 显示全部楼层
暴雪太偷懒了,出个产品连个基本的说明书都没有,还要玩家自已摸索测试验证!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 17:01 , Processed in 0.083456 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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