非FGD功能实现
< Zh
Jump to navigation
Jump to search
FGD 文件告知hammer 引擎中存在的entity 及其keyvalues 、inputs 、outputs 和flags 。若实体信息未包含在FGD中,仍可通过Hammer手动添加。
实体
添加非FGD实体: 1. 在classname框输入完整实体名称 2. 点实体将显示"obsolete"图标 3. 不会显示未注册的keyvalues 、inputs 、outputs 或flags
键值
添加步骤: 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 ]
]
基类示例
@BaseClass = BaseTemplate [
targetname(target_source) : "名称" : : "实体标识名" output OnUser1(void) : "用户输出1"
]