Mini-mod tutorial

From Valve Developer Community
< Zh
Jump to navigation Jump to search
English (en)Français (fr)Русский (ru)中文 (zh)Translate (Translate)

介绍

修改一个Source的游戏设置比如半条命2不需要编程或Source模组制作的知识(姿势)。这篇教程将教你如何用cfg配置文档(en)来修改游戏设置.设置文档包含了一个简单的命令列表使得Source引擎能用其执行。这些命令就是开发者控制台指令,所以任何可以通过打字输入控制台的指令都可以被配置文件所替代。

有了控制台指令,你就能改变任何东西,从一种武器的最大弹药容量到半条命2中蚁狮卫兵艹你时所造成的伤害大小。可以看控制台指令的列表大全 点这儿(en),但是记住,一些列表只在半条命2和它的序章里才可用。如果一条列表中的指令确实被写在作弊专栏里,那你就必须在你用它之前加上sv_cheats 1

创建一套配置

打开记事本或者任何文本编辑器,然后写一些你想要的控制台指令,通过换行隔开。要执行前文提及的弹药和狮蚁卫兵的伤害改变,你要输入以下指令: sk_max_crossbow 30
sk_antlionguard_dmg_charge 60

很显然还有很多其他控制台变量可以从中选择,这只是举个栗子。

通过使用配置文档,你还能把动作和按键绑定。举个栗子,如果你想创建一个能触发“子弹时间”模式的按键,你可以输入以下内容(它需要在配置文档的开头使用cheats指令):

sv_cheats 1
alias "BulletTimeOn" "host_timescale 0.5; mat_yuv 1; switchToOff"
alias "BulletTimeOff" "host_timescale 1; mat_yuv 0; switchToOn"
alias "switchToOff" "bind tab BulletTimeOff"
alias "switchToOn" "bind tab BulletTimeOn"
switchToOn

通过这个已生效的配置,你能通过按Tab键够减缓游戏里的时间然后使屏幕产生黑白或单色的效果,再按一下就可以把游戏复原。要是想了解更多关于触发器的工作相关(看上去不明觉厉其实挺简单的)可以查看 设置命令别名(en)绑定(en).


保存配置文档

当你保存配置文档时,记住永远把“保存格式”的下拉框里设成“所有格式”。把你的配置文档任意保存一下,但是记住有 .cfg 后缀名。如果你在创建一个半条命2的配置,你要把它保存在这儿:

你放steam的文件夹\steamapps\YourUsername\half-life 2\hl2\cfg


在游戏中运行配置文档

要想在游戏中执行这个配置,你需要打开开发者控制台然后打字输入这个:

exec CONFIGNAME.cfg

配置只有在被放在正确的位置时才会被执行(见上文)。但愿你在配置文档里做的改变会在游戏中被执行。

移除配置

出现了一个问题,但是在运行了配置以后,你的指令依旧会在你下次玩游戏的时候加载在任何地图上。围绕这个问题,创建另一个叫uninstall.cfg(或者其他名字)的配置文档,在这个文档里,解除所有你在先前配置里绑定的配置,用这种指令来给每个按键解绑:

unbind KEY

所以,举个例子,如果你要绑定了箭头键和Tab键,你就要用这下面这些来卸除先前的命令:

unbind tab
unbind uparrow
unbind downarrow
unbind leftarrow
unbind rightarrow


为特定的地图建配置

如果你想让你的配置自动在你创建的地图里运行,只要简单地在地图里放一个logic_auto和一个point_clientcommand实体就行了 (多人游戏的话是point_servercommand实体) . 把point_clientcommand/point_servercommmand命名为 “console”。在logic_auto里加上以下输出(output):

Output: OnMapSpawn
Target entity: console
Input: Command
Parameter: exec 你的配置文件

当你发布你的地图时,记得把cfg文档包含在一起。同时还有如何使用cfg配置的指导以及如何卸除配置。

可选部分(每个地图的配置)

如果你想要像用配置文档一样调整你的地图的配置,但是你不想动用安装/卸除配置文档,你可以单独使用 logic_auto and point_clientcommand/point_servercommand实体.简单地用上文提到的输出(output),但是可以改变你选择的指令的参数。