Creating WickedWhims Strip Club Animation XML File
This tutorial will explain to you how to setup the WickedWhims Strip Club Animations XML Tuning file.
If you want to know how to create animations check the ‘Creating Basic Animations In Blender’ tutorial and 'Converting Blender Animations to Clips’. The process of creating animations for Strip Clubs is exactly the same as creating sex animations, except for the XML part.
If you want to know how to create packages with animations, check the 'Creating WickedWhims Animations Package’ tutorial.
This tutorial does not explain the structure of an XML file, if you're not familiar with it then you might have trouble. Perhaps reading the 'Creating WickedWhims Animation XML File' tutorial could help.
1. Download a template & tools
Pick one of the templates. Commented one is recommended for beginners.
- Commented Template - Download (Open -> Right Click -> Save as…)
- Uncommented Template - Download (Open -> Right Click -> Save as…)
This application is required:
- Modding Toolbox - Download (or use Hash Generator in Sims4Studio
These applications are optional. If you don’t own any coloring text editor, try one out:
Once you're done configuring your XML file, consider validating it:
- XML Validation - Open
2. Create the hash values
To setup everything, we need a plain package name, a hexadecimal hash of that name and a decimal hash of that name.
To get three of these values we will be using the 'Modding Toolbox’, so open it. Optionally you can use the Sims4Studio Hash Generator.
> 2.1. XML File Name
Type in the name of your package and make sure it contains your name.
Recommended naming: “YOUR_NAME:WickedWhimsStripClubAnimations”, example: 'TURBODRIVER:WickedWhimsStripClubAnimations’.
> 2.2. Copy Hexadecimal ID
Copy the FNV 64 field without the '0x’ prefix.
> 2.4. Rename File
Replace the '0000000000000000’ at the end of the XML Template file name with copied FNV 64 value.
> 2.4. Switch to Decimal ID
Switch the display result to 'Decimal’.
> 2.5. Copy Decimal ID
Copy the FNV 64 field. We will need it in the next steps. Keep the 'Modding Toolbox’ open.
3. Prepare dancing location objects
> Dancing Pole
WickedWhims Dancing Pole - Download
> Dancing Spot
You don't need the Dancing Spot object as Sims simply dance in a spot on the floor.
> Lap Dancing
Export any CHAIR or LOVESEAT that the Watching Sim will be sitting on meanwhile the Dancing Sim will be dancing in front or on the watching Sim. Read the 'Exporting Objects from The Sims 4' tutorial for more information.
Both the Watching Sim and the Dancing Sim need to be animated.
4. Setup the variables
> 4.1. Do you know XML?
Variables are always between “>” “<” characters.
> 4.2. XML File Identifier
The first variable we will be changing is the ’s’ at line 2 in the file. The template has it as '12345’. You have to change it to copied in step 2.5 FNV 64 decimal hash.
> 4.3. XML File Name
Second variable we’re changing is the ’n’ at the line 2 in the file. The template has it as 'YOUR_NAME:WickedWhimsStripClubAnimations’. You have to change it to unique name you’ve typed into the Modding Toolbox.
After this point you can close the Modding Toolbox.
> 4.4. Dance Animation Name
Variable 'raw_display_name’ is a raw text that represents the name of your animation that shows up in the game.
> 4.5. Dance Animation Author
Variable 'author_name’ is the name of the animation creator. It’s probably your name.
> 4.6. Dance Type
Variable 'dance_type’ is a location category that animation can be used at. Only one location category is allowed per animation.
Here are all available animation location categories:
> 4.7. Dancer Sim Gender
Variable 'dancer_gender’ is the gender type that the dancer represents.
Here are all gender types:
> 4.8. Dancer Sim Animation ClipName
Variable 'dancer_animation_clip_name’ is the clip name of your Dancer Sim animation CLIP (ClipName).
> 4.9. Watcher Sim Animation ClipName [OPTIONAL IF NOT "LAP_DANCE"]
Variable 'watcher_animation_clip_name’ is the clip name of your Watcher Sim animation CLIP (ClipName). Only used with "LAP_DANCE" location category.
> 4.10. Object Animation ClipName [OPTIONAL]
Variable 'object_animation_clip_name’ is the clip name of your object animation CLIP (ClipName). [OPTIONAL]
You most likely won't need to ever make an object animation.
> 4.11. Animation Loops
Variable 'animation_loops’ is the number of times the animation will play in a row.
> 4.12. Animation Negative Duration Offset [OPTIONAL]
Variable 'animation_negative_duration_offset’ is the amount of time that is subtracted from the animation duration. This is only available when the 'animation_loops’ variable is set to 1.
Animations that are not intended to loop can use this to prevent the animation from looping for a split second (caused by desync) before the dance interaction progresses to the next animation.
For example, a transition animation is meant to play for 5 seconds and then switch to the next animation. By adding an extra empty 1 second to the end of the animation clip and then subtracting it with this variable, allows the game to switch the animation a second early, preventing the animation from starting over (looping).
A 5 second animation + 1 second of empty padding is an animation that plays for 6 seconds, but that 1 second subtracted using the 'negative_duration_offset’ prevents it from playing longer than 5 seconds and subsequently prevents it from starting over (looping).
> 4.13. Dance Sequence Name
Variable 'dance_set_name’ is a dance set name of this animation that is used to bundle animation together into a set and is used to order animations as a sequence of dances. [OPTIONAL]
> 4.14. Dance Sequence Order Number
Variable 'dance_set_order’ is the order number in the set of animations defined in the "dance_set_name" variable. [OPTIONAL]
If you're looking to make multiple animations play in a sequence, set their "dance_set_name" to be the same name and assign each of them the "dance_set_order" number in an order.
Last update: 25th of April 2021