【地图实例教程】仿HL2的AR2固定机枪
本帖最后由 Ultimate 于 2015-10-9 22:41 编辑下载本帖下方提供的地图源码文件进行参考/学习。如果你对实体没有基础了解,你可能不知道干了什么,完全新手请先了解实体Inputs/Outputs系统,如果你会做一个按E开门的按钮触发或者会制作一个简单的传送区域,请继续跟随教程。
地图内容包括:
一把可射击并且能造成伤害的的“机枪”,仿自HL2。
特性:
-模拟子弹效果(仅效果,无伤害)
-火光特效-包含激活、非激活、射击三个状态的动画
-------------------------------------------------------------------------
源码内容:
-仿HL2固定机枪一把
源码说明:
-point_camera (startcamera) 无作用,只为进入游戏时的一个摄像机,不计入下方总实体列表中。
-请添加CS起源bin目录下的halflife2.fgd到你的起源FGD加载列表内,否则部分实体你不能使用SmartEdit模式编辑。
-------------------------------------------------------------------------
地图说明:
-开局将会执行以下命令:sv_cheats 1、bot_stop 1(暂停BOT行为)、mp_autoteambalance 0(关闭自动团队平衡)、mp_limitteams 100(阵营玩家数相差最大数量)、mp_freezetime 0(开局冻结时间)
-进入游戏时请选择CT阵营
额外说明:
-ent_messages_draw (显示信息)效果:
http://i3.tietuku.com/b148028c9e8511f1.png
-showtriggers_toggle (显示触发)效果:
http://i3.tietuku.com/ccd661889afaa5f6.png
-developer 2 (开发者模式)效果
http://i3.tietuku.com/f4c6acf7bd1b270c.png
-ent_text "func_breakable" (显示指定Targetname/Classname信息)效果
http://i3.tietuku.com/696986e0de245e71.png
-------------------------------------------------------------------------
GIF-制作中的动画预览图:
http://i3.tietuku.com/bb96df65c21bf966.gif
GIF-射击预览图:
http://i3.tietuku.com/9c599b7741285ea4.gif
-------------------------------------------------------------------------
实体列表见 2楼特别提醒:该机枪工作不会用到cheats!cheats是为了开启那些命令而用的,和机枪本身没有任何关系!
-------------------------------------------------------------------------
源码教程下载地址:
VMF+BSP=RAR:http://pan.baidu.com/s/1gdez0BL 密码:jh0h
------------------------------------------------------------------------
任何问题——请留言本帖,如果有空,我会回复你。
此贴所有内容(包括使用/提供的源码/地图/说明/图片)归互联网所有。
实体列表 V1:
总计实体:
ambient_generic - 播放音效
*env_muzzleflash - 创建一个枪火特效
*env_gunfire - 模拟SMG或AR2射击的实体,无伤害,纯视觉效果
env_sprite - 播放一个spr/特效
env_spark - 创建一个火花
func_brush - 具有功能性的固体
func_button - 一个可以被按下的按钮实体,顾名思义
game_ui - 重新定义部分玩家输入命令后的触发事件
logic_auto - 游戏开局将会执行的触发事件
logic_measure_movement - 测量指定实体之间的运动,彼此做相同的运动,不同于Parent键值
logic_timer - 设定时间触发事件的实体
logic_case - 预先设定值,各数值对应各自触发事件
logic_relay - 转发器,常用于将同性质的触发归类在一块,防止混淆
point_template - 预先设定实体,被触发时可将实体生成
point_servercommand - 在服务端执行命令的实体,相当于控制台输入
prop_dynamic - 可播放动画的实体,具有更高的道具价值,可设定Targetname
trigger_push - 模拟推动的实体
trigger_hurt - 造成伤害的实体
一般功能实体:
logic_auto https://developer.valvesoftware.com/wiki/Logic_auto
功能:用于修复logic measure movement在被我这样使用时的一个的BUG
Outputs:
OnMapSpawn - 当地图以任何的理由被载入时
point_template https://developer.valvesoftware.com/wiki/Point_template
功能:同上
Outputs:
ForceSpawn - 生成预设实体
point_servercommand https://developer.valvesoftware.com/wiki/Point_servercommand
功能:在服务端后台执行命令,这里用于那三个按钮的功能以及修复prop的Parent BUG
Inputs:
Command - 执行命令
prop_dynamic https://developer.valvesoftware.com/wiki/Prop_dynamic
功能:用于模拟一把机枪模型
Inputs:
SetParent - 设置自身为另外一个实体的父实体
SetAnimation - 强行设置模型动画(DefaultAnimation会循环播放,当SetAnimation的Animation播放完时将自动继续播放DefaultAnimation)
瞄准/方向/移动实体:
func_button https://developer.valvesoftware.com/wiki/Func_button
功能:启用/激活机枪控制、设定玩家Targetname
Outputs:
OnPressed - 当被E键按下时
Inputs:
Lock - 锁上按钮(无法触发OnPressed,但依旧可以触发OnDamaged)
Unlock - 解锁按钮
func_brush https://developer.valvesoftware.com/wiki/Func_brush
功能:作为在机枪没有被控制时使用的被测量运动实体,也就是机枪“复位”的位置
game_ui https://developer.valvesoftware.com/wiki/Game_ui
功能:控制方向/开火/激活
Outputs:
PressedAttack - 当输入者执行+attack时(也就是当你按下鼠标左键/不放)
UnpressedAttack - 当输入者执行-attack时(也就是当你松开鼠标左键)
PlayerOn - 当输入者进入控制时(即输入者Activate的时候)
PlayerOff - 当输入者退出控制时(即输入者Deactivates的时候)
logic_measure_movement https://developer.valvesoftware.com/wiki/Logic_measure_movement
功能:设定机枪做被测量实体的相同运动,也就是“瞄准”
Inputs:
SetMeasureTarget - 相当于设定了Entity to Measure的值
本帖最后由 Ultimate 于 2015-9-23 13:30 编辑
机枪开火实体:
ambient_generic https://developer.valvesoftware.com/wiki/Ambient_generic
功能:启用/开火音效
Outputs:
PlayerSound - 播放设定音效
*env_muzzleflash https://developer.valvesoftware.com/wiki/Env_muzzleflash(不包含在CS起源默认FGD中)
功能:创造类似HL2 SMG枪火特效
Outputs:
OnUser1 - 这是一个自定义触发,用于当对该实体输入FireUser1时执行OnUser1触发事件
Inputs:
Fire - 表示“开火”,即显示特效
FireUser1 - 执行指定实体的FireUser1输入,对应OnUser1触发事件
*env_gunfire https://developer.valvesoftware.com/wiki/Env_gunfire(不包含在CS起源默认FGD中)
功能:模拟AR2或SMG的子弹射击效果,无伤害
Inputs:
Enable - 启动该实体
Disable - 禁用该实体
SetParent - 设置自身为另外一个实体的子实体
env_sprite https://developer.valvesoftware.com/wiki/Env_sprite
功能:辅助显示开火特效
Inputs:
FireUser1 - 执行指定实体的FireUser1输入,对应OnUser1触发事件
ShowSprite - 显示sprite
HideSprite - 隐藏sprite
Outputs:
OnUser1 - 这是一个自定义触发,用于当对该实体输入FireUser1时执行OnUser1触发事件
env_spark https://developer.valvesoftware.com/wiki/Env_spark
功能:作为子弹射击的目标/方向,替代了info_target,因为它有BUG
game_ui https://developer.valvesoftware.com/wiki/Game_ui
功能:控制方向/开火/激活
Outputs:
PressedAttack - 当输入者执行+attack时(也就是当你按下鼠标左键/不放)
UnpressedAttack - 当输入者执行-attack时(也就是当你松开鼠标左键)
PlayerOn - 当输入者进入控制时(即输入者Activate的时候)
PlayerOff - 当输入者退出控制时(即输入者Deactivates的时候)
logic_case https://developer.valvesoftware.com/wiki/Logic_case
功能:启用伤害实体来造成伤害
Inputs:
PickRandom - 强制触发预设Case中的任意一个,可被重复随即到同一个
SetParent - 设置自身为另外一个实体的子实体(这里由于Targetname小细节错误导致有了这一项Inputs,其实没有用处,可以无视)
Outputs:
OnCase01
OnCase16 - 当触发Case 01-16 对应值时
logic_relay https://developer.valvesoftware.com/wiki/Logic_relay
功能:开火触发转发器,整合开火时需要进行的触发,便于分辨,不易混淆,十分有用。
Inputs:
Trigger - 触发(即对应OnTrigger输出)
Outputs:
OnTrigger - 当触发时(即Trigger被输入)
logic_timer https://developer.valvesoftware.com/wiki/Logic_timer
功能:开火/开火间隔设定。
Inputs:
Enable - 启动该实体
Disable - 禁用该实体
Outputs:
OnTimer - 当设定的时间到时
trigger_hurt https://developer.valvesoftware.com/wiki/Trigger_hurt
功能:子弹伤害
Inputs:
Enable - 启动该实体
Disable - 禁用该实体
SetParent - 设置自身为另外一个实体的父实体
trigger_push https://developer.valvesoftware.com/wiki/Trigger_push
功能:子弹造成的小推动
Enable - 启动该实体
Disable - 禁用该实体
-------------------------------------------------------------------------
其他细节:
格式:执行实体→执行条件→执行目标→执行输出→可选参数→延迟
疑问:logic_auto→OnMapSpawn→AR2_firehurt*→SetParent→AR2_soild→0.02
解释:*号为通配符,模糊搜索匹配到的实体,对所有符合Targetname匹配的实体进行触发
疑问:func_button→OnPressed→!activator→AddOutput→targetname player_guncontrol→0.00
解释:!activator表示输入者,即当有一个实体对func_button执行了Press输入,那么对func_button输入Press的这个实体表示!activator。
addoutput输出可以修改指定实体的键值,或者添加一个新Outputs,用法见下。
修改键值格式:<key><vaule>
例子:targetname 233
Targetname可表示修改指定实体的名称,即Name,不是Classname,即Type。
擅自修改地图加机枪 会导致版权问题的吧{:32_795:} 这个让我想起了似乎逃跑图还没见过需要人类操纵炮台之类的图呢 {:32_795:}虽然看不懂但是感觉好厉害的样子 666666 {:27_146:} 撸主游戏里那调戏模式是怎么开的?(噢不,是调试{:32_795:}) {:28_200:} 哦3Q 我下了 可以啊{:27_127:} 豆奶 发表于 2015-9-23 00:03
擅自修改地图加机枪 会导致版权问题的吧
{:28_184:} 不起眼的轧空 发表于 2015-9-23 00:08
这个让我想起了似乎逃跑图还没见过需要人类操纵炮台之类的图呢
自动化的还在学习 疯狂的小孩 发表于 2015-9-23 06:24
撸主游戏里那调戏模式是怎么开的?(噢不,是调试)
developer 2 {:27_148:}顶 {:27_127:}
页:
[1]