Comments (1)
Managed to reproduce this while refunding with the custom Scout secondary / melee equipped on any MvM map.
I think I've seen this one before — what's happening is that at least one or more of the attributes being applied matches one of the upgrades available in MvM.
The upgrade system uses the same "runtime attribute" functionality that CWX (or rather, the underlying TF2Attributes) uses, and for some reason the game has a really slow path of iterating through each upgrade step even if it extends past the limit of what the game normally supports; in your config I think the critboost, clip size, and maybe max health bonuses match one of the game's existing upgrades.
For each upgrade step it respawns the player and revalidates their loadout, so as you can guess, having something like +99900% ammo capacity being upgraded in +50% increments is painfully slow. (I suspect something similar is what's causing players to get ejected from MvM during refunds with the recent net_chan_limit_msec
changes, just at a smaller scale.)
Edicts are only swept at one point in each game tick, and each respawn causes a new weapon to be generated, which is what leads up to the crash.
This isn't specific to CWX, but I suspect that if this doesn't affect CW3, it's because items are reapplied instead of persisted. Hard to tell for sure though.
The current workaround is to use an attribute name that doesn't match one of the game's upgrades (using an attribute with the same attribute class). If one doesn't exist, you can create one using a schema injecting-method such as Hidden Dev Attributes. The benefit of this method is that any upgrades recognized on the client for that item won't cause the game to crash (the UI will also try to draw an unbounded number of upgrade steps).
Leaving this open since this is a valid issue; however I can't guarantee that I'll have a fix for this. I'm hearing the "slow upgrade step" logic is going to be optimized since it does cause issues with the recent changes mentioned, so we may just see if it gets fixed that way.
I've also added a note for this in the getting started / item creation page.
from sm-tfcustomweaponsx.
Related Issues (20)
- A bunch of gamebreaking issues found. (Engineer Buildings Disappearing, Stickies Disappearing, etc.) HOT 22
- Stickies disappear when respawning caused by changed weapons HOT 1
- Attributes on non-native wearables stack HOT 7
- Validate loadout slot for inherited items
- Add "Replace" functionality from CW2 HOT 5
- Request: Smoother way to refresh custom weapons.
- Implement API for reading extended data by plugins HOT 1
- Sound replacements not work HOT 1
- Segfault on weapon grant HOT 4
- allow equipping of regular items? HOT 2
- Backwards-compatibility command listeners don't work in text chat
- Secondary weapons keep getting swapped to when touching a resupply locker. HOT 1
- "Projectile speed increased" attribute causes extreme projectile deviation on The Scorch Shot. HOT 1
- "weapon burn time increased" attribute does not work on secondary weapons HOT 4
- Weapon models do not appear on other players HOT 3
- Weapon equip error spam + crash HOT 3
- [SUGGESTION] Add alternative variant of menu for choosing weapons (MOTD-based) HOT 1
- CWX alters clip on forced respawns HOT 3
- Feature request: add an option to "remove other weapons" HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sm-tfcustomweaponsx.