Project Landslide (Script Mod) by Consort
This little tool is a text-only cheatcode to modify the sliders of entire populations of Sims in your town. Since it's a boring and time-consuming task to take each individual townie into CAS, why not do it Cycl0n3 Sw0rd style via command line - Quick and easy like compiling a Linux kernel.
- Supports all custom sliders
- Typing long commands in the cheat console makes you look totally 1337
Overview
How does this work?
Download & install the mod like any other mod.
Open the cheat console by pressing Ctrl+Shift+c
Type your slider command.
(As a first test I would suggest you list the weight of all Sims by typing slider weight list)
The output will be displayed in the top right corner as a notification (those under the tab with the letter symbol)
Quick Walkthrough
Let's just start with a quick walkthrough to give you an idea of what we're talking about:
You can read out a slider value of all Sims
slider NostrilHeight list
You can reset a slider for all Sims
slider alienears setto 0
You can undo the last operation for all Sims that were modified
slider undo
You can randomize a slider for all Sims
slider weight setto rand -0.5 1
You can copy the value of one slider to another for all Sims:
slider simheightbycmar setto simheight
(Translation: the "Sim Height by cmar" slider is set to the value of the "Sim Height" slider (by Bloom, but he chose to name it just "Sim Height", so that's our handle). In other words: simheight is copied to simheightbycmar)
All operations can be filtered:
slider weight setto 1 if isfemale if youngadult if couchpotato
(Translation: set the weight of all young adult females to maximum if they have the couch potato trait)
All operations can be modified by basic arithmetics:
slider shoulderwidth setto fitness mult 2 max 1 min rand 0.5 1 if athletic
(Translation: copy the fitness value to the (custom) shoulderwidth slider, but multiply the value by 2, don't allow values higher than 1, and set a minimum random value between 0.5 and 1). Oh and only for Sims with the athletic trait please.)
Please Read
- Make sure you do not type double spaces in the cheat console
The cheat console forgets everything after a double space, this can lead to unwanted results - Slider names depend on language
- Protip: The cheat console supports copy and paste with Ctrl+C and Ctrl+V. It's a good idea to make a cheatsheet for yourself and just copy-paste commands you were happy with
- Protip: Pressing cursor up on your keyboard in the cheat console displays the last command you typed.
Syntax
Fixed keywords are in bold
Varibles are in italic
[] indicate optional things. Never type [ and ]
Main Modes:
slider someslider setto value [optional arguments]
Sets someslider to value for ALL sims (filtered by optional arguments)
slider someslider list [optional arguments]
Lists the setting of someslider for each Sim in the game (filtered by optional arguments)
slider undo [optional arguments]
Undo the last change (filtered by optional arguments)
slider dump
Dumps a list of all sliders, Res key instances, EA boolean values and trait names available in your game.
The file created is a ScriptError{somethingsomething}.xml file in your Sims3 directory.
Variables:
someslider
- A slider name (language dependant!)
Type a slider name as listed in CAS, but remove all spaces. Instead of "Ears Scale" you use "EarsScale" or just "earsscale". This gets localized depending on your language version. - Slider name (hardcoded)
Some basic sliders needed to be hardcoded and are not language dependant.
also available:
- A resourcekey instance
FBLN Resourcekey instance prefixed with a "#".
The corresponding resource key instance for Ears Scale would be "#5EB1047EF730B064".
The quickest way to find a reskey instance value for a facial slider is to use the slider dump command.
value
Representation of a slider setting as a floating point value. Most sliders have a legal range of -1.0 to 1.0 with 0 representing the (vanilla) middle. There are some exceptions though: Some run from 0 to 1.0. Among these exceptions are Skintone, Definition, VoicePitch and a few facial sliders like AlienEars.
- A number
A plain old decimal number like 0.5 - A random roll
rand number1 number2 rolls a random value between number1 and number2 - someslider
Reads a value from a slider. See someslider syntax.
Optional Arguments
Switches (type them or leave them out)
- skipset
Only performs the write operation when the slider written to is 0.
Skips Sims with already set sliders. - verbose
Shows debug stuff in the output
Arithmetic Arguments (multiple allowed, processed from left to right)
- add value
Adds value to the operation. See value syntax. - mult value
Adds multiplication by value to the operation. See value syntax. - min value
Limits the operation to a minimum value. See value syntax. - max value
Limits the operation to a maximum value. See value syntax.
Conditional Agruments (multiple allowed)
- if BooleanProperty
Only those Sims are modified for whom the BooleanProperty is true.
A "!" in front of the BooleanProperty is inverting its value. "!Teen" reads as 'not Teen'.
Valid BooleanProperties are: - EA BooleanProperty (english)
These are true/false flags from the EA code. Please note that IsHuman is hardcoded.
Useful values are isFemale,isMale or IsSimbot as well as all age related flags such as Baby,Child,Toddler,Teen,YoungAdult,Adult,Elder, and corresponding ranges like TeenOrAbove etc.
You can find a complete list in your slider dump. - Trait (bilingual-ish)
A traitname with no spaces.
Examples: Athletic, CouchPotato, CultureChina, Evil
For a full list refer to your sldierdump.
Examples
Make males taller than females
I've read this question in forums quite often. Let's see what we can do.
In this example I'm using Cmar's height slider, but it should work quite similarly with other sliders.
CAS lists the slider as "Sim Height by cmar" so the handle to use is simheightbycmar. You can also use #F9E284139E1F88CF. You can download it from here.
I toyed with the slider in CAS a bit and decided that full slider left and full slider right (-1.0 resp. 1.0) is too extreme. I think I'd like my females to be about -0.3 and the males +0.3.
Let's write those values:
slider Simheightbycmar setto -.3 if isFemale
slider simheightbycmar setto .3 if ismale
An alternative way would be to randomize males and females within a certain range. This way every Sim is a different height but most females are shorter than most males. Let's roll something between -0.4 and 0.1 for females and for males I use -0.1 to 0.4
slider simheightbycmar setto rand -.4 .1 if isfemale
slider simheightbycmar setto rand -.1 0.4 if isMale
Let's assume I'm happy with this setting and play my town for a while and some new families have settled down in my neighbourhood. How do I randomize only the newcomers without re-randomizing the existing Sims?
Simply type the two lines again, but add the skipset parameter at the end. This way all Sims with already set height will be left untouched.
Advanced random
Or: Nerdy fun with arithmetic arguments
Most body dimensions among a population are not "plain" random but follow a certain distribution. A large quantity of people have an average body height while only very few are extremely short or extremely tall. This is called a normal ditribution.
The sizes of almost all body parts follow this distribution. I want to randomize everyone's ear size according to normal distribution.
In order to roll random values with a normal distribution I have to combine several random rolls. This is explained here with 6 sided dice. I'm not using dice, I'm using 3 random rolls. Finally, I will divide the result by the number of times i rolled (multiplying by 0.3333 is the same-ish as dividing by 3).
slider earsscale setto rand -1 1 add rand -1 1 add rand -1 1 mult 0.3333
I ran this command on a town with 123 Sims and plotted the distribution in OpenOffice:
Not perfect, but with some imagination resembles a bell curve. Most Sims have an ear scale in the middle, only a few have really large or really small ears.
I ran the command 4 more times and since I had OpenOffice open, plotted the results: Image
And yea, the shift to the right is likely to be caused by my inability to operate OpenOffice Calc. But I think you get the idea
Download
ConsortModProjectLandslide0.9.zip 29 Oct 2013
ConsortModProjectLandslide0.91.zip 2 Nov 2013
Bugfix: Slider dump command should produce a notepad-readable file for many languages now. Chinese encoding still seems to be bugged.
ConsortModProjectLandslide0.92.zip 8 Nov 2013
Bugfix: Slider dump is hopefully readable in notepad, if you have problems, use notepad++
Change: Multiple arithmetic arguments are now allowed and processed from left to right.
Compatibility
Compiled against patch level 1.63
Tested with 1.57
Compatibility with earlier and later versions is likely.