没有在FGD定义
< Zh
Jump to navigation
Jump to search
FGD 文件告知hammer 中存在的实体 及其键值 、输入 、输出 和属性(Flags) 。若实体信息未包含在FGD中,仍可通过Hammer手动添加。
实体
添加非FGD实体: 1. 在classname框输入完整实体名称 2. 点实体将显示"obsolete"图标 3. 不会显示未定义的键值 、输入 、输出 或属性
键值
添加步骤: 1. 禁用SmartEdit 2. 点击Add按钮 3. 在key字段输入引擎原始名称(如"ResponseContext") 4. 在value字段输入对应值 5. 点击Delete可移除键值
3dmax 用户通过wallwormmtools 添加: 1. 选择WallWormMDL节点 2. 在Modify标签页点击KeyValues按钮
输入与输出
添加方法:
output OnSomething(void) : "事件触发时激活" input DoAction(string) : "执行指定动作"
标志(Flags)
通过spawnflags
键值添加:
1. 值为各标志对应数字之和
2. 数字对应关系见实体页面
3. 示例:trigger_multiple 的Pushables(4)+Physics Objects(8)=12
新建FGD条目
基本结构:
@PointClass base(BaseClass) = entity_name : "实体描述" [ keyvalue(type) : "显示名" : 默认值 : "描述" input InputName(type) : "输入描述" output OutputName(type) : "输出描述" spawnflags(flags) = [ 1 : "标志1" : 0 2 : "标志2" : 1 ] ]
键值定义
键名(类型) : "显示名" : 默认值 : "描述" 下拉菜单示例: 选项(choices) : "选项菜单" : 0 : "选择说明" = [ 0 : "默认" 1 : "选项A" ]
输入输出定义
input 输入名(参数类型) : "描述" output 输出名(参数类型) : "描述" void类型示例: output OnTrigger(void) : "当触发时激活"
基类示例
@BaseClass = BaseTemplate [ targetname(target_source) : "名称" : : "实体标识名" output OnUser1(void) : "用户输出1" ]
{{warning|若FGD包含未定义基类引用会导致加载失败
