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!
Lab Assistant
#76 Old 14th Apr 2010 at 7:28 PM
Hi, this is a great tutorial, but I am sadly not good with recognizing what files I need to edit. What file would I need to poke my fingers into if I wanted to add a new moodlet to the game?

I write Sims stories and do YouTube videos, too!

Check out my YouTube channel here.

You can read my stories here.

Oh and I have this nifty thing called a Simblr, too. Find it here.
Advertisement
Test Subject
#77 Old 7th Jun 2010 at 8:58 PM
i have been following all these steps.. but what it wont allow me to do is copy the main files ie)Gameplay package to modify it. it says incorrect IL. I've downloaded everything and tried everything.

Any ideas?
Test Subject
#78 Old 8th Jun 2010 at 5:04 PM
every time i open any TS3 .dll (ones I've extracted to ones pulled from the cd) i get this error message in the .net Reflector



File is not a portable executable. DOS header does not contain 'MZ' signature.

anyone know how to fix.
Test Subject
#79 Old 22nd Jun 2010 at 12:26 AM
I followed all the steps to the best of my ability, and I can open GameplayData.package and read everything in it, but when I open Gameplay.package I get this whenever I press Value on any one of the 3 files:


s3pi.ScriptResource, Version=1002.28.16.30193, Culture=neutral, PublicKeyToken=null
Could not load file or assembly '27332608 bytes loaded from s3pi.ScriptResource, Version=1002.28.16.30193, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.
at System.Reflection.Assembly.nLoadImage(Byte[] rawAssembly, Byte[] rawSymbolStore, Evidence evidence, StackCrawlMark& stackMark, Boolean fIntrospection)
at System.Reflection.Assembly.Load(Byte[] rawAssembly)
at ScriptResource.ScriptResource.get_Value()
-----
Bad IL format.

-----Unknown1: 0x02
Unknown2: 0x00000009

I'm trying to create a firefighter mod for Ambitions, but I'm confused as I can't read anything in ANY of the Gameplay.package files (diff expansions) and when I exported the .dll I couldn't read in s3pe, Reflector gave the message:

File is not a portable executable. DOS header does not contain 'MZ' signature.

Any ideas?

Thanks!
SAS_Chester
Test Subject
#80 Old 1st Jul 2010 at 12:30 AM
Quote: Originally posted by SAS_Chester
I followed all the steps to the best of my ability, and I can open GameplayData.package and read everything in it, but when I open Gameplay.package I get this whenever I press Value on any one of the 3 files:


s3pi.ScriptResource, Version=1002.28.16.30193, Culture=neutral, PublicKeyToken=null
Could not load file or assembly '27332608 bytes loaded from s3pi.ScriptResource, Version=1002.28.16.30193, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.
at System.Reflection.Assembly.nLoadImage(Byte[] rawAssembly, Byte[] rawSymbolStore, Evidence evidence, StackCrawlMark& stackMark, Boolean fIntrospection)
at System.Reflection.Assembly.Load(Byte[] rawAssembly)
at ScriptResource.ScriptResource.get_Value()
-----
Bad IL format.

-----Unknown1: 0x02
Unknown2: 0x00000009

I'm trying to create a firefighter mod for Ambitions, but I'm confused as I can't read anything in ANY of the Gameplay.package files (diff expansions) and when I exported the .dll I couldn't read in s3pe, Reflector gave the message:

File is not a portable executable. DOS header does not contain 'MZ' signature.

Any ideas?

Thanks!
SAS_Chester


Ditto about the "File is not a portable executable" error message here. Is this something new with Ambitions? Are the people doing core modding right now for the big popular mods getting the same problems?
Field Researcher
#81 Old 1st Jul 2010 at 3:25 PM
Did you download the latest S3PE version (it might need to be the QA version)? I had those errors, but found I just had an older version.
Test Subject
#82 Old 8th Jul 2010 at 6:27 PM Last edited by Zero_Profile : 8th Jul 2010 at 8:45 PM.
question, I think i managed to get all of the basic setup done. i can see everything on reflector and i managed to extract the .il file and use notepad++ to view it.

My question is has anyone found where the ea limit on sims per household is

I found this but I'm not to sure of what I'm doing so any help is appreciated

Code:
.method public hidebysig specialname virtual              instance string  get_TuningKey() cil managed     
{       // Code size       6 (0x6)       .maxstack  8       IL_0000:  ldstr      "Family_Size"       IL_0005:  ret     } 
// end of method FamilySize::get_TuningKey



after some searching i'm not sure but this might be it

public const int kMembersMax = 8;


any ideas
Test Subject
#83 Old 10th Jul 2010 at 11:09 PM
Quote: Originally posted by Ceixari
Did you download the latest S3PE version (it might need to be the QA version)? I had those errors, but found I just had an older version.


Thank you. I downloaded the latest version and I can properly read the files now in both S3PE & Reflector.

Cheers,
SAS_Chester
1978 gallons of pancake batter
#84 Old 11th Jul 2010 at 12:53 PM
Quote: Originally posted by Zero_Profile
public const int kMembersMax = 8;
I'm not sure what the current state is, but in the beginning that value was hardcoded everywhere and I assume it still is. Actually, you can assume that EAxis uses the kMembersMax constant, but compilers will usually omit constants and instead use their actual value everywhere, because the final app will be faster that way. You will notice that Reflector can't find any place where this constant is actually used.

You will probably have to search for the value 8 all over the place to change the restriction everywhere. Personally, I find twallan's approach of replacing the existing interactions with new interactions that ignore the limit far superior.

If gotcha is all you’ve got, then you’ve got nothing. - Paul Krugman
Test Subject
#85 Old 14th Jul 2010 at 4:53 AM
Quote: Originally posted by Buzzler
I'm not sure what the current state is, but in the beginning that value was hardcoded everywhere and I assume it still is. Actually, you can assume that EAxis uses the kMembersMax constant, but compilers will usually omit constants and instead use their actual value everywhere, because the final app will be faster that way. You will notice that Reflector can't find any place where this constant is actually used.

You will probably have to search for the value 8 all over the place to change the restriction everywhere. Personally, I find twallan's approach of replacing the existing interactions with new interactions that ignore the limit far superior.


I agree, whole heartedly, however i'm still running 1.7 and i keep running into problems like not being able to become pregnant once the household has 8 people. I know there's ways around that like moving the person out then back in yet this is a tedious action especially since i'm running 6 families
Lab Assistant
#86 Old 22nd Dec 2010 at 4:55 PM Last edited by JNAS2006 : 22nd Dec 2010 at 5:29 PM.
I've been studying up on core modding today, and decided I wanted to modify the teen vamps a bit.

After not being able to find anything that looked editable I instead decided to try finding "CanIgnorePrivacy" as you did and expected to find this:



Instead I found:



Am I doing something wrong?

I converted the .dll file to .il and ran a search in Notepad++ for "CanIgnorePrivacy"(without the " ")

EDIT: Nevermind, I had a dumb moment, but worked it out myself

BTW if I wanted to change the # of plasma fruits a vamp is given what would I look for?

And if .0 is false and .1 is true, what would things such as .2/.3/.4/etc. be for?
Test Subject
#87 Old 6th Jan 2011 at 1:30 PM Last edited by c228b22 : 6th Jan 2011 at 10:51 PM.
Default File not found or not a PE file
I type in ildasm Sims3GameplaySystems.dll /output=Sims3GameplaySystems.il and get the following error:

error : File 'Sims3GameplaySystems.dll' not found or not a PE file

What is causing this and how to I correct it?
Test Subject
#88 Old 18th Feb 2011 at 12:45 PM Last edited by Maeldor : 18th Feb 2011 at 7:00 PM.
Quote: Originally posted by Codester
After following the tutorial, I get a "FLAGRANT SYSTEM ERROR!". At first, I thought it was a typo in the change I made to the Sims3GameplaySystems.dll that is embedded in my package, but it happens with no changes at all as well. If I simply use ILDASM to generate the IL file, and then use ILASM to put it back, unmodified, into the dll, the error occurs. Do I need to do anything different if I'm on a Win 7 x64 system? I tried searching on the site, but everything seems to pertain to other mods, not how to correct my own. :P

EDIT: This seems to happen only when I'm using Awesome Mod as the base and trying to add my change to it. If I create a new package with just my change in it, it works fine.
I have the exact same issue. I'm wanting to tweak AwesomeMod slightly, but no matter what I do, I just get "FLAGRANT SYSTEM ERROR" when I start up. The changes I make are completely valid, and like you said, even without making changes and reassembling the exact same DLL/IL, it causes the error. Also Windows 7 x64 here. I wish I knew what was causing this...

Edit: Looks like AwesomeMod has integrity checks in place. I didn't notice at first but in the error it actually says about file conflicts. I guess these checks need to circumvented before any modifications will work. I'm currently looking at Awesome.FileVersionData.Check()... That's all I'll say for now...

Edit 2: Confirmed. Disable the Awesome.FileVersionData.Check and it works (I did it by removing the addition it its constructor, which is on the last line). My tweak to AwesomeMod is now accepted and works as intended, yay!
Test Subject
#89 Old 24th Feb 2011 at 11:50 PM
Quote:
And if .0 is false and .1 is true, what would things such as .2/.3/.4/etc. be for?


Some more info on IL:
ldc.i4 0 translates down to:
ld = Load
c = constant
.i4 = type (in this case, a 4 byte integer)
0 is the value that is loaded.

If you are writing a function that returns something other than a boolean (true/false), then you might use .2, .3, .4, .36, or whatever the case may be, and in that case .0 would just be 0, not false, and .1 would be 1, not true.
Test Subject
#90 Old 12th Aug 2011 at 11:19 PM Last edited by mrcheesy : 13th Aug 2011 at 2:03 PM.
YAY, just made a NoShoo Mod like bailabaila99's, but it works with patch 1.24, the only problem im having is that the message saying 'quit' or 'continue' appears every time i launch the game via the Launcher, saying something about it might cause crashes etc. I pressed continue and it worked fine, just want to know how to stop the error message, i will say thank you with a smiley face if you help me (please help me quickly, i don't want to play my game with my mod till that message has gone, i really want a NoShoo mod, hence why i spent an hour doing this...)

PLEASE HELP

EDIT: Just tryed this again and got the same result...im following the instructions down to the letter... can someone tell me why the error message keeps appearing please, or point out places that may have been done wrong that i need to correct that may cause this to happen
Test Subject
#91 Old 17th Aug 2011 at 8:41 PM
I have .NET 4.0. and can't find the exe's (ilasm.exe, ilasm.exe.config, fusion.dll ildasm.exe and ildasm.exe.config). Can anyone help me?
Lab Assistant
#92 Old 3rd Dec 2011 at 11:44 PM
hello is these step useful for updating core mod.thx
Test Subject
#93 Old 7th Mar 2012 at 6:38 PM
Default Alternative to using command prompt for ildasm & ilasm
For anyone that reads thru 4 pages of posts...

I'd like to add that it is possible to use the ildasm.exe & ilasm.exe without the hassle of navigating thru the command prompt screen.

Here is what you can do:
1) Using Windows Explorer navigate to your mod workstation (the directory where you have all the dlls, reflector, islam & ildasm) **
2) Right click in the file list pane (not on a file)
3) Choose the option New, then the option Text Document.
4) Rename the new .txt file to something.bat (where you replace something with something that makes sense and has meaning to you) -- I used abildasm.bat
5) Right click on the file and choose Edit
6) Notepad should open up. Type in the command call that you would have done in the command prompt.
For Example:
ildasm Sims3GameplayObjects.dll /output=Sims3GameplayObjects.il
7) Save the file.
8) Now all you have to do is double click on the .bat file you just created and the .dll will be disassembled

Do note if you tend to disassemble several .dlls you may enter all the commands in one file and they'll all disassemble at the same time (well one right after the other).

If you add REM in front of any command line it will be skipped.

While you could use one .bat file for both disassembling and assembling I would recommend using two .bat files (one for ildasm & one for ilasm) to help prevent any confusion.

** Alternatively you could just open Notepad and after typing in the command line code select File then Save As and choose the location where your modding workstation is located.
Lab Assistant
#94 Old 6th Apr 2012 at 1:06 AM
On the subject What Therin said you can create a file with this in it.


@ECHO OFF
ildasm.exe %~1 /output=%~1.il


And rename it with the CMD extension. Mine is named "Dissemble_DLL_File.cmd" Then all you have to do is drag the dll onto the file and poof it disassembles it.

Tim
Test Subject
#95 Old 13th Jul 2014 at 1:30 AM
I'm having an issue opening ildasm. Can Someone help me? I'm on Windows 8. I went to run, and typed in cmd, and a box came up. C:\Windows\System32\cmd.exe is the title. What do I do from here?
Screenshots
Ms. Byte (Deceased)
#96 Old 18th Jul 2014 at 5:20 AM
Quote: Originally posted by divergentpotterhead
I'm having an issue opening ildasm. Can Someone help me? I'm on Windows 8. I went to run, and typed in cmd, and a box came up. C:\Windows\System32\cmd.exe is the title. What do I do from here?


Use Option 2 from the link below to open the command prompt in the folder where you have ildasm and your dlls. Then follow the tutorial and type the ildasm command: ildasm <dll file> /output=<output file>.il

http://www.eightforums.com/tutorial...indows-8-a.html

Please do not PM me with mod, tutorial, or general modding questions or problems; post them in the thread for the mod or tutorial or post them in the appropriate forum.

Visit my blogs for other Sims content:
Online Sims - general mods for Sims 3
Offline Sims - adult mods for Sims 3 and Sims 4
Test Subject
#97 Old 8th Oct 2020 at 10:40 AM
Thank you so much for this comprehensible tutorial!

After using .NET Relector for a bit: I prefer dnSpy (https://github.com/0xd4d/dnSpy/releases).
First of all, it's free.
Second, you don't have to use the cmd to decompile to an .il, dnSpy does that for you and can theoretically also recompile it. That last bit hasn't quite worked for me yet for some reason, but even if you still have to create the .il manually and modify it, there is still point three,
which is that in my opinion the way dnSpy displays the code is easier to read. So you can look at the code there and afterwards make the modification in Notepad++.
Also, .NET Reflector occasionally tells me it can't display parts of the code, which has not happened with dnSpy.

I am not getting anything out of promoting that program, by the way ^^
Test Subject
#98 Old 19th Oct 2020 at 9:38 PM
I'd like to make my own ui for the game, but I have never modded anything before and can't find any tutorials
Page 4 of 4
Back to top