If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Sven Co-op Update Released [Build 2396897]

Santa Garg is here!

Despite being locked in my childhood bedroom at my parents' house while screaming children pound on the door, we've managed to assemble a holiday update! This update features custom HUD elements, numerous bug fixes, and a new map by JPolito and GeckonCZ.

New Map - They Hunger: Escape

They Hunger: Escape, created by JPolito and GeckonCZ, has been released with the game. The map features survival gameplay in which players must find three randomly placed items and bring them to a broken down truck. The truck must then be repaired and used to escape from the town before the timer runs out and the military arrives to 'purge' the town.

At the start of each round, each player is assigned to a random 'civilian' role. Rounds last seven to eight minutes (depending on difficulty mode). Once the timer runs out, the military parachutes into the town and will destroy the vehicle if all of the items have not yet been brought to it. It is still possible to repair the vehicle and escape after the timer runs out, but it is exceedingly difficult.

If you are running a dedicated server please use SteamCmd to update your servers. Those of you that were using the public release candidate can remain to do so, as this branch now matches the standard branch.

Changes are as follows:

Notable changes

Added support for custom HUD elements (generic sprite, numeric display and time display). Exposed the new functionality through the AS API.

New map: "They Hunger: Escape".

Scripted weapons can now drop ammo.

Code

Game library

Added "+inventory"/"-inventory" command pair that will toggle the inventory screen.

All impulse commands (including flashlight) and the +use command are no longer blocked by certain weapon actions (anything that uses the m_flNextAttack variable would cause this issue).

Changed MAX_AMMO_TYPES from 32 to 64 for scripted weapons (i.e. the CoF weapon pack). Merged MAX_AMMO_SLOTS and MAX_AMMO_TYPES definitions (both served the same purpose).

Fixed corpses blocking monstermakers/squadmakers.

Fixed issue where chat messages sent right before a map change wouldn't get printed to the console.

Fixed issue with muzzle sprites not appearing long enough for players that have low framerates

Fixed issue with skill CVARs not being set correctly when changed via trigger_setcvar.

Fixed the "Voting menu doesn't add players as they join" issue.

Fixed the confusing "You must wait X seconds before you can call for aid." message that appeared when "getextras" command was used too soon.

Flashlight now uses CHAN_AUTO instead of CHAN_WEAPON to play the "click" sound. This should prevent it from interrupting weapon sounds.

The message that appears when players enter observer mode will now mention reviving only if the player didn't get gibbed.

Unlinked MAX_WEAPON_POSITIONS and MAX_WEAPONS definitions again to allow for up to 20 weapons per bucket. This way all 9+1 weapon buckets are available and compatibility with existing scripts is maintained.

[path_track] Added new keyvalue "maxspeed". Sets new maximum train speed. If the train is traveling too fast, its speed will be set to the new allowed maximum.

[path_track] Added new keyvalue "newspeed". Same as the legacy "speed" keyvalue but works correctly with controllable trains.

[trigger_camera] Added key input callback.

Heads-Up Display

"mp_survival_voteallow" CVAR can be used from map config now.

Added "HIDEHUD_CUSTOM_MAPS" and "HIDEHUD_CUSTOM_PLUGINS" flags. Can be used to hide all custom elements from a given group.

Added HL2-like auto-hide feature for the weapon selection menu. This should prevent the situation with players running around with the weapon menu active and unintentionally switching to a different weapon during combat.

Added support for custom HUD elements (generic sprite, numeric display and time display).

Health/suit power value is now clamped correctly, so the value displayed on HUD doesn't roll over if it's too high.

In-game chat can now display up to 12 lines (6 by default; can be customized via hud_saytext_lines CVAR).

Increased the weapon slot count from 7 to 10 (for scripted weapons). Slots #6 - #8 are only visible if there are weapons assigned to them. Slot #9 is always hidden and is reserved for special weapons (minigun, shockrifle).

Inventory items can use custom HUD sprites. Set by a new "item_icon" keyvalue. Expected sprite size is 72x72px. If the player holds items of more than one type, the default item inventory icon will be used.

Made the cl_showstats debug info slightly more compact.

New CVAR: "hud_alpha_default"; can be used to customize default transparency of HUD elements. (range: 0..255; default: 160)

New CVAR: "hud_alpha_max"; can be used to customize transparency of active HUD elements. (range: 0..255; default: 255)

New CVAR: "hud_bordersize"; can be used to customize HUD "padding". (range: 0..100; default: 16)

New CVAR: "hud_debug"; can be used for a precise placement of custom HUD elements. (values: 0-2)

New CVAR: "hud_draw"; enables/disables drawing of the HUD. (values: 0/1; default: 1; the value is not saved)

New CVAR: "hud_hidecustom"; can be used to hide custom HUD elements. Just in case some server operators do something naughty with the feature. (values: 0 - show all, 1 - hide elements created by map scripts, 2 - hide elements created by server plugins; >=3 - hide all)

New CVAR: "hud_saytext"; enables/disables drawing of the in-game chat. (values: 0/1; default: 1; the value is not saved)

New CVAR: "hud_selection_fadeout"; sets the time it takes to fade out before it automatically closes. Default value: 0.5 seconds. If set to 0 the fade out effect will be disabled.

New CVAR: "hud_selection_timeout"; sets the time it takes before the selection menu starts fading out. Default value: 1.5 seconds. If set to 0 the auto-hide feature will be disabled.

New CVAR: "mp_suitpower"; Can be used to disable HEV suit power (armor) and hide it from the HUD. Values: 1 - enabled (default), 0 - disabled.

Numeric displays will show + sign behind the number if the value is "out of range".

Player names in chat are now displayed with a slightly different color.

The ammo bar in the HUD weapon selection turns red instead of disappearing if the weapon has no ammo except for what is left in the weapon itself.

The ammo display will now flash even for weapons that are not using magazines.

The chat "block" is now positioned at the center of the bottom half of the screen. If there isn't enough space, the chat is moved up to clear the health/suit power displays.

The weapon selection will automatically close if the player picks up a special weapon.

Tweaked the HUD layout for a more consistent look.

Weapon history slots are now initialized properly, so the very first ammo/weapon pickup will be always rendered at the bottom of the weapon history list.

AngelScript

Exposed the new custom HUD functionality.

Exposed the new 'concussion' effect.

RegisterWeapon() can be used to specify classname of the dropped ammo and ItemInfo to specify the amount.

Any weapon can now use the iClip2 ammo display (enabled by setting iClip2 >= 0).

Any weapon can now use the uzi-styled iClip2 ammo display (enabled by specifying ITEM_FLAG_DUALWIELD weapon flags, activated/deactivated on the fly by toggling m_fIsAkimbo).

Exposed Adam's "Entity compounded effects/modifiers" through AS API.

Added new methods BlockWeapons(),UnblockWeapons() and GetWeaponsBlocked() to CBasePlayer class. Exposed through AS API.

Moved m_fBlockWeapons from CBasePlayerWeapon to CBasePlayer. Removed the variable from AS API as well, scripters can use the new CBasePlayer methods instead.

Engine

If a player is using a view entity (e.g. trigger_camera), the PVS of the view entity is now used instead. This allows NPCs outside of the player's PVS to become active when being viewed by a camera entity.

Non-playable characters

[Barnacle] Barnacles will now ignore large XRACE monsters.

[Barnacle] Fixed the issue where barnacles were unable to kill monsters that take reduced damage if the damage type is "slash" (i.e. pitdrones).

[Chumtoad] Fixed an issue where player owned chumtoads could be used by other players.

[Tor] The monster now uses "sk_tor_punch" skill CVAR instead of "sk_agrunt_dmg_punch". ("sk_tor_punch" was present but unused in earlier versions)

Weapons/Items

Added custom weapon/ammo drop rules. This determines what should be dropped when the player dies. New CVARs: mp_weapon_droprules and mp_ammo_droprules; Values: 0: NONE, 1: ACTIVE (default); 2: ALL.

All weapon and ammo world models will animate now if the model supports it (i.e. the spore launcher).

Changed how mapper placed items are determined. Fixes an issue where weapons with movetype set to MOVETYPE_FLY would start spinning when respawned. Also fixes the spinning weaponbox on hl_c16_a1.

Crowbar, wrench, medkit, barnacle grapple and glock will now appear in the HUD weapon history when picked up.

Dropped weapons/ammo now fade away instead of disappearing suddenly.

Fixed an exploit where players could get twice as much ammo by +using and touching ammo item at the same time.

Fixed an issue were players could pick up satchels dropped by somebody else and deploy them to get over the limit of 5 deployed satchels.

Players can drop secondary ammo now ("dropsecammo").

Players can no longer "steal" dropped weapons if they already have the same weapon. They will instead take the ammo from it and only as much as they can carry. No weapons or ammo is wasted this way.

Players can no longer pick up dropped ammo/weapons if they already have max. amount of the particular ammo type.

Players can no longer steal thrown crowbar if they already have one.

Scripted weapons can drop ammo now.

The "ammunition depleted" HEV sound is now played for uzi, M16, gauss gun, gluon gun and minigun as well.

The Classic mode shotgun is now forced to use the double-barrel fire mode as its secondary attack (the weaponmode_shotgun CVAR is ignored).

Weapons directly given to a player (i.e. via map config or "impulse 101") now ignore the "weapon pickup" delay.

Weapons dropped by NPCs are an actual weapon entities now (instead of a reskinned weaponbox entity).

Weapons dropped by dead players are an actual weapon entities as well, unless the weapon/ammo drop rules are set to ALL, in which case the classic DM weaponbox is dropped.

Weapons dropped by players can no longer be stolen by other players if they already have the same weapon.

[Displacer] The weapon now uses "sk_plr_displacer_radius" skill CVAR instead of hardcoded value. ("sk_plr_displacer_radius" was present but unused in earlier versions)

[Gluon Gun] The gluon gun beam is no longer slightly off compared to the crosshair position.

[Gluon Gun] The gluon gun will reset back to the idle animation correctly when the player runs out of ammo and keeps holding the attack button (this will hide the blue light reflection effect that is part of the weapon model).

[Gluon Gun] Tweaked the gluon gun beam effect a bit. The gluon cloud sprite is now rendered even if the target entity can't take damage.

[Hand Grenade] Banana bomb now works even if the player has more than 10 grenades.

[M16] Fixed an issue where the M16 couldn't be selected if the player had the last AR grenade loaded into the gun and no other ammo.

[Tripmine] The tripmine now uses a proper worldmodel.

[Uzi] The uzi uses two different HUD sprites again (single uzi and akimbo). It changes when a second uzi is picked up/dropped (the actual weapon mode doesn't matter here).

[item_inventory] "effect_block_weapons" set to 1 should work reliably now (No view model glitching, no weapon switching).

[item_inventory] Fixed an issue where the item_inventory entity would fly in a random direction when dropped.

[item_inventory] Fixed double-not on the ignore trigger check, which meant that "if not not ignoring triggers, fire the triggers".

[item_inventory] Inventory rules: Item group rules are only ignored if the minimum number required is also 0. That means that no items currently existing in the group can still block the trigger if you set the minimum items from group count to at least 1.

[item_inventory] Return triggers should are no longer fired when an item is destroyed. Only the destroy trigger should be.

Scripts

Half-Life

[hl_crowbar] The view model is now set to empty string when the weapon is holstered, instead of "0", which would cause a fatal error.

[hl_crowbar] Think function is now cleared when the weapon is holstered.

Survival

[Checkpoints] Fixed the "checkpoint jitter" issue.

[Checkpoints] HLSP checkpoint now has a slight fade-out effect when activated.

They Hunger

All They Hunger weapons can drop ammo now (except the Tesla gun).

Updated the scripts to work with the TH ammo/weapon model update.

Moved They Hunger weapons to their own script file (th_weapons) to make it easier to implement them in other maps.

Every weapon/monster has its own namespace now.

[monster_th_grunt_repel] Enabled delayed spawn.

[monster_th_grunt_repel] Spawnflags, health, netname and weapons are now carried over from the master entity (to match monster_human_grunt).

[weapon_m14] The weapon now uses m_pPlayer.m_flEffectSpeed to slow player down instead of modifying pev.maxspeed directly. This fixes an issue where players carrying item_inventory could use the sniper rifle to override movement speed penalization.

[Thompson and Greasegun] Each weapon has its own ammo entity now. Both weapons can be used on the same map and they will drop the correct magazine.

[Thompson] Weapon has higher DPS and better accuracy. The weapon now uses different recoil algorithm with a feel similar to CS 1.6 (by KernCore).

Other

SDK

FGD

[item_inventory] Added "item_icon" keyvalue. Can be used to specify a path to a custom HUD sprite. (provide the full file name and path relative to the "sprites" directory; the expected sprite size is 72x72px)

Version details

Please use the steam build ID number as a reference when posting an issue or query on our message boards. You can find the build number you currently have within Steam by right clicking our game or tools, selecting Properties, then selecting the Local Files tab.

Re: Sven Co-op Update Released [Build 2396897]

Server operators: I noticed that a handful of servers are using outdated map vote lists (mapvote.cfg), because this file is considered a user file SteamCmd will not overwrite it when you obtain an update. This means that the latest official maps, particularly "th_escape", will unlikely be playable.

Please could you delete this file so SteamCmd can obtain the latest copy of it, or replace it with the following?

Re: Sven Co-op Update Released [Build 2396897]

Okay, an important question:
How do I move the chat back where it belongs? I strongly dislike that it's basically in the middle of the screen rather than at the bottom.
Also, why is the player info so HUGE? How do I change the font scale? I remember doing it in the past, but I cannot remember how it was done.

Re: Sven Co-op Update Released [Build 2396897]

I haven't logged into the forums for about 10 or 14 years, but I just wanted to thank you guys so much for making th_escape; it's absolutely amazing. It's just such an awesome game mode and concept! I'll probably eventually get bored of it now that I finally passed it, but for now I'm happy to enjoy it. It's these unique game modes (incl. bm_sts) which are why I love Sven so much. I'm pretty tired and uninterested in the maps where you're just running and gunning NPCs and not much else. But for th_escape? Definitely in the top 3 Sven Co-op maps of all time I'd have to say. Bloody good on you and congratulations.

I'm kind of hoping now that you've figured out the coding, we'll see more maps using this game mode! But that's probably asking too much. Good work on the update! Although while I'm here I'm mention a mate of mine seems to have issues hosting that map (dedicated) which he doesn't get with any other map. But it works for me on a Listen Server, strange.

Flashlight now uses CHAN_AUTO instead of CHAN_WEAPON to play the "click" sound. This should prevent it from interrupting weapon sounds.

I always toggled the flashlight to shut up the egon wind-down sound, the change makes sense though.

Added HL2-like auto-hide feature for the weapon selection menu. This should prevent the situation with players running around with the weapon menu active and unintentionally switching to a different weapon during combat.

My initial response is that it should stay open at least twice as long by default (more time to observe the pretty weapon icons). Generally I've noticed friends leaving it open for like 30 seconds or so and that's when they forget it's open.

All impulse commands (including flashlight) and the +use command are no longer blocked by certain weapon actions (anything that uses the m_flNextAttack variable would cause this issue).

A welcome change. I'll be using health/hev chargers more often now that I can reload at the same time.

Inventory items can use custom HUD sprites. Set by a new "item_icon" keyvalue. Expected sprite size is 72x72px. If the player holds items of more than one type, the default item inventory icon will be used.

It'd be great if icons were also shown in the inventory menu (and maybe show the display name on mouse hover?). It's hard to parse a bunch of words in boxes.

Re: Sven Co-op Update Released [Build 2396897]

Well then. New update, new things added, right?
Except the fact that my hud was broken (I fixed it, don't worry), that was the only negative part about it, but the new "get ammo from weapon" feature is REALLY useful and gameplay changing, once somebody respawned, I would spam the existence points out of my use key until I could pick up someone's weapon after they died, though, new players don't know that to pick up Mekit charges, most of the times they ignore them altogether, or simply give up healing somebody, because they haven't been trained well with using the use key, they will most likely try to get weapons by manually walking over them, three days ago,I was in a server with survival mode on, there was a Gluon Gun on a room, sitting on a small table, somebody wanted to get the Egon, right? Instead of actually seeing that they picked it up, the guy just casually ran to it, thinking that he could get it, turns out he actually didn't even touch the weapon, and he kept going to a teleporter, which teleported players to the areas full of action, in the end, he walked over it, no sound of picking up, no HUD icon displaying the weapon that he picked up, and he simply thought that he got it, I know that this might be a person-wise situation, since you have to jump on the table and walk over the Egon to pick it up, he simply didn't do that.

Another thing that seems to happen with players, is that most of them (possibly unexperienced on the game) avoid some liquids at all costs like if their life depended on not going into them. What I mean, is that once I was in a crappy hgrunt spawncamp room, respawned 4 times, the last time I accidentally fell down into some hazardous water, which, of course, got me killed, now, most other players survived, some way or another, they survived the hgrunt room.
I kept spamming Z since they arrived from a teleporter, about 4 of the players didn't even bother to investigate what the sound was, and just repeated the same command, pointlessly, the last guy, however, SAW me, underwater, in front of him, with a medkit in his hands, and I tell you, I spammed Z so hard that time, you don't even know, guess what he did? he looked at me for a split second, looked down, and went up the ladder, not even bothering on reviving me, the water dealt about 3-4 damage per second if the player stood inside it, this was not dangerous, at all, he simply left the room, with the medkit still in hand.

Also, what was the E3 1998 feature that was mentioned here?

I still freaking LOVE the new update though, the "get ammo from dropped weapon" part is amazing,I don't think that I've ever seen anything like it, now... if only I could find out how to make unloaded weapon models for when you get ammo... hmm... Oh! And scripting... Yeah, that'd take alotta work.