NOTE: before going to the trouble of reading and trying to understand all this, you should try the SimPE career editor available Here
v 1.2 - 25/12/04
Disclaimer: This is a very early version of this information - It contains quite a lot of untested guess work and probably a few errors (The actual act of writing this revealed what some of the files do). Feel free to reply with any corrections.
Specail thanks goes to fergusdog for working some of this out, and to Quaxi for making SimPE, and the modifing it so I no longer have to get headaches thinking in negative hexdecimal/binary.
To create a new career by cloning a object (tutorial)
The group IDs for jobs are:
Athletics: 0x7FC82329 0x7FBDC3E8
Business: 0x7F1575B2 0x7F83EF68
Criminal: 0x7F5AA90E 0x7FCC33D4
Culinary: 0x7FF8F9B6 0x7F6E636C
Law Enforcement: 0x7F05D903 0x7F3969B0
Medicine: 0x7F0E5D6B 0x7F98C7B1
Military: 0x7F4C28B2 0x7FDAB268
Politics: 0x7F162387 0x7F80B95D
Science: 0x7F7201DA 0x7F1611D4
Slacker: 0x7F2FD049 0x7F4BC047
Also the schools group IDs
Alternatively you can start making your career using my test careers as starting points (at bottom of post). In this case you only need to change the GUID for the object data.
Note: TeenTestCareer should update to the Adult test career.
Adult Careers consist of 104 files (a few more for the criminal career - I think because of the swag bag used by the cat burglar)
- 86 Behaviour constants
- 2 Behaviour Functions
- 1 catalogue description
- 1 global data
- 5 image files
- 1 Null Reference
- 1 Object Data
- 1 Object Functions
- 1 Slot File
- 5 Text Files
Init - This file seems to set some sim character attributes, not sure what but it differs greatly with each career.
CT Career Reward - This file manages the career reward, when and what career object is unlocked. How this works is a little complicated, and rather than try descibe it here - I'll just put a link to fergusdog's bhav research
The 0x0 value here is the career name used in the game
Don't Touch. This may be how the sims2 engine identifies this as a career (this is a really big guess).
The images used to represent the Sims career in the UI. One of these should be blank. Note: while SimPE exports these with the jpg extension, the correct extension is in fact tga.
Text data describing what this object is - not actually used in the game, so you don't have to change this, but you can if you want to.
You need to change the GUID to a unique number, other than that I don't really know much about this file.
You shouldn't need to change this. The init value should be the same as the instance value of the init bhav. The main value points to a semi global bhav somewhere in the Sims engine (group 0x7F8F4EB6 I think).
Only two of these seem to be relevant, one contains the career level names and descriptions, the other the text for the chance cards.
The career level names and descriptions can be edited how you like (there's probably a maximum length).
Career Name occur in pairs of name and description.
0x0 Unemployed (Don't change)
0x1 to 0x14 - Jobtitles and decriptions for male sims
0x15 to 0x28 - Jobtitles and decriptions for female sims
Chance Cards - Heavily related to the tuning bcon files.
0x0 to 0xF - unknown (unused?)
0x10 - description says debugging info
0x11 - wild card used as Sims name in cards (Don't touch)
0x12 - Text for the ignore button
0x13 to 0x1E career level 2 chance card. (not 1 as this is unemployed)
0x13 - Chance card choice A
0x14 - Chance card choice B
0x15 - Chance card text for male sim.
0x16 - chance card text for female sim.
0x17 - passing choice A for male sim.
0x18 - passing choice A for female sim.
0x19 - Fail choice A for male sim.
0x1A - Fail choice A for female sim.
0x1B - passing choice B for male sim.
0x1C - passing choice B for female sim.
0x1D - Fail choice B for male sim.
0x1E - Fail choice B for female sim.
0x1F to 0x2A career level 3
0x2B to 0x36 career level 4
0x37 to 0x42 career level 5
0x43 to 0x4E career level 6
0x4F to 0x5A career level 7
0x5B to 0x66 career level 8
0x67 to 0x72 career level 9
0x73 to 0x7E career level 10
0x7F to 0x8a career level 11
The Behaviour Constants:
(SimPE v0.12 or greater makes these so much easier to understand)
These contain most of the career information, and I will describe these in groups (based on file names). These files are lists of numbers, each position in the list represents the value for a career level.
Note: there are 11 career levels, but the first (0x0) is unemployed and its data should not be altered.
Example: The 'Tuning - Daily Wages' file from the athletic career is a list of 11 values. The first value (0x0) is for unemployed and should always be 0. The second (0x1) is 0x009A (154 in decimal) which is the daily wage for the first career level.
Vehicle and Outfit GUIDS - These represent the vehicle and outfits for each career level. There are twice as many numbers as there are career levels.
The 'Outfit GUIDS' BCON lists the GUID for the object data that coresponds to each outfit. eg (taken once again for athletic career) 0x000 & 0x001 are blank (for unemployed), 0x002=EA26 0x003=8CE5 which combine to 8CE5EA26 which is the mascot outfit. 0x0000, 0x0000 refers your sims normal clothes.
Tuning Start Hour - The time of day the Sims goes to work at each career level.
Tuning Work Day Flags - Which days the sim goes to work. This is in binary with bit1=Monday, bit2=Tuesday, bit3=Wednesday etc..
Tuning Hours per Day - The number of hours the sim works a day for each career level.
Tuning Daily Wages - money earned per day at each career level.
Skill Req ???? - The skill points required to reach that career level. These are in hundreds (ie 1 skillpoint = 100, 2 skillpoints = 200 etc..). There is also an unused Skill Req Gardening file.
Tuning Family Friends - The number of family friends required to reach each career level.
Motive Deltas - These are how your Sims needs will move. They appear to be signed values (ie. negative and positive) but not sure what method of signing yet (ie 1s complement, 2s Complement). There are two social deltas (family and public) and a mental delta.
Tuning Chance Random - How likely a chance card is (Big Guess).
Tuning Chance A/B Skill ??? - What level of a skill needed to pass the A/B choice of a chance card.
Tuning Chance A/B Good ??? - reward for passing chance card (can be job level, money and/or skill points).
Tuning Chance A/B Bad ??? - penalty for failing chance card (can be job level, money and/or skill points).
Life Score - Unknown
Tuning - This is a constant file used to help set what level the career reward is unlock - see bhav section.
Also the first value(0x0) is the number of career levels in this career.
Tuning PTO - Payed Days Off - I don't know how the numbers effect the acutal number of days you get off (or what the T in PTO stands for).
Teen Elder careers are very similar to Adult career with these differences:
They only contain data for a few career levels though.
The blank graphic file is missing.
The catalogue dissipation has two identical values.
The Career Reward BHAV is removed.
An upgrade job bhav is added - the adult job is specified as the first four operands of line 1 in reverse order. (For example the four operands of the teen athletic job are 5F, E9, 89, 2C which makes 2C89E95F, which is the object data guid for the adult athletic career.
Custom Career Rewards
Any cloned/hacked objected can be turn ed in a career reward objects. You need to change the object's object data file so that line 0x0090 (function sort flags) has the value of 2048 (this tells the sims2 engine that this object is a career reward). You then need to change on the reward object guid in the career bhav to the value of the new objects GUID.
The only thing missing is the little career graphic in the upper corner of the rewards screen - haven't yet figured out a way of going this.
Good work m8, working good so far, have you got anymore info on changing the daily wage+work hours, im finding it difficult to understand that part.
I've added a brief example - Hope it helps
30th Nov 2004 at 7:05 AM
I've had a closer look at the bhavs.
The init BHAV is almost identical for all jobs. Only the 3rd operand in the 1+ funcs differs. While most jobs only have 2 funcs, some have more, but basically just a copy of func1, with different 3rd operand (func0 is identical). Here are the values:
operand 3: 01 02 03 04 05 06 07
operand 3: 03
operand 3: 03
operand 3: 05
operand 3: 01
operand 3: 01 02 03 04 05 06 07
operand 3: 03
operand 3: 06
operand 3: 03 05
operand 3: 05
The teen/elder jobs have an extra func before func1, which seems to be identical for all jobs. Also, the 3rd operand seems to be mostly be identical with the adult jobs, but not always.
The career award BHAV has 6 funcs, which seem to be identical for each adult job, with one exception:
in func2, operand 6-9 is the career award guid.
also, func 1 and 5 look similar. What's strange is that the career level when the career award is given is different between jobs, but I couldn't find anything in the bhav.
What's strange is that the career level when the career award is given is different between jobs, but I couldn't find anything in the bhav.
Yeah, I can't find that either - the bhavs flag property (whatever that is) changes also, but not enough for it to be this.
I wondered in the init bhav was actually setting this - it's setting an attribute for the sim, and the career reward must be stored with the because once you buy it, you can't buy it again even if you get demoted and promoted again. Need to take a closer look at that func1 operand. (If this is the case then the globals for buying a career reward should remove an attribute from the sim)
1st Dec 2004 at 4:25 AM
solved it. It uses the BCON tuning to look it up. The init seems to link to aspiration wants. I started a new thread discussing BHAVs.
Hi, have you figured out any more information on changing career outfits, or replacing the outfits with custom ones?
The 'Outfit GUIDS' BCON lists the GUID for the object data that coresponds to each outfit. eg (taken once again for athletic career) 0x000 & 0x001 are blank (for unemployed), 0x002=EA26 0x003=8CE5 which combine to 8CE5EA26 which is the mascot outfit.
If you don't have a list of all the objects group ids, theres a link near the top of the clone objects tutorial.
I don't know anything about making custom career outfits however.
If you want i can send you my current version if you wud like to test it/add anything too it?, i havnt added new chance cards yet tho, havnt had the time, everything else is fine apart from a the career outfits which i hav changed a few, but not found suitable ones for the rest of the stages, so they just leave in their home clothes.
This is awesome! I love that new careers can be implemented without replacing old ones-- it'll be nice to not have every tenth sim end up with the same career! Unfortunately, so far the tutorial is gobbledygook to me, I'll have to do some more reading and hopefully it'll make sense. But, in the meantime, I'd love to volunteer as a career writer if anyone needs it. I have good spelling and decent grammar and could definitely write up job levels, descriptions, and chance cards for a variety of careers if some bright programmer wants to implement them. Or I'd love to see a user-friendly program that lets the user put in their own stuff and the program does all the more complicated stuff to make the career work. Has anyone thought to look into if there's a finite number of careers that can be used by the game? Thanks again to everyone working on it and please do let me know if you need a writer! ~KG
Unfortunately, so far the tutorial is gobbledygook to me, I'll have to do some more reading and hopefully it'll make sense.
I know - I didn't set out to write a tutorial, just put down what I knew (when they moved this thread to the tutorials I couldn't find it). Keep meaning to rewrite as a step by step process but don't have time. Maybe somebody else might.
Originally Posted by KLGFCG
Or I'd love to see a user-friendly program that lets the user put in their own stuff and the program does all the more complicated stuff to make the career work.
If nobody else produces one of these soon, I might have a go.