新年圣诞快乐!
全新的Sven Co-op更新已经公布了!如果你正在你的服务器上跑Sven Co-op,请记得用SteamCmd更新.那些再用公开版本的同学们请一定要记得这也做,因为这个分支是和标准分支匹配的.
重要的更新
- 黑山:特别战术部(bms_sts),作者Trempler:现在有一个严重的平衡性更新,红队将不会永远获胜.
- 索降(sc_suspension),作者Hezus:现在支持夜间模式!
- 关卡设计师现在可以用trigger_changesky实体实时改变天空背景!
- 地图编译工具:默认细分值现在被提升至528,这将提高所有地图的固体细分度,即意味着帧数的提升和为无过度细分直接使用512×512尺寸的纹理打开了可能性.
重要
在Windows上运行的专用服务器必须安装Microsoft Visual C++ 2019 (x86)分发包,你可以在这里下载到https://support.microsoft.com/en-gb/help/2977003/the-latest-supported-visual-c-downloads
具体更新内容
程序
- 无
游戏和运行库
- 为无效玩家离开游戏添加了一个日志项
myinfo
/thatinfo
指令: 隐藏一些与查询实体无关的属性myinfo
/thatinfo
指令: 显示额外的信息,列如:目标,属主(如果有的话),模型皮肤,模型主体,移动类型,碰撞类型和效果标签- Debug 指令
cl_outline_sounds
和cl_spectrum_debug
现在不再保存到玩家的配置文件 - 门:当所绑定的声音路径为空或者索引为0的时候(即使是
common/null.wav
),不再尝试播放开启/关闭或者移动声音 - 门: 现在门在被使用的时候将正确播放锁定声音
- 修复了
game_playerleave
在无效玩家以某种方式离开时候不触发的问题 - 修复了客户端指令
dropitem
会被不能放下的item_inventory
屏蔽的问题 - 修复了在无效玩家以某种方式离开时服务器空闲计时器不工作的问题
- 修复了在玩家使用摄像头或者无敌的时候治疗不工作的问题
- 修复了在特定情况下梯子会冻结游戏的问题
- 修复了在demo里缺失音效的问题
- 修复了在属主锁定的时候一些锁定音效不会播放的问题
- Host_Say():服务端发送的消息将会以
console
记录而不是say
- Host_Say():回调一条网络消息,使得玩家能看见他们自己发的消息
- Host_Say():删除发送文本信息时重复的网络消息
- 库存UI(I键界面):当你选择不能丢弃的物品时,丢弃按钮边框将会变成红色
- 库存UI(I键界面):修复了图标字符串在物品丢弃的时候不会被删除的问题
- item_generic:修复了预缓存已满的问题
- item_inventory:修复了在创建一个不存在物品时,键值
item_name_canthave
要求双令牌(double-token) ‘;’ 的问题 - item_inventory:修复了键值
item_name_canthave
在用作触发规则时,其值将被写入m_szRequiresItemName
(用作item_name
) 而不是m_szCantHaveItemName
- item_inventory:利用操作字符串实现了来自UI的多线操作,而不是单纯的是否全部丢弃.(激活, 丢弃, 和全部丢弃)
- item_inventory:持有者选择时,物品可以选择延迟
激活
- item_inventory:物品现在会被作为一个附件附加到玩家的骨骼上(就想TFC中一样),而不是仅仅的复制到玩家原来的位置
- Items:控制台现在在找到其模型动作序列时会显示一条详细消息(当不是
idle
状态时) - Items:控制台现在在找不到到其模型动作序列时会显示一条错误消息(当不是
idle
状态时) - Items:设置模型序列时,会将起始帧重置为0。如果找不到序列,则将帧速率设置为0
- 换图列表:修复了预计的地图还没切换,而换图列表又过早切换的问题;这将修复由于手动切换地图导致关闭了换图,或者系列地图换图时候连续跳过了两张以上地图的问题
- MOTD: 修复了在某些情况下会导致内存损坏和程序崩溃的
off-by-one
问题 - MOTD: 修复了一个潜在的内存泄露问题
- MOTD: 当
maps/mapname_motd.txt
缺失或者为空的时候,任务简报文本将会从maps/mapname.txt
读取 - 新作弊指令:
myfriction
来调整自己的摩擦值 - 新作弊指令:
mygravity
来调整自己的重力值(对全局标准的乘数,比如1代表正常重力,0.5代表一半重力) - 新实体:
trigger_changesky
,允许地图作者实时改变地图天空贴图 - 新的网络消息:
ChangeSky
来实时改变地图天空贴图 - 物理效果:如果物品的移动类型不受重力影响,将不会强制使其掉落到地板上
- 可拾取物品(weapon_357, ammo_9mm之类的):允许地图作者使用能完全无视重力的移动类型8(类似移动类型5),但是同时也无视物品的碰撞
- 还原客户端侧的子弹轨迹,以修复射击浅水区没有水花的问题
- 现在在玩家刚连接的时候计分板(Tab键)就会立刻更新
- 现在由玩家发送的消息将会立刻在控制台见到(之前控制台消息会有一点延迟)
- trigger_counter:剩下的
to go
消息将会在服务器端显示给激活实体的玩家 - trigger_counter:如果激活实体的玩家已经离开游戏,剩下的
to go
消息将会在服务器端显示给所有玩家 - trigger_counter:但
to go
超过3的时候,将会具体显示还剩多少人,而不是之前的还剩很多要做
- trigger_push和func_conveyor实体在被trigger_setorigin改变位置的时候将会动态的更新指向
- 更新
custom_precache
来支持预加载额外的天空贴图 –如果你要用trigger_changevalue
或者trigger_copyvalue
在trigger_changesky
实体上的时候会很有用 - 加血机(墙上那个)在玩家血量已满的时候会拒绝玩家使用,而不是一直循环播放正在加血的音效
- 在你丢子弹的时候,将会直接把子弹给你面前的那个人,但你面前没有人的时候才会安装原来的方式丢弃子弹
AngelScript
- API:将Seek方法添加到CASFile中以查找整个文件,包括用于指定Seek模式的SeekFileFlag/SeekFileFlags定义;还修改了CASFileSystem子类型的注册顺序,以便允许前面的添加正确注册
- API:添加了
PluginExit
, 一个会在运行中的服务器重载或卸载插件的时候call的函数. 这将允许服务器插件处理和保存一些永久性的数据和清理一些直到换图以后也不会被释放的对象, 列如文件句柄等
引擎
- 将版本提升至5.0.1.4
- 迁移到最新的VisualC++工具集,要求 Visual Studio 2019 (x86)的Visual C++重分发包
- 从原生GoldSrc移植了一些修复
- 修复了客户端地图切换可能失败的问题[https://github.com/ValveSoftware/halflife/issues/2318]
- 修复了
Host_Kill_f
使得 HLDS 崩溃的bug (命令结束)[https://github.com/ValveSoftware/halflife/issues/2129] - 修复了
MSG_WriteBitString
可以写入非法字符的问题[https://github.com/ValveSoftware/halflife/issues/2323] - 修复了
PEntityOfEntIndex
不能正确返回最后一个玩家的问题[https://github.com/ValveSoftware/halflife/issues/2272] - 修复了一些
MSG_Read
函数会返回错误值的问题[https://github.com/ValveSoftware/halflife/issues/2324] - 以下几个参数将会被保存到玩家配置文件里:
fps_override
,gl_ansio
,cl_filterstuffcmd
[https://github.com/ValveSoftware/halflife/issues/2237]
- 现在将会检查Bsp文件的扩展名是否正确(.bsp);(除了版本号以外,Bsp文件没有它自己的唯一签名,如果模型等拥有唯一签名的文件都不匹配的话,引擎将会简单的假设他是Bsp文件)
- 修复了
logaddress_add
命令在某些情况下检测不到重复列表项的问题 - 修复了demo记录中缺失声音的问题
- GL model: 表面尺寸拓展至1024以匹配地图编译器的 64(x16)而不是 16(x16)
- GL model: 以
Bad surface extents
标记纹理名称,以帮助制图者精确定位问题面 - GL surface: 将灯光纹理块从324增加至1600 luxels(rad编译时一块纹理拥有的亮度bitmap数,灯光纹理块将会由着色器计算出光影效果)以支持Bsp细分值从240增加至528
- 传统音效引擎(HL自带的只能播wav的那个):当Wav信息检查失败的时候文件载入将立刻abort.
- 传统音效引擎: 将为所有Wav信息错误消息输出文件名
- 传统音效引擎:将
Invalid loop length
Wav信息错误标记为非致命 - 将
File has been modified since starting the engine
(自引擎启动来文件已被修改)错误标记为非致命 - 重写
PF_checkclient()
使得FIND_CLIENT_IN_PVS()
能在服务器有多位玩家时正确工作.游戏里的一些其他的实体依赖这个函数来评估他们是否处于thinking
状态.最值得注意的是,这个更新修复了monster_leech
原地冻结的错误 - Steam P2P 功能: 为连接失败提供了更好的错误消息
sv_visiblemaxplayers
指令将不能再用于公布比实际有更多的玩家位置,大于maxplayers
命令设置的玩家位将会被忽略- 模型加载程序将提供更详细的错误消息
Nbnbnb
abc nb!