Managing S2 Weirdness
These are some of the quirks that exist in the current version of
Counter-Strike 2. As the game continuously receives updates, however, solutions presented here are only suggestive. The list will be updated whenever necessary.
note
Some issues mentioned here may be fixed on live servers that use a third-party plugin (e.g.
CS2Fixes).
- Players get stuck on water floors.
- Provide additional ladders / extend existing ladders so that they touch the water floors.
- Add
trigger_pushnear the water floor, however, this can cause unintended effects by players exploiting a speed boost from these ladders in water.
- AddOutput outputs that change an entity’s keyvalue do not work.
- No good solution, other than to replace them with other entities that can relay the intended output.
- With CS2Fixes, change the AddOutput function to KeyValues.
- The random teleportation target mechanism from CS:GO (having multiple
info_teleport_destinationwith the same targetname) no longer works in
Counter-Strike 2.
- Change the
info_teleport_destination’s intopoint_teleport's with!activatoras its target, and change thetrigger_teleportinto atrigger_multiple. Then, create alogic_caseand have each case targeting eachpoint_teleport, and have thetrigger_multipleoutput tologic_casewith PickRandomShuffle.
- Change the
- Some areas may be drawn in when they should not, including cases when they are completely separated by the void. Refer to the section on VIS.
team_introstops any music played during its cinematics.func_movelinearwithmp_solid_teammates 0kills colliding players iffunc_movelinearhas block damage. If not, the entity simply gets stuck until players do not collide with each other. This is problematic especially with maps has items.- Use a
func_tracktraininstead.
- Use a
- Collisions on moving entities are clunky, resulting in players getting stuck in the entity’s mesh. This usually occurs when a player collides into the front or the ceiling of the moving object, making the players clip to the outside.
- As this is a default behavior of the game, there is not much that can be done other than removing collisions on troublesome parts of the object.
- Any "explosion damage", i.e. having BLAST damage on
trigger_hurtor anyenv_explosionthat hurts players, can crash on a live server.- For
trigger_hurt, replace the damage type to something else. - For
env_explosion, see if the damaging mechanism can be replaced with atrigger_hurt. - This is fixed with CS2Fixes.
- For
trigger_pushappends its force every tick; players within a push trigger is sent flying even with a low push force.- If you do not require a constant pushing effect, you can tick Trigger on Start Touch parameter for the push to be applied only on the tick when the player touches the trigger.
- Else, you may have to recreate the effect manually by using a repeating timer with
logic_timer. - This is fixed with CS2Fixes.
trigger_gravitydoes not reset the gravity enacted on a player upon leaving the trigger.- If possible, create a separate
trigger_gravitysurrounding the area which resets the player's gravity (default gravity is 1). - This is fixed with CS2Fixes.
- If possible, create a separate
prop_door_rotatingcan be broken by a HE grenade.- Target an input on those doors with SetUnbreakable. This comes up as a broken output, but they do work in game; it is simply missing from the hammer
.fgd.
- Target an input on those doors with SetUnbreakable. This comes up as a broken output, but they do work in game; it is simply missing from the hammer