fix: sync Torso with BodyType to prevent skeleton break on extreme animations#159
fix: sync Torso with BodyType to prevent skeleton break on extreme animations#159promoreira wants to merge 1 commit into
Conversation
…imations - Move setDefaultSkin fallbacks (HeadType, BodyType, LegsType, Torso, Body, Waist, Eyes) outside the albedo loop so they apply even when no DefaultChar entry matches the skin's albedo. - Add Torso != BodyType sync: when both are non-zero but differ, force Torso = BodyType to keep skin color variant in sync. - Sync Torso = BodyType on heritage change in menu.lua so that changing skin colour also updates the torso component. - Sync BodyType = compType on body type change in menu.lua. - Set Torso = BodyType and Waist default in createCharacter.lua. - DELETE outfits orphans on character deletion in server.lua. - Trigger vorp_character:characterDeleted event so other resources can clean up their own tables.
what? |
|
could you please make a video of the issue you speak about ? |
|
@outsider31000 regarding your points:
|
|
Thank you, but I need a video of the issue happening so I can understand because the text you sending me is AI made and it doesn't make sense to me. Also how is it an albedo different than what's in the config ? the albedos are added based on the config, it sounds like you are doing something else in your server? |
|
Can you please provide me a link to your discord, so we can talk? The one showing in the docs does not work, I tried it many times already. I will be happy to show you how to replicate the bug! |
|
the link works I just tried https://docs.vorp-core.com/introduction |
Description
Fixes character skeleton breaking during extreme animations (horse empinar, etc.) caused by Torso desyncing from BodyType when heritage/skin color is changed.
Root Cause
When a player changes heritage (skin color) in the character creator, BodyType updates to the new skin variant's body hash, but Torso remained at the old variant's hash. This mismatch causes the skeleton to break during animations that require both components to be compatible.
Additionally, setDefaultSkin only ran its zero-value fixes when the skin's albedo matched a Config.DefaultChar entry. Characters with custom/unmatched albedos (e.g. Night's skin with albedo 317354806) never received fallback corrections.
Changes
client/client.lua
client/createCharacter.lua
client/menu.lua
server/server.lua
Testing