Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Test Subject
Original Poster
#51 Old 19th Jun 2009 at 8:00 PM
Well the first paragraph I had to look away after about 2 and a half sentances - headaches again

But the search-tip you gave me might help a ton. If it doesn't work, I'll be sure to post for the referance of anyone more experienced than me.
Advertisement
Test Subject
#52 Old 19th Jun 2009 at 11:32 PM
WoHoo... I have good news for you.
It is indeed possible to change the jobnamens. The downside is that it's a bit complicated.
At the beginning I was worried about changing a jobname from say "latrine scrubber" to "Private" because the original one consists of 16 characters and the new would only require 7. The first thing I thought was that if you just change the name and delete the rest of the characters you'd bust out your whole file-structure... and I was right. Tried to change a little in my german language String file. Replacing existing chars is absolutely no porblem at all, so you can make easily a "Latrine scrubber" to a "Private scrubber", but that's not what you had on mind, isn't it? So I tried to change something where I deleted some chars, i.e. Latrine Scrubber to Private -> and as I thought, the game crashed.

It has something to do with the style the file is read from the game. So I started to figure out how the STLB works... or better... how it is builded internally. I checked out some different language files and compared them. I do not understand everything but the basics don't look so tough.
The first couple of Bytes is a header which you better don't touch or the game wouldn't recognize the file anymore. For the english language file the interesting spot starts at Byte 37 (for all other languages at Byte 29, because the ENG STLB has some spooky 8 Bytes now and then which I can't figure out whytf).

Before a String (the text displayed in game) starts there are excactly 12 Bytes in front of it. The first 8 Bytes are the same in every language file so it's obvious that it's a jumpmarker. Do not touch those 8 Bytes or you'll screw things up because the game won't find the text which it is supposed to display.
The next 4 Bytes are the interesting ones. It is the number of characters the game shall read and display at that location. For example: the job name Latrine scrubber consists of 16 characters (a space is a character too... at least for the machine), so this 4 Bytes would look like this in a hex editor "10 00 00 00". After that comes the text itself.

So if you want to change the name Latrine scrubber to Private you "need" to change that number too. Private consits of 7 characters so you have to change the "10 00 00 00" to "07 00 00 00". Then you can replace the characters and delete the ones you don't need.
I've tested it with my language file and it seems to work quite perfectly. At least the game won't crash at startup and the new jobname was displayed correctly.

So the whole file is build up that way. At first the game "jumps" to the 8 Byte-adress, read out the 4 Bytes to know how many characters it needs to read and reads/displays them. If the number of characters to read is not equal to the number of characters in the string the game will crash.

That way it could even be possible to change all the text Ingame, like the item description, job description and so on.

Hmm... like I said it's a bit complicated, sorry for that. You need to count the characters and make the decimal number into a hexnumber. But do not despair. If you are a little bit lazy like myself you can use the standart windows calculator. Under "View" you can chose scientific. Then there should be a radio button named hex. Leave it at decimal, put in the number and click the hex button and - tada - you got the hex equivalent. That one you must put in the 4 Bytes in front of your string. But watch out for the byteorder:
If your text has 326 characters the hex value would be 01 46. But you need to put it in the other way around. Lol... hard to explain. The 4 Bytes should look like 46 01 00 00 and not 01 46 00 00 like the calculator would display.

And get yourself a hex editor. You'll understand what i've written here better when you look at the STLB in a hexeditor. You need to see it with your very own eyes

Last nasty thing I must add: A character is represented by 2 Bytes in the STLB, that's why you see a space between every letter. But its not a character! It's hex value is 00 while a real space would have 20. A real space is what you'd actually see in game. It's because the game has a russian STLB and russians got a strange alphabet which you can't display without using 2 Bytes. But that's technical stuff. If you want to see -> open the russian STLB and take a look. There's no "space" between the "letters"

To make a summary:

- Jump to the text you want to change
- Change the text whatever you like it to be
- count the characters (do not count the 00 value after a character)
- change the number into a hex value (through the windows calculator)
- write the resulting number into the 4 Bytes in front of the first letter (remember - in the other way then it is displayed)

When you have changed everything save the file, pack it with S3PIDemoFE and put it into your Mods folder. It should work.

So, happy changing folks
Test Subject
Original Poster
#53 Old 20th Jun 2009 at 1:18 AM Last edited by metallifan : 20th Jun 2009 at 1:35 AM.


*Watches everything in Namethief's post fly clean over his head*

Uhh... Got it! Heh...


Edit: Here, if anyone wants to try their hand at modding the Military Career, these are the ranks I want done. If you can add more ranks to the Career, let me know.

Original rank -> Modified rank

Latrine Cleaner -> Private

Mess Hall Server -> Corporal

Grunt -> Master Corporal

Squad Leader -> Sergeant

Flight Officer -> Warrant Officer

Wingman -> Second Lieutenant

Fighter Pilot -> Lieutenant

Squadron Leader -> Captain

Top Gun -> Major

Astronaut -> Lieutenant Colonel

If it's possible to add more ranks, let me know and I'll offer up a full list.

If whomever takes this to interest would contact me via PM, I'll give you the Job Descriptions to modify for each rank as well, rather than spamming them up here.
Test Subject
#54 Old 20th Jun 2009 at 2:50 AM
Kay, I tried to change the career names to what you've posted. I couldn't test it by myself 'cause the game somehow won't let me change the language.

I just changed the namens, so don't expect to much. Please report if it works. Play a while with the new namens and say if something with the ingame text goes wrong or so.
Here's a link to the package

http://rapidshare.com/files/2464858...es.package.html
Test Subject
Original Poster
#55 Old 20th Jun 2009 at 6:25 AM
Sorry Name, no dice. Didn't alter anything that I saw. Did you also make the changes to "S3_00000000_6E9ADCDAEB2CE302_0333406C_Careers"? This is the file that contains all the in-game rank names, work days, work hours, uniforms, and payrates. Editing this alone will cause UI and loading errors in-game, but I think the file you're working on in conjunction to this one will clear some things up.

This one's real easy to edit. It looks like a dumbed down JavaScript that was beaten with the stupid pole. Here's an example line that I edited for the rank of Private:

<Military>
<Title>Private</Title>
<BasePay>40</BasePay>
<PensionPay>80</PensionPay>
<WakeupTime>5</WakeupTime>
<StartTime>7</StartTime>
<DayLength>7</DayLength>
<DaysToWork>M,T,W,F</DaysToWork>
<Level>1</Level>
<Mappings1>-500,0,30</Mappings1>
<Metric2>SkillX</Metric2>
<Mappings2>-2,0,3</Mappings2>
<Args2>Athletic</Args2>
<OutfitMale>career_fatigues_male</OutfitMale>
<OutfitFemale>career_fatigues_female</OutfitFemale>
<OutfitMaleElder>career_fatigues_maleelder</OutfitMaleElder>
<OutfitFemaleElder>career_fatigues_femaleelder</OutfitFemaleElder>
<Text_Promotion>EntryLevel</Text_Promotion>
<Text_Promotion_Female>EntryLevel_Female</Text_Promotion_Female>
<CarpoolType>CarUsed2</CarpoolType>
</Military>

As you can see, pretty straightforward. This is what I had -hoped- the entire business would resemble, as I'm able to actually comprehend and understand -most- of this.

Lines like "Metric" and "Mapping" I have no clue as to what that's about, but for the most part I can read this, as opposed to this "Hex" stuff.

Anyway, this is the file that controls all the In-Game career surface functions like days, hours, pay, uniforms, rank titles, etc... This was easy enough for me to edit, and I can supply it in XML format (Not sure how to package it now that I've edited it) - Just read through it before you try working with it as I've also modified the Police career to give it more of a Law-Enforcement feel.

Also - just in case you weren't aware, when editing a weekly schedule, "R" is the day code for Thursday. I'm not sure which is "S" - Saturday? Or Sunday? Anyway, yea, "R" for Thursday if you want to make any careers a 5 day week.
Field Researcher
#56 Old 20th Jun 2009 at 8:17 AM Last edited by @chann@ : 20th Jun 2009 at 9:10 AM. Reason: added quote
Thanks Namethief, that was an interesting read.

have you taken a look at the wiki? Maybe you should add your findings: http://www.sims2wiki.info/wiki.php?...ms_3:0x220557DA

Quote: Originally posted by metallifan
Also - just in case you weren't aware, when editing a weekly schedule, "R" is the day code for Thursday. I'm not sure which is "S" - Saturday? Or Sunday? Anyway, yea, "R" for Thursday if you want to make any careers a 5 day week.


I think U is for Sunday.
Test Subject
#57 Old 20th Jun 2009 at 2:21 PM
Echo's Postal available string-table editing.
Field Researcher
#58 Old 20th Jun 2009 at 3:23 PM
Quote: Originally posted by Karybdis
You can correct only specific strings yes. There is no need to override the entire STBL

However I don't know that the programs can support that yet. It requires copying only selected strings from the main STBL before editing, then saving them to a new STBL with a generated file instance.


This method isn't working for me. I used a hex editor to write a tiny STBL, with just two changes (to change "Fan" to "Fanboy" and "Fangirl" ). I followed the format on the Wiki and copied and pasted the hash keys.

With the same instance as the default STBL, it still overrides the entire thing. My two changes show up but the rest of the game text is missing. But with a brand new Instance the changes don't appear at all. Graargh. Highlander Rule strikes again.
Test Subject
Original Poster
#59 Old 21st Jun 2009 at 12:57 AM
Quote:
Highlander Rule strikes again.


Where's Sean Connery when you need him?
Test Subject
#60 Old 21st Jun 2009 at 3:53 PM
Namethief you should bring out somekind of tutorial explaining the hex editor because it seems to be the only way at the moment to edit this stupid thing, and you seem to have it all figured out.

I kind of understand it but im confussed at which program your using and which files your editing, also where are them hex numbers for the jobtitle characters, because if you look at the hex figures using S3PIDemoFE they dont seem to be how you were explining them... like they came out with two figure hex numbers like 0D and 57 ....

basicly make a tutorial so we can bow down to your knowledge of hex editors lol

:D
Test Subject
Original Poster
#61 Old 21st Jun 2009 at 6:23 PM
I've found my old Careers.PACKAGE file containing my changes to the Military and Police Career rank names in the format I listed above, and I can send it to someone if they want to fiddle with it and see what they can do to get it to work.

Hopefully with a few people tinkering with the career files, we might get one lucky shot in the dark and have someone come out a winner.
Test Subject
#62 Old 21st Jun 2009 at 10:02 PM
You can't change the jobnames in the Careers.xml file, I'm sorry. Read what @chann@ wrote on page 2. He's absolutely right. The name in the Careers.xml is somehow translated into a 64 Bit identifier. If the game needs to display text it (perhaps calculates it first and then) takes that identifier and displays what stands in the loaded STLB at exactly that adress. So to change ingame text you need to change the STLB. You can change salary and such in the xml, but don't mess up with the identifiers or almost all of your ingame text gets screwed.

@creon

I just used the S3PIDemoFE to extract the STLB and opened that one in the first hexeditor I found on the web. There are a lot out there and it should work with any hexeditor.
It's hard to write a tutorial while I'm not sure if it'll work for all of you. I've uploaded a package file where I've changed the milatary rank names, but metallifan said that it didn't worked for him. Since I can't change my language to english (can anyone tell me how to do so? I'm stuck to the language I've installed the game...) I can't test what I do.

If anybody can confirm that the changed package does indeed change the jobnames without messing up the rest of the game text I can try to write a step-to-step explanation of what you need to do to change the text.

So here I got a picture of the changes I made in my own file. The above one shows the original text and the one below the changed one. If you don't understand a word - that's not important ("Unfallchirurg" is Trauma Surgeon). I've changed the jobname and the description as well (better... I've deleted most of the description text) and the game seems to work quite perfectly.


For you to test I changed the Eng_US STLB too and I'd like to hear from you if it works for you too. Changed the (male) jobname and description of the Latrine Scrubber... so get your sim a new job there and check it out if it works (could be that I changed the female though, so try a female sim if it's not displayed with a male sim).

http://rapidshare.com/files/2471295...es.package.html

Just put the jobnames.package into your /Mods/packages folder (hopefully you've already made your game mod-ready).
Field Researcher
#63 Old 22nd Jun 2009 at 1:29 AM
Quote: Originally posted by Namethief
For you to test I changed the Eng_US STLB too and I'd like to hear from you if it works for you too. Changed the (male) jobname and description of the Latrine Scrubber... so get your sim a new job there and check it out if it works (could be that I changed the female though, so try a female sim if it's not displayed with a male sim).


It works exactly as you described.

I'm still experimenting with the compatibility and overwriting specific strings at a time. The breakthrough will come eventually.
Test Subject
#64 Old 22nd Jun 2009 at 9:12 PM
Quote: Originally posted by Creon
Namethief you should bring out somekind of tutorial explaining the hex editor because it seems to be the only way at the moment to edit this stupid thing, and you seem to have it all figured out.

I kind of understand it but im confussed at which program your using and which files your editing, also where are them hex numbers for the jobtitle characters, because if you look at the hex figures using S3PIDemoFE they dont seem to be how you were explining them... like they came out with two figure hex numbers like 0D and 57 ....

basicly make a tutorial so we can bow down to your knowledge of hex editors lol

:D


If this works for you guys too I've got something better

Well since the stbl is builded like I've posted it previously (or look at the wikilink that chann posted) and you really need to build it completely (no "little" changes were possible like chann stated) I've tried to build a little tool where you can change the ingame text in a convenient way - hell I'm lazy and hex-editing is like...

It seems like my tool does it job quite well. It opens a formerly extracted STBL and puts it into memory. Then you can browse all the entries and make changes if you want to. After you've done your changes you can create your new changed STBL which you must pack into a package (can be done with the S3PIDemoFE tool) and copy that package into your mods/packages folder.

I'm not totally sure if this will work for the ENG_US stbl, because there's quite a difference between this and the other files. Through my testings it looks like my program writes a couple of 0 bytes more than it should and I honestly don't know why or if it had some effect on the game.

Okay, here's the link: http://www.2shared.com/file/6411935...TBL_editor.html

The program is (hopefully) easy to understand. At the beginning you need to open the desired stbl (be warned - this can take some time... there are 35k entries to read! So give it a little time).
After is finished you see the original (readed text) in the left TextArea. If you want to change that text write your own into the right TextArea and click the "confirm" button (do not forget that).
With the "<-Entry" and "Entry->" buttons you can browse through the entries and if you look for a specific text use the SearchTextField.
Enter your desired search string there, i.e. "Latrine Scrubber" and click the search button.

When you have made all your changes click on the "file->save changes to new STBL". Remember that you have to "confirm" your changes first or they're discarted. Give it some time. It'll create a complete new STBL with the same name in the Out folder. That's the one you want. Pack it with S3PIDemoFE and put the resulting .package into your mods/packages folder.

I'd like to hear from you if it works
okay, also I'm happy to hear from you if it doesn't

- Namethief
Test Subject
#65 Old 23rd Jun 2009 at 12:02 AM
Hey Namethief nice program you got going there.. only problem is I dont think it works :P

I dont know if im doing something wrong but heres what I have done.
Firstly im editing the ENG STBL string file, I open it up in your tool once its been extracted, then search for the string I wish to edit.
I started by finding the text for the job description of the lab tech science career, which is number (9631). I then typed out my new description in the right hand box and clicked confirm. Then File-->Save changes to new STBL

I then imported the new STBL using S3PIDemoFE into a new package and saved in mods/packages.

I know my mods/packages folder is working because ive changed some paintings and i saved the package files for them in there too, and they show up in game fine.

When I ran my game nothing seems to have changed... so I was like hummm so I loaded the STBL up that I edited and it came back up with the origional text before I changed it, so I tried editing again and confirming and saving, and then when you load it up again its back to the original. So im not sure if your program actualy saves the edited STBL properly or whether im just doing something wrong.

Anyway nice program im sure it will be a great sucess!
Test Subject
#66 Old 23rd Jun 2009 at 1:18 AM
Hmm... that's strange indeed.

Okay, you have extracted a STBL and loaded it into the tool, made your changes and clicked that "file->create new stbl". Have you then packed the previously extracted STBL or the new copy in the Out subfolder?

My tool doesn't change a STBL... it more or less copy it and makes the changes to a new one instead of changing the one opened. It's because i was too lazy to extract a "clean" one everytime I ran my tests. So look for a new STBL in the Out subfolder.
Test Subject
#67 Old 23rd Jun 2009 at 9:37 AM
Quote: Originally posted by Namethief
Hmm... that's strange indeed.

Okay, you have extracted a STBL and loaded it into the tool, made your changes and clicked that "file->create new stbl". Have you then packed the previously extracted STBL or the new copy in the Out subfolder?

My tool doesn't change a STBL... it more or less copy it and makes the changes to a new one instead of changing the one opened. It's because i was too lazy to extract a "clean" one everytime I ran my tests. So look for a new STBL in the Out subfolder.



Oh im so dumb!!! Yes your program does work fine!! I didnt realise that your program creates a new STBL in the out folder that you need to import.

NICE WORK! This makes it possible to edit basicly all the text in the STBL file perfectly!!! You should make a post to get stickied about this!
Test Subject
Original Poster
#68 Old 23rd Jul 2009 at 5:12 AM Last edited by metallifan : 23rd Jul 2009 at 5:59 AM.
I know it's a month since last post, but if you happen across here Namethief, I don't think your file on 2Shared works anymore. Can't download it

EDIT: Found it on MTS. Now I just need to find the Military String numbers
Page 3 of 3
Back to top