logic_script
< Zh
Jump to navigation
Jump to search
![]() |
---|
CLogicScript |
![]() |
logic_script
是一个逻辑实体,可在所有的 起源 游戏,自从
求生之路2 以来中使用。 该实体在
军团要塞2分支和
Mapbase中也可用。
此实体作为VScript 的容器。例如在Left 4 Dead 2中,它被广泛用于"黑色狂欢节"的逻辑控制,如《黑色狂欢节》战役中的Peanut Gallery(花生画廊)、Strongman Contest(大力士比赛)、Whack-a-Stach(打鼹鼠)等

键值
- Name (目标名称) <target_source>[ Edit ]
- 这个名称是其他实体通过 输入/输出 或其他 关键值 (如
parentname
或target
) 来引用该实体时使用的标识符。
该名称也会显示在 Hammer 编辑器的 2D 视图和 实体报告 中。参见: 所有实体均可使用的 通用键值、输入与输出
{{KV|EntityGroup[0]|intn=Group00|to=EntityGroup[15]|intn2=Group15|target_destination
|3=指定实体名称使其可在Squirrel代码中访问。所有指定实体名称会在该实体生成时被搜索,其脚本句柄将被添加到此logic_script
的脚本作用域:
实现此功能的内部VScript 当logic_script生成时会自动执行以下VScript。
__AppendToScriptGroup
会对每个Group00
-Group15
键值指定的名称调用。EntityGroup <- []; MyEntityGroup <- {}; MyEntityGroupArray <- EntityGroup; function __AppendToScriptGroup( name ) { if ( name.len() == 0 ) { EntityGroup.append( null ); } else { local ent = Entities.FindByName( null, name ); EntityGroup.append( ent ); if ( ent != null ) { ent.ValidateScriptScope(); MyEntityGroup[name] <- ent; ent.GetScriptScope().EntityGroup <- EntityGroup; } } }

另见
外部链接
- VScript文档FAQ(Steam论坛)
- Left 4 Dead 2脚本编程(Leeland.net) - logic_script使用示例