1131616305 (09-28-2019),Airdraw (12-28-2018),THaeztdHtehthth (12-27-2018)
A list of modification locations for A17 that is mostly accurate.
Best,Code:PATCH TYPES: FALSE: Delete all & append: ldc.i4.0 ret TRUE: Delete all & append: ldc.i4.1 ret ZERO: Delete all & append: ldc.r4 : operand of 0 ret ONE: Delete all & append: ldc.r4 : operand of 1 ret SINGLE: Delete all & append: ldc.r4 : operand of 99999 ret RETURN: Delete all & append: ret Get achievements whilst in creative mode: Location: -/AchievementUtils/IsCreativeModeActive(): Boolean Type: FALSE Disable damage received from blocks (such as cacti): Location: -/BlockDamage/OnEntityCollidedWithBlock(WorldBase, Int32, Vector3i, BlockValue, Entity): Boolean Type: FALSE Disable mines from detonating when stepped on: Location: -/BlockMine/OnEntityWalking(WorldBase, Int32, Int32, Int32, BlockValue, Entity): Void Type: RETURN Disable tripwire activation: Location: -/BlockTripWire/OnBlockActivated(Int32, WorldBase, Int32, Vector3i, BlockValue, EntityAlive): Boolean Type: FALSE Disable radiation sensitivity: Location: -/EntityAlive/isRadiationSensitive(): Boolean Type: FALSE Notes: Affects zombies/animals in singleplayer. Display all players on the map: Location: -/EntityPlayer/IsDrawMapIcon(): Boolean Type: TRUE Disable backpack drop upon death or quit: Location: -/EntityPlayerLocal/dropBackpack(Boolean): Void Type: RETURN Disable fall damage: Location: -/EntityPlayerLocal/FallImpact(Single): Void Type: RETURN Change player map icon color: Location -/EntityPlayerLocal/GetMapIconColor(): Color Type: CUSTOM Change the operand for the method call at line 0 from UnityEngine.Color::get_White() to any other color's get_<Color>() method inside the UnityEngine.Color class. Notes: The all the colors are properties in the UnityEngine.Color class, so they will need to be expanded in order to see the .get_<Color>() method. It is also possible to create a custom RGB color instead of using a present. See the Unity Color.Color docs. Disable drowning: Location: -/EntityPlayerLocal/isHeadUnderwater(Single): Boolean Type: FALSE Disable recoil: Location: -/EntityPlayerLocal/OnFired(): Void Type: RETURN Enable Universal Owner (Vehicles; Part 1): Location: -/EntityVehicle/IsOwner(String): Boolean Type: TRUE Enable Universal Owner (Vehicles; Part 2): Location: -/EntityVehicle/IsUserAllowed(String): Boolean Type: TRUE Enable creative and debug menus: Location: -/GameManager/<startGameCo>c__Iterator1/MoveNext(): bool Type: CUSTOM Replace lines 127-129 (ldarg.0, ldfld, ldfld) with ldc.i4.1. Change line 132 from ldc.i4.0 to ldc.i4.1. Notes: The <startGameCo>c__Iterator1 nested class is not displayed in ILSpy unless the decompiler language is set to IL or IL with C#. Enable console commands: Location: -/GUIWindowConsole/EnterCommand(): Void Type: CUSTOM Change line 28 (brtrue) to brfalse Notes: The brtrue is the one after Steam::get_Network() and NetworkCommon::get_IsClient() calls. Changing this without an additional/different check will cause console commands to error whilst in singleplayer. Enable instant crafting repair: Location: -/ItemActionEntryRepair/OnActivated(): Void Type: CUSTOM Change line 119 (ldloc.s->var 10) to ldc.i4.0. Notes: Located right after a virtual call to DataItem`1/get_Value() and right before a conversion to float32 (conv.r4). Look right above a reference to Recipe::craftingTime (stfld). Enable instant scrapping: Location: -/ItemActionEntryScrap/OnActivated(): Void Type: CUSTOM Change line 135 (ldloc.s->var 10) to ldc.i4.0. Notes: Located right after a refrence to ItemClass:CraftComponentTime (ldfld) and right before a conversion to float32 (conv.r4). Look right above a reference to Recipe::craftingTime (stfld). Disable ammunition consumption: Location: -/ItemActionRanged/ConsumeAmmo(ItemActionData): Void Type: RETURN Display all players on the compass: Location: -/MapObject/IsOnCompass(): Boolean Type: TRUE Notes: Untested for A17. May have additional/alternative effects. Display all player homes on the map: Location: -/MapObjectSleepingBag/IsOnCompass(): Boolean Type: TRUE Notes: This doesn't appear to be working correctly for A17-b240. Enable instant looting: Location: -/TileEntityLootContainer/GetOpenTime(): Single Type: ZERO Enable Universal Owner (TileEntities) Locations: -/TileEntityPoweredRangedTrap/IsOwner(String): Boolean -/TileEntityPoweredTrigger/IsOwner(String): Boolean -/TileEntityPowerSource/IsOwner(String): Boolean -/TileEntitySecure/IsOwner(String): Boolean -/TileEntitySecure/IsUserAllowed(String): Boolean -/TileEntitySecureLootContainer/IsOwner(String): Boolean -/TileEntitySecureLootContainer/IsUserAllowed(String): Boolean -/TileEntitySign/IsOwner(String): Boolean -/TileEntitySign/IsUserAllowed(String): Boolean -/TileEntityVendingMachine/IsOwner(String): Boolean -/TileEntityVendingMachine/IsUserAllowed(String): Boolean Type: TRUE Disable trader force teleport: Location: -/TraderArea/IsWithinTeleportArea(Vector3i): Boolean Type: FALSE Disable player land protection: Location: -/World/GetLandProtectionHardnessModifier(Vector3i, EntityAlive, PersistentPlayerData): Single Type: ONE Disable trader land protection: Location: -/World/IsWithinTraderArea(Vector3i): Boolean Type: FALSE Notes: Affects zombies/animals in singleplayer. Enable instant crafting: Location: -/XUiM_Recipes/GetRecipeCraftTime(XUi, Recipe): Single
Sqeegie
1131616305 (09-28-2019),Airdraw (12-28-2018),THaeztdHtehthth (12-27-2018)
I honestly don't like this method, 'til why I didn't include it. It's too. . . unrefined for my tastes. However, if you want to use it, here you go:
If you're looking to ever add keybinds to this, after the first brfalse.s, just add a call to your isEnabled method/field and create another brfalse.s that's an exact duplicate of the first after it.Code:Crappy extreme damage: Location: -/ItemActionAttack/Hit(World, WorldRayHitInfo, Int32, EnumDamageTypes, Single, Single, Single, Single, Single, Single, Single, String, DamageMultiplier, List<String>, AttackHitInfo, Int32, Single, ItemActionAttack, Dictionary<String, Bonuses>, EnumAttackMode, Boolean): Void Type: CUSTOM!!!! At the top of the method, add the following (do not delete anything!): ldarg.0 ldarg.2 callvirt // method reference to WorldBase.GetEntity(System.Int32) isinst // type reference to EntityPlayerLocal brfalse.s // instruction reference to ldarg.1 on line 0005 (current, line 0013 finished) ldarg.s // parameter reference to #4 _blockDamage(System.Single) ldc.r4 // single with the value of 99999 (or whatever) add starg.s // parameter reference to #4 _blockDamage(System.Single) ldarg.s // parameter reference to #5 _entityDamage(System.Single) ldc.r4 // single with the value of 99999 (or whatever) add starg.s // parameter reference to #5 _entityDamage(System.Single)
Best,
Sqeegie
Hi Sqeegiet, thanks for the work.
i tried to modify the assembly file, but i'm stuckked. i Just need to modify the player on map, the achievements in creative and no recoil, and this is all ok... but i want the creative and debug menus too, but i cant find the lines u said... (sry for my bad english....)
i set ILSpy language to L and go to the game manager/start game/movenext, but editing what u said (lines 127, 128, 129 and 132 to ldc i41), whe i start a game, i got che console say "InvalidProgramException: Invalid IL code in GameManager/<startGameCo>c_Iterator1:MoveNext (): IL_0362: ret...
idk how i have to do....
i see your Assembly csharp loaded here, but the lines are different...
i try to upload 2 screens
pls help me
Edit - IDK how delete the post... anyway, solved it:
i changed the line 132 to ldc i41
after i change the line 127 in ldc i41 and then i deleted the line 128 and 129...
i'm noob to use this program, but i'm happy to solved this.
tnx
Last edited by psycomaffo; 12-29-2018 at 06:33 PM. Reason: solved
Please upload the pictures either to imgur or imageshack and use the "Insert Image" button or the [IMG]<direct url>[/IMG] content tags if you can. If not, just upload the pictures to one of those sites and give me the link. As stated in MPGH's rules:
For your actual problem with the incorrect IL codes, from what I can guess without the picture, I believe your problem may be because you changed lines 127, 128, and 129 with ldc.i4.1 instead of deleting those lines and creating a new opcode of ldc.i4.1 to replace those three lines.
I may be wrong and this isn't your problem. If the actual location (lines 126-132) doesn't match with my picture, you may being using a different version of 7DTD or the assembly may be already modified, like if you're using mods. Once you get the pictures fixed, I can tell you more accurately what your problem is.
Best,
Sqeegie
Hey Squeegie, first off, mad respect for your work. Now, I was able to adjust Dig Distance, Place Speed and Build Distance on A16 which was in GameManager/LU with a value of 5, 0.5 and 3.5 respectively. As a builder, these value is annoying as fuck so I changed it to something like 1500, 0.2 and 1500 which helps me tremendously playing the game
The problem is I could not find these value in A17 anywhere yet. Do you think you could to help me with this?
jim2029 (01-05-2019)
i keep trying to replace lines 128 and 129 but i get this error when trying i am not editing the operand like instructed but i cant make the change
I cannot tell you what your exact problem is off only this one picture. From what I can guess, you may be editing the opcode and forgetting to set the operand type to [None].
It should look like this:
Make sure your final result looks like this:
and not this:
My apologies if my original instructions are hard to understand. I can see how they may be confusing, especially if English isn't your native language.
Best,
Sqeegie
alancool2 (01-20-2019)
You have b9 Assembly Information Sheet ?
It should be almost the exactly the same, if not the same, for build 9 as for any other version of A17/A17.1. No major changes occur during patch updates, so everything should still be approximately the same. The main thing that might change is the line numbers for certain modifications, but the actual location should remain the same.
To answer your question, no, I do not have a specific A17.1-b9 assembly information sheet.
Best,
Sqeegie