MSIL means "Microsoft Intermediate Language". Its also known as one of the lowest-level human-readable programming language.
An instruction is.. well.. an instruction. It tells the computer what to do.
An OpCode is what the instruction refers to. It means "Operation Code", and is quite self-explanatory. It can also return a value, but doesn't need to. The opcode "ldc.i4" return an integer, therefor it needs a value. The opcode "ret" simply returns something specified in other instructions above, the opcode itself doesn't have a value.
Requirements
A MSIL editor (.NET Reflector + ReflexIL or DotNet Resolver)
A brain (Very important)
How to use
1. Fire up your MSIL editor
2. Go to said class
3. Go to said instruction
4. Modify said instruction
5. Save & Close
Instruction list
Bag capacity - BagSize.getCapacityDelete all.
Add - OpCode ldc.i4, Operand type int32, value 20000
Add - OpCode ret
Change 20000 to whatever capacity you want.
Bag size - BagSize.getHeightDelete all.
Add - OpCode ldc.i4, Operand type int32, value 5
Add - OpCode ret
Change 5 to whatever capacity you want.
Bag size - BagSize.getWidthDelete all.
Add - OpCode ldc.i4, Operand type int32, value 5
Add - OpCode ret
Change 5 to whatever capacity you want.
Bag size (Multiplayer) - Inventory.syncSizeChange instruction 1 to - OpCode ldc.i4, Operand type int32, value 5 - This is the width, change 5 to whatever you want
Change instruction 2 to - OpCode ldc.i4, Operand type int32, value 5 - This is the height, change 5 to whatever you want
Change instruction 3 to - OpCode ldc.i4, Operand type int32, value 20000 - This is the weight, change 20000 to whatever you want
Inf water - Life.get_waterDelete all.
Add - OpCode ldc.i4, Operand type int32, value 100
Add - OpCode ret
Inf rads - Life.get_sicknessDelete all.
Add - OpCode ldc.i4, Operand type int32, value 100
Add - OpCode ret
Inf stamina - Life.get_staminaDelete all.
Add - OpCode ldc.i4, Operand type int32, value 100
Add - OpCode ret
Inf food - Life.get_foodDelete all.
Add - OpCode ldc.i4, Operand type int32, value 100
Add - OpCode ret
Inf hp - Life.get_healthDelete all.
Add - OpCode ldc.i4, Operand type int32, value 100
Add - OpCode ret
Inf hp - Life.set_healthChange instruction 1 to - OpCode ldc.i4, Operand type int32, value 100
No bleed - Life.tellBleedingChange instruction 1 to - OpCode ldc.i4.0
No broken bones - Life.tellBonesChange instruction 1 to - OpCode ldc.i4.0
Inf exp - Skills.get_experienceDelete all.
Add - OpCode ldc.i4, Operand type int32, value 9001 - This is the exp value, change 9001 to whatever you want
Add - OpCode ret
Inf exp - Skills.set_experienceChange instruction 1 to - OpCode ldc.i4, Operand type int32, value 9001 - This is the exp value, change 9001 to whatever you want
No recoil - GunStats.getRecoil_YDelete all.
Add - OpCode ldc.r4, Operand type single, value 0
Add - OpCode ret
No recoil - GunStats.getRecoil_XDelete all.
Add - OpCode ldc.r4, Operand type single, value 0
Add - OpCode ret
No spread - GunStats.getSpreadDelete all.
Add - OpCode ldc.r4, Operand type single, value 0
Add - OpCode ret
Fast ROF - GunStats.getROFDelete all.
Add - OpCode ldc.r4, Operand type single, value 0,1 - This is the rate of fire, change 0,1 to whatever you want.
Add - OpCode ret
Infinite electricity - Electricity.checkPowerDelete all.
Add - OpCode ldc.i4.1
Add - OpCode ret
Speedhack when crouched - Movement.cctor (Static constructor)Change instruction 4 to - OpCode ldc.r4, Operand type single, value 5 - This is the crouchspeed, change 5 to whatever you want.
Group ESP - HUDGame.? (The void called in HUDGame.OnGUI)Change instruction 58 to - OpCode brtrue, DO NOT EDIT THE TYPE OR VALUE
Change instruction 69 to - OpCode ldc.r4, Operand type single, value 1000 - This is the esp range, change 1000 to whatever you want.
Gold hack - Database.? (The only void)Change instruction 37 to - OpCode ldc.i4, Operand type int32, value 304930
If you use this, and release a hack, please reference this thread in the credits